[dia] [transform] edit angle and scales, fix move_handle



commit 29a47b17e003d7624fd3e2f5f62aa0ce7071b3ae
Author: Hans Breuer <hans breuer org>
Date:   Sun Nov 7 19:41:49 2010 +0100

    [transform] edit angle and scales, fix move_handle
    
    The Group transformation is supposed to consist of only rotation
    and scaling. With it scaling in child-object coordinates and
    rotating afterwards there is a three value matrix property editor.
    Group::move_handle() is updated accordingly, so the transformation
    use is dumbed down to something more understandable.
    There is nothing enforcing these matrix limitations elsewhere,
    so e.g. more complex matrices can still be imported or set by
    other plug-ins. And there probably should not be such a limitation.

 lib/geometry.c               |   62 ++
 lib/geometry.h               |    9 +-
 lib/group.c                  |   36 ++-
 lib/prop_matrix.c            |   86 +++-
 samples/angle-and-scales.dia | 1284 ++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 1455 insertions(+), 22 deletions(-)
---
diff --git a/lib/geometry.c b/lib/geometry.c
index 74567af..5e5660f 100644
--- a/lib/geometry.c
+++ b/lib/geometry.c
@@ -795,3 +795,65 @@ dia_matrix_is_identity (const DiaMatrix *matrix)
   return FALSE;
 }
 
+/**
+ * Splitting the givne matrix into angle and scales
+ *
+ * with     scale    rotate
+ *   xx yx    sx 0     cos(x) sin(x)
+ *   xy yy    0  sy   -sin(x) cos(x)
+ *
+ * rxx =  sx *  cos(a) + 0  * -sin(a)
+ * ryx =  sx *  sin(a) + 0  *  cos(a)
+ * rxy =  0  *  cos(a) + sy * -sin(a)
+ * ryy =  0  * -sin(a) + sy *  cos(a)
+ */
+gboolean
+dia_matrix_get_angle_and_scales (const DiaMatrix *m,
+                                 real            *a,
+				 real            *sx,
+				 real            *sy)
+{
+  const real epsilon = 1e-6;
+  gboolean no_skew;
+  real ratio; /* the ratio of the sx/sy */
+  real rxx, ryx, rxy, ryy;
+  real len1, len2;
+  real angle;
+  real c, s;
+
+  ratio = m->xx / m->yy;
+  /* correct for uniform scale */
+  rxx = m->xx / ratio;
+  ryx = m->yx / ratio;
+  rxy = m->xy;
+  ryy = m->yy;
+  /* w/o scale it would be len==1 */
+  len1 = sqrt(rxx * rxx + ryx * ryx);
+  len2 = sqrt(rxy * rxy + ryy * ryy);
+  no_skew = fabs(len1 - len2) < epsilon;
+  
+  angle = atan2(ryx, rxx);
+  if (a)
+    *a = angle;
+  c = fabs(cos(angle));
+  s = fabs(sin(angle));
+  if (sx)
+    *sx = fabs(c > s ? m->xx / c : m->yx / s);
+  if (sy)
+    *sy = fabs(s > c ? m->xy / s : m->yy / c);
+
+  return no_skew;
+}
+
+/**
+ * Scale in the coordinate system of the shape, afterwards rotate
+ */
+void 
+dia_matrix_set_angle_and_scales (DiaMatrix *m,
+                                 real       a,
+				 real       sx,
+				 real       sy)
+{
+  cairo_matrix_init_rotate ((cairo_matrix_t *)m, a);
+  cairo_matrix_scale ((cairo_matrix_t *)m, sx, sy);
+}
diff --git a/lib/geometry.h b/lib/geometry.h
index 1088af4..19905b0 100644
--- a/lib/geometry.h
+++ b/lib/geometry.h
@@ -126,7 +126,14 @@ struct _DiaMatrix {
 };
 
 gboolean dia_matrix_is_identity (const DiaMatrix *matix);
-
+gboolean dia_matrix_get_angle_and_scales (const DiaMatrix *m,
+                                          real            *a,
+					  real            *sx,
+					  real            *sy);
+void dia_matrix_set_angle_and_scales (DiaMatrix *m,
+                                      real       a,
+				      real       sx,
+				      real       sy);
 #define ROUND(x) ((int) floor((x)+0.5))
 
 /* inline these functions if the platform supports it */
diff --git a/lib/group.c b/lib/group.c
index ca1f5a7..05cf44b 100644
--- a/lib/group.c
+++ b/lib/group.c
@@ -197,7 +197,7 @@ group_update_connectionpoints(Group *group)
 
 static ObjectChange*
 group_move_handle(Group *group, Handle *handle, Point *to, ConnectionPoint *cp,
-		      HandleMoveReason reason, ModifierKeys modifiers)
+		  HandleMoveReason reason, ModifierKeys modifiers)
 {
   DiaObject *obj = &group->object;
   Rectangle *bb = &obj->bounding_box;
@@ -217,6 +217,10 @@ group_move_handle(Group *group, Handle *handle, Point *to, ConnectionPoint *cp,
   w0 = w1 = bb->right - bb->left;
   h0 = h1 = bb->bottom - bb->top;
 
+  /* Movement vs. scaling is still a bit bogus, e.g. if the object list
+   * position happens to be near a different than top-left handle we might
+   * only resize and not move the given handle at all.
+   */
   switch(handle->id) {
   case HANDLE_RESIZE_NW:
     delta.x = to->x - top_left.x;
@@ -260,8 +264,36 @@ group_move_handle(Group *group, Handle *handle, Point *to, ConnectionPoint *cp,
     group->matrix->yy = 1.0;
   }
 
-  cairo_matrix_scale ((cairo_matrix_t *)group->matrix, w1 / w0, h1 / h0);
+  /* The resizing is in the destination coordinate system, translate
+   * it to respective object scaling. BEWARE: this is not completely
+   * reversible, so we probably should deliver some extra undo information.
+   */
+  {
+    DiaMatrix inv = *group->matrix;
+    real sx0, sx;
+    real sy0, sy;
+    real angle;
+
+    inv.x0 = w0/2;
+    inv.y0 = h0/2;
+    if (cairo_matrix_invert ((cairo_matrix_t *)&inv) != CAIRO_STATUS_SUCCESS)
+      g_warning ("Group::move_handle() matrix invert");
+
+    dia_matrix_get_angle_and_scales (group->matrix, &angle, &sx0, &sy0);
+
+    cairo_matrix_transform_distance ((cairo_matrix_t *)&inv, &w0, &h0);
+    cairo_matrix_transform_distance ((cairo_matrix_t *)&inv, &w1, &h1);
+    /* with angle of 45 degree (+x*90) the below does not work out, because
+     * transformed height or width becomes zero so convert to even scale */
+    if ((fabs(w0) < 1e-3) || (fabs(h0) < 1e-3)) {
+      sx = sy = sqrt(w1*w1 + h1*h1) / sqrt(w0*w0 + h0*h0);
+    } else {
+      sx = w1/w0;
+      sy = h1/h0;
+    }
 
+    dia_matrix_set_angle_and_scales (group->matrix, angle, sx0 * sx, sy0 * sy);
+  }
   group_update_data(group);
 
   return NULL;
diff --git a/lib/prop_matrix.c b/lib/prop_matrix.c
index 97cebd4..5fd3721 100644
--- a/lib/prop_matrix.c
+++ b/lib/prop_matrix.c
@@ -167,12 +167,26 @@ static GtkWidget *
 matrixprop_get_widget (MatrixProperty *prop, PropDialog *dialog) 
 { 
   GtkObject *adj;
-  GtkWidget *ret;
+  GtkWidget *ret, *sb;
+  int i;
 
+  ret = gtk_hbox_new (FALSE,0);
+  /* angle */
   adj = gtk_adjustment_new(0.0, -180.0, 180.0, 1.0, 15.0, 0);
-  ret = gtk_spin_button_new(GTK_ADJUSTMENT (adj), 1.0, 2);
-  gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(ret),TRUE);
-  prophandler_connect(&prop->common, G_OBJECT(ret), "changed");
+  sb = gtk_spin_button_new(GTK_ADJUSTMENT (adj), 1.0, 2);
+  gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(sb),TRUE);
+  prophandler_connect(&prop->common, G_OBJECT(sb), "changed");
+  gtk_widget_show(sb);
+  gtk_box_pack_start(GTK_BOX(ret), sb, TRUE, TRUE, 0);
+  /* sx, sy */
+  for (i = 0; i < 2; ++i) {
+    adj = gtk_adjustment_new(0.0, 0.01, 100.0, 0.01, 1.0, 0);
+    sb = gtk_spin_button_new(GTK_ADJUSTMENT (adj), 1.0, 2);
+    gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(sb),TRUE);
+    prophandler_connect(&prop->common, G_OBJECT(sb), "changed");
+    gtk_widget_show(sb);
+    gtk_box_pack_start(GTK_BOX(ret), sb, TRUE, TRUE, 0);
+  }
   
   return ret;
 }
@@ -180,34 +194,68 @@ matrixprop_get_widget (MatrixProperty *prop, PropDialog *dialog)
 static void 
 matrixprop_reset_widget(MatrixProperty *prop, GtkWidget *widget)
 {
+  GList *children, *child;
+  GtkWidget *sb;
   GtkObject *adj;
-  real angle;
+  real angle, sx, sy;
+  int i = 0;
 
-  if (!prop->matrix)
+  if (!prop->matrix) {
     angle = 0;
-  else
+    sx = sy = 1.0;
+  } else {
+    real a;
+
+    dia_matrix_get_angle_and_scales (prop->matrix, &a, &sx, &sy);
+
     angle = atan2 (prop->matrix->xy, prop->matrix->xx)*180/G_PI;
+    angle = -a*180/G_PI;
+  }
 
-  adj = gtk_adjustment_new(angle, -180.0, 180.0, 1.0, 15.0, 0);
-  gtk_spin_button_set_adjustment(GTK_SPIN_BUTTON(widget), GTK_ADJUSTMENT (adj));
+  children = gtk_container_get_children (GTK_CONTAINER (widget));
+  for (child = children; child != NULL; child = g_list_next (child)) {
+    sb = child->data;
+    if (i == 0)
+      adj = gtk_adjustment_new(angle, -180.0, 180.0, 1.0, 15.0, 0);
+    else if (i == 1)
+      adj = gtk_adjustment_new(sx, 0.01, 100.0, 0.1, 1.0, 0);
+    else if (i == 2)
+      adj = gtk_adjustment_new(sy, 0.01, 100.0, 0.1, 1.0, 0);
+    else
+      g_assert_not_reached ();
+    gtk_spin_button_set_adjustment(GTK_SPIN_BUTTON(sb), GTK_ADJUSTMENT (adj));
+    ++i;
+  }
 }
 
 static void 
 matrixprop_set_from_widget(MatrixProperty *prop, GtkWidget *widget) 
 {
-  real angle = gtk_spin_button_get_value(GTK_SPIN_BUTTON(widget));
-  real old_angle = 0.0;
-  if (angle != 0.0) {
+  GList *children, *child;
+  GtkWidget *sb;
+  GtkObject *adj;
+  real angle = 0.0, sx = 1.0, sy = 1.0;
+  int i = 0;
+
+  children = gtk_container_get_children (GTK_CONTAINER (widget));
+  for (child = children; child != NULL; child = g_list_next (child)) {
+    sb = child->data;
+    if (i == 0)
+      angle = gtk_spin_button_get_value(GTK_SPIN_BUTTON(sb));
+    else if (i == 1)
+      sx = gtk_spin_button_get_value(GTK_SPIN_BUTTON(sb));
+    else if (i == 2)
+      sy = gtk_spin_button_get_value(GTK_SPIN_BUTTON(sb));
+    else
+      g_assert_not_reached ();
+    ++i;
+  }
+
+  if (angle != 0.0 || sx != 1.0 || sy != 1.0) {
     if (!prop->matrix) {
       prop->matrix = g_new0 (DiaMatrix, 1);
-
-      prop->matrix->xx = 1.0;
-      prop->matrix->yy = 1.0;
-    } else {
-      old_angle = atan2 (prop->matrix->xy, prop->matrix->xx);
-      old_angle = 180*old_angle/G_PI;
     }
-    cairo_matrix_rotate ((cairo_matrix_t *)prop->matrix, G_PI*(old_angle-angle)/180);
+    dia_matrix_set_angle_and_scales (prop->matrix, -angle/180.0*G_PI, sx, sy);
   } else {
     g_free (prop->matrix);
     prop->matrix = NULL;
diff --git a/samples/angle-and-scales.dia b/samples/angle-and-scales.dia
new file mode 100644
index 0000000..55c0fc0
--- /dev/null
+++ b/samples/angle-and-scales.dia
@@ -0,0 +1,1284 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<dia:diagram xmlns:dia="http://www.lysator.liu.se/~alla/dia/";>
+  <dia:diagramdata>
+    <dia:attribute name="background">
+      <dia:color val="#ffffff"/>
+    </dia:attribute>
+    <dia:attribute name="pagebreak">
+      <dia:color val="#000099"/>
+    </dia:attribute>
+    <dia:attribute name="paper">
+      <dia:composite type="paper">
+        <dia:attribute name="name">
+          <dia:string>#A4#</dia:string>
+        </dia:attribute>
+        <dia:attribute name="tmargin">
+          <dia:real val="1.5"/>
+        </dia:attribute>
+        <dia:attribute name="bmargin">
+          <dia:real val="1.5"/>
+        </dia:attribute>
+        <dia:attribute name="lmargin">
+          <dia:real val="1.5"/>
+        </dia:attribute>
+        <dia:attribute name="rmargin">
+          <dia:real val="1.5"/>
+        </dia:attribute>
+        <dia:attribute name="is_portrait">
+          <dia:boolean val="false"/>
+        </dia:attribute>
+        <dia:attribute name="scaling">
+          <dia:real val="1"/>
+        </dia:attribute>
+        <dia:attribute name="fitto">
+          <dia:boolean val="false"/>
+        </dia:attribute>
+      </dia:composite>
+    </dia:attribute>
+    <dia:attribute name="grid">
+      <dia:composite type="grid">
+        <dia:attribute name="dynamic">
+          <dia:boolean val="true"/>
+        </dia:attribute>
+        <dia:attribute name="width_x">
+          <dia:real val="1"/>
+        </dia:attribute>
+        <dia:attribute name="width_y">
+          <dia:real val="1"/>
+        </dia:attribute>
+        <dia:attribute name="visible_x">
+          <dia:int val="1"/>
+        </dia:attribute>
+        <dia:attribute name="visible_y">
+          <dia:int val="1"/>
+        </dia:attribute>
+        <dia:composite type="color"/>
+      </dia:composite>
+    </dia:attribute>
+    <dia:attribute name="color">
+      <dia:color val="#d8e5e5"/>
+    </dia:attribute>
+    <dia:attribute name="guides">
+      <dia:composite type="guides">
+        <dia:attribute name="hguides"/>
+        <dia:attribute name="vguides"/>
+      </dia:composite>
+    </dia:attribute>
+    <dia:attribute name="display">
+      <dia:composite type="display">
+        <dia:attribute name="antialiased">
+          <dia:boolean val="true"/>
+        </dia:attribute>
+        <dia:attribute name="snap-to-grid">
+          <dia:boolean val="false"/>
+        </dia:attribute>
+        <dia:attribute name="snap-to-object">
+          <dia:boolean val="true"/>
+        </dia:attribute>
+        <dia:attribute name="show-grid">
+          <dia:boolean val="true"/>
+        </dia:attribute>
+        <dia:attribute name="show-connection-points">
+          <dia:boolean val="true"/>
+        </dia:attribute>
+      </dia:composite>
+    </dia:attribute>
+  </dia:diagramdata>
+  <dia:layer name="Background" visible="true" active="true">
+    <dia:group>
+      <dia:attribute name="matrix">
+        <dia:matrix xx="1.41421" xy="0.388909" yx="-1.41421" yy="0.388909" x0="-5.00771" y0="14.2449"/>
+        <dia:connections>
+          <dia:connection handle="0" to="O1" connection="0"/>
+        </dia:connections>
+      </dia:attribute>
+      <dia:object type="Standard - Text" version="1" id="O0">
+        <dia:attribute name="obj_pos">
+          <dia:point val="8.3529,3.98"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="7.6404,2.675;9.0654,3.98"/>
+        </dia:attribute>
+        <dia:attribute name="meta">
+          <dia:composite type="dict"/>
+        </dia:attribute>
+        <dia:attribute name="text">
+          <dia:composite type="text">
+            <dia:attribute name="string">
+              <dia:string>#45#</dia:string>
+            </dia:attribute>
+            <dia:attribute name="font">
+              <dia:font family="sans" style="0" name="Helvetica"/>
+            </dia:attribute>
+            <dia:attribute name="height">
+              <dia:real val="1.3999999761581421"/>
+            </dia:attribute>
+            <dia:attribute name="pos">
+              <dia:point val="8.3529,3.715"/>
+            </dia:attribute>
+            <dia:attribute name="color">
+              <dia:color val="#000000"/>
+            </dia:attribute>
+            <dia:attribute name="alignment">
+              <dia:enum val="1"/>
+            </dia:attribute>
+          </dia:composite>
+        </dia:attribute>
+        <dia:attribute name="valign">
+          <dia:enum val="1"/>
+        </dia:attribute>
+      </dia:object>
+      <dia:object type="Standard - Line" version="0" id="O1">
+        <dia:attribute name="obj_pos">
+          <dia:point val="7.3529,3.98"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="7.3029,3.93;9.4029,4.03"/>
+        </dia:attribute>
+        <dia:attribute name="meta">
+          <dia:composite type="dict"/>
+        </dia:attribute>
+        <dia:attribute name="conn_endpoints">
+          <dia:point val="7.3529,3.98"/>
+          <dia:point val="9.3529,3.98"/>
+        </dia:attribute>
+        <dia:attribute name="numcp">
+          <dia:int val="1"/>
+        </dia:attribute>
+      </dia:object>
+    </dia:group>
+    <dia:group>
+      <dia:attribute name="matrix">
+        <dia:matrix xx="1.49093" xy="-0.388909" yx="1.49093" yy="0.388909" x0="-7.09829" y0="-23.9133"/>
+        <dia:connections>
+          <dia:connection handle="0" to="O3" connection="0"/>
+        </dia:connections>
+      </dia:attribute>
+      <dia:object type="Standard - Text" version="1" id="O2">
+        <dia:attribute name="obj_pos">
+          <dia:point val="17.7334,4.13331"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="16.8184,2.82831;18.6484,4.13331"/>
+        </dia:attribute>
+        <dia:attribute name="meta">
+          <dia:composite type="dict"/>
+        </dia:attribute>
+        <dia:attribute name="text">
+          <dia:composite type="text">
+            <dia:attribute name="string">
+              <dia:string>#-45#</dia:string>
+            </dia:attribute>
+            <dia:attribute name="font">
+              <dia:font family="sans" style="0" name="Helvetica"/>
+            </dia:attribute>
+            <dia:attribute name="height">
+              <dia:real val="1.3999999761581421"/>
+            </dia:attribute>
+            <dia:attribute name="pos">
+              <dia:point val="17.7334,3.86831"/>
+            </dia:attribute>
+            <dia:attribute name="color">
+              <dia:color val="#000000"/>
+            </dia:attribute>
+            <dia:attribute name="alignment">
+              <dia:enum val="1"/>
+            </dia:attribute>
+          </dia:composite>
+        </dia:attribute>
+        <dia:attribute name="valign">
+          <dia:enum val="1"/>
+        </dia:attribute>
+      </dia:object>
+      <dia:object type="Standard - Line" version="0" id="O3">
+        <dia:attribute name="obj_pos">
+          <dia:point val="16.7334,4.13331"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="16.6834,4.08331;18.7834,4.18331"/>
+        </dia:attribute>
+        <dia:attribute name="meta">
+          <dia:composite type="dict"/>
+        </dia:attribute>
+        <dia:attribute name="conn_endpoints">
+          <dia:point val="16.7334,4.13331"/>
+          <dia:point val="18.7334,4.13331"/>
+        </dia:attribute>
+        <dia:attribute name="numcp">
+          <dia:int val="1"/>
+        </dia:attribute>
+      </dia:object>
+    </dia:group>
+    <dia:group>
+      <dia:attribute name="matrix">
+        <dia:matrix xx="1.22461e-016" xy="0.55" yx="-2" yy="3.36767e-017" x0="1.85771" y0="22.7106"/>
+        <dia:connections>
+          <dia:connection handle="0" to="O5" connection="0"/>
+        </dia:connections>
+      </dia:attribute>
+      <dia:object type="Standard - Text" version="1" id="O4">
+        <dia:attribute name="obj_pos">
+          <dia:point val="6.83264,9.04532"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="6.12014,7.74032;7.54514,9.04532"/>
+        </dia:attribute>
+        <dia:attribute name="meta">
+          <dia:composite type="dict"/>
+        </dia:attribute>
+        <dia:attribute name="text">
+          <dia:composite type="text">
+            <dia:attribute name="string">
+              <dia:string>#90#</dia:string>
+            </dia:attribute>
+            <dia:attribute name="font">
+              <dia:font family="sans" style="0" name="Helvetica"/>
+            </dia:attribute>
+            <dia:attribute name="height">
+              <dia:real val="1.3999999761581421"/>
+            </dia:attribute>
+            <dia:attribute name="pos">
+              <dia:point val="6.83264,8.78032"/>
+            </dia:attribute>
+            <dia:attribute name="color">
+              <dia:color val="#000000"/>
+            </dia:attribute>
+            <dia:attribute name="alignment">
+              <dia:enum val="1"/>
+            </dia:attribute>
+          </dia:composite>
+        </dia:attribute>
+        <dia:attribute name="valign">
+          <dia:enum val="1"/>
+        </dia:attribute>
+      </dia:object>
+      <dia:object type="Standard - Line" version="0" id="O5">
+        <dia:attribute name="obj_pos">
+          <dia:point val="5.83264,9.04532"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="5.78264,8.99532;7.88264,9.09532"/>
+        </dia:attribute>
+        <dia:attribute name="meta">
+          <dia:composite type="dict"/>
+        </dia:attribute>
+        <dia:attribute name="conn_endpoints">
+          <dia:point val="5.83264,9.04532"/>
+          <dia:point val="7.83264,9.04532"/>
+        </dia:attribute>
+        <dia:attribute name="numcp">
+          <dia:int val="1"/>
+        </dia:attribute>
+      </dia:object>
+    </dia:group>
+    <dia:group>
+      <dia:attribute name="matrix">
+        <dia:matrix xx="1.2887e-016" xy="-0.55" yx="2.10467" yy="3.36767e-017" x0="24.1337" y0="-31.3036"/>
+        <dia:connections>
+          <dia:connection handle="0" to="O7" connection="0"/>
+        </dia:connections>
+      </dia:attribute>
+      <dia:object type="Standard - Text" version="1" id="O6">
+        <dia:attribute name="obj_pos">
+          <dia:point val="19.1654,9.03333"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="18.2504,7.72833;20.0804,9.03333"/>
+        </dia:attribute>
+        <dia:attribute name="meta">
+          <dia:composite type="dict"/>
+        </dia:attribute>
+        <dia:attribute name="text">
+          <dia:composite type="text">
+            <dia:attribute name="string">
+              <dia:string>#-90#</dia:string>
+            </dia:attribute>
+            <dia:attribute name="font">
+              <dia:font family="sans" style="0" name="Helvetica"/>
+            </dia:attribute>
+            <dia:attribute name="height">
+              <dia:real val="1.3999999761581421"/>
+            </dia:attribute>
+            <dia:attribute name="pos">
+              <dia:point val="19.1654,8.76833"/>
+            </dia:attribute>
+            <dia:attribute name="color">
+              <dia:color val="#000000"/>
+            </dia:attribute>
+            <dia:attribute name="alignment">
+              <dia:enum val="1"/>
+            </dia:attribute>
+          </dia:composite>
+        </dia:attribute>
+        <dia:attribute name="valign">
+          <dia:enum val="1"/>
+        </dia:attribute>
+      </dia:object>
+      <dia:object type="Standard - Line" version="0" id="O7">
+        <dia:attribute name="obj_pos">
+          <dia:point val="18.1654,9.03333"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="18.1154,8.98333;20.2154,9.08333"/>
+        </dia:attribute>
+        <dia:attribute name="meta">
+          <dia:composite type="dict"/>
+        </dia:attribute>
+        <dia:attribute name="conn_endpoints">
+          <dia:point val="18.1654,9.03333"/>
+          <dia:point val="20.1654,9.03333"/>
+        </dia:attribute>
+        <dia:attribute name="numcp">
+          <dia:int val="1"/>
+        </dia:attribute>
+      </dia:object>
+    </dia:group>
+    <dia:group>
+      <dia:attribute name="matrix">
+        <dia:matrix xx="-1.44402" xy="-0.388909" yx="1.44402" yy="-0.388909" x0="47.4801" y0="-5.54765"/>
+        <dia:connections>
+          <dia:connection handle="0" to="O9" connection="0"/>
+        </dia:connections>
+      </dia:attribute>
+      <dia:object type="Standard - Text" version="1" id="O8">
+        <dia:attribute name="obj_pos">
+          <dia:point val="17.2146,13.9034"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="15.9434,12.5984;18.4859,13.9034"/>
+        </dia:attribute>
+        <dia:attribute name="meta">
+          <dia:composite type="dict"/>
+        </dia:attribute>
+        <dia:attribute name="text">
+          <dia:composite type="text">
+            <dia:attribute name="string">
+              <dia:string>#-135#</dia:string>
+            </dia:attribute>
+            <dia:attribute name="font">
+              <dia:font family="sans" style="0" name="Helvetica"/>
+            </dia:attribute>
+            <dia:attribute name="height">
+              <dia:real val="1.3999999761581421"/>
+            </dia:attribute>
+            <dia:attribute name="pos">
+              <dia:point val="17.2146,13.6384"/>
+            </dia:attribute>
+            <dia:attribute name="color">
+              <dia:color val="#000000"/>
+            </dia:attribute>
+            <dia:attribute name="alignment">
+              <dia:enum val="1"/>
+            </dia:attribute>
+          </dia:composite>
+        </dia:attribute>
+        <dia:attribute name="valign">
+          <dia:enum val="1"/>
+        </dia:attribute>
+      </dia:object>
+      <dia:object type="Standard - Line" version="0" id="O9">
+        <dia:attribute name="obj_pos">
+          <dia:point val="16.2146,13.9034"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="16.1646,13.8534;18.2646,13.9534"/>
+        </dia:attribute>
+        <dia:attribute name="meta">
+          <dia:composite type="dict"/>
+        </dia:attribute>
+        <dia:attribute name="conn_endpoints">
+          <dia:point val="16.2146,13.9034"/>
+          <dia:point val="18.2146,13.9034"/>
+        </dia:attribute>
+        <dia:attribute name="numcp">
+          <dia:int val="1"/>
+        </dia:attribute>
+      </dia:object>
+    </dia:group>
+    <dia:group>
+      <dia:attribute name="matrix">
+        <dia:matrix xx="-1.61511" xy="0.388909" yx="-1.61511" yy="-0.388909" x0="17.1754" y0="33.0997"/>
+        <dia:connections>
+          <dia:connection handle="0" to="O11" connection="0"/>
+        </dia:connections>
+      </dia:attribute>
+      <dia:object type="Standard - Text" version="1" id="O10">
+        <dia:attribute name="obj_pos">
+          <dia:point val="8.62099,13.8064"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="7.55224,12.5014;9.68974,13.8064"/>
+        </dia:attribute>
+        <dia:attribute name="meta">
+          <dia:composite type="dict"/>
+        </dia:attribute>
+        <dia:attribute name="text">
+          <dia:composite type="text">
+            <dia:attribute name="string">
+              <dia:string>#135#</dia:string>
+            </dia:attribute>
+            <dia:attribute name="font">
+              <dia:font family="sans" style="0" name="Helvetica"/>
+            </dia:attribute>
+            <dia:attribute name="height">
+              <dia:real val="1.3999999761581421"/>
+            </dia:attribute>
+            <dia:attribute name="pos">
+              <dia:point val="8.62099,13.5414"/>
+            </dia:attribute>
+            <dia:attribute name="color">
+              <dia:color val="#000000"/>
+            </dia:attribute>
+            <dia:attribute name="alignment">
+              <dia:enum val="1"/>
+            </dia:attribute>
+          </dia:composite>
+        </dia:attribute>
+        <dia:attribute name="valign">
+          <dia:enum val="1"/>
+        </dia:attribute>
+      </dia:object>
+      <dia:object type="Standard - Line" version="0" id="O11">
+        <dia:attribute name="obj_pos">
+          <dia:point val="7.62099,13.8064"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="7.57099,13.7564;9.67101,13.8564"/>
+        </dia:attribute>
+        <dia:attribute name="meta">
+          <dia:composite type="dict"/>
+        </dia:attribute>
+        <dia:attribute name="conn_endpoints">
+          <dia:point val="7.62099,13.8064"/>
+          <dia:point val="9.62101,13.8064"/>
+        </dia:attribute>
+        <dia:attribute name="numcp">
+          <dia:int val="1"/>
+        </dia:attribute>
+      </dia:object>
+    </dia:group>
+    <dia:group>
+      <dia:attribute name="matrix">
+        <dia:matrix xx="-0.565685" xy="1.21414" yx="-0.565685" yy="-1.21414" x0="2.33964" y0="31.9216"/>
+        <dia:connections>
+          <dia:connection handle="0" to="O13" connection="0"/>
+        </dia:connections>
+      </dia:attribute>
+      <dia:object type="Standard - Text" version="1" id="O12">
+        <dia:attribute name="obj_pos">
+          <dia:point val="10.5785,11.7144"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="9.50977,10.4094;11.6473,11.7144"/>
+        </dia:attribute>
+        <dia:attribute name="meta">
+          <dia:composite type="dict"/>
+        </dia:attribute>
+        <dia:attribute name="text">
+          <dia:composite type="text">
+            <dia:attribute name="string">
+              <dia:string>#135#</dia:string>
+            </dia:attribute>
+            <dia:attribute name="font">
+              <dia:font family="sans" style="0" name="Helvetica"/>
+            </dia:attribute>
+            <dia:attribute name="height">
+              <dia:real val="1.3999999761581421"/>
+            </dia:attribute>
+            <dia:attribute name="pos">
+              <dia:point val="10.5785,11.4494"/>
+            </dia:attribute>
+            <dia:attribute name="color">
+              <dia:color val="#000000"/>
+            </dia:attribute>
+            <dia:attribute name="alignment">
+              <dia:enum val="1"/>
+            </dia:attribute>
+          </dia:composite>
+        </dia:attribute>
+        <dia:attribute name="valign">
+          <dia:enum val="1"/>
+        </dia:attribute>
+      </dia:object>
+      <dia:object type="Standard - Line" version="0" id="O13">
+        <dia:attribute name="obj_pos">
+          <dia:point val="9.57855,11.7144"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="9.52855,11.6644;11.6285,11.7644"/>
+        </dia:attribute>
+        <dia:attribute name="meta">
+          <dia:composite type="dict"/>
+        </dia:attribute>
+        <dia:attribute name="conn_endpoints">
+          <dia:point val="9.57855,11.7144"/>
+          <dia:point val="11.5785,11.7144"/>
+        </dia:attribute>
+        <dia:attribute name="numcp">
+          <dia:int val="1"/>
+        </dia:attribute>
+      </dia:object>
+    </dia:group>
+    <dia:group>
+      <dia:attribute name="matrix">
+        <dia:matrix xx="-0.494975" xy="-1.41421" yx="0.494975" yy="-1.41421" x0="39.2357" y0="20.411"/>
+        <dia:connections>
+          <dia:connection handle="0" to="O15" connection="0"/>
+        </dia:connections>
+      </dia:attribute>
+      <dia:object type="Standard - Text" version="1" id="O14">
+        <dia:attribute name="obj_pos">
+          <dia:point val="15.2831,11.5879"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="14.0119,10.2829;16.5544,11.5879"/>
+        </dia:attribute>
+        <dia:attribute name="meta">
+          <dia:composite type="dict"/>
+        </dia:attribute>
+        <dia:attribute name="text">
+          <dia:composite type="text">
+            <dia:attribute name="string">
+              <dia:string>#-135#</dia:string>
+            </dia:attribute>
+            <dia:attribute name="font">
+              <dia:font family="sans" style="0" name="Helvetica"/>
+            </dia:attribute>
+            <dia:attribute name="height">
+              <dia:real val="1.3999999761581421"/>
+            </dia:attribute>
+            <dia:attribute name="pos">
+              <dia:point val="15.2831,11.3229"/>
+            </dia:attribute>
+            <dia:attribute name="color">
+              <dia:color val="#000000"/>
+            </dia:attribute>
+            <dia:attribute name="alignment">
+              <dia:enum val="1"/>
+            </dia:attribute>
+          </dia:composite>
+        </dia:attribute>
+        <dia:attribute name="valign">
+          <dia:enum val="1"/>
+        </dia:attribute>
+      </dia:object>
+      <dia:object type="Standard - Line" version="0" id="O15">
+        <dia:attribute name="obj_pos">
+          <dia:point val="14.2831,11.5879"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="14.2331,11.5379;16.3331,11.6379"/>
+        </dia:attribute>
+        <dia:attribute name="meta">
+          <dia:composite type="dict"/>
+        </dia:attribute>
+        <dia:attribute name="conn_endpoints">
+          <dia:point val="14.2831,11.5879"/>
+          <dia:point val="16.2831,11.5879"/>
+        </dia:attribute>
+        <dia:attribute name="numcp">
+          <dia:int val="1"/>
+        </dia:attribute>
+      </dia:object>
+    </dia:group>
+    <dia:group>
+      <dia:attribute name="matrix">
+        <dia:matrix xx="4.89843e-017" xy="2" yx="-0.8" yy="1.22461e-016" x0="-7.993" y0="16.8374"/>
+        <dia:connections>
+          <dia:connection handle="0" to="O17" connection="0"/>
+        </dia:connections>
+      </dia:attribute>
+      <dia:object type="Standard - Text" version="1" id="O16">
+        <dia:attribute name="obj_pos">
+          <dia:point val="9.87764,8.93532"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="9.16514,7.63032;10.5901,8.93532"/>
+        </dia:attribute>
+        <dia:attribute name="meta">
+          <dia:composite type="dict"/>
+        </dia:attribute>
+        <dia:attribute name="text">
+          <dia:composite type="text">
+            <dia:attribute name="string">
+              <dia:string>#90#</dia:string>
+            </dia:attribute>
+            <dia:attribute name="font">
+              <dia:font family="sans" style="0" name="Helvetica"/>
+            </dia:attribute>
+            <dia:attribute name="height">
+              <dia:real val="1.3999999761581421"/>
+            </dia:attribute>
+            <dia:attribute name="pos">
+              <dia:point val="9.87764,8.67032"/>
+            </dia:attribute>
+            <dia:attribute name="color">
+              <dia:color val="#000000"/>
+            </dia:attribute>
+            <dia:attribute name="alignment">
+              <dia:enum val="1"/>
+            </dia:attribute>
+          </dia:composite>
+        </dia:attribute>
+        <dia:attribute name="valign">
+          <dia:enum val="1"/>
+        </dia:attribute>
+      </dia:object>
+      <dia:object type="Standard - Line" version="0" id="O17">
+        <dia:attribute name="obj_pos">
+          <dia:point val="8.87764,8.93532"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="8.82764,8.88532;10.9276,8.98532"/>
+        </dia:attribute>
+        <dia:attribute name="meta">
+          <dia:composite type="dict"/>
+        </dia:attribute>
+        <dia:attribute name="conn_endpoints">
+          <dia:point val="8.87764,8.93532"/>
+          <dia:point val="10.8776,8.93532"/>
+        </dia:attribute>
+        <dia:attribute name="numcp">
+          <dia:int val="1"/>
+        </dia:attribute>
+      </dia:object>
+    </dia:group>
+    <dia:group>
+      <dia:attribute name="matrix">
+        <dia:matrix xx="4.28612e-017" xy="-2" yx="0.7" yy="1.22461e-016" x0="34.0187" y0="-2.51708"/>
+        <dia:connections>
+          <dia:connection handle="0" to="O19" connection="0"/>
+        </dia:connections>
+      </dia:attribute>
+      <dia:object type="Standard - Text" version="1" id="O18">
+        <dia:attribute name="obj_pos">
+          <dia:point val="16.272,8.87333"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="15.357,7.56833;17.187,8.87333"/>
+        </dia:attribute>
+        <dia:attribute name="meta">
+          <dia:composite type="dict"/>
+        </dia:attribute>
+        <dia:attribute name="text">
+          <dia:composite type="text">
+            <dia:attribute name="string">
+              <dia:string>#-90#</dia:string>
+            </dia:attribute>
+            <dia:attribute name="font">
+              <dia:font family="sans" style="0" name="Helvetica"/>
+            </dia:attribute>
+            <dia:attribute name="height">
+              <dia:real val="1.3999999761581421"/>
+            </dia:attribute>
+            <dia:attribute name="pos">
+              <dia:point val="16.272,8.60833"/>
+            </dia:attribute>
+            <dia:attribute name="color">
+              <dia:color val="#000000"/>
+            </dia:attribute>
+            <dia:attribute name="alignment">
+              <dia:enum val="1"/>
+            </dia:attribute>
+          </dia:composite>
+        </dia:attribute>
+        <dia:attribute name="valign">
+          <dia:enum val="1"/>
+        </dia:attribute>
+      </dia:object>
+      <dia:object type="Standard - Line" version="0" id="O19">
+        <dia:attribute name="obj_pos">
+          <dia:point val="15.272,8.87333"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="15.222,8.82333;17.322,8.92333"/>
+        </dia:attribute>
+        <dia:attribute name="meta">
+          <dia:composite type="dict"/>
+        </dia:attribute>
+        <dia:attribute name="conn_endpoints">
+          <dia:point val="15.272,8.87333"/>
+          <dia:point val="17.272,8.87333"/>
+        </dia:attribute>
+        <dia:attribute name="numcp">
+          <dia:int val="1"/>
+        </dia:attribute>
+      </dia:object>
+    </dia:group>
+    <dia:group>
+      <dia:attribute name="matrix">
+        <dia:matrix xx="0.565685" xy="1.41421" yx="-0.565685" yy="1.41421" x0="-4.12998" y0="3.44109"/>
+        <dia:connections>
+          <dia:connection handle="0" to="O21" connection="0"/>
+        </dia:connections>
+      </dia:attribute>
+      <dia:object type="Standard - Text" version="1" id="O20">
+        <dia:attribute name="obj_pos">
+          <dia:point val="10.6065,6.17768"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="9.894,4.87268;11.319,6.17768"/>
+        </dia:attribute>
+        <dia:attribute name="meta">
+          <dia:composite type="dict"/>
+        </dia:attribute>
+        <dia:attribute name="text">
+          <dia:composite type="text">
+            <dia:attribute name="string">
+              <dia:string>#45#</dia:string>
+            </dia:attribute>
+            <dia:attribute name="font">
+              <dia:font family="sans" style="0" name="Helvetica"/>
+            </dia:attribute>
+            <dia:attribute name="height">
+              <dia:real val="1.3999999761581421"/>
+            </dia:attribute>
+            <dia:attribute name="pos">
+              <dia:point val="10.6065,5.91268"/>
+            </dia:attribute>
+            <dia:attribute name="color">
+              <dia:color val="#000000"/>
+            </dia:attribute>
+            <dia:attribute name="alignment">
+              <dia:enum val="1"/>
+            </dia:attribute>
+          </dia:composite>
+        </dia:attribute>
+        <dia:attribute name="valign">
+          <dia:enum val="1"/>
+        </dia:attribute>
+      </dia:object>
+      <dia:object type="Standard - Line" version="0" id="O21">
+        <dia:attribute name="obj_pos">
+          <dia:point val="9.60645,6.17768"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="9.55645,6.12768;11.6565,6.22768"/>
+        </dia:attribute>
+        <dia:attribute name="meta">
+          <dia:composite type="dict"/>
+        </dia:attribute>
+        <dia:attribute name="conn_endpoints">
+          <dia:point val="9.60645,6.17768"/>
+          <dia:point val="11.6065,6.17768"/>
+        </dia:attribute>
+        <dia:attribute name="numcp">
+          <dia:int val="1"/>
+        </dia:attribute>
+      </dia:object>
+    </dia:group>
+    <dia:group>
+      <dia:attribute name="matrix">
+        <dia:matrix xx="0.494975" xy="-1.41421" yx="0.494975" yy="1.41421" x0="16.8562" y0="-10.3621"/>
+        <dia:connections>
+          <dia:connection handle="0" to="O23" connection="0"/>
+        </dia:connections>
+      </dia:attribute>
+      <dia:object type="Standard - Text" version="1" id="O22">
+        <dia:attribute name="obj_pos">
+          <dia:point val="15.6316,6.33698"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="14.7166,5.03198;16.5466,6.33698"/>
+        </dia:attribute>
+        <dia:attribute name="meta">
+          <dia:composite type="dict"/>
+        </dia:attribute>
+        <dia:attribute name="text">
+          <dia:composite type="text">
+            <dia:attribute name="string">
+              <dia:string>#-45#</dia:string>
+            </dia:attribute>
+            <dia:attribute name="font">
+              <dia:font family="sans" style="0" name="Helvetica"/>
+            </dia:attribute>
+            <dia:attribute name="height">
+              <dia:real val="1.3999999761581421"/>
+            </dia:attribute>
+            <dia:attribute name="pos">
+              <dia:point val="15.6316,6.07198"/>
+            </dia:attribute>
+            <dia:attribute name="color">
+              <dia:color val="#000000"/>
+            </dia:attribute>
+            <dia:attribute name="alignment">
+              <dia:enum val="1"/>
+            </dia:attribute>
+          </dia:composite>
+        </dia:attribute>
+        <dia:attribute name="valign">
+          <dia:enum val="1"/>
+        </dia:attribute>
+      </dia:object>
+      <dia:object type="Standard - Line" version="0" id="O23">
+        <dia:attribute name="obj_pos">
+          <dia:point val="14.6316,6.33698"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="14.5816,6.28698;16.6816,6.38698"/>
+        </dia:attribute>
+        <dia:attribute name="meta">
+          <dia:composite type="dict"/>
+        </dia:attribute>
+        <dia:attribute name="conn_endpoints">
+          <dia:point val="14.6316,6.33698"/>
+          <dia:point val="16.6316,6.33698"/>
+        </dia:attribute>
+        <dia:attribute name="numcp">
+          <dia:int val="1"/>
+        </dia:attribute>
+      </dia:object>
+    </dia:group>
+    <dia:object type="Standard - Ellipse" version="0" id="O24">
+      <dia:attribute name="obj_pos">
+        <dia:point val="11,7"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="10.95,6.95;15.05,11.05"/>
+      </dia:attribute>
+      <dia:attribute name="elem_corner">
+        <dia:point val="11,7"/>
+      </dia:attribute>
+      <dia:attribute name="elem_width">
+        <dia:real val="4"/>
+      </dia:attribute>
+      <dia:attribute name="elem_height">
+        <dia:real val="4"/>
+      </dia:attribute>
+      <dia:attribute name="border_color">
+        <dia:color val="#7f7f7f"/>
+      </dia:attribute>
+      <dia:attribute name="show_background">
+        <dia:boolean val="false"/>
+      </dia:attribute>
+    </dia:object>
+    <dia:object type="Standard - Line" version="0" id="O25">
+      <dia:attribute name="obj_pos">
+        <dia:point val="6,6"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="5.93435,5.93435;11.1815,8.25816"/>
+      </dia:attribute>
+      <dia:attribute name="conn_endpoints">
+        <dia:point val="6,6"/>
+        <dia:point val="11.1158,8.1925"/>
+      </dia:attribute>
+      <dia:attribute name="numcp">
+        <dia:int val="1"/>
+      </dia:attribute>
+      <dia:attribute name="line_color">
+        <dia:color val="#7f7f7f"/>
+      </dia:attribute>
+      <dia:attribute name="line_style">
+        <dia:enum val="4"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="1" to="O24" connection="8"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - Line" version="0" id="O26">
+      <dia:attribute name="obj_pos">
+        <dia:point val="10,2"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="9.93435,1.93435;12.2582,7.1815"/>
+      </dia:attribute>
+      <dia:attribute name="conn_endpoints">
+        <dia:point val="10,2"/>
+        <dia:point val="12.1925,7.11584"/>
+      </dia:attribute>
+      <dia:attribute name="numcp">
+        <dia:int val="1"/>
+      </dia:attribute>
+      <dia:attribute name="line_color">
+        <dia:color val="#7f7f7f"/>
+      </dia:attribute>
+      <dia:attribute name="line_style">
+        <dia:enum val="4"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="1" to="O24" connection="8"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - Line" version="0" id="O27">
+      <dia:attribute name="obj_pos">
+        <dia:point val="16,2"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="13.7418,1.93435;16.0657,7.1815"/>
+      </dia:attribute>
+      <dia:attribute name="conn_endpoints">
+        <dia:point val="16,2"/>
+        <dia:point val="13.8075,7.11584"/>
+      </dia:attribute>
+      <dia:attribute name="numcp">
+        <dia:int val="1"/>
+      </dia:attribute>
+      <dia:attribute name="line_color">
+        <dia:color val="#7f7f7f"/>
+      </dia:attribute>
+      <dia:attribute name="line_style">
+        <dia:enum val="4"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="1" to="O24" connection="8"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - Line" version="0" id="O28">
+      <dia:attribute name="obj_pos">
+        <dia:point val="20,6"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="14.8185,5.93435;20.0657,8.25816"/>
+      </dia:attribute>
+      <dia:attribute name="conn_endpoints">
+        <dia:point val="20,6"/>
+        <dia:point val="14.8842,8.1925"/>
+      </dia:attribute>
+      <dia:attribute name="numcp">
+        <dia:int val="1"/>
+      </dia:attribute>
+      <dia:attribute name="line_color">
+        <dia:color val="#7f7f7f"/>
+      </dia:attribute>
+      <dia:attribute name="line_style">
+        <dia:enum val="4"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="1" to="O24" connection="8"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - Line" version="0" id="O29">
+      <dia:attribute name="obj_pos">
+        <dia:point val="20,12"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="14.8185,9.74184;20.0657,12.0657"/>
+      </dia:attribute>
+      <dia:attribute name="conn_endpoints">
+        <dia:point val="20,12"/>
+        <dia:point val="14.8842,9.8075"/>
+      </dia:attribute>
+      <dia:attribute name="numcp">
+        <dia:int val="1"/>
+      </dia:attribute>
+      <dia:attribute name="line_color">
+        <dia:color val="#7f7f7f"/>
+      </dia:attribute>
+      <dia:attribute name="line_style">
+        <dia:enum val="4"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="1" to="O24" connection="8"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - Line" version="0" id="O30">
+      <dia:attribute name="obj_pos">
+        <dia:point val="16,17"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="13.6552,10.8546;16.0644,17.0644"/>
+      </dia:attribute>
+      <dia:attribute name="conn_endpoints">
+        <dia:point val="16,17"/>
+        <dia:point val="13.7196,10.9189"/>
+      </dia:attribute>
+      <dia:attribute name="numcp">
+        <dia:int val="1"/>
+      </dia:attribute>
+      <dia:attribute name="line_color">
+        <dia:color val="#7f7f7f"/>
+      </dia:attribute>
+      <dia:attribute name="line_style">
+        <dia:enum val="4"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="1" to="O24" connection="8"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - Line" version="0" id="O31">
+      <dia:attribute name="obj_pos">
+        <dia:point val="10,17"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="9.93563,10.8546;12.3448,17.0644"/>
+      </dia:attribute>
+      <dia:attribute name="conn_endpoints">
+        <dia:point val="10,17"/>
+        <dia:point val="12.2804,10.9189"/>
+      </dia:attribute>
+      <dia:attribute name="numcp">
+        <dia:int val="1"/>
+      </dia:attribute>
+      <dia:attribute name="line_color">
+        <dia:color val="#7f7f7f"/>
+      </dia:attribute>
+      <dia:attribute name="line_style">
+        <dia:enum val="4"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="1" to="O24" connection="8"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - Line" version="0" id="O32">
+      <dia:attribute name="obj_pos">
+        <dia:point val="6,12"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="5.93435,9.74184;11.1815,12.0657"/>
+      </dia:attribute>
+      <dia:attribute name="conn_endpoints">
+        <dia:point val="6,12"/>
+        <dia:point val="11.1158,9.8075"/>
+      </dia:attribute>
+      <dia:attribute name="numcp">
+        <dia:int val="1"/>
+      </dia:attribute>
+      <dia:attribute name="line_color">
+        <dia:color val="#7f7f7f"/>
+      </dia:attribute>
+      <dia:attribute name="line_style">
+        <dia:enum val="4"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="1" to="O24" connection="8"/>
+      </dia:connections>
+    </dia:object>
+    <dia:group>
+      <dia:attribute name="matrix">
+        <dia:matrix xx="2.36068" xy="0" yx="0" yy="0.55" x0="-17.6888" y0="0.975753"/>
+        <dia:connections>
+          <dia:connection handle="0" to="O34" connection="0"/>
+        </dia:connections>
+      </dia:attribute>
+      <dia:object type="Standard - Text" version="1" id="O33">
+        <dia:attribute name="obj_pos">
+          <dia:point val="13,2.16834"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="12.6438,0.86334;13.3563,2.16834"/>
+        </dia:attribute>
+        <dia:attribute name="meta">
+          <dia:composite type="dict"/>
+        </dia:attribute>
+        <dia:attribute name="text">
+          <dia:composite type="text">
+            <dia:attribute name="string">
+              <dia:string>#0#</dia:string>
+            </dia:attribute>
+            <dia:attribute name="font">
+              <dia:font family="sans" style="0" name="Helvetica"/>
+            </dia:attribute>
+            <dia:attribute name="height">
+              <dia:real val="1.3999999761581421"/>
+            </dia:attribute>
+            <dia:attribute name="pos">
+              <dia:point val="13,1.90334"/>
+            </dia:attribute>
+            <dia:attribute name="color">
+              <dia:color val="#000000"/>
+            </dia:attribute>
+            <dia:attribute name="alignment">
+              <dia:enum val="1"/>
+            </dia:attribute>
+          </dia:composite>
+        </dia:attribute>
+        <dia:attribute name="valign">
+          <dia:enum val="1"/>
+        </dia:attribute>
+      </dia:object>
+      <dia:object type="Standard - Line" version="0" id="O34">
+        <dia:attribute name="obj_pos">
+          <dia:point val="12,2.16834"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="11.95,2.11834;14.05,2.21834"/>
+        </dia:attribute>
+        <dia:attribute name="meta">
+          <dia:composite type="dict"/>
+        </dia:attribute>
+        <dia:attribute name="conn_endpoints">
+          <dia:point val="12,2.16834"/>
+          <dia:point val="14,2.16834"/>
+        </dia:attribute>
+        <dia:attribute name="numcp">
+          <dia:int val="1"/>
+        </dia:attribute>
+      </dia:object>
+    </dia:group>
+    <dia:group>
+      <dia:attribute name="matrix">
+        <dia:matrix xx="0.867919" xy="0" yx="0" yy="2" x0="1.71705" y0="-5.16834"/>
+        <dia:connections>
+          <dia:connection handle="0" to="O36" connection="0"/>
+        </dia:connections>
+      </dia:attribute>
+      <dia:object type="Standard - Text" version="1" id="O35">
+        <dia:attribute name="obj_pos">
+          <dia:point val="13,5.16834"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="12.6438,3.86334;13.3563,5.16834"/>
+        </dia:attribute>
+        <dia:attribute name="text">
+          <dia:composite type="text">
+            <dia:attribute name="string">
+              <dia:string>#0#</dia:string>
+            </dia:attribute>
+            <dia:attribute name="font">
+              <dia:font family="sans" style="0" name="Helvetica"/>
+            </dia:attribute>
+            <dia:attribute name="height">
+              <dia:real val="1.3999999761581421"/>
+            </dia:attribute>
+            <dia:attribute name="pos">
+              <dia:point val="13,4.90334"/>
+            </dia:attribute>
+            <dia:attribute name="color">
+              <dia:color val="#000000"/>
+            </dia:attribute>
+            <dia:attribute name="alignment">
+              <dia:enum val="1"/>
+            </dia:attribute>
+          </dia:composite>
+        </dia:attribute>
+        <dia:attribute name="valign">
+          <dia:enum val="1"/>
+        </dia:attribute>
+      </dia:object>
+      <dia:object type="Standard - Line" version="0" id="O36">
+        <dia:attribute name="obj_pos">
+          <dia:point val="12,5.16834"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="11.95,5.11834;14.05,5.21834"/>
+        </dia:attribute>
+        <dia:attribute name="conn_endpoints">
+          <dia:point val="12,5.16834"/>
+          <dia:point val="14,5.16834"/>
+        </dia:attribute>
+        <dia:attribute name="numcp">
+          <dia:int val="1"/>
+        </dia:attribute>
+      </dia:object>
+    </dia:group>
+    <dia:group>
+      <dia:attribute name="matrix">
+        <dia:matrix xx="-0.612258" xy="2.44921e-016" yx="-7.49775e-017" yy="-2" x0="20.9594" y0="39"/>
+        <dia:connections>
+          <dia:connection handle="0" to="O38" connection="0"/>
+        </dia:connections>
+      </dia:attribute>
+      <dia:object type="Standard - Text" version="1" id="O37">
+        <dia:attribute name="obj_pos">
+          <dia:point val="13,13"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="11.9313,11.695;14.0688,13"/>
+        </dia:attribute>
+        <dia:attribute name="text">
+          <dia:composite type="text">
+            <dia:attribute name="string">
+              <dia:string>#180#</dia:string>
+            </dia:attribute>
+            <dia:attribute name="font">
+              <dia:font family="sans" style="0" name="Helvetica"/>
+            </dia:attribute>
+            <dia:attribute name="height">
+              <dia:real val="1.3999999761581421"/>
+            </dia:attribute>
+            <dia:attribute name="pos">
+              <dia:point val="13,12.735"/>
+            </dia:attribute>
+            <dia:attribute name="color">
+              <dia:color val="#000000"/>
+            </dia:attribute>
+            <dia:attribute name="alignment">
+              <dia:enum val="1"/>
+            </dia:attribute>
+          </dia:composite>
+        </dia:attribute>
+        <dia:attribute name="valign">
+          <dia:enum val="1"/>
+        </dia:attribute>
+      </dia:object>
+      <dia:object type="Standard - Line" version="0" id="O38">
+        <dia:attribute name="obj_pos">
+          <dia:point val="12,13"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="11.95,12.95;14.05,13.05"/>
+        </dia:attribute>
+        <dia:attribute name="conn_endpoints">
+          <dia:point val="12,13"/>
+          <dia:point val="14,13"/>
+        </dia:attribute>
+        <dia:attribute name="numcp">
+          <dia:int val="1"/>
+        </dia:attribute>
+      </dia:object>
+    </dia:group>
+    <dia:group>
+      <dia:attribute name="matrix">
+        <dia:matrix xx="-2.07622" xy="6.73533e-017" yx="-2.54256e-016" yy="-0.55" x0="39.9909" y0="24.8"/>
+        <dia:connections>
+          <dia:connection handle="0" to="O40" connection="0"/>
+        </dia:connections>
+      </dia:attribute>
+      <dia:object type="Standard - Text" version="1" id="O39">
+        <dia:attribute name="obj_pos">
+          <dia:point val="13,16"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="11.9313,14.695;14.0688,16"/>
+        </dia:attribute>
+        <dia:attribute name="meta">
+          <dia:composite type="dict"/>
+        </dia:attribute>
+        <dia:attribute name="text">
+          <dia:composite type="text">
+            <dia:attribute name="string">
+              <dia:string>#180#</dia:string>
+            </dia:attribute>
+            <dia:attribute name="font">
+              <dia:font family="sans" style="0" name="Helvetica"/>
+            </dia:attribute>
+            <dia:attribute name="height">
+              <dia:real val="1.3999999761581421"/>
+            </dia:attribute>
+            <dia:attribute name="pos">
+              <dia:point val="13,15.735"/>
+            </dia:attribute>
+            <dia:attribute name="color">
+              <dia:color val="#000000"/>
+            </dia:attribute>
+            <dia:attribute name="alignment">
+              <dia:enum val="1"/>
+            </dia:attribute>
+          </dia:composite>
+        </dia:attribute>
+        <dia:attribute name="valign">
+          <dia:enum val="1"/>
+        </dia:attribute>
+      </dia:object>
+      <dia:object type="Standard - Line" version="0" id="O40">
+        <dia:attribute name="obj_pos">
+          <dia:point val="12,16"/>
+        </dia:attribute>
+        <dia:attribute name="obj_bb">
+          <dia:rectangle val="11.95,15.95;14.05,16.05"/>
+        </dia:attribute>
+        <dia:attribute name="meta">
+          <dia:composite type="dict"/>
+        </dia:attribute>
+        <dia:attribute name="conn_endpoints">
+          <dia:point val="12,16"/>
+          <dia:point val="14,16"/>
+        </dia:attribute>
+        <dia:attribute name="numcp">
+          <dia:int val="1"/>
+        </dia:attribute>
+      </dia:object>
+    </dia:group>
+  </dia:layer>
+</dia:diagram>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]