From 9dd2771ec784e3e125c3dbcdbcdb178831907385 Mon Sep 17 00:00:00 2001 From: weijin-deng Date: Thu, 3 Jun 2021 21:08:26 +0800 Subject: [PATCH] Upgrade to 3.38.4 Update Version, Release, Source0, BuildRequires, Requires Delete patches which existed in current version, modify one patch Update stage 'build', 'check', 'files' --- ...roco-sources-directly-under-src-st-c.patch | 25201 ---------------- ...-Immediately-add-buttons-to-the-dial.patch | 56 - ...Avoid-idempotent-calls-to-meta_backe.patch | 68 - ...-Support-rebooting-into-the-bootload.patch | 115 - CVE-2020-17489-pre1.patch | 265 - CVE-2020-17489-pre2.patch | 81 - CVE-2020-17489.patch | 44 - gnome-shell-3.30.1.tar.xz | Bin 1437256 -> 0 bytes gnome-shell-3.38.4.tar.xz | Bin 0 -> 1815880 bytes gnome-shell-favourite-apps-firefox.patch | 39 +- gnome-shell.spec | 68 +- 11 files changed, 66 insertions(+), 25871 deletions(-) delete mode 100644 0001-Include-the-libcroco-sources-directly-under-src-st-c.patch delete mode 100644 0001-endSessionDialog-Immediately-add-buttons-to-the-dial.patch delete mode 100644 0001-keyboardManager-Avoid-idempotent-calls-to-meta_backe.patch delete mode 100644 0002-endSessionDialog-Support-rebooting-into-the-bootload.patch delete mode 100644 CVE-2020-17489-pre1.patch delete mode 100644 CVE-2020-17489-pre2.patch delete mode 100644 CVE-2020-17489.patch delete mode 100644 gnome-shell-3.30.1.tar.xz create mode 100644 gnome-shell-3.38.4.tar.xz diff --git a/0001-Include-the-libcroco-sources-directly-under-src-st-c.patch b/0001-Include-the-libcroco-sources-directly-under-src-st-c.patch deleted file mode 100644 index 2c7e2cf..0000000 --- a/0001-Include-the-libcroco-sources-directly-under-src-st-c.patch +++ /dev/null @@ -1,25201 +0,0 @@ -From 47758d16ff0acd9edbd8ff6eb3922e59fb14f8bb Mon Sep 17 00:00:00 2001 -From: Federico Mena Quintero -Date: Thu, 21 Nov 2019 14:24:02 -0600 -Subject: [PATCH] Include the libcroco sources directly under src/st/croco - -This is all of the original libcroco, minus these two which we don't use: - - - cr-sel-eng - the CSS selection engine for xmlNode. - - cr-style. - -Part of https://gitlab.gnome.org/GNOME/gnome-shell/issues/1934 ---- - meson.build | 2 - - src/st/croco/cr-additional-sel.c | 500 +++ - src/st/croco/cr-additional-sel.h | 98 + - src/st/croco/cr-attr-sel.c | 235 ++ - src/st/croco/cr-attr-sel.h | 74 + - src/st/croco/cr-cascade.c | 215 ++ - src/st/croco/cr-cascade.h | 74 + - src/st/croco/cr-declaration.c | 801 +++++ - src/st/croco/cr-declaration.h | 136 + - src/st/croco/cr-doc-handler.c | 276 ++ - src/st/croco/cr-doc-handler.h | 298 ++ - src/st/croco/cr-enc-handler.c | 184 ++ - src/st/croco/cr-enc-handler.h | 94 + - src/st/croco/cr-fonts.c | 949 ++++++ - src/st/croco/cr-fonts.h | 315 ++ - src/st/croco/cr-input.c | 1191 ++++++++ - src/st/croco/cr-input.h | 174 ++ - src/st/croco/cr-num.c | 313 ++ - src/st/croco/cr-num.h | 127 + - src/st/croco/cr-om-parser.c | 1142 +++++++ - src/st/croco/cr-om-parser.h | 98 + - src/st/croco/cr-parser.c | 4525 ++++++++++++++++++++++++++++ - src/st/croco/cr-parser.h | 128 + - src/st/croco/cr-parsing-location.c | 172 ++ - src/st/croco/cr-parsing-location.h | 70 + - src/st/croco/cr-prop-list.c | 404 +++ - src/st/croco/cr-prop-list.h | 80 + - src/st/croco/cr-pseudo.c | 167 + - src/st/croco/cr-pseudo.h | 64 + - src/st/croco/cr-rgb.c | 687 +++++ - src/st/croco/cr-rgb.h | 94 + - src/st/croco/cr-selector.c | 306 ++ - src/st/croco/cr-selector.h | 95 + - src/st/croco/cr-simple-sel.c | 325 ++ - src/st/croco/cr-simple-sel.h | 130 + - src/st/croco/cr-statement.c | 2794 +++++++++++++++++ - src/st/croco/cr-statement.h | 440 +++ - src/st/croco/cr-string.c | 168 ++ - src/st/croco/cr-string.h | 76 + - src/st/croco/cr-stylesheet.c | 178 ++ - src/st/croco/cr-stylesheet.h | 102 + - src/st/croco/cr-term.c | 790 +++++ - src/st/croco/cr-term.h | 190 ++ - src/st/croco/cr-tknzr.c | 2762 +++++++++++++++++ - src/st/croco/cr-tknzr.h | 115 + - src/st/croco/cr-token.c | 636 ++++ - src/st/croco/cr-token.h | 212 ++ - src/st/croco/cr-utils.c | 1330 ++++++++ - src/st/croco/cr-utils.h | 246 ++ - src/st/croco/libcroco-config.h | 13 + - src/st/croco/libcroco.h | 42 + - src/st/meson.build | 62 +- - src/st/st-theme-node-private.h | 2 +- - src/st/st-theme-private.h | 2 +- - 54 files changed, 24696 insertions(+), 7 deletions(-) - create mode 100644 src/st/croco/cr-additional-sel.c - create mode 100644 src/st/croco/cr-additional-sel.h - create mode 100644 src/st/croco/cr-attr-sel.c - create mode 100644 src/st/croco/cr-attr-sel.h - create mode 100644 src/st/croco/cr-cascade.c - create mode 100644 src/st/croco/cr-cascade.h - create mode 100644 src/st/croco/cr-declaration.c - create mode 100644 src/st/croco/cr-declaration.h - create mode 100644 src/st/croco/cr-doc-handler.c - create mode 100644 src/st/croco/cr-doc-handler.h - create mode 100644 src/st/croco/cr-enc-handler.c - create mode 100644 src/st/croco/cr-enc-handler.h - create mode 100644 src/st/croco/cr-fonts.c - create mode 100644 src/st/croco/cr-fonts.h - create mode 100644 src/st/croco/cr-input.c - create mode 100644 src/st/croco/cr-input.h - create mode 100644 src/st/croco/cr-num.c - create mode 100644 src/st/croco/cr-num.h - create mode 100644 src/st/croco/cr-om-parser.c - create mode 100644 src/st/croco/cr-om-parser.h - create mode 100644 src/st/croco/cr-parser.c - create mode 100644 src/st/croco/cr-parser.h - create mode 100644 src/st/croco/cr-parsing-location.c - create mode 100644 src/st/croco/cr-parsing-location.h - create mode 100644 src/st/croco/cr-prop-list.c - create mode 100644 src/st/croco/cr-prop-list.h - create mode 100644 src/st/croco/cr-pseudo.c - create mode 100644 src/st/croco/cr-pseudo.h - create mode 100644 src/st/croco/cr-rgb.c - create mode 100644 src/st/croco/cr-rgb.h - create mode 100644 src/st/croco/cr-selector.c - create mode 100644 src/st/croco/cr-selector.h - create mode 100644 src/st/croco/cr-simple-sel.c - create mode 100644 src/st/croco/cr-simple-sel.h - create mode 100644 src/st/croco/cr-statement.c - create mode 100644 src/st/croco/cr-statement.h - create mode 100644 src/st/croco/cr-string.c - create mode 100644 src/st/croco/cr-string.h - create mode 100644 src/st/croco/cr-stylesheet.c - create mode 100644 src/st/croco/cr-stylesheet.h - create mode 100644 src/st/croco/cr-term.c - create mode 100644 src/st/croco/cr-term.h - create mode 100644 src/st/croco/cr-tknzr.c - create mode 100644 src/st/croco/cr-tknzr.h - create mode 100644 src/st/croco/cr-token.c - create mode 100644 src/st/croco/cr-token.h - create mode 100644 src/st/croco/cr-utils.c - create mode 100644 src/st/croco/cr-utils.h - create mode 100644 src/st/croco/libcroco-config.h - create mode 100644 src/st/croco/libcroco.h - -diff --git a/meson.build b/meson.build -index bfe4ee8a6..9c6d5b946 100644 ---- a/meson.build -+++ b/meson.build -@@ -13,7 +13,6 @@ cogl_pc = 'mutter-cogl-' + mutter_api_version - cogl_pango_pc = 'mutter-cogl-pango-' + mutter_api_version - libmutter_pc = 'libmutter-' + mutter_api_version - --croco_req = '>= 0.6.8' - ecal_req = '>= 3.5.3' - eds_req = '>= 3.17.2' - gcr_req = '>= 3.7.5' -@@ -89,7 +88,6 @@ gio_unix_dep = dependency('gio-unix-2.0', version: gio_req) - gjs_dep = dependency('gjs-1.0', version: gjs_req) - gtk_dep = dependency('gtk+-3.0', version: gtk_req) - libxml_dep = dependency('libxml-2.0') --croco_dep = dependency('libcroco-0.6', version: croco_req) - clutter_dep = dependency(clutter_pc, version: mutter_req) - cogl_dep = dependency(cogl_pc, version: mutter_req) - cogl_pango_dep = dependency(cogl_pango_pc, version: mutter_req) -diff --git a/src/st/croco/cr-additional-sel.c b/src/st/croco/cr-additional-sel.c -new file mode 100644 -index 000000000..c34b8d243 ---- /dev/null -+++ b/src/st/croco/cr-additional-sel.c -@@ -0,0 +1,500 @@ -+/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli -+ * See COPYRIGHTS file for copyright information. -+ * -+ */ -+ -+#include "cr-additional-sel.h" -+#include "string.h" -+ -+/** -+ * CRAdditionalSel: -+ * -+ * #CRAdditionalSel abstracts an additionnal selector. -+ * An additional selector is the selector part -+ * that comes after the combination of type selectors. -+ * It can be either "a class selector (the .class part), -+ * a pseudo class selector, an attribute selector -+ * or an id selector. -+ */ -+ -+/** -+ * cr_additional_sel_new: -+ * -+ * Default constructor of #CRAdditionalSel. -+ * Returns the newly build instance of #CRAdditionalSel. -+ */ -+CRAdditionalSel * -+cr_additional_sel_new (void) -+{ -+ CRAdditionalSel *result = NULL; -+ -+ result = g_try_malloc (sizeof (CRAdditionalSel)); -+ -+ if (result == NULL) { -+ cr_utils_trace_debug ("Out of memory"); -+ return NULL; -+ } -+ -+ memset (result, 0, sizeof (CRAdditionalSel)); -+ -+ return result; -+} -+ -+/** -+ * cr_additional_sel_new_with_type: -+ * @a_sel_type: the type of the newly built instance -+ * of #CRAdditionalSel. -+ * -+ * Constructor of #CRAdditionalSel. -+ * Returns the newly built instance of #CRAdditionalSel. -+ */ -+CRAdditionalSel * -+cr_additional_sel_new_with_type (enum AddSelectorType a_sel_type) -+{ -+ CRAdditionalSel *result = NULL; -+ -+ result = cr_additional_sel_new (); -+ -+ g_return_val_if_fail (result, NULL); -+ -+ result->type = a_sel_type; -+ -+ return result; -+} -+ -+/** -+ * cr_additional_sel_set_class_name: -+ * @a_this: the "this pointer" of the current instance -+ * of #CRAdditionalSel . -+ * @a_class_name: the new class name to set. -+ * -+ * Sets a new class name to a -+ * CLASS additional selector. -+ */ -+void -+cr_additional_sel_set_class_name (CRAdditionalSel * a_this, -+ CRString * a_class_name) -+{ -+ g_return_if_fail (a_this && a_this->type == CLASS_ADD_SELECTOR); -+ -+ if (a_this->content.class_name) { -+ cr_string_destroy (a_this->content.class_name); -+ } -+ -+ a_this->content.class_name = a_class_name; -+} -+ -+/** -+ * cr_additional_sel_set_id_name: -+ * @a_this: the "this pointer" of the current instance -+ * of #CRAdditionalSel . -+ * @a_id: the new id to set. -+ * -+ * Sets a new id name to an -+ * ID additional selector. -+ */ -+void -+cr_additional_sel_set_id_name (CRAdditionalSel * a_this, CRString * a_id) -+{ -+ g_return_if_fail (a_this && a_this->type == ID_ADD_SELECTOR); -+ -+ if (a_this->content.id_name) { -+ cr_string_destroy (a_this->content.id_name); -+ } -+ -+ a_this->content.id_name = a_id; -+} -+ -+/** -+ * cr_additional_sel_set_pseudo: -+ * @a_this: the "this pointer" of the current instance -+ * of #CRAdditionalSel . -+ * @a_pseudo: the new pseudo to set. -+ * -+ * Sets a new pseudo to a -+ * PSEUDO additional selector. -+ */ -+void -+cr_additional_sel_set_pseudo (CRAdditionalSel * a_this, CRPseudo * a_pseudo) -+{ -+ g_return_if_fail (a_this -+ && a_this->type == PSEUDO_CLASS_ADD_SELECTOR); -+ -+ if (a_this->content.pseudo) { -+ cr_pseudo_destroy (a_this->content.pseudo); -+ } -+ -+ a_this->content.pseudo = a_pseudo; -+} -+ -+/** -+ * cr_additional_sel_set_attr_sel: -+ * @a_this: the "this pointer" of the current instance -+ * of #CRAdditionalSel . -+ * @a_sel: the new instance of #CRAttrSel to set. -+ * -+ * Sets a new instance of #CRAttrSel to -+ * a ATTRIBUTE additional selector. -+ */ -+void -+cr_additional_sel_set_attr_sel (CRAdditionalSel * a_this, CRAttrSel * a_sel) -+{ -+ g_return_if_fail (a_this && a_this->type == ATTRIBUTE_ADD_SELECTOR); -+ -+ if (a_this->content.attr_sel) { -+ cr_attr_sel_destroy (a_this->content.attr_sel); -+ } -+ -+ a_this->content.attr_sel = a_sel; -+} -+ -+/** -+ * cr_additional_sel_append: -+ * @a_this: the "this pointer" of the current instance -+ * of #CRAdditionalSel . -+ * @a_sel: the new instance to #CRAdditional to append. -+ * -+ * Appends a new instance of #CRAdditional to the -+ * current list of #CRAdditional. -+ * -+ * Returns the new list of CRAdditionalSel or NULL if an error arises. -+ */ -+CRAdditionalSel * -+cr_additional_sel_append (CRAdditionalSel * a_this, CRAdditionalSel * a_sel) -+{ -+ CRAdditionalSel *cur_sel = NULL; -+ -+ g_return_val_if_fail (a_sel, NULL); -+ -+ if (a_this == NULL) { -+ return a_sel; -+ } -+ -+ if (a_sel == NULL) -+ return NULL; -+ -+ for (cur_sel = a_this; -+ cur_sel && cur_sel->next; cur_sel = cur_sel->next) ; -+ -+ g_return_val_if_fail (cur_sel != NULL, NULL); -+ -+ cur_sel->next = a_sel; -+ a_sel->prev = cur_sel; -+ -+ return a_this; -+} -+ -+/** -+ * cr_additional_sel_prepend: -+ * @a_this: the "this pointer" of the current instance -+ * of #CRAdditionalSel . -+ * @a_sel: the new instance to #CRAdditional to preappend. -+ * -+ * Preppends a new instance of #CRAdditional to the -+ * current list of #CRAdditional. -+ * -+ * Returns the new list of CRAdditionalSel or NULL if an error arises. -+ */ -+CRAdditionalSel * -+cr_additional_sel_prepend (CRAdditionalSel * a_this, CRAdditionalSel * a_sel) -+{ -+ g_return_val_if_fail (a_sel, NULL); -+ -+ if (a_this == NULL) { -+ return a_sel; -+ } -+ -+ a_sel->next = a_this; -+ a_this->prev = a_sel; -+ -+ return a_sel; -+} -+ -+guchar * -+cr_additional_sel_to_string (CRAdditionalSel const * a_this) -+{ -+ guchar *result = NULL; -+ GString *str_buf = NULL; -+ CRAdditionalSel const *cur = NULL; -+ -+ g_return_val_if_fail (a_this, NULL); -+ -+ str_buf = g_string_new (NULL); -+ -+ for (cur = a_this; cur; cur = cur->next) { -+ switch (cur->type) { -+ case CLASS_ADD_SELECTOR: -+ { -+ guchar *name = NULL; -+ -+ if (cur->content.class_name) { -+ name = (guchar *) g_strndup -+ (cur->content.class_name->stryng->str, -+ cur->content.class_name->stryng->len); -+ -+ if (name) { -+ g_string_append_printf -+ (str_buf, ".%s", -+ name); -+ g_free (name); -+ name = NULL; -+ } -+ } -+ } -+ break; -+ -+ case ID_ADD_SELECTOR: -+ { -+ guchar *name = NULL; -+ -+ if (cur->content.id_name) { -+ name = (guchar *) g_strndup -+ (cur->content.id_name->stryng->str, -+ cur->content.id_name->stryng->len); -+ -+ if (name) { -+ g_string_append_printf -+ (str_buf, "#%s", -+ name); -+ g_free (name); -+ name = NULL; -+ } -+ } -+ } -+ -+ break; -+ -+ case PSEUDO_CLASS_ADD_SELECTOR: -+ { -+ if (cur->content.pseudo) { -+ guchar *tmp_str = NULL; -+ -+ tmp_str = cr_pseudo_to_string -+ (cur->content.pseudo); -+ if (tmp_str) { -+ g_string_append_printf -+ (str_buf, ":%s", -+ tmp_str); -+ g_free (tmp_str); -+ tmp_str = NULL; -+ } -+ } -+ } -+ break; -+ -+ case ATTRIBUTE_ADD_SELECTOR: -+ if (cur->content.attr_sel) { -+ guchar *tmp_str = NULL; -+ -+ g_string_append_c (str_buf, '['); -+ tmp_str = cr_attr_sel_to_string -+ (cur->content.attr_sel); -+ if (tmp_str) { -+ g_string_append_printf -+ (str_buf, "%s]", tmp_str); -+ g_free (tmp_str); -+ tmp_str = NULL; -+ } -+ } -+ break; -+ -+ default: -+ break; -+ } -+ } -+ -+ if (str_buf) { -+ result = (guchar *) str_buf->str; -+ g_string_free (str_buf, FALSE); -+ str_buf = NULL; -+ } -+ -+ return result; -+} -+ -+guchar * -+cr_additional_sel_one_to_string (CRAdditionalSel const *a_this) -+{ -+ guchar *result = NULL; -+ GString *str_buf = NULL; -+ -+ g_return_val_if_fail (a_this, NULL) ; -+ -+ str_buf = g_string_new (NULL) ; -+ -+ switch (a_this->type) { -+ case CLASS_ADD_SELECTOR: -+ { -+ guchar *name = NULL; -+ -+ if (a_this->content.class_name) { -+ name = (guchar *) g_strndup -+ (a_this->content.class_name->stryng->str, -+ a_this->content.class_name->stryng->len); -+ -+ if (name) { -+ g_string_append_printf -+ (str_buf, ".%s", -+ name); -+ g_free (name); -+ name = NULL; -+ } -+ } -+ } -+ break; -+ -+ case ID_ADD_SELECTOR: -+ { -+ guchar *name = NULL; -+ -+ if (a_this->content.id_name) { -+ name = (guchar *) g_strndup -+ (a_this->content.id_name->stryng->str, -+ a_this->content.id_name->stryng->len); -+ -+ if (name) { -+ g_string_append_printf -+ (str_buf, "#%s", -+ name); -+ g_free (name); -+ name = NULL; -+ } -+ } -+ } -+ -+ break; -+ -+ case PSEUDO_CLASS_ADD_SELECTOR: -+ { -+ if (a_this->content.pseudo) { -+ guchar *tmp_str = NULL; -+ -+ tmp_str = cr_pseudo_to_string -+ (a_this->content.pseudo); -+ if (tmp_str) { -+ g_string_append_printf -+ (str_buf, ":%s", -+ tmp_str); -+ g_free (tmp_str); -+ tmp_str = NULL; -+ } -+ } -+ } -+ break; -+ -+ case ATTRIBUTE_ADD_SELECTOR: -+ if (a_this->content.attr_sel) { -+ guchar *tmp_str = NULL; -+ -+ g_string_append_printf (str_buf, "["); -+ tmp_str = cr_attr_sel_to_string -+ (a_this->content.attr_sel); -+ if (tmp_str) { -+ g_string_append_printf -+ (str_buf, "%s]", tmp_str); -+ g_free (tmp_str); -+ tmp_str = NULL; -+ } -+ } -+ break; -+ -+ default: -+ break; -+ } -+ -+ if (str_buf) { -+ result = (guchar *) str_buf->str; -+ g_string_free (str_buf, FALSE); -+ str_buf = NULL; -+ } -+ -+ return result; -+} -+ -+/** -+ * cr_additional_sel_dump: -+ * @a_this: the "this pointer" of the current instance of -+ * #CRAdditionalSel. -+ * @a_fp: the destination file. -+ * -+ * Dumps the current instance of #CRAdditionalSel to a file -+ */ -+void -+cr_additional_sel_dump (CRAdditionalSel const * a_this, FILE * a_fp) -+{ -+ guchar *tmp_str = NULL; -+ -+ g_return_if_fail (a_fp); -+ -+ if (a_this) { -+ tmp_str = cr_additional_sel_to_string (a_this); -+ if (tmp_str) { -+ fprintf (a_fp, "%s", tmp_str); -+ g_free (tmp_str); -+ tmp_str = NULL; -+ } -+ } -+} -+ -+/** -+ * cr_additional_sel_destroy: -+ * @a_this: the "this pointer" of the current instance -+ * of #CRAdditionalSel . -+ * -+ * Destroys an instance of #CRAdditional. -+ */ -+void -+cr_additional_sel_destroy (CRAdditionalSel * a_this) -+{ -+ g_return_if_fail (a_this); -+ -+ switch (a_this->type) { -+ case CLASS_ADD_SELECTOR: -+ cr_string_destroy (a_this->content.class_name); -+ a_this->content.class_name = NULL; -+ break; -+ -+ case PSEUDO_CLASS_ADD_SELECTOR: -+ cr_pseudo_destroy (a_this->content.pseudo); -+ a_this->content.pseudo = NULL; -+ break; -+ -+ case ID_ADD_SELECTOR: -+ cr_string_destroy (a_this->content.id_name); -+ a_this->content.id_name = NULL; -+ break; -+ -+ case ATTRIBUTE_ADD_SELECTOR: -+ cr_attr_sel_destroy (a_this->content.attr_sel); -+ a_this->content.attr_sel = NULL; -+ break; -+ -+ default: -+ break; -+ } -+ -+ if (a_this->next) { -+ cr_additional_sel_destroy (a_this->next); -+ } -+ -+ g_free (a_this); -+} -diff --git a/src/st/croco/cr-additional-sel.h b/src/st/croco/cr-additional-sel.h -new file mode 100644 -index 000000000..7ca3e07d5 ---- /dev/null -+++ b/src/st/croco/cr-additional-sel.h -@@ -0,0 +1,98 @@ -+/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli -+ * See the COPYRIGHTS file for copyright information. -+ */ -+ -+ -+#ifndef __CR_ADD_SEL_H__ -+#define __CR_ADD_SEL_H__ -+ -+#include -+#include -+#include "cr-utils.h" -+#include "cr-attr-sel.h" -+#include "cr-pseudo.h" -+#include "cr-additional-sel.h" -+ -+G_BEGIN_DECLS -+ -+enum AddSelectorType -+{ -+ NO_ADD_SELECTOR = 0 , -+ CLASS_ADD_SELECTOR = 1 , -+ PSEUDO_CLASS_ADD_SELECTOR = 1 << 1, -+ ID_ADD_SELECTOR = 1 << 3, -+ ATTRIBUTE_ADD_SELECTOR = 1 << 4 -+} ; -+ -+union CRAdditionalSelectorContent -+{ -+ CRString *class_name ; -+ CRString *id_name ; -+ CRPseudo *pseudo ; -+ CRAttrSel *attr_sel ; -+} ; -+ -+typedef struct _CRAdditionalSel CRAdditionalSel ; -+ -+struct _CRAdditionalSel -+{ -+ enum AddSelectorType type ; -+ union CRAdditionalSelectorContent content ; -+ -+ CRAdditionalSel * next ; -+ CRAdditionalSel * prev ; -+ CRParsingLocation location ; -+} ; -+ -+CRAdditionalSel * cr_additional_sel_new (void) ; -+ -+CRAdditionalSel * cr_additional_sel_new_with_type (enum AddSelectorType a_sel_type) ; -+ -+CRAdditionalSel * cr_additional_sel_append (CRAdditionalSel *a_this, -+ CRAdditionalSel *a_sel) ; -+ -+void cr_additional_sel_set_class_name (CRAdditionalSel *a_this, -+ CRString *a_class_name) ; -+ -+void cr_additional_sel_set_id_name (CRAdditionalSel *a_this, -+ CRString *a_id) ; -+ -+void cr_additional_sel_set_pseudo (CRAdditionalSel *a_this, -+ CRPseudo *a_pseudo) ; -+ -+void cr_additional_sel_set_attr_sel (CRAdditionalSel *a_this, -+ CRAttrSel *a_sel) ; -+ -+CRAdditionalSel * cr_additional_sel_prepend (CRAdditionalSel *a_this, -+ CRAdditionalSel *a_sel) ; -+ -+guchar * cr_additional_sel_to_string (CRAdditionalSel const *a_this) ; -+ -+guchar * cr_additional_sel_one_to_string (CRAdditionalSel const *a_this) ; -+ -+void cr_additional_sel_dump (CRAdditionalSel const *a_this, FILE *a_fp) ; -+ -+void cr_additional_sel_destroy (CRAdditionalSel *a_this) ; -+ -+G_END_DECLS -+ -+#endif /*__CR_ADD_SEL_H*/ -diff --git a/src/st/croco/cr-attr-sel.c b/src/st/croco/cr-attr-sel.c -new file mode 100644 -index 000000000..c057bbbf6 ---- /dev/null -+++ b/src/st/croco/cr-attr-sel.c -@@ -0,0 +1,235 @@ -+/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * See COPYRIGHTS file for copyrights information. -+ */ -+ -+#include -+#include "cr-attr-sel.h" -+ -+/** -+ * CRAttrSel: -+ * -+ * #CRAdditionalSel abstracts an attribute selector. -+ * Attributes selectors are described in the css2 spec [5.8]. -+ * There are more generally used in the css2 selectors described in -+ * css2 spec [5] . -+ */ -+ -+/** -+ * cr_attr_sel_new: -+ * The constructor of #CRAttrSel. -+ * Returns the newly allocated instance -+ * of #CRAttrSel. -+ */ -+CRAttrSel * -+cr_attr_sel_new (void) -+{ -+ CRAttrSel *result = NULL; -+ -+ result = g_malloc0 (sizeof (CRAttrSel)); -+ -+ return result; -+} -+ -+/** -+ * cr_attr_sel_append_attr_sel: -+ * @a_this: the this pointer of the current instance of #CRAttrSel. -+ * @a_attr_sel: selector to append. -+ * -+ * Appends an attribute selector to the current list of -+ * attribute selectors represented by a_this. -+ * Returns CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_attr_sel_append_attr_sel (CRAttrSel * a_this, CRAttrSel * a_attr_sel) -+{ -+ CRAttrSel *cur_sel = NULL; -+ -+ g_return_val_if_fail (a_this && a_attr_sel, -+ CR_BAD_PARAM_ERROR); -+ -+ for (cur_sel = a_this; -+ cur_sel->next; -+ cur_sel = cur_sel->next) ; -+ -+ cur_sel->next = a_attr_sel; -+ a_attr_sel->prev = cur_sel; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_attr_sel_prepend_attr_sel: -+ *@a_this: the "this pointer" of the current instance *of #CRAttrSel. -+ *@a_attr_sel: the attribute selector to append. -+ * -+ *Prepends an attribute selector to the list of -+ *attributes selector represented by a_this. -+ *Returns CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_attr_sel_prepend_attr_sel (CRAttrSel * a_this, -+ CRAttrSel * a_attr_sel) -+{ -+ g_return_val_if_fail (a_this && a_attr_sel, -+ CR_BAD_PARAM_ERROR); -+ -+ a_attr_sel->next = a_this; -+ a_this->prev = a_attr_sel; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_attr_sel_to_string: -+ * @a_this: the current instance of #CRAttrSel. -+ * -+ * Serializes an attribute selector into a string -+ * Returns the serialized attribute selector. -+ */ -+guchar * -+cr_attr_sel_to_string (CRAttrSel const * a_this) -+{ -+ CRAttrSel const *cur = NULL; -+ guchar *result = NULL; -+ GString *str_buf = NULL; -+ -+ g_return_val_if_fail (a_this, NULL); -+ -+ str_buf = g_string_new (NULL); -+ -+ for (cur = a_this; cur; cur = cur->next) { -+ if (cur->prev) { -+ g_string_append_c (str_buf, ' '); -+ } -+ -+ if (cur->name) { -+ guchar *name = NULL; -+ -+ name = (guchar *) g_strndup (cur->name->stryng->str, -+ cur->name->stryng->len); -+ if (name) { -+ g_string_append (str_buf, (const gchar *) name); -+ g_free (name); -+ name = NULL; -+ } -+ } -+ -+ if (cur->value) { -+ guchar *value = NULL; -+ -+ value = (guchar *) g_strndup (cur->value->stryng->str, -+ cur->value->stryng->len); -+ if (value) { -+ switch (cur->match_way) { -+ case SET: -+ break; -+ -+ case EQUALS: -+ g_string_append_c (str_buf, '='); -+ break; -+ -+ case INCLUDES: -+ g_string_append (str_buf, "~="); -+ break; -+ -+ case DASHMATCH: -+ g_string_append (str_buf, "|="); -+ break; -+ -+ default: -+ break; -+ } -+ -+ g_string_append_printf -+ (str_buf, "\"%s\"", value); -+ -+ g_free (value); -+ value = NULL; -+ } -+ } -+ } -+ -+ if (str_buf) { -+ result = (guchar *) str_buf->str; -+ g_string_free (str_buf, FALSE); -+ } -+ -+ return result; -+} -+ -+/** -+ * cr_attr_sel_dump: -+ * @a_this: the "this pointer" of the current instance of -+ * #CRAttrSel. -+ * @a_fp: the destination file. -+ * -+ * Dumps the current instance of #CRAttrSel to a file. -+ */ -+void -+cr_attr_sel_dump (CRAttrSel const * a_this, FILE * a_fp) -+{ -+ guchar *tmp_str = NULL; -+ -+ g_return_if_fail (a_this); -+ -+ tmp_str = cr_attr_sel_to_string (a_this); -+ -+ if (tmp_str) { -+ fprintf (a_fp, "%s", tmp_str); -+ g_free (tmp_str); -+ tmp_str = NULL; -+ } -+} -+ -+/** -+ *cr_attr_sel_destroy: -+ *@a_this: the "this pointer" of the current -+ *instance of #CRAttrSel. -+ * -+ *Destroys the current instance of #CRAttrSel. -+ *Frees all the fields if they are non null. -+ */ -+void -+cr_attr_sel_destroy (CRAttrSel * a_this) -+{ -+ g_return_if_fail (a_this); -+ -+ if (a_this->name) { -+ cr_string_destroy (a_this->name); -+ a_this->name = NULL; -+ } -+ -+ if (a_this->value) { -+ cr_string_destroy (a_this->value); -+ a_this->value = NULL; -+ } -+ -+ if (a_this->next) { -+ cr_attr_sel_destroy (a_this->next); -+ a_this->next = NULL; -+ } -+ -+ if (a_this) { -+ g_free (a_this); -+ a_this = NULL; -+ } -+} -+ -diff --git a/src/st/croco/cr-attr-sel.h b/src/st/croco/cr-attr-sel.h -new file mode 100644 -index 000000000..82d5a87d7 ---- /dev/null -+++ b/src/st/croco/cr-attr-sel.h -@@ -0,0 +1,74 @@ -+/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli -+ * See COPYRIGHTS file for copyright information. -+ */ -+ -+#ifndef __CR_ATTR_SEL_H__ -+#define __CR_ATTR_SEL_H__ -+ -+#include -+#include -+#include "cr-utils.h" -+#include "cr-parsing-location.h" -+#include "cr-string.h" -+ -+G_BEGIN_DECLS -+ -+ -+struct _CRAttrSel ; -+typedef struct _CRAttrSel CRAttrSel ; -+ -+enum AttrMatchWay -+{ -+ NO_MATCH = 0, -+ SET, -+ EQUALS, -+ INCLUDES, -+ DASHMATCH -+} ; -+ -+struct _CRAttrSel -+{ -+ CRString *name ; -+ CRString *value ; -+ enum AttrMatchWay match_way ; -+ CRAttrSel *next ; -+ CRAttrSel *prev ; -+ CRParsingLocation location ; -+} ; -+ -+CRAttrSel * cr_attr_sel_new (void) ; -+ -+enum CRStatus cr_attr_sel_append_attr_sel (CRAttrSel * a_this, -+ CRAttrSel *a_attr_sel) ; -+ -+enum CRStatus cr_attr_sel_prepend_attr_sel (CRAttrSel *a_this, -+ CRAttrSel *a_attr_sel) ; -+ -+guchar * cr_attr_sel_to_string (CRAttrSel const *a_this) ; -+ -+void cr_attr_sel_dump (CRAttrSel const *a_this, FILE *a_fp) ; -+ -+void cr_attr_sel_destroy (CRAttrSel *a_this) ; -+ -+G_END_DECLS -+ -+#endif /*__CR_ATTR_SEL_H__*/ -diff --git a/src/st/croco/cr-cascade.c b/src/st/croco/cr-cascade.c -new file mode 100644 -index 000000000..b8f827716 ---- /dev/null -+++ b/src/st/croco/cr-cascade.c -@@ -0,0 +1,215 @@ -+/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * Copyright (C) 2002-2003 Dodji Seketeli -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the -+ * GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ */ -+ -+/* -+ *$Id$ -+ */ -+ -+#include -+#include "cr-cascade.h" -+ -+#define PRIVATE(a_this) ((a_this)->priv) -+ -+struct _CRCascadePriv { -+ /** -+ *the 3 style sheets of the cascade: -+ *author, user, and useragent sheet. -+ *Intended to be addressed by -+ *sheets[ORIGIN_AUTHOR] or sheets[ORIGIN_USER] -+ *of sheets[ORIGIN_UA] ; -+ */ -+ CRStyleSheet *sheets[3]; -+ guint ref_count; -+}; -+ -+/** -+ * cr_cascade_new: -+ *@a_author_sheet: the author origin style sheet. May be NULL. -+ *@a_user_sheet: the user origin style sheet. May be NULL. -+ *@a_ua_sheet: the user agent origin style sheet. May be NULL. -+ * -+ *Constructor of the #CRCascade class. -+ *Note that all three parameters of this -+ *method are ref counted and their refcount is increased. -+ *Their refcount will be decreased at the destruction of -+ *the instance of #CRCascade. -+ *So the caller should not call their destructor. The caller -+ *should call their ref/unref method instead if it wants -+ * -+ *Returns the newly built instance of CRCascade or NULL if -+ *an error arose during constrution. -+ */ -+CRCascade * -+cr_cascade_new (CRStyleSheet * a_author_sheet, -+ CRStyleSheet * a_user_sheet, CRStyleSheet * a_ua_sheet) -+{ -+ CRCascade *result = NULL; -+ -+ result = g_try_malloc (sizeof (CRCascade)); -+ if (!result) { -+ cr_utils_trace_info ("Out of memory"); -+ return NULL; -+ } -+ memset (result, 0, sizeof (CRCascade)); -+ -+ PRIVATE (result) = g_try_malloc (sizeof (CRCascadePriv)); -+ if (!PRIVATE (result)) { -+ cr_utils_trace_info ("Out of memory"); -+ g_free (result); -+ return NULL; -+ } -+ memset (PRIVATE (result), 0, sizeof (CRCascadePriv)); -+ -+ if (a_author_sheet) { -+ cr_cascade_set_sheet (result, a_author_sheet, ORIGIN_AUTHOR); -+ } -+ if (a_user_sheet) { -+ cr_cascade_set_sheet (result, a_user_sheet, ORIGIN_USER); -+ } -+ if (a_ua_sheet) { -+ cr_cascade_set_sheet (result, a_ua_sheet, ORIGIN_UA); -+ } -+ -+ return result; -+} -+ -+/** -+ * cr_cascade_get_sheet: -+ *@a_this: the current instance of #CRCascade. -+ *@a_origin: the origin of the style sheet as -+ *defined in the css2 spec in chapter 6.4. -+ *Gets a given origin sheet. -+ * -+ *Gets a sheet, part of the cascade. -+ *Note that the returned stylesheet -+ *is refcounted so if the caller wants -+ *to manage it's lifecycle, it must use -+ *cr_stylesheet_ref()/cr_stylesheet_unref() instead -+ *of the cr_stylesheet_destroy() method. -+ *Returns the style sheet, or NULL if it does not -+ *exist. -+ */ -+CRStyleSheet * -+cr_cascade_get_sheet (CRCascade * a_this, enum CRStyleOrigin a_origin) -+{ -+ g_return_val_if_fail (a_this -+ && a_origin >= ORIGIN_UA -+ && a_origin < NB_ORIGINS, NULL); -+ -+ return PRIVATE (a_this)->sheets[a_origin]; -+} -+ -+/** -+ * cr_cascade_set_sheet: -+ *@a_this: the current instance of #CRCascade. -+ *@a_sheet: the stylesheet to set. -+ *@a_origin: the origin of the stylesheet. -+ * -+ *Sets a stylesheet in the cascade -+ * -+ *Returns CR_OK upon successfull completion, an error -+ *code otherwise. -+ */ -+enum CRStatus -+cr_cascade_set_sheet (CRCascade * a_this, -+ CRStyleSheet * a_sheet, enum CRStyleOrigin a_origin) -+{ -+ g_return_val_if_fail (a_this -+ && a_sheet -+ && a_origin >= ORIGIN_UA -+ && a_origin < NB_ORIGINS, CR_BAD_PARAM_ERROR); -+ -+ if (PRIVATE (a_this)->sheets[a_origin]) -+ cr_stylesheet_unref (PRIVATE (a_this)->sheets[a_origin]); -+ PRIVATE (a_this)->sheets[a_origin] = a_sheet; -+ cr_stylesheet_ref (a_sheet); -+ a_sheet->origin = a_origin; -+ return CR_OK; -+} -+ -+/** -+ *cr_cascade_ref: -+ *@a_this: the current instance of #CRCascade -+ * -+ *Increases the reference counter of the current instance -+ *of #CRCascade. -+ */ -+void -+cr_cascade_ref (CRCascade * a_this) -+{ -+ g_return_if_fail (a_this && PRIVATE (a_this)); -+ -+ PRIVATE (a_this)->ref_count++; -+} -+ -+/** -+ * cr_cascade_unref: -+ *@a_this: the current instance of -+ *#CRCascade. -+ * -+ *Decrements the reference counter associated -+ *to this instance of #CRCascade. If the reference -+ *counter reaches zero, the instance is destroyed -+ *using cr_cascade_destroy() -+ */ -+void -+cr_cascade_unref (CRCascade * a_this) -+{ -+ g_return_if_fail (a_this && PRIVATE (a_this)); -+ -+ if (PRIVATE (a_this)->ref_count) -+ PRIVATE (a_this)->ref_count--; -+ if (!PRIVATE (a_this)->ref_count) { -+ cr_cascade_destroy (a_this); -+ } -+} -+ -+/** -+ * cr_cascade_destroy: -+ * @a_this: the current instance of #CRCascade -+ * -+ * Destructor of #CRCascade. -+ */ -+void -+cr_cascade_destroy (CRCascade * a_this) -+{ -+ g_return_if_fail (a_this); -+ -+ if (PRIVATE (a_this)) { -+ gulong i = 0; -+ -+ for (i = 0; PRIVATE (a_this)->sheets && i < NB_ORIGINS; i++) { -+ if (PRIVATE (a_this)->sheets[i]) { -+ if (cr_stylesheet_unref -+ (PRIVATE (a_this)->sheets[i]) -+ == TRUE) { -+ PRIVATE (a_this)->sheets[i] = NULL; -+ } -+ } -+ } -+ g_free (PRIVATE (a_this)); -+ PRIVATE (a_this) = NULL; -+ } -+ g_free (a_this); -+} -diff --git a/src/st/croco/cr-cascade.h b/src/st/croco/cr-cascade.h -new file mode 100644 -index 000000000..3119ae85f ---- /dev/null -+++ b/src/st/croco/cr-cascade.h -@@ -0,0 +1,74 @@ -+/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the -+ * GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ */ -+ -+/* -+ *$Id$ -+ */ -+ -+#ifndef __CR_CASCADE_H__ -+#define __CR_CASCADE_H__ -+ -+#include "cr-stylesheet.h" -+ -+/** -+ *@file -+ *the declaration of the #CRCascade class. -+ */ -+ -+G_BEGIN_DECLS -+ -+ -+typedef struct _CRCascadePriv CRCascadePriv ; -+ -+/** -+ *An abstraction of the "Cascade" defined -+ *in the css2 spec, chapter 6.4. -+ */ -+typedef struct _CRCascade CRCascade ; -+ -+struct _CRCascade -+{ -+ CRCascadePriv *priv ; -+}; -+ -+ -+CRCascade * cr_cascade_new (CRStyleSheet *a_author_sheet, -+ CRStyleSheet *a_user_sheet, -+ CRStyleSheet *a_ua_sheet) ; -+ -+CRStyleSheet * cr_cascade_get_sheet (CRCascade *a_this, -+ enum CRStyleOrigin a_origin) ; -+ -+enum CRStatus cr_cascade_set_sheet (CRCascade *a_this, -+ CRStyleSheet *a_sheet, -+ enum CRStyleOrigin a_origin) ; -+ -+void cr_cascade_ref (CRCascade *a_this) ; -+ -+void cr_cascade_unref (CRCascade *a_this) ; -+ -+void cr_cascade_destroy (CRCascade *a_this) ; -+ -+G_END_DECLS -+ -+#endif /*__CR_CASCADE_H__*/ -diff --git a/src/st/croco/cr-declaration.c b/src/st/croco/cr-declaration.c -new file mode 100644 -index 000000000..2a13c8266 ---- /dev/null -+++ b/src/st/croco/cr-declaration.c -@@ -0,0 +1,801 @@ -+/* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli. -+ * See COPYRIGHTS file for copyright information. -+ */ -+ -+ -+#include -+#include "cr-declaration.h" -+#include "cr-statement.h" -+#include "cr-parser.h" -+ -+/** -+ *@CRDeclaration: -+ * -+ *The definition of the #CRDeclaration class. -+ */ -+ -+/** -+ * dump: -+ *@a_this: the current instance of #CRDeclaration. -+ *@a_fp: the destination file pointer. -+ *@a_indent: the number of indentation white char. -+ * -+ *Dumps (serializes) one css declaration to a file. -+ */ -+static void -+dump (CRDeclaration const * a_this, FILE * a_fp, glong a_indent) -+{ -+ guchar *str = NULL; -+ -+ g_return_if_fail (a_this); -+ -+ str = (guchar *) cr_declaration_to_string (a_this, a_indent); -+ if (str) { -+ fprintf (a_fp, "%s", str); -+ g_free (str); -+ str = NULL; -+ } -+} -+ -+/** -+ * cr_declaration_new: -+ * @a_statement: the statement this declaration belongs to. can be NULL. -+ *@a_property: the property string of the declaration -+ *@a_value: the value expression of the declaration. -+ *Constructor of #CRDeclaration. -+ * -+ *Returns the newly built instance of #CRDeclaration, or NULL in -+ *case of error. -+ * -+ *The returned CRDeclaration takes ownership of @a_property and @a_value. -+ *(E.g. cr_declaration_destroy on this CRDeclaration will also free -+ *@a_property and @a_value.) -+ */ -+CRDeclaration * -+cr_declaration_new (CRStatement * a_statement, -+ CRString * a_property, CRTerm * a_value) -+{ -+ CRDeclaration *result = NULL; -+ -+ g_return_val_if_fail (a_property, NULL); -+ -+ if (a_statement) -+ g_return_val_if_fail (a_statement -+ && ((a_statement->type == RULESET_STMT) -+ || (a_statement->type -+ == AT_FONT_FACE_RULE_STMT) -+ || (a_statement->type -+ == AT_PAGE_RULE_STMT)), NULL); -+ -+ result = g_try_malloc (sizeof (CRDeclaration)); -+ if (!result) { -+ cr_utils_trace_info ("Out of memory"); -+ return NULL; -+ } -+ memset (result, 0, sizeof (CRDeclaration)); -+ result->property = a_property; -+ result->value = a_value; -+ -+ if (a_value) { -+ cr_term_ref (a_value); -+ } -+ result->parent_statement = a_statement; -+ return result; -+} -+ -+/** -+ * cr_declaration_parse_from_buf: -+ *@a_statement: the parent css2 statement of this -+ *this declaration. Must be non NULL and of type -+ *RULESET_STMT (must be a ruleset). -+ *@a_str: the string that contains the statement. -+ *@a_enc: the encoding of a_str. -+ * -+ *Parses a text buffer that contains -+ *a css declaration. -+ *Returns the parsed declaration, or NULL in case of error. -+ */ -+CRDeclaration * -+cr_declaration_parse_from_buf (CRStatement * a_statement, -+ const guchar * a_str, enum CREncoding a_enc) -+{ -+ enum CRStatus status = CR_OK; -+ CRTerm *value = NULL; -+ CRString *property = NULL; -+ CRDeclaration *result = NULL; -+ CRParser *parser = NULL; -+ gboolean important = FALSE; -+ -+ g_return_val_if_fail (a_str, NULL); -+ if (a_statement) -+ g_return_val_if_fail (a_statement->type == RULESET_STMT, -+ NULL); -+ -+ parser = cr_parser_new_from_buf ((guchar*)a_str, strlen ((const char *) a_str), a_enc, FALSE); -+ g_return_val_if_fail (parser, NULL); -+ -+ status = cr_parser_try_to_skip_spaces_and_comments (parser); -+ if (status != CR_OK) -+ goto cleanup; -+ -+ status = cr_parser_parse_declaration (parser, &property, -+ &value, &important); -+ if (status != CR_OK || !property) -+ goto cleanup; -+ -+ result = cr_declaration_new (a_statement, property, value); -+ if (result) { -+ property = NULL; -+ value = NULL; -+ result->important = important; -+ } -+ -+ cleanup: -+ -+ if (parser) { -+ cr_parser_destroy (parser); -+ parser = NULL; -+ } -+ -+ if (property) { -+ cr_string_destroy (property); -+ property = NULL; -+ } -+ -+ if (value) { -+ cr_term_destroy (value); -+ value = NULL; -+ } -+ -+ return result; -+} -+ -+/** -+ * cr_declaration_parse_list_from_buf: -+ *@a_str: the input buffer that contains the list of declaration to -+ *parse. -+ *@a_enc: the encoding of a_str -+ * -+ *Parses a ';' separated list of properties declaration. -+ *Returns the parsed list of declaration, NULL if parsing failed. -+ */ -+CRDeclaration * -+cr_declaration_parse_list_from_buf (const guchar * a_str, -+ enum CREncoding a_enc) -+{ -+ -+ enum CRStatus status = CR_OK; -+ CRTerm *value = NULL; -+ CRString *property = NULL; -+ CRDeclaration *result = NULL, -+ *cur_decl = NULL; -+ CRParser *parser = NULL; -+ CRTknzr *tokenizer = NULL; -+ gboolean important = FALSE; -+ -+ g_return_val_if_fail (a_str, NULL); -+ -+ parser = cr_parser_new_from_buf ((guchar*)a_str, strlen ((const char *) a_str), a_enc, FALSE); -+ g_return_val_if_fail (parser, NULL); -+ status = cr_parser_get_tknzr (parser, &tokenizer); -+ if (status != CR_OK || !tokenizer) { -+ if (status == CR_OK) -+ status = CR_ERROR; -+ goto cleanup; -+ } -+ status = cr_parser_try_to_skip_spaces_and_comments (parser); -+ if (status != CR_OK) -+ goto cleanup; -+ -+ status = cr_parser_parse_declaration (parser, &property, -+ &value, &important); -+ if (status != CR_OK || !property) { -+ if (status != CR_OK) -+ status = CR_ERROR; -+ goto cleanup; -+ } -+ result = cr_declaration_new (NULL, property, value); -+ if (result) { -+ property = NULL; -+ value = NULL; -+ result->important = important; -+ } -+ /*now, go parse the other declarations */ -+ for (;;) { -+ guint32 c = 0; -+ -+ cr_parser_try_to_skip_spaces_and_comments (parser); -+ status = cr_tknzr_peek_char (tokenizer, &c); -+ if (status != CR_OK) { -+ if (status == CR_END_OF_INPUT_ERROR) -+ status = CR_OK; -+ goto cleanup; -+ } -+ if (c == ';') { -+ status = cr_tknzr_read_char (tokenizer, &c); -+ } else { -+ break; -+ } -+ important = FALSE; -+ cr_parser_try_to_skip_spaces_and_comments (parser); -+ status = cr_parser_parse_declaration (parser, &property, -+ &value, &important); -+ if (status != CR_OK || !property) { -+ if (status == CR_END_OF_INPUT_ERROR) { -+ status = CR_OK; -+ } -+ break; -+ } -+ cur_decl = cr_declaration_new (NULL, property, value); -+ if (cur_decl) { -+ cur_decl->important = important; -+ result = cr_declaration_append (result, cur_decl); -+ property = NULL; -+ value = NULL; -+ cur_decl = NULL; -+ } else { -+ break; -+ } -+ } -+ -+ cleanup: -+ -+ if (parser) { -+ cr_parser_destroy (parser); -+ parser = NULL; -+ } -+ -+ if (property) { -+ cr_string_destroy (property); -+ property = NULL; -+ } -+ -+ if (value) { -+ cr_term_destroy (value); -+ value = NULL; -+ } -+ -+ if (status != CR_OK && result) { -+ cr_declaration_destroy (result); -+ result = NULL; -+ } -+ return result; -+} -+ -+/** -+ * cr_declaration_append: -+ *@a_this: the current declaration list. -+ *@a_new: the declaration to append. -+ * -+ *Appends a new declaration to the current declarations list. -+ *Returns the declaration list with a_new appended to it, or NULL -+ *in case of error. -+ */ -+CRDeclaration * -+cr_declaration_append (CRDeclaration * a_this, CRDeclaration * a_new) -+{ -+ CRDeclaration *cur = NULL; -+ -+ g_return_val_if_fail (a_new, NULL); -+ -+ if (!a_this) -+ return a_new; -+ -+ for (cur = a_this; cur && cur->next; cur = cur->next) ; -+ -+ cur->next = a_new; -+ a_new->prev = cur; -+ -+ return a_this; -+} -+ -+/** -+ * cr_declaration_unlink: -+ *@a_decls: the declaration to unlink. -+ * -+ *Unlinks the declaration from the declaration list. -+ *case of a successfull completion, NULL otherwise. -+ * -+ *Returns a pointer to the unlinked declaration in -+ */ -+CRDeclaration * -+cr_declaration_unlink (CRDeclaration * a_decl) -+{ -+ CRDeclaration *result = a_decl; -+ -+ g_return_val_if_fail (result, NULL); -+ -+ /* -+ *some sanity checks first -+ */ -+ if (a_decl->prev) { -+ g_return_val_if_fail (a_decl->prev->next == a_decl, NULL); -+ -+ } -+ if (a_decl->next) { -+ g_return_val_if_fail (a_decl->next->prev == a_decl, NULL); -+ } -+ -+ /* -+ *now, the real unlinking job. -+ */ -+ if (a_decl->prev) { -+ a_decl->prev->next = a_decl->next; -+ } -+ if (a_decl->next) { -+ a_decl->next->prev = a_decl->prev; -+ } -+ if (a_decl->parent_statement) { -+ CRDeclaration **children_decl_ptr = NULL; -+ -+ switch (a_decl->parent_statement->type) { -+ case RULESET_STMT: -+ if (a_decl->parent_statement->kind.ruleset) { -+ children_decl_ptr = -+ &a_decl->parent_statement-> -+ kind.ruleset->decl_list; -+ } -+ -+ break; -+ -+ case AT_FONT_FACE_RULE_STMT: -+ if (a_decl->parent_statement->kind.font_face_rule) { -+ children_decl_ptr = -+ &a_decl->parent_statement-> -+ kind.font_face_rule->decl_list; -+ } -+ break; -+ case AT_PAGE_RULE_STMT: -+ if (a_decl->parent_statement->kind.page_rule) { -+ children_decl_ptr = -+ &a_decl->parent_statement-> -+ kind.page_rule->decl_list; -+ } -+ -+ default: -+ break; -+ } -+ if (children_decl_ptr -+ && *children_decl_ptr && *children_decl_ptr == a_decl) -+ *children_decl_ptr = (*children_decl_ptr)->next; -+ } -+ -+ a_decl->next = NULL; -+ a_decl->prev = NULL; -+ a_decl->parent_statement = NULL; -+ -+ return result; -+} -+ -+/** -+ * cr_declaration_prepend: -+ * @a_this: the current declaration list. -+ * @a_new: the declaration to prepend. -+ * -+ * prepends a declaration to the current declaration list. -+ * -+ * Returns the list with a_new prepended or NULL in case of error. -+ */ -+CRDeclaration * -+cr_declaration_prepend (CRDeclaration * a_this, CRDeclaration * a_new) -+{ -+ CRDeclaration *cur = NULL; -+ -+ g_return_val_if_fail (a_new, NULL); -+ -+ if (!a_this) -+ return a_new; -+ -+ a_this->prev = a_new; -+ a_new->next = a_this; -+ -+ for (cur = a_new; cur && cur->prev; cur = cur->prev) ; -+ -+ return cur; -+} -+ -+/** -+ * cr_declaration_append2: -+ *@a_this: the current declaration list. -+ *@a_prop: the property string of the declaration to append. -+ *@a_value: the value of the declaration to append. -+ * -+ *Appends a declaration to the current declaration list. -+ *Returns the list with the new property appended to it, or NULL in -+ *case of an error. -+ */ -+CRDeclaration * -+cr_declaration_append2 (CRDeclaration * a_this, -+ CRString * a_prop, CRTerm * a_value) -+{ -+ CRDeclaration *new_elem = NULL; -+ -+ if (a_this) { -+ new_elem = cr_declaration_new (a_this->parent_statement, -+ a_prop, a_value); -+ } else { -+ new_elem = cr_declaration_new (NULL, a_prop, a_value); -+ } -+ -+ g_return_val_if_fail (new_elem, NULL); -+ -+ return cr_declaration_append (a_this, new_elem); -+} -+ -+/** -+ * cr_declaration_dump: -+ *@a_this: the current instance of #CRDeclaration. -+ *@a_fp: the destination file. -+ *@a_indent: the number of indentation white char. -+ *@a_one_per_line: whether to put one declaration per line of not . -+ * -+ * -+ *Dumps a declaration list to a file. -+ */ -+void -+cr_declaration_dump (CRDeclaration const * a_this, FILE * a_fp, glong a_indent, -+ gboolean a_one_per_line) -+{ -+ CRDeclaration const *cur = NULL; -+ -+ g_return_if_fail (a_this); -+ -+ for (cur = a_this; cur; cur = cur->next) { -+ if (cur->prev) { -+ if (a_one_per_line == TRUE) -+ fprintf (a_fp, ";\n"); -+ else -+ fprintf (a_fp, "; "); -+ } -+ dump (cur, a_fp, a_indent); -+ } -+} -+ -+/** -+ * cr_declaration_dump_one: -+ *@a_this: the current instance of #CRDeclaration. -+ *@a_fp: the destination file. -+ *@a_indent: the number of indentation white char. -+ * -+ *Dumps the first declaration of the declaration list to a file. -+ */ -+void -+cr_declaration_dump_one (CRDeclaration const * a_this, FILE * a_fp, glong a_indent) -+{ -+ g_return_if_fail (a_this); -+ -+ dump (a_this, a_fp, a_indent); -+} -+ -+/** -+ * cr_declaration_to_string: -+ *@a_this: the current instance of #CRDeclaration. -+ *@a_indent: the number of indentation white char -+ *to put before the actual serialisation. -+ * -+ *Serializes the declaration into a string -+ *Returns the serialized form the declaration. The caller must -+ *free the string using g_free(). -+ */ -+gchar * -+cr_declaration_to_string (CRDeclaration const * a_this, gulong a_indent) -+{ -+ GString *stringue = NULL; -+ -+ gchar *str = NULL, -+ *result = NULL; -+ -+ g_return_val_if_fail (a_this, NULL); -+ -+ stringue = g_string_new (NULL); -+ -+ if (a_this->property -+ && a_this->property->stryng -+ && a_this->property->stryng->str) { -+ str = g_strndup (a_this->property->stryng->str, -+ a_this->property->stryng->len); -+ if (str) { -+ cr_utils_dump_n_chars2 (' ', stringue, -+ a_indent); -+ g_string_append (stringue, str); -+ g_free (str); -+ str = NULL; -+ } else -+ goto error; -+ -+ if (a_this->value) { -+ guchar *value_str = NULL; -+ -+ value_str = cr_term_to_string (a_this->value); -+ if (value_str) { -+ g_string_append_printf (stringue, " : %s", -+ value_str); -+ g_free (value_str); -+ } else -+ goto error; -+ } -+ if (a_this->important == TRUE) { -+ g_string_append_printf (stringue, " %s", -+ "!important"); -+ } -+ } -+ if (stringue && stringue->str) { -+ result = stringue->str; -+ g_string_free (stringue, FALSE); -+ } -+ return result; -+ -+ error: -+ if (stringue) { -+ g_string_free (stringue, TRUE); -+ stringue = NULL; -+ } -+ if (str) { -+ g_free (str); -+ str = NULL; -+ } -+ -+ return result; -+} -+ -+/** -+ * cr_declaration_list_to_string: -+ *@a_this: the current instance of #CRDeclaration. -+ *@a_indent: the number of indentation white char -+ *to put before the actual serialisation. -+ * -+ *Serializes the declaration list into a string -+ */ -+guchar * -+cr_declaration_list_to_string (CRDeclaration const * a_this, gulong a_indent) -+{ -+ CRDeclaration const *cur = NULL; -+ GString *stringue = NULL; -+ guchar *str = NULL, -+ *result = NULL; -+ -+ g_return_val_if_fail (a_this, NULL); -+ -+ stringue = g_string_new (NULL); -+ -+ for (cur = a_this; cur; cur = cur->next) { -+ str = (guchar *) cr_declaration_to_string (cur, a_indent); -+ if (str) { -+ g_string_append_printf (stringue, "%s;", str); -+ g_free (str); -+ } else -+ break; -+ } -+ if (stringue && stringue->str) { -+ result = (guchar *) stringue->str; -+ g_string_free (stringue, FALSE); -+ } -+ -+ return result; -+} -+ -+/** -+ * cr_declaration_list_to_string2: -+ *@a_this: the current instance of #CRDeclaration. -+ *@a_indent: the number of indentation white char -+ *@a_one_decl_per_line: whether to output one doc per line or not. -+ *to put before the actual serialisation. -+ * -+ *Serializes the declaration list into a string -+ *Returns the serialized form the declararation. -+ */ -+guchar * -+cr_declaration_list_to_string2 (CRDeclaration const * a_this, -+ gulong a_indent, gboolean a_one_decl_per_line) -+{ -+ CRDeclaration const *cur = NULL; -+ GString *stringue = NULL; -+ guchar *str = NULL, -+ *result = NULL; -+ -+ g_return_val_if_fail (a_this, NULL); -+ -+ stringue = g_string_new (NULL); -+ -+ for (cur = a_this; cur; cur = cur->next) { -+ str = (guchar *) cr_declaration_to_string (cur, a_indent); -+ if (str) { -+ if (a_one_decl_per_line == TRUE) { -+ if (cur->next) -+ g_string_append_printf (stringue, -+ "%s;\n", str); -+ else -+ g_string_append (stringue, -+ (const gchar *) str); -+ } else { -+ if (cur->next) -+ g_string_append_printf (stringue, -+ "%s;", str); -+ else -+ g_string_append (stringue, -+ (const gchar *) str); -+ } -+ g_free (str); -+ } else -+ break; -+ } -+ if (stringue && stringue->str) { -+ result = (guchar *) stringue->str; -+ g_string_free (stringue, FALSE); -+ } -+ -+ return result; -+} -+ -+/** -+ * cr_declaration_nr_props: -+ *@a_this: the current instance of #CRDeclaration. -+ *Return the number of properties in the declaration -+ */ -+gint -+cr_declaration_nr_props (CRDeclaration const * a_this) -+{ -+ CRDeclaration const *cur = NULL; -+ int nr = 0; -+ -+ g_return_val_if_fail (a_this, -1); -+ -+ for (cur = a_this; cur; cur = cur->next) -+ nr++; -+ return nr; -+} -+ -+/** -+ * cr_declaration_get_from_list: -+ *@a_this: the current instance of #CRDeclaration. -+ *@itemnr: the index into the declaration list. -+ * -+ *Use an index to get a CRDeclaration from the declaration list. -+ * -+ *Returns #CRDeclaration at position itemnr, -+ *if itemnr > number of declarations - 1, -+ *it will return NULL. -+ */ -+CRDeclaration * -+cr_declaration_get_from_list (CRDeclaration * a_this, int itemnr) -+{ -+ CRDeclaration *cur = NULL; -+ int nr = 0; -+ -+ g_return_val_if_fail (a_this, NULL); -+ -+ for (cur = a_this; cur; cur = cur->next) -+ if (nr++ == itemnr) -+ return cur; -+ return NULL; -+} -+ -+/** -+ * cr_declaration_get_by_prop_name: -+ *@a_this: the current instance of #CRDeclaration. -+ *@a_prop: the property name to search for. -+ * -+ *Use property name to get a CRDeclaration from the declaration list. -+ *Returns #CRDeclaration with property name a_prop, or NULL if not found. -+ */ -+CRDeclaration * -+cr_declaration_get_by_prop_name (CRDeclaration * a_this, -+ const guchar * a_prop) -+{ -+ CRDeclaration *cur = NULL; -+ -+ g_return_val_if_fail (a_this, NULL); -+ g_return_val_if_fail (a_prop, NULL); -+ -+ for (cur = a_this; cur; cur = cur->next) { -+ if (cur->property -+ && cur->property->stryng -+ && cur->property->stryng->str) { -+ if (!strcmp (cur->property->stryng->str, -+ (const char *) a_prop)) { -+ return cur; -+ } -+ } -+ } -+ return NULL; -+} -+ -+/** -+ * cr_declaration_ref: -+ *@a_this: the current instance of #CRDeclaration. -+ * -+ *Increases the ref count of the current instance of #CRDeclaration. -+ */ -+void -+cr_declaration_ref (CRDeclaration * a_this) -+{ -+ g_return_if_fail (a_this); -+ -+ a_this->ref_count++; -+} -+ -+/** -+ * cr_declaration_unref: -+ *@a_this: the current instance of #CRDeclaration. -+ * -+ *Decrements the ref count of the current instance of #CRDeclaration. -+ *If the ref count reaches zero, the current instance of #CRDeclaration -+ *if destroyed. -+ *Returns TRUE if @a_this was destroyed (ref count reached zero), -+ *FALSE otherwise. -+ */ -+gboolean -+cr_declaration_unref (CRDeclaration * a_this) -+{ -+ g_return_val_if_fail (a_this, FALSE); -+ -+ if (a_this->ref_count) { -+ a_this->ref_count--; -+ } -+ -+ if (a_this->ref_count == 0) { -+ cr_declaration_destroy (a_this); -+ return TRUE; -+ } -+ return FALSE; -+} -+ -+/** -+ * cr_declaration_destroy: -+ *@a_this: the current instance of #CRDeclaration. -+ * -+ *Destructor of the declaration list. -+ */ -+void -+cr_declaration_destroy (CRDeclaration * a_this) -+{ -+ CRDeclaration *cur = NULL; -+ -+ g_return_if_fail (a_this); -+ -+ /* -+ * Go to the last element of the list. -+ */ -+ for (cur = a_this; cur->next; cur = cur->next) -+ g_assert (cur->next->prev == cur); -+ -+ /* -+ * Walk backward the list and free each "next" element. -+ * Meanwhile, free each property/value pair contained in the list. -+ */ -+ for (; cur; cur = cur->prev) { -+ g_free (cur->next); -+ cur->next = NULL; -+ -+ if (cur->property) { -+ cr_string_destroy (cur->property); -+ cur->property = NULL; -+ } -+ -+ if (cur->value) { -+ cr_term_destroy (cur->value); -+ cur->value = NULL; -+ } -+ } -+ -+ g_free (a_this); -+} -diff --git a/src/st/croco/cr-declaration.h b/src/st/croco/cr-declaration.h -new file mode 100644 -index 000000000..eee8be321 ---- /dev/null -+++ b/src/st/croco/cr-declaration.h -@@ -0,0 +1,136 @@ -+/* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * See the COPYRIGHTS file for copyright information. -+ */ -+ -+#ifndef __CR_DECLARATION_H__ -+#define __CR_DECLARATION_H__ -+ -+#include -+#include "cr-utils.h" -+#include "cr-term.h" -+#include "cr-parsing-location.h" -+ -+G_BEGIN_DECLS -+ -+/** -+ *@file -+ *The declaration of the #CRDeclaration class. -+ */ -+ -+/*forward declaration of what is defined in cr-statement.h*/ -+typedef struct _CRStatement CRStatement ; -+ -+/** -+ *The abstraction of a css declaration defined by the -+ *css2 spec in chapter 4. -+ *It is actually a chained list of property/value pairs. -+ */ -+typedef struct _CRDeclaration CRDeclaration ; -+struct _CRDeclaration -+{ -+ /**The property.*/ -+ CRString *property ; -+ -+ /**The value of the property.*/ -+ CRTerm *value ; -+ -+ /*the ruleset that contains this declaration*/ -+ CRStatement *parent_statement ; -+ -+ /*the next declaration*/ -+ CRDeclaration *next ; -+ -+ /*the previous one declaration*/ -+ CRDeclaration *prev ; -+ -+ /*does the declaration have the important keyword ?*/ -+ gboolean important ; -+ -+ glong ref_count ; -+ -+ CRParsingLocation location ; -+ /*reserved for future usage*/ -+ gpointer rfu0 ; -+ gpointer rfu1 ; -+ gpointer rfu2 ; -+ gpointer rfu3 ; -+} ; -+ -+ -+CRDeclaration * cr_declaration_new (CRStatement *a_statement, -+ CRString *a_property, -+ CRTerm *a_value) ; -+ -+ -+CRDeclaration * cr_declaration_parse_from_buf (CRStatement *a_statement, -+ const guchar *a_str, -+ enum CREncoding a_enc) ; -+ -+CRDeclaration * cr_declaration_parse_list_from_buf (const guchar *a_str, -+ enum CREncoding a_enc) ; -+ -+CRDeclaration * cr_declaration_append (CRDeclaration *a_this, -+ CRDeclaration *a_new) ; -+ -+CRDeclaration * cr_declaration_append2 (CRDeclaration *a_this, -+ CRString *a_prop, -+ CRTerm *a_value) ; -+ -+CRDeclaration * cr_declaration_prepend (CRDeclaration *a_this, -+ CRDeclaration *a_new) ; -+ -+CRDeclaration * cr_declaration_unlink (CRDeclaration * a_decl) ; -+ -+void -+cr_declaration_dump (CRDeclaration const *a_this, -+ FILE *a_fp, glong a_indent, -+ gboolean a_one_per_line) ; -+ -+void cr_declaration_dump_one (CRDeclaration const *a_this, -+ FILE *a_fp, glong a_indent) ; -+ -+gint cr_declaration_nr_props (CRDeclaration const *a_this) ; -+ -+CRDeclaration * cr_declaration_get_from_list (CRDeclaration *a_this, -+ int itemnr) ; -+ -+CRDeclaration * cr_declaration_get_by_prop_name (CRDeclaration *a_this, -+ const guchar *a_str) ; -+ -+gchar * cr_declaration_to_string (CRDeclaration const *a_this, -+ gulong a_indent) ; -+ -+guchar * cr_declaration_list_to_string (CRDeclaration const *a_this, -+ gulong a_indent) ; -+ -+guchar * cr_declaration_list_to_string2 (CRDeclaration const *a_this, -+ gulong a_indent, -+ gboolean a_one_decl_per_line) ; -+ -+void cr_declaration_ref (CRDeclaration *a_this) ; -+ -+gboolean cr_declaration_unref (CRDeclaration *a_this) ; -+ -+void cr_declaration_destroy (CRDeclaration *a_this) ; -+ -+G_END_DECLS -+ -+#endif /*__CR_DECLARATION_H__*/ -diff --git a/src/st/croco/cr-doc-handler.c b/src/st/croco/cr-doc-handler.c -new file mode 100644 -index 000000000..bbb158298 ---- /dev/null -+++ b/src/st/croco/cr-doc-handler.c -@@ -0,0 +1,276 @@ -+/* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * See COPRYRIGHTS file for copyright information. -+ */ -+ -+#include -+#include "cr-doc-handler.h" -+#include "cr-parser.h" -+ -+/** -+ *@CRDocHandler: -+ * -+ *The definition of the CRDocHandler class. -+ *Contains methods to instantiate, destroy, -+ *and initialyze instances of #CRDocHandler -+ *to custom values. -+ */ -+ -+#define PRIVATE(obj) (obj)->priv -+ -+struct _CRDocHandlerPriv { -+ /** -+ *This pointer is to hold an application parsing context. -+ *For example, it used by the Object Model parser to -+ *store it parsing context. #CRParser does not touch it, but -+ *#CROMParser does. #CROMParser allocates this pointer at -+ *the beginning of the css document, and frees it at the end -+ *of the document. -+ */ -+ gpointer context; -+ -+ /** -+ *The place where #CROMParser puts the result of its parsing, if -+ *any. -+ */ -+ gpointer result; -+ /** -+ *a pointer to the parser used to parse -+ *the current document. -+ */ -+ CRParser *parser ; -+}; -+ -+/** -+ * cr_doc_handler_new: -+ *Constructor of #CRDocHandler. -+ * -+ *Returns the newly built instance of -+ *#CRDocHandler -+ * -+ */ -+CRDocHandler * -+cr_doc_handler_new (void) -+{ -+ CRDocHandler *result = NULL; -+ -+ result = g_try_malloc (sizeof (CRDocHandler)); -+ -+ g_return_val_if_fail (result, NULL); -+ -+ memset (result, 0, sizeof (CRDocHandler)); -+ result->ref_count++; -+ -+ result->priv = g_try_malloc (sizeof (CRDocHandlerPriv)); -+ if (!result->priv) { -+ cr_utils_trace_info ("Out of memory exception"); -+ g_free (result); -+ return NULL; -+ } -+ -+ cr_doc_handler_set_default_sac_handler (result); -+ -+ return result; -+} -+ -+/** -+ * cr_doc_handler_get_ctxt: -+ *@a_this: the current instance of #CRDocHandler. -+ *@a_ctxt: out parameter. The new parsing context. -+ * -+ *Gets the private parsing context associated to the document handler -+ *The private parsing context is used by libcroco only. -+ * -+ *Returns CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_doc_handler_get_ctxt (CRDocHandler const * a_this, gpointer * a_ctxt) -+{ -+ g_return_val_if_fail (a_this && a_this->priv, CR_BAD_PARAM_ERROR); -+ -+ *a_ctxt = a_this->priv->context; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_doc_handler_set_ctxt: -+ *@a_this: the current instance of #CRDocHandler -+ *@a_ctxt: a pointer to the parsing context. -+ * -+ *Sets the private parsing context. -+ *This is used by libcroco only. -+ *Returns CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_doc_handler_set_ctxt (CRDocHandler * a_this, gpointer a_ctxt) -+{ -+ g_return_val_if_fail (a_this && a_this->priv, CR_BAD_PARAM_ERROR); -+ a_this->priv->context = a_ctxt; -+ return CR_OK; -+} -+ -+/** -+ * cr_doc_handler_get_result: -+ *@a_this: the current instance of #CRDocHandler -+ *@a_result: out parameter. The returned result. -+ * -+ *Gets the private parsing result. -+ *The private parsing result is used by libcroco only. -+ * -+ *Returns CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_doc_handler_get_result (CRDocHandler const * a_this, gpointer * a_result) -+{ -+ g_return_val_if_fail (a_this && a_this->priv, CR_BAD_PARAM_ERROR); -+ -+ *a_result = a_this->priv->result; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_doc_handler_set_result: -+ *@a_this: the current instance of #CRDocHandler -+ *@a_result: the new result. -+ * -+ *Sets the private parsing context. -+ *This is used by libcroco only. -+ * -+ *Returns CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_doc_handler_set_result (CRDocHandler * a_this, gpointer a_result) -+{ -+ g_return_val_if_fail (a_this && a_this->priv, CR_BAD_PARAM_ERROR); -+ a_this->priv->result = a_result; -+ return CR_OK; -+} -+ -+/** -+ *cr_doc_handler_set_default_sac_handler: -+ *@a_this: a pointer to the current instance of #CRDocHandler. -+ * -+ *Sets the sac handlers contained in the current -+ *instance of DocHandler to the default handlers. -+ *For the time being the default handlers are -+ *test handlers. This is expected to change in a -+ *near future, when the libcroco gets a bit debugged. -+ * -+ *Returns CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_doc_handler_set_default_sac_handler (CRDocHandler * a_this) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ a_this->start_document = NULL; -+ a_this->end_document = NULL; -+ a_this->import_style = NULL; -+ a_this->namespace_declaration = NULL; -+ a_this->comment = NULL; -+ a_this->start_selector = NULL; -+ a_this->end_selector = NULL; -+ a_this->property = NULL; -+ a_this->start_font_face = NULL; -+ a_this->end_font_face = NULL; -+ a_this->start_media = NULL; -+ a_this->end_media = NULL; -+ a_this->start_page = NULL; -+ a_this->end_page = NULL; -+ a_this->ignorable_at_rule = NULL; -+ a_this->error = NULL; -+ a_this->unrecoverable_error = NULL; -+ return CR_OK; -+} -+ -+/** -+ * cr_doc_handler_ref: -+ *@a_this: the current instance of #CRDocHandler. -+ */ -+void -+cr_doc_handler_ref (CRDocHandler * a_this) -+{ -+ g_return_if_fail (a_this); -+ -+ a_this->ref_count++; -+} -+ -+/** -+ * cr_doc_handler_unref: -+ *@a_this: the currrent instance of #CRDocHandler. -+ * -+ *Decreases the ref count of the current instance of #CRDocHandler. -+ *If the ref count reaches '0' then, destroys the instance. -+ * -+ *Returns TRUE if the instance as been destroyed, FALSE otherwise. -+ */ -+gboolean -+cr_doc_handler_unref (CRDocHandler * a_this) -+{ -+ g_return_val_if_fail (a_this, FALSE); -+ -+ if (a_this->ref_count > 0) { -+ a_this->ref_count--; -+ } -+ -+ if (a_this->ref_count == 0) { -+ cr_doc_handler_destroy (a_this); -+ return TRUE; -+ } -+ return FALSE ; -+} -+ -+/** -+ * cr_doc_handler_destroy: -+ *@a_this: the instance of #CRDocHandler to -+ *destroy. -+ * -+ *The destructor of the #CRDocHandler class. -+ */ -+void -+cr_doc_handler_destroy (CRDocHandler * a_this) -+{ -+ g_return_if_fail (a_this); -+ -+ if (a_this->priv) { -+ g_free (a_this->priv); -+ a_this->priv = NULL; -+ } -+ g_free (a_this); -+} -+ -+/** -+ * cr_doc_handler_associate_a_parser: -+ *Associates a parser to the current document handler -+ * -+ *@a_this: the current instance of document handler. -+ *@a_parser: the parser to associate. -+ */ -+void -+cr_doc_handler_associate_a_parser (CRDocHandler *a_this, -+ gpointer a_parser) -+{ -+ g_return_if_fail (a_this && PRIVATE (a_this) -+ && a_parser) ; -+ -+ PRIVATE (a_this)->parser = a_parser ; -+} -diff --git a/src/st/croco/cr-doc-handler.h b/src/st/croco/cr-doc-handler.h -new file mode 100644 -index 000000000..d12673f31 ---- /dev/null -+++ b/src/st/croco/cr-doc-handler.h -@@ -0,0 +1,298 @@ -+/* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * See the COPYRIGHTS file for copyright information. -+ */ -+ -+#ifndef __CR_DOC_HANDLER_H__ -+#define __CR_DOC_HANDLER_H__ -+ -+/** -+ *@file -+ *The declaration of the #CRDocumentHandler class. -+ *This class is actually the parsing events handler. -+ */ -+ -+#include -+#include "cr-utils.h" -+#include "cr-input.h" -+#include "cr-stylesheet.h" -+ -+G_BEGIN_DECLS -+ -+ -+typedef struct _CRDocHandler CRDocHandler ; -+ -+struct _CRDocHandlerPriv ; -+typedef struct _CRDocHandlerPriv CRDocHandlerPriv ; -+ -+ -+/** -+ *The SAC document handler. -+ *An instance of this class is to -+ *be passed to a parser. Then, during the parsing -+ *the parser calls the convenient function pointer -+ *whenever a particular event (a css construction) occurs. -+ */ -+struct _CRDocHandler -+{ -+ CRDocHandlerPriv *priv ; -+ -+ /** -+ *This pointer is to be used by the application for -+ *it custom needs. It is there to extend the doc handler. -+ */ -+ gpointer app_data ; -+ -+ /** -+ *Is called at the beginning of the parsing of the document. -+ *@param a_this a pointer to the current instance of -+ *#CRDocHandler. -+ */ -+ void (*start_document) (CRDocHandler *a_this) ; -+ -+ /** -+ *Is called to notify the end of the parsing of the document. -+ *@param a_this a pointer to the current instance of -+ *#CRDocHandler. -+ */ -+ void (*end_document) (CRDocHandler *a_this) ; -+ -+ /** -+ *Is called to notify an at charset rule. -+ *@param a_this the document handler. -+ *@param a_charset the declared charset. -+ */ -+ void (*charset) (CRDocHandler *a_this, -+ CRString *a_charset, -+ CRParsingLocation *a_charset_sym_location) ; -+ -+ /** -+ *Is called to notify an import statement in -+ *the stylesheet. -+ *@param a_this the current instance of #CRDocHandler. -+ *@param a_media_list a doubly linked list of GString objects. -+ *Each GString object contains a string which is the -+ *destination media for style information. -+ *@param a_uri the uri of the imported style sheet. -+ *@param a_uri_default_ns the default namespace of URI -+ *@param a_location the parsing location of the '\@import' -+ *keyword. -+ *of the imported style sheet. -+ */ -+ void (*import_style) (CRDocHandler *a_this, -+ GList *a_media_list, -+ CRString *a_uri, -+ CRString *a_uri_default_ns, -+ CRParsingLocation *a_location) ; -+ -+ void (*import_style_result) (CRDocHandler *a_this, -+ GList *a_media_list, -+ CRString *a_uri, -+ CRString *a_uri_default_ns, -+ CRStyleSheet *a_sheet) ; -+ -+ /** -+ *Is called to notify a namespace declaration. -+ *Not used yet. -+ *@param a_this the current instance of #CRDocHandler. -+ *@param a_prefix the prefix of the namespace. -+ *@param a_uri the uri of the namespace. -+ *@param a_location the location of the "@namespace" keyword. -+ */ -+ void (*namespace_declaration) (CRDocHandler *a_this, -+ CRString *a_prefix, -+ CRString *a_uri, -+ CRParsingLocation *a_location) ; -+ -+ /** -+ *Is called to notify a comment. -+ *@param a_this a pointer to the current instance -+ *of #CRDocHandler. -+ *@param a_comment the comment. -+ */ -+ void (*comment) (CRDocHandler *a_this, -+ CRString *a_comment) ; -+ -+ /** -+ *Is called to notify the beginning of a rule -+ *statement. -+ *@param a_this the current instance of #CRDocHandler. -+ *@param a_selector_list the list of selectors that precedes -+ *the rule declarations. -+ */ -+ void (*start_selector) (CRDocHandler * a_this, -+ CRSelector *a_selector_list) ; -+ -+ /** -+ *Is called to notify the end of a rule statement. -+ *@param a_this the current instance of #CRDocHandler. -+ *@param a_selector_list the list of selectors that precedes -+ *the rule declarations. This pointer is the same as -+ *the one passed to start_selector() ; -+ */ -+ void (*end_selector) (CRDocHandler *a_this, -+ CRSelector *a_selector_list) ; -+ -+ -+ /** -+ *Is called to notify a declaration. -+ *@param a_this a pointer to the current instance -+ *of #CRDocHandler. -+ *@param a_name the name of the parsed property. -+ *@param a_expression a css expression that represents -+ *the value of the property. A css expression is -+ *actually a linked list of 'terms'. Each term can -+ *be linked to other using operators. -+ * -+ */ -+ void (*property) (CRDocHandler *a_this, -+ CRString *a_name, -+ CRTerm *a_expression, -+ gboolean a_is_important) ; -+ /** -+ *Is called to notify the start of a font face statement. -+ *The parser invokes this method at the beginning of every -+ *font face statement in the style sheet. There will -+ *be a corresponding end_font_face () event for every -+ *start_font_face () event. -+ * -+ *@param a_this a pointer to the current instance of -+ *#CRDocHandler. -+ *@param a_location the parsing location of the "\@font-face" -+ *keyword. -+ */ -+ void (*start_font_face) (CRDocHandler *a_this, -+ CRParsingLocation *a_location) ; -+ -+ /** -+ *Is called to notify the end of a font face statement. -+ *@param a_this a pointer to the current instance of -+ *#CRDocHandler. -+ */ -+ void (*end_font_face) (CRDocHandler *a_this) ; -+ -+ -+ /** -+ *Is called to notify the beginning of a media statement. -+ *The parser will invoke this method at the beginning of -+ *every media statement in the style sheet. There will be -+ *a corresponding end_media() event for every start_media() -+ *event. -+ *@param a_this a pointer to the current instance of -+ *#CRDocHandler. -+ *@param a_media_list a double linked list of -+ #CRString * objects. -+ *Each CRString objects is actually a destination media for -+ *the style information. -+ */ -+ void (*start_media) (CRDocHandler *a_this, -+ GList *a_media_list, -+ CRParsingLocation *a_location) ; -+ -+ /** -+ *Is called to notify the end of a media statement. -+ *@param a_this a pointer to the current instance -+ *of #CRDocHandler. -+ *@param a_media_list a double linked list of GString * objects. -+ *Each GString objects is actually a destination media for -+ *the style information. -+ */ -+ void (*end_media) (CRDocHandler *a_this, -+ GList *a_media_list) ; -+ -+ /** -+ *Is called to notify the beginning of a page statement. -+ *The parser invokes this function at the beginning of -+ *every page statement in the style sheet. There will be -+ *a corresponding end_page() event for every single -+ *start_page() event. -+ *@param a_this a pointer to the current instance of -+ *#CRDocHandler. -+ *@param a_name the name of the page (if any, null otherwise). -+ *@param a_pseudo_page the pseudo page (if any, null otherwise). -+ *@param a_location the parsing location of the "\@page" keyword. -+ */ -+ void (*start_page) (CRDocHandler *a_this, -+ CRString *a_name, -+ CRString *a_pseudo_page, -+ CRParsingLocation *a_location) ; -+ -+ /** -+ *Is called to notify the end of a page statement. -+ *@param a_this a pointer to the current instance of -+ *#CRDocHandler. -+ *@param a_name the name of the page (if any, null otherwise). -+ *@param a_pseudo_page the pseudo page (if any, null otherwise). -+ */ -+ void (*end_page) (CRDocHandler *a_this, -+ CRString *a_name, -+ CRString *pseudo_page) ; -+ -+ /** -+ *Is Called to notify an unknown at-rule not supported -+ *by this parser. -+ */ -+ void (*ignorable_at_rule) (CRDocHandler *a_this, -+ CRString *a_name) ; -+ -+ /** -+ *Is called to notify a parsing error. After this error -+ *the application must ignore the rule being parsed, if -+ *any. After completion of this callback, -+ *the parser will then try to resume the parsing, -+ *ignoring the current error. -+ */ -+ void (*error) (CRDocHandler *a_this) ; -+ -+ /** -+ *Is called to notify an unrecoverable parsing error. -+ *This is the place to put emergency routines that free allocated -+ *resources. -+ */ -+ void (*unrecoverable_error) (CRDocHandler *a_this) ; -+ -+ gboolean resolve_import ; -+ gulong ref_count ; -+} ; -+ -+CRDocHandler * cr_doc_handler_new (void) ; -+ -+enum CRStatus cr_doc_handler_set_result (CRDocHandler *a_this, gpointer a_result) ; -+ -+enum CRStatus cr_doc_handler_get_result (CRDocHandler const *a_this, gpointer * a_result) ; -+ -+enum CRStatus cr_doc_handler_set_ctxt (CRDocHandler *a_this, gpointer a_ctxt) ; -+ -+enum CRStatus cr_doc_handler_get_ctxt (CRDocHandler const *a_this, gpointer * a_ctxt) ; -+ -+enum CRStatus cr_doc_handler_set_default_sac_handler (CRDocHandler *a_this) ; -+ -+void cr_doc_handler_associate_a_parser (CRDocHandler *a_this, -+ gpointer a_parser) ; -+ -+void cr_doc_handler_ref (CRDocHandler *a_this) ; -+ -+gboolean cr_doc_handler_unref (CRDocHandler *a_this) ; -+ -+void cr_doc_handler_destroy (CRDocHandler *a_this) ; -+ -+G_END_DECLS -+ -+#endif /*__CR_DOC_HANDLER_H__*/ -diff --git a/src/st/croco/cr-enc-handler.c b/src/st/croco/cr-enc-handler.c -new file mode 100644 -index 000000000..a7c4269ad ---- /dev/null -+++ b/src/st/croco/cr-enc-handler.c -@@ -0,0 +1,184 @@ -+/* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * Copyright (C) 2002-2003 Dodji Seketeli -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ */ -+ -+/* -+ *$Id$ -+ */ -+ -+/** -+ *@file -+ *The definition of the #CREncHandler class. -+ */ -+ -+#include "cr-enc-handler.h" -+#include "cr-utils.h" -+ -+#include -+ -+struct CREncAlias { -+ const gchar *name; -+ enum CREncoding encoding; -+}; -+ -+static struct CREncAlias gv_default_aliases[] = { -+ {"UTF-8", CR_UTF_8}, -+ {"UTF_8", CR_UTF_8}, -+ {"UTF8", CR_UTF_8}, -+ {"UTF-16", CR_UTF_16}, -+ {"UTF_16", CR_UTF_16}, -+ {"UTF16", CR_UTF_16}, -+ {"UCS1", CR_UCS_1}, -+ {"UCS-1", CR_UCS_1}, -+ {"UCS_1", CR_UCS_1}, -+ {"ISO-8859-1", CR_UCS_1}, -+ {"ISO_8859-1", CR_UCS_1}, -+ {"UCS-1", CR_UCS_1}, -+ {"UCS_1", CR_UCS_1}, -+ {"UCS4", CR_UCS_4}, -+ {"UCS-4", CR_UCS_4}, -+ {"UCS_4", CR_UCS_4}, -+ {"ASCII", CR_ASCII}, -+ {0, 0} -+}; -+ -+static CREncHandler gv_default_enc_handlers[] = { -+ {CR_UCS_1, cr_utils_ucs1_to_utf8, cr_utils_utf8_to_ucs1, -+ cr_utils_ucs1_str_len_as_utf8, cr_utils_utf8_str_len_as_ucs1}, -+ -+ {CR_ISO_8859_1, cr_utils_ucs1_to_utf8, cr_utils_utf8_to_ucs1, -+ cr_utils_ucs1_str_len_as_utf8, cr_utils_utf8_str_len_as_ucs1}, -+ -+ {CR_ASCII, cr_utils_ucs1_to_utf8, cr_utils_utf8_to_ucs1, -+ cr_utils_ucs1_str_len_as_utf8, cr_utils_utf8_str_len_as_ucs1}, -+ -+ {0, NULL, NULL, NULL, NULL} -+}; -+ -+/** -+ * cr_enc_handler_get_instance: -+ *@a_enc: the encoding of the Handler. -+ * -+ *Gets the instance of encoding handler. -+ *This function implements a singleton pattern. -+ * -+ *Returns the instance of #CREncHandler. -+ */ -+CREncHandler * -+cr_enc_handler_get_instance (enum CREncoding a_enc) -+{ -+ gulong i = 0; -+ -+ for (i = 0; gv_default_enc_handlers[i].encoding; i++) { -+ if (gv_default_enc_handlers[i].encoding == a_enc) { -+ return (CREncHandler *) & gv_default_enc_handlers[i]; -+ } -+ } -+ -+ return NULL; -+} -+ -+/** -+ * cr_enc_handler_resolve_enc_alias: -+ *@a_alias_name: the encoding name. -+ *@a_enc: output param. The returned encoding type -+ *or 0 if the alias is not supported. -+ * -+ *Given an encoding name (called an alias name) -+ *the function returns the matching encoding type. -+ * -+ *Returns CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_enc_handler_resolve_enc_alias (const guchar * a_alias_name, -+ enum CREncoding *a_enc) -+{ -+ gulong i = 0; -+ guchar *alias_name_up = NULL; -+ enum CRStatus status = CR_ENCODING_NOT_FOUND_ERROR; -+ -+ g_return_val_if_fail (a_alias_name != NULL, CR_BAD_PARAM_ERROR); -+ -+ alias_name_up = (guchar *) g_ascii_strup ((const gchar *) a_alias_name, -1); -+ -+ for (i = 0; gv_default_aliases[i].name; i++) { -+ if (!strcmp (gv_default_aliases[i].name, (const gchar *) alias_name_up)) { -+ *a_enc = gv_default_aliases[i].encoding; -+ status = CR_OK; -+ break; -+ } -+ } -+ -+ return status; -+} -+ -+/** -+ * cr_enc_handler_convert_input: -+ *@a_this: the current instance of #CREncHandler. -+ *@a_in: the input buffer to convert. -+ *@a_in_len: in/out parameter. The len of the input -+ *buffer to convert. After return, contains the number of -+ *bytes actually consumed. -+ *@a_out: output parameter. The converted output buffer. -+ *Must be freed by the buffer. -+ *@a_out_len: output parameter. The length of the output buffer. -+ * -+ *Converts a raw input buffer into an utf8 buffer. -+ * -+ *Returns CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_enc_handler_convert_input (CREncHandler * a_this, -+ const guchar * a_in, -+ gulong * a_in_len, -+ guchar ** a_out, gulong * a_out_len) -+{ -+ enum CRStatus status = CR_OK; -+ -+ g_return_val_if_fail (a_this && a_in && a_in_len && a_out, -+ CR_BAD_PARAM_ERROR); -+ -+ if (a_this->decode_input == NULL) -+ return CR_OK; -+ -+ if (a_this->enc_str_len_as_utf8) { -+ status = a_this->enc_str_len_as_utf8 (a_in, -+ &a_in[*a_in_len - 1], -+ a_out_len); -+ -+ g_return_val_if_fail (status == CR_OK, status); -+ } else { -+ *a_out_len = *a_in_len; -+ } -+ -+ *a_out = g_malloc0 (*a_out_len); -+ -+ status = a_this->decode_input (a_in, a_in_len, *a_out, a_out_len); -+ -+ if (status != CR_OK) { -+ g_free (*a_out); -+ *a_out = NULL; -+ } -+ -+ g_return_val_if_fail (status == CR_OK, status); -+ -+ return CR_OK; -+} -diff --git a/src/st/croco/cr-enc-handler.h b/src/st/croco/cr-enc-handler.h -new file mode 100644 -index 000000000..0727764c0 ---- /dev/null -+++ b/src/st/croco/cr-enc-handler.h -@@ -0,0 +1,94 @@ -+/* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * Copyright (C) 2002-2003 Dodji Seketeli -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ */ -+ -+/* -+ *$Id$ -+ */ -+ -+/** -+ *@file: -+ *The declaration of the #CREncHandler class. -+ * -+ */ -+ -+#ifndef __CR_ENC_HANDLER_H__ -+#define __CR_ENC_HANDLER_H__ -+ -+#include "cr-utils.h" -+ -+G_BEGIN_DECLS -+ -+ -+typedef struct _CREncHandler CREncHandler ; -+ -+typedef enum CRStatus (*CREncInputFunc) (const guchar * a_in, -+ gulong *a_in_len, -+ guchar *a_out, -+ gulong *a_out_len) ; -+ -+typedef enum CRStatus (*CREncOutputFunc) (const guchar * a_in, -+ gulong *a_in_len, -+ guchar *a_out, -+ gulong *a_out_len) ; -+ -+typedef enum CRStatus (*CREncInputStrLenAsUtf8Func) -+(const guchar *a_in_start, -+ const guchar *a_in_end, -+ gulong *a_in_size); -+ -+typedef enum CRStatus (*CREncUtf8StrLenAsOutputFunc) -+(const guchar *a_in_start, -+ const guchar *a_in_end, -+ gulong *a_in_size) ; -+ -+/** -+ *This class is responsible of the -+ *the encoding conversions stuffs in -+ *libcroco. -+ */ -+ -+struct _CREncHandler -+{ -+ enum CREncoding encoding ; -+ CREncInputFunc decode_input ; -+ CREncInputFunc encode_output ; -+ CREncInputStrLenAsUtf8Func enc_str_len_as_utf8 ; -+ CREncUtf8StrLenAsOutputFunc utf8_str_len_as_enc ; -+} ; -+ -+CREncHandler * -+cr_enc_handler_get_instance (enum CREncoding a_enc) ; -+ -+enum CRStatus -+cr_enc_handler_resolve_enc_alias (const guchar *a_alias_name, -+ enum CREncoding *a_enc) ; -+ -+enum CRStatus -+cr_enc_handler_convert_input (CREncHandler *a_this, -+ const guchar *a_in, -+ gulong *a_in_len, -+ guchar **a_out, -+ gulong *a_out_len) ; -+ -+G_END_DECLS -+ -+#endif /*__CR_ENC_HANDLER_H__*/ -diff --git a/src/st/croco/cr-fonts.c b/src/st/croco/cr-fonts.c -new file mode 100644 -index 000000000..3a5788cea ---- /dev/null -+++ b/src/st/croco/cr-fonts.c -@@ -0,0 +1,949 @@ -+/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of -+ * the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ *See COPYRIGHTS file for copyright information -+ */ -+ -+#include "cr-fonts.h" -+#include -+ -+static enum CRStatus -+cr_font_family_to_string_real (CRFontFamily const * a_this, -+ gboolean a_walk_list, GString ** a_string) -+{ -+ guchar const *name = NULL; -+ enum CRStatus result = CR_OK; -+ -+ if (!*a_string) { -+ *a_string = g_string_new (NULL); -+ g_return_val_if_fail (*a_string, -+ CR_INSTANCIATION_FAILED_ERROR); -+ } -+ -+ if (!a_this) { -+ g_string_append (*a_string, "NULL"); -+ return CR_OK; -+ } -+ -+ switch (a_this->type) { -+ case FONT_FAMILY_SANS_SERIF: -+ name = (guchar const *) "sans-serif"; -+ break; -+ -+ case FONT_FAMILY_SERIF: -+ name = (guchar const *) "sans-serif"; -+ break; -+ -+ case FONT_FAMILY_CURSIVE: -+ name = (guchar const *) "cursive"; -+ break; -+ -+ case FONT_FAMILY_FANTASY: -+ name = (guchar const *) "fantasy"; -+ break; -+ -+ case FONT_FAMILY_MONOSPACE: -+ name = (guchar const *) "monospace"; -+ break; -+ -+ case FONT_FAMILY_NON_GENERIC: -+ name = (guchar const *) a_this->name; -+ break; -+ -+ default: -+ name = NULL; -+ break; -+ } -+ -+ if (name) { -+ if (a_this->prev) { -+ g_string_append_printf (*a_string, ", %s", name); -+ } else { -+ g_string_append (*a_string, (const gchar *) name); -+ } -+ } -+ if (a_walk_list == TRUE && a_this->next) { -+ result = cr_font_family_to_string_real (a_this->next, -+ TRUE, a_string); -+ } -+ return result; -+} -+ -+static const gchar * -+cr_predefined_absolute_font_size_to_string (enum CRPredefinedAbsoluteFontSize -+ a_code) -+{ -+ gchar const *str = NULL; -+ -+ switch (a_code) { -+ case FONT_SIZE_XX_SMALL: -+ str = "xx-small"; -+ break; -+ case FONT_SIZE_X_SMALL: -+ str = "x-small"; -+ break; -+ case FONT_SIZE_SMALL: -+ str = "small"; -+ break; -+ case FONT_SIZE_MEDIUM: -+ str = "medium"; -+ break; -+ case FONT_SIZE_LARGE: -+ str = "large"; -+ break; -+ case FONT_SIZE_X_LARGE: -+ str = "x-large"; -+ break; -+ case FONT_SIZE_XX_LARGE: -+ str = "xx-large"; -+ break; -+ default: -+ str = "unknown absolute font size value"; -+ } -+ return str; -+} -+ -+static const gchar * -+cr_relative_font_size_to_string (enum CRRelativeFontSize a_code) -+{ -+ gchar const *str = NULL; -+ -+ switch (a_code) { -+ case FONT_SIZE_LARGER: -+ str = "larger"; -+ break; -+ case FONT_SIZE_SMALLER: -+ str = "smaller"; -+ break; -+ default: -+ str = "unknown relative font size value"; -+ break; -+ } -+ return str; -+} -+ -+/** -+ * cr_font_family_new: -+ * @a_type: the type of font family to create. -+ * @a_name: the name of the font family. -+ * -+ * create a font family. -+ * -+ * Returns the newly built font family. -+ */ -+CRFontFamily * -+cr_font_family_new (enum CRFontFamilyType a_type, guchar * a_name) -+{ -+ CRFontFamily *result = NULL; -+ -+ result = g_try_malloc (sizeof (CRFontFamily)); -+ -+ if (!result) { -+ cr_utils_trace_info ("Out of memory"); -+ return NULL; -+ } -+ -+ memset (result, 0, sizeof (CRFontFamily)); -+ result->type = a_type; -+ -+ cr_font_family_set_name (result, a_name); -+ -+ return result; -+} -+ -+/** -+ * cr_font_family_to_string: -+ * @a_this: the current instance of #CRFontFamily. -+ * @a_walk_font_family_list: wether the serialize the entire list. -+ * -+ * Returns the seriliazed font family. The caller has to free it using -+ * g_free(). -+ */ -+guchar * -+cr_font_family_to_string (CRFontFamily const * a_this, -+ gboolean a_walk_font_family_list) -+{ -+ enum CRStatus status = CR_OK; -+ guchar *result = NULL; -+ GString *stringue = NULL; -+ -+ if (!a_this) { -+ result = (guchar *) g_strdup ("NULL"); -+ g_return_val_if_fail (result, NULL); -+ return result; -+ } -+ status = cr_font_family_to_string_real (a_this, -+ a_walk_font_family_list, -+ &stringue); -+ -+ if (status == CR_OK && stringue) { -+ result = (guchar *) stringue->str; -+ g_string_free (stringue, FALSE); -+ stringue = NULL; -+ -+ } else { -+ if (stringue) { -+ g_string_free (stringue, TRUE); -+ stringue = NULL; -+ } -+ } -+ -+ return result; -+} -+ -+/** -+ * cr_font_family_set_name: -+ * @a_this: the current instance of #CRFontFamily. -+ * @a_name: the new name -+ * -+ * Returns CR_OK upon sucessful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_font_family_set_name (CRFontFamily * a_this, guchar * a_name) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ /* -+ *only non generic font families can have a name -+ */ -+ -+ if (a_this->type != FONT_FAMILY_NON_GENERIC) { -+ return CR_BAD_PARAM_ERROR; -+ } -+ -+ if (a_this->name) { -+ g_free (a_this->name); -+ a_this->name = NULL; -+ } -+ -+ a_this->name = a_name; -+ return CR_OK; -+} -+ -+/** -+ * cr_font_family_append: -+ * @a_this: the current instance of #CRFontFamily. -+ * @a_family_to_append: the font family to append to the list -+ * -+ * Returns the new font family list. -+ */ -+CRFontFamily * -+cr_font_family_append (CRFontFamily * a_this, -+ CRFontFamily * a_family_to_append) -+{ -+ CRFontFamily *cur_ff = NULL; -+ -+ g_return_val_if_fail (a_family_to_append, NULL); -+ -+ if (!a_this) -+ return a_family_to_append; -+ -+ for (cur_ff = a_this; cur_ff && cur_ff->next; cur_ff = cur_ff->next) ; -+ -+ cur_ff->next = a_family_to_append; -+ a_family_to_append->prev = cur_ff; -+ -+ return a_this; -+ -+} -+ -+/** -+ * cr_font_family_prepend: -+ * @a_this: the current instance #CRFontFamily. -+ * @a_family_to_prepend: the font family to prepend to the list. -+ * -+ * Returns the font family list. -+ */ -+CRFontFamily * -+cr_font_family_prepend (CRFontFamily * a_this, -+ CRFontFamily * a_family_to_prepend) -+{ -+ g_return_val_if_fail (a_this && a_family_to_prepend, NULL); -+ -+ if (!a_this) -+ return a_family_to_prepend; -+ -+ a_family_to_prepend->next = a_this; -+ a_this->prev = a_family_to_prepend; -+ -+ return a_family_to_prepend; -+} -+ -+/** -+ * cr_font_family_destroy: -+ * @a_this: the current instance of #CRFontFamily. -+ * -+ * Returns CR_OK upon sucessful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_font_family_destroy (CRFontFamily * a_this) -+{ -+ CRFontFamily *cur_ff = NULL; -+ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ for (cur_ff = a_this; cur_ff && cur_ff->next; cur_ff = cur_ff->next) ; -+ -+ for (; cur_ff; cur_ff = cur_ff->prev) { -+ if (a_this->name) { -+ g_free (a_this->name); -+ a_this->name = NULL; -+ } -+ -+ if (cur_ff->next) { -+ g_free (cur_ff->next); -+ -+ } -+ -+ if (cur_ff->prev == NULL) { -+ g_free (a_this); -+ } -+ } -+ -+ return CR_OK; -+} -+ -+/*************************************************** -+ *'font-size' manipulation functions definitions -+ ***************************************************/ -+ -+/** -+ * cr_font_size_new: -+ * -+ * Returns the newly created font size. -+ */ -+CRFontSize * -+cr_font_size_new (void) -+{ -+ CRFontSize *result = NULL; -+ -+ result = g_try_malloc (sizeof (CRFontSize)); -+ if (!result) { -+ cr_utils_trace_info ("Out of memory"); -+ return NULL; -+ } -+ memset (result, 0, sizeof (CRFontSize)); -+ -+ return result; -+} -+ -+/** -+ * cr_font_size_clear: -+ * @a_this: the current instance of #CRFontSize -+ * -+ * Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_font_size_clear (CRFontSize * a_this) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ switch (a_this->type) { -+ case PREDEFINED_ABSOLUTE_FONT_SIZE: -+ case RELATIVE_FONT_SIZE: -+ case INHERITED_FONT_SIZE: -+ memset (a_this, 0, sizeof (CRFontSize)); -+ break; -+ -+ case ABSOLUTE_FONT_SIZE: -+ memset (a_this, 0, sizeof (CRFontSize)); -+ break; -+ -+ default: -+ return CR_UNKNOWN_TYPE_ERROR; -+ } -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_font_size_copy: -+ * @a_dst: the destination #CRFontSize (where to copy to). -+ * @a_src: the source #CRFontSize (where to copy from). -+ * -+ * Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_font_size_copy (CRFontSize * a_dst, CRFontSize const * a_src) -+{ -+ g_return_val_if_fail (a_dst && a_src, CR_BAD_PARAM_ERROR); -+ -+ switch (a_src->type) { -+ case PREDEFINED_ABSOLUTE_FONT_SIZE: -+ case RELATIVE_FONT_SIZE: -+ case INHERITED_FONT_SIZE: -+ cr_font_size_clear (a_dst); -+ memcpy (a_dst, a_src, sizeof (CRFontSize)); -+ break; -+ -+ case ABSOLUTE_FONT_SIZE: -+ cr_font_size_clear (a_dst); -+ cr_num_copy (&a_dst->value.absolute, -+ &a_src->value.absolute); -+ a_dst->type = a_src->type; -+ break; -+ -+ default: -+ return CR_UNKNOWN_TYPE_ERROR; -+ } -+ return CR_OK; -+} -+ -+/** -+ * cr_font_size_set_predefined_absolute_font_size: -+ * @a_this: the current instance of #CRFontSize. -+ * @a_predefined: what to set. -+ * -+ * Returns CR_OK upon sucessful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_font_size_set_predefined_absolute_font_size (CRFontSize *a_this, -+ enum CRPredefinedAbsoluteFontSize a_predefined) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR) ; -+ g_return_val_if_fail (a_predefined >= FONT_SIZE_XX_SMALL -+ && a_predefined < NB_PREDEFINED_ABSOLUTE_FONT_SIZES, -+ CR_BAD_PARAM_ERROR) ; -+ -+ a_this->type = PREDEFINED_ABSOLUTE_FONT_SIZE ; -+ a_this->value.predefined = a_predefined ; -+ -+ return CR_OK ; -+} -+ -+/** -+ * cr_font_size_set_relative_font_size: -+ * @a_this: the current instance of #CRFontSize -+ * @a_relative: the new relative font size -+ * -+ * Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_font_size_set_relative_font_size (CRFontSize *a_this, -+ enum CRRelativeFontSize a_relative) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR) ; -+ g_return_val_if_fail (a_relative >= FONT_SIZE_LARGER -+ && a_relative < NB_RELATIVE_FONT_SIZE, -+ CR_BAD_PARAM_ERROR) ; -+ -+ a_this->type = RELATIVE_FONT_SIZE ; -+ a_this->value.relative = a_relative ; -+ return CR_OK ; -+} -+ -+/** -+ * cr_font_size_set_absolute_font_size: -+ * @a_this: the current instance of #CRFontSize -+ * @a_num_type: the type of number to set. -+ * @a_value: the actual value to set. -+ * -+ * Returns CR_OK upon succesful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_font_size_set_absolute_font_size (CRFontSize *a_this, -+ enum CRNumType a_num_type, -+ gdouble a_value) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR) ; -+ g_return_val_if_fail (a_num_type >= NUM_AUTO -+ && a_num_type < NB_NUM_TYPE, -+ CR_BAD_PARAM_ERROR) ; -+ -+ a_this->type = ABSOLUTE_FONT_SIZE ; -+ cr_num_set (&a_this->value.absolute, -+ a_value, a_num_type) ; -+ return CR_OK ; -+} -+ -+/** -+ * cr_font_size_set_to_inherit: -+ * @a_this: the current instance of #CRFontSize -+ * -+ * Returns CR_OK upon succesful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_font_size_set_to_inherit (CRFontSize *a_this) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR) ; -+ -+ cr_font_size_clear (a_this) ; -+ a_this->type = INHERITED_FONT_SIZE ; -+ -+ return CR_OK ; -+} -+ -+/** -+ * cr_font_size_is_set_to_inherit: -+ * @a_this: the current instance of #CRFontSize. -+ * -+ * Returns TRUE if the current instance is set to 'inherit'. -+ */ -+gboolean -+cr_font_size_is_set_to_inherit (CRFontSize const *a_this) -+{ -+ g_return_val_if_fail (a_this, FALSE) ; -+ -+ return a_this->type == INHERITED_FONT_SIZE ; -+} -+ -+/** -+ * cr_font_size_to_string: -+ * @a_this: the current instance of #CRFontSize -+ * -+ * Returns the serialized form of #CRFontSize. The returned string -+ * has to bee freed using g_free(). -+ */ -+gchar * -+cr_font_size_to_string (CRFontSize const * a_this) -+{ -+ gchar *str = NULL; -+ -+ if (!a_this) { -+ str = g_strdup ("NULL"); -+ g_return_val_if_fail (str, NULL); -+ return str; -+ } -+ switch (a_this->type) { -+ case PREDEFINED_ABSOLUTE_FONT_SIZE: -+ str = g_strdup (cr_predefined_absolute_font_size_to_string -+ (a_this->value.predefined)); -+ break; -+ case ABSOLUTE_FONT_SIZE: -+ str = (gchar *) cr_num_to_string (&a_this->value.absolute); -+ break; -+ case RELATIVE_FONT_SIZE: -+ str = g_strdup (cr_relative_font_size_to_string -+ (a_this->value.relative)); -+ break; -+ case INHERITED_FONT_SIZE: -+ str = g_strdup ("inherit"); -+ break; -+ default: -+ break; -+ } -+ return str; -+} -+ -+/** -+ * cr_font_size_get_smaller_predefined: -+ * @a_font_size: the font size to consider. -+ * @a_smaller_size: out parameter. The a smaller value than @a_font_size. -+ */ -+void -+cr_font_size_get_smaller_predefined_font_size -+ (enum CRPredefinedAbsoluteFontSize a_font_size, -+ enum CRPredefinedAbsoluteFontSize *a_smaller_size) -+{ -+ enum CRPredefinedAbsoluteFontSize result = FONT_SIZE_MEDIUM ; -+ -+ g_return_if_fail (a_smaller_size) ; -+ g_return_if_fail (a_font_size < NB_PREDEFINED_ABSOLUTE_FONT_SIZES -+ && a_font_size >= FONT_SIZE_XX_SMALL) ; -+ -+ switch (a_font_size) { -+ case FONT_SIZE_XX_SMALL: -+ result = FONT_SIZE_XX_SMALL ; -+ break ; -+ case FONT_SIZE_X_SMALL: -+ result = FONT_SIZE_XX_SMALL ; -+ break ; -+ case FONT_SIZE_SMALL: -+ result = FONT_SIZE_X_SMALL; -+ break ; -+ case FONT_SIZE_MEDIUM: -+ result = FONT_SIZE_SMALL; -+ break ; -+ case FONT_SIZE_LARGE: -+ result = FONT_SIZE_MEDIUM; -+ break ; -+ case FONT_SIZE_X_LARGE: -+ result = FONT_SIZE_LARGE; -+ break ; -+ case FONT_SIZE_XX_LARGE: -+ result = FONT_SIZE_XX_LARGE; -+ break ; -+ case FONT_SIZE_INHERIT: -+ cr_utils_trace_info ("can't return a smaller size for FONT_SIZE_INHERIT") ; -+ result = FONT_SIZE_MEDIUM ; -+ break ; -+ default: -+ cr_utils_trace_info ("Unknown FONT_SIZE") ; -+ result = FONT_SIZE_MEDIUM ; -+ break ; -+ } -+ *a_smaller_size = result ; -+} -+ -+ -+/** -+ * cr_font_size_get_larger_predefined_font_size: -+ * @a_font_size: the font size to consider. -+ * @a_larger_size: out parameter. the font size considered larger than -+ * @a_font_size. -+ * -+ */ -+void -+cr_font_size_get_larger_predefined_font_size -+ (enum CRPredefinedAbsoluteFontSize a_font_size, -+ enum CRPredefinedAbsoluteFontSize *a_larger_size) -+{ -+ enum CRPredefinedAbsoluteFontSize result = FONT_SIZE_MEDIUM ; -+ -+ g_return_if_fail (a_larger_size) ; -+ g_return_if_fail (a_font_size >= FONT_SIZE_XX_SMALL -+ && a_font_size < NB_PREDEFINED_ABSOLUTE_FONT_SIZES) ; -+ -+ switch (a_font_size) { -+ case FONT_SIZE_XX_SMALL: -+ result = FONT_SIZE_X_SMALL ; -+ break ; -+ case FONT_SIZE_X_SMALL: -+ result = FONT_SIZE_SMALL ; -+ break ; -+ case FONT_SIZE_SMALL: -+ result = FONT_SIZE_MEDIUM; -+ break ; -+ case FONT_SIZE_MEDIUM: -+ result = FONT_SIZE_LARGE; -+ break ; -+ case FONT_SIZE_LARGE: -+ result = FONT_SIZE_X_LARGE; -+ break ; -+ case FONT_SIZE_X_LARGE: -+ result = FONT_SIZE_XX_LARGE ; -+ break ; -+ case FONT_SIZE_XX_LARGE: -+ result = FONT_SIZE_XX_LARGE; -+ break ; -+ case FONT_SIZE_INHERIT: -+ cr_utils_trace_info ("can't return a bigger size for FONT_SIZE_INHERIT") ; -+ result = FONT_SIZE_MEDIUM ; -+ break ; -+ default: -+ cr_utils_trace_info ("Unknown FONT_SIZE") ; -+ result = FONT_SIZE_MEDIUM ; -+ break ; -+ } -+ *a_larger_size = result ; -+} -+ -+/** -+ * cr_font_size_is_predefined_absolute_font_size: -+ * @a_font_size: the font size to consider. -+ * -+ * Returns TRUE if the instance is an predefined absolute font size, FALSE -+ * otherwise. -+ */ -+gboolean -+cr_font_size_is_predefined_absolute_font_size -+ (enum CRPredefinedAbsoluteFontSize a_font_size) -+{ -+ if (a_font_size >= FONT_SIZE_XX_SMALL -+ && a_font_size < NB_PREDEFINED_ABSOLUTE_FONT_SIZES) { -+ return TRUE ; -+ } else { -+ return FALSE ; -+ } -+} -+ -+/** -+ * cr_font_size_adjust_to_string: -+ * @a_this: the instance of #CRFontSizeAdjust. -+ * -+ * Returns the serialized form of #CRFontSizeAdjust -+ */ -+gchar * -+cr_font_size_adjust_to_string (CRFontSizeAdjust const * a_this) -+{ -+ gchar *str = NULL; -+ -+ if (!a_this) { -+ str = g_strdup ("NULL"); -+ g_return_val_if_fail (str, NULL); -+ return str; -+ } -+ -+ switch (a_this->type) { -+ case FONT_SIZE_ADJUST_NONE: -+ str = g_strdup ("none"); -+ break; -+ case FONT_SIZE_ADJUST_NUMBER: -+ if (a_this->num) -+ str = (gchar *) cr_num_to_string (a_this->num); -+ else -+ str = g_strdup ("unknown font-size-adjust property value"); /* Should raise an error no?*/ -+ break; -+ case FONT_SIZE_ADJUST_INHERIT: -+ str = g_strdup ("inherit"); -+ } -+ return str; -+} -+ -+/** -+ * cr_font_style_to_string: -+ * @a_code: the current instance of #CRFontStyle . -+ * -+ * Returns the serialized #CRFontStyle. The caller must free the returned -+ * string using g_free(). -+ */ -+const gchar * -+cr_font_style_to_string (enum CRFontStyle a_code) -+{ -+ gchar *str = NULL; -+ -+ switch (a_code) { -+ case FONT_STYLE_NORMAL: -+ str = (gchar *) "normal"; -+ break; -+ case FONT_STYLE_ITALIC: -+ str = (gchar *) "italic"; -+ break; -+ case FONT_STYLE_OBLIQUE: -+ str = (gchar *) "oblique"; -+ break; -+ case FONT_STYLE_INHERIT: -+ str = (gchar *) "inherit"; -+ break; -+ default: -+ str = (gchar *) "unknown font style value"; -+ break; -+ } -+ return str; -+} -+ -+/** -+ * cr_font_variant_to_string: -+ * @a_code: the current instance of #CRFontVariant. -+ * -+ * Returns the serialized form of #CRFontVariant. The caller has -+ * to free the returned string using g_free(). -+ */ -+const gchar * -+cr_font_variant_to_string (enum CRFontVariant a_code) -+{ -+ gchar *str = NULL; -+ -+ switch (a_code) { -+ case FONT_VARIANT_NORMAL: -+ str = (gchar *) "normal"; -+ break; -+ case FONT_VARIANT_SMALL_CAPS: -+ str = (gchar *) "small-caps"; -+ break; -+ case FONT_VARIANT_INHERIT: -+ str = (gchar *) "inherit"; -+ break; -+ } -+ return str; -+} -+ -+/** -+ * cr_font_weight_get_bolder: -+ * @a_weight: the #CRFontWeight to consider. -+ * -+ * Returns a font weight bolder than @a_weight -+ */ -+enum CRFontWeight -+cr_font_weight_get_bolder (enum CRFontWeight a_weight) -+{ -+ if (a_weight == FONT_WEIGHT_INHERIT) { -+ cr_utils_trace_info ("can't return a bolder weight for FONT_WEIGHT_INHERIT") ; -+ return a_weight; -+ } else if (a_weight >= FONT_WEIGHT_900) { -+ return FONT_WEIGHT_900 ; -+ } else if (a_weight < FONT_WEIGHT_NORMAL) { -+ return FONT_WEIGHT_NORMAL ; -+ } else if (a_weight == FONT_WEIGHT_BOLDER -+ || a_weight == FONT_WEIGHT_LIGHTER) { -+ cr_utils_trace_info ("FONT_WEIGHT_BOLDER or FONT_WEIGHT_LIGHTER should not appear here") ; -+ return FONT_WEIGHT_NORMAL ; -+ } else { -+ return a_weight << 1 ; -+ } -+} -+ -+/** -+ * cr_font_weight_to_string: -+ * @a_code: the font weight to consider. -+ * -+ * Returns the serialized form of #CRFontWeight. -+ */ -+const gchar * -+cr_font_weight_to_string (enum CRFontWeight a_code) -+{ -+ gchar *str = NULL; -+ -+ switch (a_code) { -+ case FONT_WEIGHT_NORMAL: -+ str = (gchar *) "normal"; -+ break; -+ case FONT_WEIGHT_BOLD: -+ str = (gchar *) "bold"; -+ break; -+ case FONT_WEIGHT_BOLDER: -+ str = (gchar *) "bolder"; -+ break; -+ case FONT_WEIGHT_LIGHTER: -+ str = (gchar *) "lighter"; -+ break; -+ case FONT_WEIGHT_100: -+ str = (gchar *) "100"; -+ break; -+ case FONT_WEIGHT_200: -+ str = (gchar *) "200"; -+ break; -+ case FONT_WEIGHT_300: -+ str = (gchar *) "300"; -+ break; -+ case FONT_WEIGHT_400: -+ str = (gchar *) "400"; -+ break; -+ case FONT_WEIGHT_500: -+ str = (gchar *) "500"; -+ break; -+ case FONT_WEIGHT_600: -+ str = (gchar *) "600"; -+ break; -+ case FONT_WEIGHT_700: -+ str = (gchar *) "700"; -+ break; -+ case FONT_WEIGHT_800: -+ str = (gchar *) "800"; -+ break; -+ case FONT_WEIGHT_900: -+ str = (gchar *) "900"; -+ break; -+ case FONT_WEIGHT_INHERIT: -+ str = (gchar *) "inherit"; -+ break; -+ default: -+ str = (gchar *) "unknown font-weight property value"; -+ break; -+ } -+ return str; -+} -+ -+/** -+ * cr_font_stretch_to_string: -+ * @a_code: the instance of #CRFontStretch to consider. -+ * -+ * Returns the serialized form of #CRFontStretch. -+ */ -+const gchar * -+cr_font_stretch_to_string (enum CRFontStretch a_code) -+{ -+ gchar *str = NULL; -+ -+ switch (a_code) { -+ case FONT_STRETCH_NORMAL: -+ str = (gchar *) "normal"; -+ break; -+ case FONT_STRETCH_WIDER: -+ str = (gchar *) "wider"; -+ break; -+ case FONT_STRETCH_NARROWER: -+ str = (gchar *) "narrower"; -+ break; -+ case FONT_STRETCH_ULTRA_CONDENSED: -+ str = (gchar *) "ultra-condensed"; -+ break; -+ case FONT_STRETCH_EXTRA_CONDENSED: -+ str = (gchar *) "extra-condensed"; -+ break; -+ case FONT_STRETCH_CONDENSED: -+ str = (gchar *) "condensed"; -+ break; -+ case FONT_STRETCH_SEMI_CONDENSED: -+ str = (gchar *) "semi-condensed"; -+ break; -+ case FONT_STRETCH_SEMI_EXPANDED: -+ str = (gchar *) "semi-expanded"; -+ break; -+ case FONT_STRETCH_EXPANDED: -+ str = (gchar *) "expanded"; -+ break; -+ case FONT_STRETCH_EXTRA_EXPANDED: -+ str = (gchar *) "extra-expaned"; -+ break; -+ case FONT_STRETCH_ULTRA_EXPANDED: -+ str = (gchar *) "ultra-expanded"; -+ break; -+ case FONT_STRETCH_INHERIT: -+ str = (gchar *) "inherit"; -+ break; -+ } -+ return str; -+} -+ -+/** -+ * cr_font_size_destroy: -+ * @a_font_size: the font size to destroy -+ * -+ */ -+void -+cr_font_size_destroy (CRFontSize * a_font_size) -+{ -+ g_return_if_fail (a_font_size); -+ -+ g_free (a_font_size) ; -+} -+ -+/******************************************************* -+ *'font-size-adjust' manipulation function definition -+ *******************************************************/ -+ -+/** -+ * cr_font_size_adjust_new: -+ * -+ * Returns a newly built instance of #CRFontSizeAdjust -+ */ -+CRFontSizeAdjust * -+cr_font_size_adjust_new (void) -+{ -+ CRFontSizeAdjust *result = NULL; -+ -+ result = g_try_malloc (sizeof (CRFontSizeAdjust)); -+ if (!result) { -+ cr_utils_trace_info ("Out of memory"); -+ return NULL; -+ } -+ memset (result, 0, sizeof (CRFontSizeAdjust)); -+ -+ return result; -+} -+ -+/** -+ * cr_font_size_adjust_destroy: -+ * @a_this: the current instance of #CRFontSizeAdjust. -+ * -+ */ -+void -+cr_font_size_adjust_destroy (CRFontSizeAdjust * a_this) -+{ -+ g_return_if_fail (a_this); -+ -+ if (a_this->type == FONT_SIZE_ADJUST_NUMBER && a_this->num) { -+ cr_num_destroy (a_this->num); -+ a_this->num = NULL; -+ } -+} -diff --git a/src/st/croco/cr-fonts.h b/src/st/croco/cr-fonts.h -new file mode 100644 -index 000000000..9eaeeeb98 ---- /dev/null -+++ b/src/st/croco/cr-fonts.h -@@ -0,0 +1,315 @@ -+/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of -+ * the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli -+ * See COPYRIGHTS file for copyright information. -+ */ -+ -+#ifndef __CR_FONTS_H__ -+#define __CR_FONTS_H__ -+ -+#include "cr-utils.h" -+#include "cr-num.h" -+ -+/** -+ *@file -+ *Various type declarations about font selection related -+ *properties. -+ */ -+G_BEGIN_DECLS -+ -+ -+enum CRFontFamilyType -+{ -+ FONT_FAMILY_SANS_SERIF, -+ FONT_FAMILY_SERIF, -+ FONT_FAMILY_CURSIVE, -+ FONT_FAMILY_FANTASY, -+ FONT_FAMILY_MONOSPACE, -+ FONT_FAMILY_NON_GENERIC, -+ FONT_FAMILY_INHERIT, -+ /**/ -+ NB_FONT_FAMILIE_TYPES -+} ; -+ -+typedef struct _CRFontFamily CRFontFamily ; -+ -+struct _CRFontFamily -+{ -+ enum CRFontFamilyType type ; -+ -+ /* -+ *The name of the font family, in case -+ *it is non generic. -+ *Is set only if the type is FONT_FAMILY_NON_GENERIC. -+ */ -+ guchar *name ; -+ -+ CRFontFamily *next ; -+ CRFontFamily *prev ; -+} ; -+ -+ -+/** -+ *The different types -+ *of absolute font size. -+ *This is used by the 'font-size' -+ *property defined in css2 spec -+ *in chapter 15.2.4 . -+ *These values a indexes of -+ *table of size so please, do not -+ *change their definition order unless -+ *you know what you are doing. -+ */ -+enum CRPredefinedAbsoluteFontSize -+{ -+ FONT_SIZE_XX_SMALL=0, -+ FONT_SIZE_X_SMALL, -+ FONT_SIZE_SMALL, -+ FONT_SIZE_MEDIUM, -+ FONT_SIZE_LARGE, -+ FONT_SIZE_X_LARGE, -+ FONT_SIZE_XX_LARGE, -+ FONT_SIZE_INHERIT, -+ NB_PREDEFINED_ABSOLUTE_FONT_SIZES -+} ; -+ -+/** -+ *The different types -+ *of relative font size. -+ *This is used by the 'font-size' -+ *property defined in css2 spec -+ *in chapter 15.2.4 . -+ *These values a indexes of -+ *table of size so please, do not -+ *change their definition order unless -+ *you know what you are doing. -+ */ -+enum CRRelativeFontSize -+{ -+ FONT_SIZE_LARGER, -+ FONT_SIZE_SMALLER, -+ NB_RELATIVE_FONT_SIZE -+} ; -+ -+/** -+ *The type of font-size property. -+ *Used to define the type of #CRFontSize . -+ *See css2 spec chapter 15.2.4 to understand. -+ */ -+enum CRFontSizeType { -+ /** -+ *If the type of #CRFontSize is -+ *PREDEFINED_ABSOLUTE_FONT_SIZE, -+ *the CRFontSize::value.predefined_absolute -+ *field will be defined. -+ */ -+ PREDEFINED_ABSOLUTE_FONT_SIZE, -+ -+ /** -+ *If the type of #CRFontSize is -+ *ABSOLUTE_FONT_SIZE, -+ *the CRFontSize::value.absolute -+ *field will be defined. -+ */ -+ ABSOLUTE_FONT_SIZE, -+ -+ /** -+ *If the type of #CRFontSize is -+ *RELATIVE_FONT_SIZE, -+ *the CRFontSize::value.relative -+ *field will be defined. -+ */ -+ RELATIVE_FONT_SIZE, -+ -+ /** -+ *If the type of #CRFontSize is -+ *INHERITED_FONT_SIZE, -+ *the None of the field of the CRFontSize::value enum -+ *will be defined. -+ */ -+ INHERITED_FONT_SIZE, -+ -+ NB_FONT_SIZE_TYPE -+} ; -+ -+typedef struct _CRFontSize CRFontSize ; -+struct _CRFontSize { -+ enum CRFontSizeType type ; -+ union { -+ enum CRPredefinedAbsoluteFontSize predefined ; -+ enum CRRelativeFontSize relative ; -+ CRNum absolute ; -+ } value; -+} ; -+ -+enum CRFontSizeAdjustType -+{ -+ FONT_SIZE_ADJUST_NONE = 0, -+ FONT_SIZE_ADJUST_NUMBER, -+ FONT_SIZE_ADJUST_INHERIT -+} ; -+typedef struct _CRFontSizeAdjust CRFontSizeAdjust ; -+struct _CRFontSizeAdjust -+{ -+ enum CRFontSizeAdjustType type ; -+ CRNum *num ; -+} ; -+ -+enum CRFontStyle -+{ -+ FONT_STYLE_NORMAL=0, -+ FONT_STYLE_ITALIC, -+ FONT_STYLE_OBLIQUE, -+ FONT_STYLE_INHERIT -+} ; -+ -+enum CRFontVariant -+{ -+ FONT_VARIANT_NORMAL=0, -+ FONT_VARIANT_SMALL_CAPS, -+ FONT_VARIANT_INHERIT -+} ; -+ -+enum CRFontWeight -+{ -+ FONT_WEIGHT_NORMAL = 1, -+ FONT_WEIGHT_BOLD = 1<<1, -+ FONT_WEIGHT_BOLDER = 1<<2, -+ FONT_WEIGHT_LIGHTER = 1<<3, -+ FONT_WEIGHT_100 = 1<<4, -+ FONT_WEIGHT_200 = 1<<5, -+ FONT_WEIGHT_300 = 1<<6, -+ FONT_WEIGHT_400 = 1<<7, -+ FONT_WEIGHT_500 = 1<<8, -+ FONT_WEIGHT_600 = 1<<9, -+ FONT_WEIGHT_700 = 1<<10, -+ FONT_WEIGHT_800 = 1<<11, -+ FONT_WEIGHT_900 = 1<<12, -+ FONT_WEIGHT_INHERIT = 1<<13, -+ NB_FONT_WEIGHTS -+} ; -+ -+enum CRFontStretch -+{ -+ FONT_STRETCH_NORMAL=0, -+ FONT_STRETCH_WIDER, -+ FONT_STRETCH_NARROWER, -+ FONT_STRETCH_ULTRA_CONDENSED, -+ FONT_STRETCH_EXTRA_CONDENSED, -+ FONT_STRETCH_CONDENSED, -+ FONT_STRETCH_SEMI_CONDENSED, -+ FONT_STRETCH_SEMI_EXPANDED, -+ FONT_STRETCH_EXPANDED, -+ FONT_STRETCH_EXTRA_EXPANDED, -+ FONT_STRETCH_ULTRA_EXPANDED, -+ FONT_STRETCH_INHERIT -+} ; -+ -+/************************************** -+ *'font-family' manipulation functions -+ ***************************************/ -+CRFontFamily * -+cr_font_family_new (enum CRFontFamilyType a_type, guchar *a_name) ; -+ -+CRFontFamily * -+cr_font_family_append (CRFontFamily *a_this, -+ CRFontFamily *a_family_to_append) ; -+ -+guchar * -+cr_font_family_to_string (CRFontFamily const *a_this, -+ gboolean a_walk_font_family_list) ; -+ -+CRFontFamily * -+cr_font_family_prepend (CRFontFamily *a_this, -+ CRFontFamily *a_family_to_prepend); -+ -+enum CRStatus -+cr_font_family_destroy (CRFontFamily *a_this) ; -+ -+enum CRStatus -+cr_font_family_set_name (CRFontFamily *a_this, guchar *a_name) ; -+ -+ -+/************************************ -+ *'font-size' manipulation functions -+ ***********************************/ -+ -+CRFontSize * cr_font_size_new (void) ; -+ -+enum CRStatus cr_font_size_clear (CRFontSize *a_this) ; -+ -+enum CRStatus cr_font_size_copy (CRFontSize *a_dst, -+ CRFontSize const *a_src) ; -+enum CRStatus cr_font_size_set_predefined_absolute_font_size (CRFontSize *a_this, -+ enum CRPredefinedAbsoluteFontSize a_predefined) ; -+enum CRStatus cr_font_size_set_relative_font_size (CRFontSize *a_this, -+ enum CRRelativeFontSize a_relative) ; -+ -+enum CRStatus cr_font_size_set_absolute_font_size (CRFontSize *a_this, -+ enum CRNumType a_num_type, -+ gdouble a_value) ; -+ -+enum CRStatus cr_font_size_set_to_inherit (CRFontSize *a_this) ; -+ -+gboolean cr_font_size_is_set_to_inherit (CRFontSize const *a_this) ; -+ -+gchar* cr_font_size_to_string (CRFontSize const *a_this) ; -+ -+void cr_font_size_destroy (CRFontSize *a_font_size) ; -+ -+/******************************************************* -+ *'font-size-adjust' manipulation function declarations -+ *******************************************************/ -+ -+CRFontSizeAdjust * cr_font_size_adjust_new (void) ; -+ -+gchar * cr_font_size_adjust_to_string (CRFontSizeAdjust const *a_this) ; -+ -+void cr_font_size_adjust_destroy (CRFontSizeAdjust *a_this) ; -+ -+void -+cr_font_size_get_smaller_predefined_font_size (enum CRPredefinedAbsoluteFontSize a_font_size, -+ enum CRPredefinedAbsoluteFontSize *a_smaller_size) ; -+void -+cr_font_size_get_larger_predefined_font_size (enum CRPredefinedAbsoluteFontSize a_font_size, -+ enum CRPredefinedAbsoluteFontSize *a_larger_size) ; -+ -+gboolean -+cr_font_size_is_predefined_absolute_font_size (enum CRPredefinedAbsoluteFontSize a_font_size) ; -+ -+/*********************************** -+ *various other font related functions -+ ***********************************/ -+const gchar * cr_font_style_to_string (enum CRFontStyle a_code) ; -+ -+const gchar * cr_font_weight_to_string (enum CRFontWeight a_code) ; -+ -+enum CRFontWeight -+cr_font_weight_get_bolder (enum CRFontWeight a_weight) ; -+ -+const gchar * cr_font_variant_to_string (enum CRFontVariant a_code) ; -+ -+const gchar * cr_font_stretch_to_string (enum CRFontStretch a_code) ; -+ -+G_END_DECLS -+ -+#endif -diff --git a/src/st/croco/cr-input.c b/src/st/croco/cr-input.c -new file mode 100644 -index 000000000..3b63a88ee ---- /dev/null -+++ b/src/st/croco/cr-input.c -@@ -0,0 +1,1191 @@ -+/* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 8-*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli -+ * See COPYRIGHTS file for copyright information. -+ */ -+ -+#include "stdio.h" -+#include -+#include "cr-input.h" -+#include "cr-enc-handler.h" -+ -+/** -+ *@CRInput: -+ * -+ *The definition of the #CRInput class. -+ */ -+ -+/******************* -+ *Private type defs -+ *******************/ -+ -+/** -+ *The private attributes of -+ *the #CRInputPriv class. -+ */ -+struct _CRInputPriv { -+ /* -+ *The input buffer -+ */ -+ guchar *in_buf; -+ gulong in_buf_size; -+ -+ gulong nb_bytes; -+ -+ /* -+ *The index of the next byte -+ *to be read. -+ */ -+ gulong next_byte_index; -+ -+ /* -+ *The current line number -+ */ -+ gulong line; -+ -+ /* -+ *The current col number -+ */ -+ gulong col; -+ -+ gboolean end_of_line; -+ gboolean end_of_input; -+ -+ /* -+ *the reference count of this -+ *instance. -+ */ -+ guint ref_count; -+ gboolean free_in_buf; -+}; -+ -+#define PRIVATE(object) (object)->priv -+ -+/*************************** -+ *private constants -+ **************************/ -+#define CR_INPUT_MEM_CHUNK_SIZE 1024 * 4 -+ -+static CRInput *cr_input_new_real (void); -+ -+static CRInput * -+cr_input_new_real (void) -+{ -+ CRInput *result = NULL; -+ -+ result = g_try_malloc (sizeof (CRInput)); -+ if (!result) { -+ cr_utils_trace_info ("Out of memory"); -+ return NULL; -+ } -+ memset (result, 0, sizeof (CRInput)); -+ -+ PRIVATE (result) = g_try_malloc (sizeof (CRInputPriv)); -+ if (!PRIVATE (result)) { -+ cr_utils_trace_info ("Out of memory"); -+ g_free (result); -+ return NULL; -+ } -+ memset (PRIVATE (result), 0, sizeof (CRInputPriv)); -+ PRIVATE (result)->free_in_buf = TRUE; -+ return result; -+} -+ -+/**************** -+ *Public methods -+ ***************/ -+ -+/** -+ * cr_input_new_from_buf: -+ *@a_buf: the memory buffer to create the input stream from. -+ *The #CRInput keeps this pointer so user should not free it !. -+ *@a_len: the size of the input buffer. -+ *@a_enc: the buffer's encoding. -+ *@a_free_buf: if set to TRUE, this a_buf will be freed -+ *at the destruction of this instance. If set to false, it is up -+ *to the caller to free it. -+ * -+ *Creates a new input stream from a memory buffer. -+ *Returns the newly built instance of #CRInput. -+ */ -+CRInput * -+cr_input_new_from_buf (guchar * a_buf, -+ gulong a_len, -+ enum CREncoding a_enc, -+ gboolean a_free_buf) -+{ -+ CRInput *result = NULL; -+ enum CRStatus status = CR_OK; -+ CREncHandler *enc_handler = NULL; -+ gulong len = a_len; -+ -+ g_return_val_if_fail (a_buf, NULL); -+ -+ result = cr_input_new_real (); -+ g_return_val_if_fail (result, NULL); -+ -+ /*transform the encoding in utf8 */ -+ if (a_enc != CR_UTF_8) { -+ enc_handler = cr_enc_handler_get_instance (a_enc); -+ if (!enc_handler) { -+ goto error; -+ } -+ -+ status = cr_enc_handler_convert_input -+ (enc_handler, a_buf, &len, -+ &PRIVATE (result)->in_buf, -+ &PRIVATE (result)->in_buf_size); -+ if (status != CR_OK) -+ goto error; -+ PRIVATE (result)->free_in_buf = TRUE; -+ if (a_free_buf == TRUE && a_buf) { -+ g_free (a_buf) ; -+ a_buf = NULL ; -+ } -+ PRIVATE (result)->nb_bytes = PRIVATE (result)->in_buf_size; -+ } else { -+ PRIVATE (result)->in_buf = (guchar *) a_buf; -+ PRIVATE (result)->in_buf_size = a_len; -+ PRIVATE (result)->nb_bytes = a_len; -+ PRIVATE (result)->free_in_buf = a_free_buf; -+ } -+ PRIVATE (result)->line = 1; -+ PRIVATE (result)->col = 0; -+ return result; -+ -+ error: -+ if (result) { -+ cr_input_destroy (result); -+ result = NULL; -+ } -+ -+ return NULL; -+} -+ -+/** -+ * cr_input_new_from_uri: -+ *@a_file_uri: the file to create *the input stream from. -+ *@a_enc: the encoding of the file *to create the input from. -+ * -+ *Creates a new input stream from -+ *a file. -+ * -+ *Returns the newly created input stream if -+ *this method could read the file and create it, -+ *NULL otherwise. -+ */ -+ -+CRInput * -+cr_input_new_from_uri (const gchar * a_file_uri, enum CREncoding a_enc) -+{ -+ CRInput *result = NULL; -+ enum CRStatus status = CR_OK; -+ FILE *file_ptr = NULL; -+ guchar tmp_buf[CR_INPUT_MEM_CHUNK_SIZE] = { 0 }; -+ gulong nb_read = 0, -+ len = 0, -+ buf_size = 0; -+ gboolean loop = TRUE; -+ guchar *buf = NULL; -+ -+ g_return_val_if_fail (a_file_uri, NULL); -+ -+ file_ptr = fopen (a_file_uri, "r"); -+ -+ if (file_ptr == NULL) { -+ -+#ifdef CR_DEBUG -+ cr_utils_trace_debug ("could not open file"); -+#endif -+ g_warning ("Could not open file %s\n", a_file_uri); -+ -+ return NULL; -+ } -+ -+ /*load the file */ -+ while (loop) { -+ nb_read = fread (tmp_buf, 1 /*read bytes */ , -+ CR_INPUT_MEM_CHUNK_SIZE /*nb of bytes */ , -+ file_ptr); -+ -+ if (nb_read != CR_INPUT_MEM_CHUNK_SIZE) { -+ /*we read less chars than we wanted */ -+ if (feof (file_ptr)) { -+ /*we reached eof */ -+ loop = FALSE; -+ } else { -+ /*a pb occurred !! */ -+ cr_utils_trace_debug ("an io error occurred"); -+ status = CR_ERROR; -+ goto cleanup; -+ } -+ } -+ -+ if (status == CR_OK) { -+ /*read went well */ -+ buf = g_realloc (buf, len + CR_INPUT_MEM_CHUNK_SIZE); -+ memcpy (buf + len, tmp_buf, nb_read); -+ len += nb_read; -+ buf_size += CR_INPUT_MEM_CHUNK_SIZE; -+ } -+ } -+ -+ if (status == CR_OK) { -+ result = cr_input_new_from_buf (buf, len, a_enc, TRUE); -+ if (!result) { -+ goto cleanup; -+ } -+ /* -+ *we should free buf here because it's own by CRInput. -+ *(see the last parameter of cr_input_new_from_buf(). -+ */ -+ buf = NULL; -+ } -+ -+ cleanup: -+ if (file_ptr) { -+ fclose (file_ptr); -+ file_ptr = NULL; -+ } -+ -+ if (buf) { -+ g_free (buf); -+ buf = NULL; -+ } -+ -+ return result; -+} -+ -+/** -+ * cr_input_destroy: -+ *@a_this: the current instance of #CRInput. -+ * -+ *The destructor of the #CRInput class. -+ */ -+void -+cr_input_destroy (CRInput * a_this) -+{ -+ if (a_this == NULL) -+ return; -+ -+ if (PRIVATE (a_this)) { -+ if (PRIVATE (a_this)->in_buf && PRIVATE (a_this)->free_in_buf) { -+ g_free (PRIVATE (a_this)->in_buf); -+ PRIVATE (a_this)->in_buf = NULL; -+ } -+ -+ g_free (PRIVATE (a_this)); -+ PRIVATE (a_this) = NULL; -+ } -+ -+ g_free (a_this); -+} -+ -+/** -+ * cr_input_ref: -+ *@a_this: the current instance of #CRInput. -+ * -+ *Increments the reference count of the current -+ *instance of #CRInput. -+ */ -+void -+cr_input_ref (CRInput * a_this) -+{ -+ g_return_if_fail (a_this && PRIVATE (a_this)); -+ -+ PRIVATE (a_this)->ref_count++; -+} -+ -+/** -+ * cr_input_unref: -+ *@a_this: the current instance of #CRInput. -+ * -+ *Decrements the reference count of this instance -+ *of #CRInput. If the reference count goes down to -+ *zero, this instance is destroyed. -+ * -+ * Returns TRUE if the instance of #CRInput got destroyed, false otherwise. -+ */ -+gboolean -+cr_input_unref (CRInput * a_this) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), FALSE); -+ -+ if (PRIVATE (a_this)->ref_count) { -+ PRIVATE (a_this)->ref_count--; -+ } -+ -+ if (PRIVATE (a_this)->ref_count == 0) { -+ cr_input_destroy (a_this); -+ return TRUE; -+ } -+ return FALSE; -+} -+ -+/** -+ * cr_input_end_of_input: -+ *@a_this: the current instance of #CRInput. -+ *@a_end_of_input: out parameter. Is set to TRUE if -+ *the current instance has reached the end of its input buffer, -+ *FALSE otherwise. -+ * -+ *Tests wether the current instance of -+ *#CRInput has reached its input buffer. -+ * -+ * Returns CR_OK upon successful completion, an error code otherwise. -+ * Note that all the out parameters of this method are valid if -+ * and only if this method returns CR_OK. -+ */ -+enum CRStatus -+cr_input_end_of_input (CRInput const * a_this, gboolean * a_end_of_input) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && a_end_of_input, CR_BAD_PARAM_ERROR); -+ -+ *a_end_of_input = (PRIVATE (a_this)->next_byte_index -+ >= PRIVATE (a_this)->in_buf_size) ? TRUE : FALSE; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_input_get_nb_bytes_left: -+ *@a_this: the current instance of #CRInput. -+ * -+ *Returns the number of bytes left in the input stream -+ *before the end, -1 in case of error. -+ */ -+glong -+cr_input_get_nb_bytes_left (CRInput const * a_this) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), -1); -+ g_return_val_if_fail (PRIVATE (a_this)->nb_bytes -+ <= PRIVATE (a_this)->in_buf_size, -1); -+ g_return_val_if_fail (PRIVATE (a_this)->next_byte_index -+ <= PRIVATE (a_this)->nb_bytes, -1); -+ -+ if (PRIVATE (a_this)->end_of_input) -+ return 0; -+ -+ return PRIVATE (a_this)->nb_bytes - PRIVATE (a_this)->next_byte_index; -+} -+ -+/** -+ * cr_input_read_byte: -+ *@a_this: the current instance of #CRInput. -+ *@a_byte: out parameter the returned byte. -+ * -+ *Gets the next byte of the input. -+ *Updates the state of the input so that -+ *the next invocation of this method returns -+ *the next coming byte. -+ * -+ *Returns CR_OK upon successful completion, an error code -+ *otherwise. All the out parameters of this method are valid if -+ *and only if this method returns CR_OK. -+ */ -+enum CRStatus -+cr_input_read_byte (CRInput * a_this, guchar * a_byte) -+{ -+ gulong nb_bytes_left = 0; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && a_byte, CR_BAD_PARAM_ERROR); -+ -+ g_return_val_if_fail (PRIVATE (a_this)->next_byte_index <= -+ PRIVATE (a_this)->nb_bytes, CR_BAD_PARAM_ERROR); -+ -+ if (PRIVATE (a_this)->end_of_input == TRUE) -+ return CR_END_OF_INPUT_ERROR; -+ -+ nb_bytes_left = cr_input_get_nb_bytes_left (a_this); -+ -+ if (nb_bytes_left < 1) { -+ return CR_END_OF_INPUT_ERROR; -+ } -+ -+ *a_byte = PRIVATE (a_this)->in_buf[PRIVATE (a_this)->next_byte_index]; -+ -+ if (PRIVATE (a_this)->nb_bytes - -+ PRIVATE (a_this)->next_byte_index < 2) { -+ PRIVATE (a_this)->end_of_input = TRUE; -+ } else { -+ PRIVATE (a_this)->next_byte_index++; -+ } -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_input_read_char: -+ *@a_this: the current instance of CRInput. -+ *@a_char: out parameter. The read character. -+ * -+ *Reads an unicode character from the current instance of -+ *#CRInput. -+ * -+ *Returns CR_OK upon successful completion, an error code -+ *otherwise. -+ */ -+enum CRStatus -+cr_input_read_char (CRInput * a_this, guint32 * a_char) -+{ -+ enum CRStatus status = CR_OK; -+ gulong consumed = 0, -+ nb_bytes_left = 0; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) && a_char, -+ CR_BAD_PARAM_ERROR); -+ -+ if (PRIVATE (a_this)->end_of_input == TRUE) -+ return CR_END_OF_INPUT_ERROR; -+ -+ nb_bytes_left = cr_input_get_nb_bytes_left (a_this); -+ -+ if (nb_bytes_left < 1) { -+ return CR_END_OF_INPUT_ERROR; -+ } -+ -+ status = cr_utils_read_char_from_utf8_buf -+ (PRIVATE (a_this)->in_buf -+ + -+ PRIVATE (a_this)->next_byte_index, -+ nb_bytes_left, a_char, &consumed); -+ -+ if (status == CR_OK) { -+ /*update next byte index */ -+ PRIVATE (a_this)->next_byte_index += consumed; -+ -+ /*update line and column number */ -+ if (PRIVATE (a_this)->end_of_line == TRUE) { -+ PRIVATE (a_this)->col = 1; -+ PRIVATE (a_this)->line++; -+ PRIVATE (a_this)->end_of_line = FALSE; -+ } else if (*a_char != '\n') { -+ PRIVATE (a_this)->col++; -+ } -+ -+ if (*a_char == '\n') { -+ PRIVATE (a_this)->end_of_line = TRUE; -+ } -+ } -+ -+ return status; -+} -+ -+/** -+ * cr_input_set_line_num: -+ *@a_this: the "this pointer" of the current instance of #CRInput. -+ *@a_line_num: the new line number. -+ * -+ *Setter of the current line number. -+ * -+ *Return CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_input_set_line_num (CRInput * a_this, glong a_line_num) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR); -+ -+ PRIVATE (a_this)->line = a_line_num; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_input_get_line_num: -+ *@a_this: the "this pointer" of the current instance of #CRInput. -+ *@a_line_num: the returned line number. -+ * -+ *Getter of the current line number. -+ * -+ *Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_input_get_line_num (CRInput const * a_this, glong * a_line_num) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && a_line_num, CR_BAD_PARAM_ERROR); -+ -+ *a_line_num = PRIVATE (a_this)->line; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_input_set_column_num: -+ *@a_this: the "this pointer" of the current instance of #CRInput. -+ *@a_col: the new column number. -+ * -+ *Setter of the current column number. -+ * -+ *Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_input_set_column_num (CRInput * a_this, glong a_col) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR); -+ -+ PRIVATE (a_this)->col = a_col; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_input_get_column_num: -+ *@a_this: the "this pointer" of the current instance of #CRInput. -+ *@a_col: out parameter -+ * -+ *Getter of the current column number. -+ * -+ *Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_input_get_column_num (CRInput const * a_this, glong * a_col) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) && a_col, -+ CR_BAD_PARAM_ERROR); -+ -+ *a_col = PRIVATE (a_this)->col; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_input_increment_line_num: -+ *@a_this: the "this pointer" of the current instance of #CRInput. -+ *@a_increment: the increment to add to the line number. -+ * -+ *Increments the current line number. -+ * -+ *Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_input_increment_line_num (CRInput * a_this, glong a_increment) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR); -+ -+ PRIVATE (a_this)->line += a_increment; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_input_increment_col_num: -+ *@a_this: the "this pointer" of the current instance of #CRInput. -+ *@a_increment: the increment to add to the column number. -+ * -+ *Increments the current column number. -+ * -+ *Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_input_increment_col_num (CRInput * a_this, glong a_increment) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR); -+ -+ PRIVATE (a_this)->col += a_increment; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_input_consume_char: -+ *@a_this: the this pointer. -+ *@a_char: the character to consume. If set to zero, -+ *consumes any character. -+ * -+ *Consumes the next character of the input stream if -+ *and only if that character equals a_char. -+ * -+ *Returns CR_OK upon successful completion, CR_PARSING_ERROR if -+ *next char is different from a_char, an other error code otherwise -+ */ -+enum CRStatus -+cr_input_consume_char (CRInput * a_this, guint32 a_char) -+{ -+ guint32 c; -+ enum CRStatus status; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR); -+ -+ if ((status = cr_input_peek_char (a_this, &c)) != CR_OK) { -+ return status; -+ } -+ -+ if (c == a_char || a_char == 0) { -+ status = cr_input_read_char (a_this, &c); -+ } else { -+ return CR_PARSING_ERROR; -+ } -+ -+ return status; -+} -+ -+/** -+ * cr_input_consume_chars: -+ *@a_this: the this pointer of the current instance of #CRInput. -+ *@a_char: the character to consume. -+ *@a_nb_char: in/out parameter. The number of characters to consume. -+ *If set to a negative value, the function will consume all the occurences -+ *of a_char found. -+ *After return, if the return value equals CR_OK, this variable contains -+ *the number of characters actually consumed. -+ * -+ *Consumes up to a_nb_char occurences of the next contiguous characters -+ *which equal a_char. Note that the next character of the input stream -+ **MUST* equal a_char to trigger the consumption, or else, the error -+ *code CR_PARSING_ERROR is returned. -+ *If the number of contiguous characters that equals a_char is less than -+ *a_nb_char, then this function consumes all the characters it can consume. -+ * -+ *Returns CR_OK if at least one character has been consumed, an error code -+ *otherwise. -+ */ -+enum CRStatus -+cr_input_consume_chars (CRInput * a_this, guint32 a_char, gulong * a_nb_char) -+{ -+ enum CRStatus status = CR_OK; -+ gulong nb_consumed = 0; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) && a_nb_char, -+ CR_BAD_PARAM_ERROR); -+ -+ g_return_val_if_fail (a_char != 0 || a_nb_char != NULL, -+ CR_BAD_PARAM_ERROR); -+ -+ for (nb_consumed = 0; ((status == CR_OK) -+ && (*a_nb_char > 0 -+ && nb_consumed < *a_nb_char)); -+ nb_consumed++) { -+ status = cr_input_consume_char (a_this, a_char); -+ } -+ -+ *a_nb_char = nb_consumed; -+ -+ if ((nb_consumed > 0) -+ && ((status == CR_PARSING_ERROR) -+ || (status == CR_END_OF_INPUT_ERROR))) { -+ status = CR_OK; -+ } -+ -+ return status; -+} -+ -+/** -+ * cr_input_consume_white_spaces: -+ *@a_this: the "this pointer" of the current instance of #CRInput. -+ *@a_nb_chars: in/out parameter. The number of white spaces to -+ *consume. After return, holds the number of white spaces actually consumed. -+ * -+ *Same as cr_input_consume_chars() but this one consumes white -+ *spaces. -+ * -+ *Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_input_consume_white_spaces (CRInput * a_this, gulong * a_nb_chars) -+{ -+ enum CRStatus status = CR_OK; -+ guint32 cur_char = 0, -+ nb_consumed = 0; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) && a_nb_chars, -+ CR_BAD_PARAM_ERROR); -+ -+ for (nb_consumed = 0; -+ ((*a_nb_chars > 0) && (nb_consumed < *a_nb_chars)); -+ nb_consumed++) { -+ status = cr_input_peek_char (a_this, &cur_char); -+ if (status != CR_OK) -+ break; -+ -+ /*if the next char is a white space, consume it ! */ -+ if (cr_utils_is_white_space (cur_char) == TRUE) { -+ status = cr_input_read_char (a_this, &cur_char); -+ if (status != CR_OK) -+ break; -+ continue; -+ } -+ -+ break; -+ -+ } -+ -+ *a_nb_chars = (gulong) nb_consumed; -+ -+ if (nb_consumed && status == CR_END_OF_INPUT_ERROR) { -+ status = CR_OK; -+ } -+ -+ return status; -+} -+ -+/** -+ * cr_input_peek_char: -+ *@a_this: the current instance of #CRInput. -+ *@a_char: out parameter. The returned character. -+ * -+ *Same as cr_input_read_char() but does not update the -+ *internal state of the input stream. The next call -+ *to cr_input_peek_char() or cr_input_read_char() will thus -+ *return the same character as the current one. -+ * -+ *Returns CR_OK upon successful completion, an error code -+ *otherwise. -+ */ -+enum CRStatus -+cr_input_peek_char (CRInput const * a_this, guint32 * a_char) -+{ -+ enum CRStatus status = CR_OK; -+ gulong consumed = 0, -+ nb_bytes_left = 0; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && a_char, CR_BAD_PARAM_ERROR); -+ -+ if (PRIVATE (a_this)->next_byte_index >= -+ PRIVATE (a_this)->in_buf_size) { -+ return CR_END_OF_INPUT_ERROR; -+ } -+ -+ nb_bytes_left = cr_input_get_nb_bytes_left (a_this); -+ -+ if (nb_bytes_left < 1) { -+ return CR_END_OF_INPUT_ERROR; -+ } -+ -+ status = cr_utils_read_char_from_utf8_buf -+ (PRIVATE (a_this)->in_buf + -+ PRIVATE (a_this)->next_byte_index, -+ nb_bytes_left, a_char, &consumed); -+ -+ return status; -+} -+ -+/** -+ * cr_input_peek_byte: -+ *@a_this: the current instance of #CRInput. -+ *@a_origin: the origin to consider in the calculation -+ *of the position of the byte to peek. -+ *@a_offset: the offset of the byte to peek, starting from -+ *the origin specified by a_origin. -+ *@a_byte: out parameter the peeked byte. -+ * -+ *Gets a byte from the input stream, -+ *starting from the current position in the input stream. -+ *Unlike cr_input_peek_next_byte() this method -+ *does not update the state of the current input stream. -+ *Subsequent calls to cr_input_peek_byte with the same arguments -+ *will return the same byte. -+ * -+ *Returns CR_OK upon successful completion or, -+ *CR_BAD_PARAM_ERROR if at least one of the parameters is invalid; -+ *CR_OUT_OF_BOUNDS_ERROR if the indexed byte is out of bounds. -+ */ -+enum CRStatus -+cr_input_peek_byte (CRInput const * a_this, enum CRSeekPos a_origin, -+ gulong a_offset, guchar * a_byte) -+{ -+ gulong abs_offset = 0; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && a_byte, CR_BAD_PARAM_ERROR); -+ -+ switch (a_origin) { -+ -+ case CR_SEEK_CUR: -+ abs_offset = PRIVATE (a_this)->next_byte_index - 1 + a_offset; -+ break; -+ -+ case CR_SEEK_BEGIN: -+ abs_offset = a_offset; -+ break; -+ -+ case CR_SEEK_END: -+ abs_offset = PRIVATE (a_this)->in_buf_size - 1 - a_offset; -+ break; -+ -+ default: -+ return CR_BAD_PARAM_ERROR; -+ } -+ -+ if (abs_offset < PRIVATE (a_this)->in_buf_size) { -+ -+ *a_byte = PRIVATE (a_this)->in_buf[abs_offset]; -+ -+ return CR_OK; -+ -+ } else { -+ return CR_END_OF_INPUT_ERROR; -+ } -+} -+ -+/** -+ * cr_input_peek_byte2: -+ *@a_this: the current byte input stream. -+ *@a_offset: the offset of the byte to peek, starting -+ *from the current input position pointer. -+ *@a_eof: out parameter. Is set to true is we reach end of -+ *stream. If set to NULL by the caller, this parameter is not taken -+ *in account. -+ * -+ *Same as cr_input_peek_byte() but with a simplified -+ *interface. -+ * -+ *Returns the read byte or 0 if something bad happened. -+ */ -+guchar -+cr_input_peek_byte2 (CRInput const * a_this, gulong a_offset, gboolean * a_eof) -+{ -+ guchar result = 0; -+ enum CRStatus status = CR_ERROR; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), 0); -+ -+ if (a_eof) -+ *a_eof = FALSE; -+ -+ status = cr_input_peek_byte (a_this, CR_SEEK_CUR, a_offset, &result); -+ -+ if ((status == CR_END_OF_INPUT_ERROR) -+ && a_eof) -+ *a_eof = TRUE; -+ -+ return result; -+} -+ -+/** -+ * cr_input_get_byte_addr: -+ *@a_this: the current instance of #CRInput. -+ *@a_offset: the offset of the byte in the input stream starting -+ *from the beginning of the stream. -+ * -+ *Gets the memory address of the byte located at a given offset -+ *in the input stream. -+ * -+ *Returns the address, otherwise NULL if an error occurred. -+ */ -+guchar * -+cr_input_get_byte_addr (CRInput * a_this, gulong a_offset) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), NULL); -+ -+ if (a_offset >= PRIVATE (a_this)->nb_bytes) { -+ return NULL; -+ } -+ -+ return &PRIVATE (a_this)->in_buf[a_offset]; -+} -+ -+/** -+ * cr_input_get_cur_byte_addr: -+ *@a_this: the current input stream -+ *@a_offset: out parameter. The returned address. -+ * -+ *Gets the address of the current character pointer. -+ * -+ *Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_input_get_cur_byte_addr (CRInput * a_this, guchar ** a_offset) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) && a_offset, -+ CR_BAD_PARAM_ERROR); -+ -+ if (!PRIVATE (a_this)->next_byte_index) { -+ return CR_START_OF_INPUT_ERROR; -+ } -+ -+ *a_offset = cr_input_get_byte_addr -+ (a_this, PRIVATE (a_this)->next_byte_index - 1); -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_input_seek_index: -+ *@a_this: the current instance of #CRInput. -+ *@a_origin: the origin to consider during the calculation -+ *of the absolute position of the new "current byte index". -+ *@a_pos: the relative offset of the new "current byte index." -+ *This offset is relative to the origin a_origin. -+ * -+ *Sets the "current byte index" of the current instance -+ *of #CRInput. Next call to cr_input_get_byte() will return -+ *the byte next after the new "current byte index". -+ * -+ *Returns CR_OK upon successful completion otherwise returns -+ *CR_BAD_PARAM_ERROR if at least one of the parameters is not valid -+ *or CR_OUT_BOUNDS_ERROR in case of error. -+ */ -+enum CRStatus -+cr_input_seek_index (CRInput * a_this, enum CRSeekPos a_origin, gint a_pos) -+{ -+ -+ glong abs_offset = 0; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR); -+ -+ switch (a_origin) { -+ -+ case CR_SEEK_CUR: -+ abs_offset = PRIVATE (a_this)->next_byte_index - 1 + a_pos; -+ break; -+ -+ case CR_SEEK_BEGIN: -+ abs_offset = a_pos; -+ break; -+ -+ case CR_SEEK_END: -+ abs_offset = PRIVATE (a_this)->in_buf_size - 1 - a_pos; -+ break; -+ -+ default: -+ return CR_BAD_PARAM_ERROR; -+ } -+ -+ if ((abs_offset > 0) -+ && (gulong) abs_offset < PRIVATE (a_this)->nb_bytes) { -+ -+ /*update the input stream's internal state */ -+ PRIVATE (a_this)->next_byte_index = abs_offset + 1; -+ -+ return CR_OK; -+ } -+ -+ return CR_OUT_OF_BOUNDS_ERROR; -+} -+ -+/** -+ * cr_input_get_cur_pos: -+ *@a_this: the current instance of #CRInput. -+ *@a_pos: out parameter. The returned position. -+ * -+ *Gets the position of the "current byte index" which -+ *is basically the position of the last returned byte in the -+ *input stream. -+ * -+ *Returns CR_OK upon successful completion. Otherwise, -+ *CR_BAD_PARAMETER_ERROR if at least one of the arguments is invalid. -+ *CR_START_OF_INPUT if no call to either cr_input_read_byte() -+ *or cr_input_seek_index() have been issued before calling -+ *cr_input_get_cur_pos() -+ *Note that the out parameters of this function are valid if and only if this -+ *function returns CR_OK. -+ */ -+enum CRStatus -+cr_input_get_cur_pos (CRInput const * a_this, CRInputPos * a_pos) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) && a_pos, -+ CR_BAD_PARAM_ERROR); -+ -+ a_pos->next_byte_index = PRIVATE (a_this)->next_byte_index; -+ a_pos->line = PRIVATE (a_this)->line; -+ a_pos->col = PRIVATE (a_this)->col; -+ a_pos->end_of_line = PRIVATE (a_this)->end_of_line; -+ a_pos->end_of_file = PRIVATE (a_this)->end_of_input; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_input_get_parsing_location: -+ *@a_this: the current instance of #CRInput -+ *@a_loc: the set parsing location. -+ * -+ *Gets the current parsing location. -+ *The Parsing location is a public datastructure that -+ *represents the current line/column/byte offset/ in the input -+ *stream. -+ * -+ *Returns CR_OK upon successful completion, an error -+ *code otherwise. -+ */ -+enum CRStatus -+cr_input_get_parsing_location (CRInput const *a_this, -+ CRParsingLocation *a_loc) -+{ -+ g_return_val_if_fail (a_this -+ && PRIVATE (a_this) -+ && a_loc, -+ CR_BAD_PARAM_ERROR) ; -+ -+ a_loc->line = PRIVATE (a_this)->line ; -+ a_loc->column = PRIVATE (a_this)->col ; -+ if (PRIVATE (a_this)->next_byte_index) { -+ a_loc->byte_offset = PRIVATE (a_this)->next_byte_index - 1 ; -+ } else { -+ a_loc->byte_offset = PRIVATE (a_this)->next_byte_index ; -+ } -+ return CR_OK ; -+} -+ -+/** -+ * cr_input_get_cur_index: -+ *@a_this: the "this pointer" of the current instance of -+ *#CRInput -+ *@a_index: out parameter. The returned index. -+ * -+ *Getter of the next byte index. -+ *It actually returns the index of the -+ *next byte to be read. -+ * -+ *Returns CR_OK upon successful completion, an error code -+ *otherwise. -+ */ -+enum CRStatus -+cr_input_get_cur_index (CRInput const * a_this, glong * a_index) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && a_index, CR_BAD_PARAM_ERROR); -+ -+ *a_index = PRIVATE (a_this)->next_byte_index; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_input_set_cur_index: -+ *@a_this: the "this pointer" of the current instance -+ *of #CRInput . -+ *@a_index: the new index to set. -+ * -+ *Setter of the next byte index. -+ *It sets the index of the next byte to be read. -+ * -+ *Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_input_set_cur_index (CRInput * a_this, glong a_index) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR); -+ -+ PRIVATE (a_this)->next_byte_index = a_index; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_input_set_end_of_file: -+ *@a_this: the current instance of #CRInput. -+ *@a_eof: the new end of file flag. -+ * -+ *Sets the end of file flag. -+ * -+ *Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_input_set_end_of_file (CRInput * a_this, gboolean a_eof) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR); -+ -+ PRIVATE (a_this)->end_of_input = a_eof; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_input_get_end_of_file: -+ *@a_this: the current instance of #CRInput. -+ *@a_eof: out parameter the place to put the end of -+ *file flag. -+ * -+ *Gets the end of file flag. -+ * -+ *Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_input_get_end_of_file (CRInput const * a_this, gboolean * a_eof) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && a_eof, CR_BAD_PARAM_ERROR); -+ -+ *a_eof = PRIVATE (a_this)->end_of_input; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_input_set_end_of_line: -+ *@a_this: the current instance of #CRInput. -+ *@a_eol: the new end of line flag. -+ * -+ *Sets the end of line flag. -+ * -+ *Returns CR_OK upon successful completion, an error code -+ *otherwise. -+ */ -+enum CRStatus -+cr_input_set_end_of_line (CRInput * a_this, gboolean a_eol) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR); -+ -+ PRIVATE (a_this)->end_of_line = a_eol; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_input_get_end_of_line: -+ *@a_this: the current instance of #CRInput -+ *@a_eol: out parameter. The place to put -+ *the returned flag -+ * -+ *Gets the end of line flag of the current input. -+ * -+ *Returns CR_OK upon successful completion, an error code -+ *otherwise. -+ */ -+enum CRStatus -+cr_input_get_end_of_line (CRInput const * a_this, gboolean * a_eol) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && a_eol, CR_BAD_PARAM_ERROR); -+ -+ *a_eol = PRIVATE (a_this)->end_of_line; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_input_set_cur_pos: -+ *@a_this: the "this pointer" of the current instance of -+ *#CRInput. -+ *@a_pos: the new position. -+ * -+ *Sets the current position in the input stream. -+ * -+ * Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_input_set_cur_pos (CRInput * a_this, CRInputPos const * a_pos) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) && a_pos, -+ CR_BAD_PARAM_ERROR); -+ -+ cr_input_set_column_num (a_this, a_pos->col); -+ cr_input_set_line_num (a_this, a_pos->line); -+ cr_input_set_cur_index (a_this, a_pos->next_byte_index); -+ cr_input_set_end_of_line (a_this, a_pos->end_of_line); -+ cr_input_set_end_of_file (a_this, a_pos->end_of_file); -+ -+ return CR_OK; -+} -diff --git a/src/st/croco/cr-input.h b/src/st/croco/cr-input.h -new file mode 100644 -index 000000000..9eb402a87 ---- /dev/null -+++ b/src/st/croco/cr-input.h -@@ -0,0 +1,174 @@ -+/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset:8 -*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli -+ * See the COPYRIGHTS file for copyrights information. -+ */ -+ -+#ifndef __CR_INPUT_SRC_H__ -+#define __CR_INPUT_SRC_H__ -+ -+ -+#include -+#include "cr-utils.h" -+#include "cr-parsing-location.h" -+ -+G_BEGIN_DECLS -+ -+/** -+ *@file -+ *The libcroco basic input stream class -+ *declaration file. -+ */ -+ -+typedef struct _CRInput CRInput ; -+typedef struct _CRInputPriv CRInputPriv ; -+ -+/** -+ *The #CRInput class provides the abstraction of -+ *an utf8-encoded character stream. -+ */ -+struct _CRInput -+{ -+ CRInputPriv *priv ; -+} ; -+ -+typedef struct _CRInputPos CRInputPos ; -+ -+struct _CRInputPos -+{ -+ glong line ; -+ glong col ; -+ gboolean end_of_file ; -+ gboolean end_of_line ; -+ glong next_byte_index ; -+} ; -+ -+CRInput * -+cr_input_new_from_buf (guchar *a_buf, gulong a_len, -+ enum CREncoding a_enc, gboolean a_free_buf) ; -+CRInput * -+cr_input_new_from_uri (const gchar *a_file_uri, -+ enum CREncoding a_enc) ; -+ -+void -+cr_input_destroy (CRInput *a_this) ; -+ -+void -+cr_input_ref (CRInput *a_this) ; -+ -+gboolean -+cr_input_unref (CRInput *a_this) ; -+ -+enum CRStatus -+cr_input_read_byte (CRInput *a_this, guchar *a_byte) ; -+ -+enum CRStatus -+cr_input_read_char (CRInput *a_this, guint32 *a_char) ; -+ -+enum CRStatus -+cr_input_consume_chars (CRInput *a_this, guint32 a_char, -+ gulong *a_nb_char) ; -+ -+enum CRStatus -+cr_input_consume_char (CRInput *a_this, guint32 a_char) ; -+ -+enum CRStatus -+cr_input_consume_white_spaces (CRInput *a_this, gulong *a_nb_chars) ; -+ -+enum CRStatus -+cr_input_peek_byte (CRInput const *a_this, enum CRSeekPos a_origin, -+ gulong a_offset, guchar *a_byte) ; -+ -+guchar -+cr_input_peek_byte2 (CRInput const *a_this, gulong a_offset, -+ gboolean *a_eof) ; -+ -+enum CRStatus -+cr_input_peek_char (CRInput const *a_this, guint32 *a_char) ; -+ -+guchar * -+cr_input_get_byte_addr (CRInput *a_this, -+ gulong a_offset) ; -+ -+enum CRStatus -+cr_input_get_cur_byte_addr (CRInput *a_this, guchar ** a_offset) ; -+ -+enum CRStatus -+cr_input_seek_index (CRInput *a_this, -+ enum CRSeekPos a_origin, gint a_pos) ; -+ -+enum CRStatus -+cr_input_get_cur_index (CRInput const *a_this, glong *a_index) ; -+ -+enum CRStatus -+cr_input_set_cur_index (CRInput *a_this, glong a_index) ; -+ -+enum CRStatus -+cr_input_get_cur_pos (CRInput const *a_this, CRInputPos * a_pos) ; -+ -+enum CRStatus -+cr_input_set_cur_pos (CRInput *a_this, CRInputPos const *a_pos) ; -+ -+enum CRStatus -+cr_input_get_parsing_location (CRInput const *a_this, -+ CRParsingLocation *a_loc) ; -+ -+enum CRStatus -+cr_input_get_end_of_line (CRInput const *a_this, gboolean *a_eol) ; -+ -+enum CRStatus -+cr_input_set_end_of_line (CRInput *a_this, gboolean a_eol) ; -+ -+enum CRStatus -+cr_input_get_end_of_file (CRInput const *a_this, gboolean *a_eof) ; -+ -+enum CRStatus -+cr_input_set_end_of_file (CRInput *a_this, gboolean a_eof) ; -+ -+enum CRStatus -+cr_input_set_line_num (CRInput *a_this, glong a_line_num) ; -+ -+enum CRStatus -+cr_input_get_line_num (CRInput const *a_this, glong *a_line_num) ; -+ -+enum CRStatus -+cr_input_set_column_num (CRInput *a_this, glong a_col) ; -+ -+enum CRStatus -+cr_input_get_column_num (CRInput const *a_this, glong *a_col) ; -+ -+enum CRStatus -+cr_input_increment_line_num (CRInput *a_this, -+ glong a_increment) ; -+ -+enum CRStatus -+cr_input_increment_col_num (CRInput *a_this, -+ glong a_increment) ; -+ -+glong -+cr_input_get_nb_bytes_left (CRInput const *a_this) ; -+ -+enum CRStatus -+cr_input_end_of_input (CRInput const *a_this, gboolean *a_end_of_input) ; -+ -+G_END_DECLS -+ -+#endif /*__CR_INPUT_SRC_H__*/ -+ -diff --git a/src/st/croco/cr-num.c b/src/st/croco/cr-num.c -new file mode 100644 -index 000000000..d5dbd5fb0 ---- /dev/null -+++ b/src/st/croco/cr-num.c -@@ -0,0 +1,313 @@ -+/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli -+ * See COPYRIGHTS file for copyrights information. -+ */ -+ -+/** -+ *@CRNum: -+ * -+ *The definition -+ *of the #CRNum class. -+ */ -+ -+#include "cr-num.h" -+#include "string.h" -+ -+/** -+ * cr_num_new: -+ * -+ *#CRNum. -+ * -+ *Returns the newly built instance of -+ *#CRNum. -+ */ -+CRNum * -+cr_num_new (void) -+{ -+ CRNum *result = NULL; -+ -+ result = g_try_malloc (sizeof (CRNum)); -+ -+ if (result == NULL) { -+ cr_utils_trace_info ("Out of memory"); -+ return NULL; -+ } -+ -+ memset (result, 0, sizeof (CRNum)); -+ -+ return result; -+} -+ -+/** -+ * cr_num_new_with_val: -+ * @a_val: the numerical value of the number. -+ * @a_type: the type of number. -+ * -+ * A constructor of #CRNum. -+ * -+ * Returns the newly built instance of #CRNum or -+ * NULL if an error arises. -+ */ -+CRNum * -+cr_num_new_with_val (gdouble a_val, enum CRNumType a_type) -+{ -+ CRNum *result = NULL; -+ -+ result = cr_num_new (); -+ -+ g_return_val_if_fail (result, NULL); -+ -+ result->val = a_val; -+ result->type = a_type; -+ -+ return result; -+} -+ -+/** -+ * cr_num_to_string: -+ *@a_this: the current instance of #CRNum. -+ * -+ *Returns the newly built string representation -+ *of the current instance of #CRNum. The returned -+ *string is NULL terminated. The caller *must* -+ *free the returned string. -+ */ -+guchar * -+cr_num_to_string (CRNum const * a_this) -+{ -+ gdouble test_val = 0.0; -+ -+ guchar *tmp_char1 = NULL, -+ *tmp_char2 = NULL, -+ *result = NULL; -+ -+ g_return_val_if_fail (a_this, NULL); -+ -+ test_val = a_this->val - (glong) a_this->val; -+ -+ if (!test_val) { -+ tmp_char1 = (guchar *) g_strdup_printf ("%ld", (glong) a_this->val); -+ } else { -+ tmp_char1 = (guchar *) g_new0 (char, G_ASCII_DTOSTR_BUF_SIZE + 1); -+ if (tmp_char1 != NULL) -+ g_ascii_dtostr ((gchar *) tmp_char1, G_ASCII_DTOSTR_BUF_SIZE, a_this->val); -+ } -+ -+ g_return_val_if_fail (tmp_char1, NULL); -+ -+ switch (a_this->type) { -+ case NUM_LENGTH_EM: -+ tmp_char2 = (guchar *) "em"; -+ break; -+ -+ case NUM_LENGTH_EX: -+ tmp_char2 = (guchar *) "ex"; -+ break; -+ -+ case NUM_LENGTH_PX: -+ tmp_char2 = (guchar *) "px"; -+ break; -+ -+ case NUM_LENGTH_IN: -+ tmp_char2 = (guchar *) "in"; -+ break; -+ -+ case NUM_LENGTH_CM: -+ tmp_char2 = (guchar *) "cm"; -+ break; -+ -+ case NUM_LENGTH_MM: -+ tmp_char2 = (guchar *) "mm"; -+ break; -+ -+ case NUM_LENGTH_PT: -+ tmp_char2 = (guchar *) "pt"; -+ break; -+ -+ case NUM_LENGTH_PC: -+ tmp_char2 = (guchar *) "pc"; -+ break; -+ -+ case NUM_ANGLE_DEG: -+ tmp_char2 = (guchar *) "deg"; -+ break; -+ -+ case NUM_ANGLE_RAD: -+ tmp_char2 = (guchar *) "rad"; -+ break; -+ -+ case NUM_ANGLE_GRAD: -+ tmp_char2 = (guchar *) "grad"; -+ break; -+ -+ case NUM_TIME_MS: -+ tmp_char2 = (guchar *) "ms"; -+ break; -+ -+ case NUM_TIME_S: -+ tmp_char2 = (guchar *) "s"; -+ break; -+ -+ case NUM_FREQ_HZ: -+ tmp_char2 = (guchar *) "Hz"; -+ break; -+ -+ case NUM_FREQ_KHZ: -+ tmp_char2 = (guchar *) "KHz"; -+ break; -+ -+ case NUM_PERCENTAGE: -+ tmp_char2 = (guchar *) "%"; -+ break; -+ case NUM_INHERIT: -+ tmp_char2 = (guchar *) "inherit"; -+ break ; -+ case NUM_AUTO: -+ tmp_char2 = (guchar *) "auto"; -+ break ; -+ case NUM_GENERIC: -+ tmp_char2 = NULL ; -+ break ; -+ default: -+ tmp_char2 = (guchar *) "unknown"; -+ break; -+ } -+ -+ if (tmp_char2) { -+ result = (guchar *) g_strconcat ((gchar *) tmp_char1, tmp_char2, NULL); -+ g_free (tmp_char1); -+ } else { -+ result = tmp_char1; -+ } -+ -+ return result; -+} -+ -+/** -+ * cr_num_copy: -+ *@a_src: the instance of #CRNum to copy. -+ *Must be non NULL. -+ *@a_dest: the destination of the copy. -+ *Must be non NULL -+ * -+ *Copies an instance of #CRNum. -+ * -+ *Returns CR_OK upon successful completion, an -+ *error code otherwise. -+ */ -+enum CRStatus -+cr_num_copy (CRNum * a_dest, CRNum const * a_src) -+{ -+ g_return_val_if_fail (a_dest && a_src, CR_BAD_PARAM_ERROR); -+ -+ memcpy (a_dest, a_src, sizeof (CRNum)); -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_num_dup: -+ *@a_this: the instance of #CRNum to duplicate. -+ * -+ *Duplicates an instance of #CRNum -+ * -+ *Returns the newly created (duplicated) instance of #CRNum. -+ *Must be freed by cr_num_destroy(). -+ */ -+CRNum * -+cr_num_dup (CRNum const * a_this) -+{ -+ CRNum *result = NULL; -+ enum CRStatus status = CR_OK; -+ -+ g_return_val_if_fail (a_this, NULL); -+ -+ result = cr_num_new (); -+ g_return_val_if_fail (result, NULL); -+ -+ status = cr_num_copy (result, a_this); -+ g_return_val_if_fail (status == CR_OK, NULL); -+ -+ return result; -+} -+ -+/** -+ * cr_num_set: -+ *Sets an instance of #CRNum. -+ *@a_this: the current instance of #CRNum to be set. -+ *@a_val: the new numerical value to be hold by the current -+ *instance of #CRNum -+ *@a_type: the new type of #CRNum. -+ * -+ * Returns CR_OK upon succesful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_num_set (CRNum * a_this, gdouble a_val, enum CRNumType a_type) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ a_this->val = a_val; -+ a_this->type = a_type; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_num_is_fixed_length: -+ * @a_this: the current instance of #CRNum . -+ * -+ *Tests if the current instance of #CRNum is a fixed -+ *length value or not. Typically a fixed length value -+ *is anything from NUM_LENGTH_EM to NUM_LENGTH_PC. -+ *See the definition of #CRNumType to see what we mean. -+ * -+ *Returns TRUE if the instance of #CRNum is a fixed length number, -+ *FALSE otherwise. -+ */ -+gboolean -+cr_num_is_fixed_length (CRNum const * a_this) -+{ -+ gboolean result = FALSE; -+ -+ g_return_val_if_fail (a_this, FALSE); -+ -+ if (a_this->type >= NUM_LENGTH_EM -+ && a_this->type <= NUM_LENGTH_PC) { -+ result = TRUE ; -+ } -+ return result ; -+} -+ -+/** -+ * cr_num_destroy: -+ *@a_this: the this pointer of -+ *the current instance of #CRNum. -+ * -+ *The destructor of #CRNum. -+ */ -+void -+cr_num_destroy (CRNum * a_this) -+{ -+ g_return_if_fail (a_this); -+ -+ g_free (a_this); -+} -diff --git a/src/st/croco/cr-num.h b/src/st/croco/cr-num.h -new file mode 100644 -index 000000000..2b73aaf79 ---- /dev/null -+++ b/src/st/croco/cr-num.h -@@ -0,0 +1,127 @@ -+/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli -+ * See COPYRIGHTS file for copyright information -+ */ -+ -+ -+/** -+ *@file -+ *The declaration -+ *of the #CRNum class. -+ */ -+ -+#ifndef __CR_NUM_H__ -+#define __CR_NUM_H__ -+ -+#include -+#include "cr-utils.h" -+#include "cr-parsing-location.h" -+ -+G_BEGIN_DECLS -+ -+/** -+ *@file -+ *The declaration of the #CRNum class. -+ * -+ */ -+ -+/** -+ *The different types -+ *of numbers. -+ *Please, do not modify -+ *the declaration order of the enum -+ *members, unless you know -+ *what you are doing. -+ */ -+enum CRNumType -+{ -+ NUM_AUTO = 0, -+ NUM_GENERIC, -+ NUM_LENGTH_EM, -+ NUM_LENGTH_EX, -+ NUM_LENGTH_PX, -+ NUM_LENGTH_IN, -+ NUM_LENGTH_CM, -+ NUM_LENGTH_MM, -+ NUM_LENGTH_PT, -+ NUM_LENGTH_PC, -+ NUM_ANGLE_DEG, -+ NUM_ANGLE_RAD, -+ NUM_ANGLE_GRAD, -+ NUM_TIME_MS, -+ NUM_TIME_S, -+ NUM_FREQ_HZ, -+ NUM_FREQ_KHZ, -+ NUM_PERCENTAGE, -+ NUM_INHERIT, -+ NUM_UNKNOWN_TYPE, -+ NB_NUM_TYPE -+} ; -+ -+ -+/** -+ *An abstraction of a number (num) -+ *as defined in the css2 spec. -+ */ -+typedef struct _CRNum CRNum ; -+ -+/** -+ *An abstraction of a number (num) -+ *as defined in the css2 spec. -+ */ -+struct _CRNum -+{ -+ enum CRNumType type ; -+ gdouble val ; -+ CRParsingLocation location ; -+} ; -+ -+CRNum * -+cr_num_new (void) ; -+ -+CRNum * -+cr_num_new_with_val (gdouble a_val, -+ enum CRNumType a_type) ; -+ -+CRNum * -+cr_num_dup (CRNum const *a_this) ; -+ -+guchar * -+cr_num_to_string (CRNum const *a_this) ; -+ -+enum CRStatus -+cr_num_copy (CRNum *a_dest, CRNum const *a_src) ; -+ -+enum CRStatus -+cr_num_set (CRNum *a_this, gdouble a_val, -+ enum CRNumType a_type) ; -+ -+gboolean -+cr_num_is_fixed_length (CRNum const *a_this) ; -+ -+void -+cr_num_destroy (CRNum *a_this) ; -+ -+ -+G_END_DECLS -+ -+ -+#endif /*__CR_NUM_H__*/ -diff --git a/src/st/croco/cr-om-parser.c b/src/st/croco/cr-om-parser.c -new file mode 100644 -index 000000000..ccc45b3e9 ---- /dev/null -+++ b/src/st/croco/cr-om-parser.c -@@ -0,0 +1,1142 @@ -+/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli -+ * See COPYRIGHTS file for copyright information. -+ */ -+ -+#include -+#include "cr-utils.h" -+#include "cr-om-parser.h" -+ -+/** -+ *@CROMParser: -+ * -+ *The definition of the CSS Object Model Parser. -+ *This parser uses (and sits) the SAC api of libcroco defined -+ *in cr-parser.h and cr-doc-handler.h -+ */ -+ -+struct _CROMParserPriv { -+ CRParser *parser; -+}; -+ -+#define PRIVATE(a_this) ((a_this)->priv) -+ -+/* -+ *Forward declaration of a type defined later -+ *in this file. -+ */ -+struct _ParsingContext; -+typedef struct _ParsingContext ParsingContext; -+ -+static ParsingContext *new_parsing_context (void); -+ -+static void destroy_context (ParsingContext * a_ctxt); -+ -+static void unrecoverable_error (CRDocHandler * a_this); -+ -+static void error (CRDocHandler * a_this); -+ -+static void property (CRDocHandler * a_this, -+ CRString * a_name, -+ CRTerm * a_expression, -+ gboolean a_important); -+ -+static void end_selector (CRDocHandler * a_this, -+ CRSelector * a_selector_list); -+ -+static void start_selector (CRDocHandler * a_this, -+ CRSelector * a_selector_list); -+ -+static void start_font_face (CRDocHandler * a_this, -+ CRParsingLocation *a_location); -+ -+static void end_font_face (CRDocHandler * a_this); -+ -+static void end_document (CRDocHandler * a_this); -+ -+static void start_document (CRDocHandler * a_this); -+ -+static void charset (CRDocHandler * a_this, -+ CRString * a_charset, -+ CRParsingLocation *a_location); -+ -+static void start_page (CRDocHandler * a_this, CRString * a_page, -+ CRString * a_pseudo_page, -+ CRParsingLocation *a_location); -+ -+static void end_page (CRDocHandler * a_this, CRString * a_page, -+ CRString * a_pseudo_page); -+ -+static void start_media (CRDocHandler * a_this, -+ GList * a_media_list, -+ CRParsingLocation *a_location); -+ -+static void end_media (CRDocHandler * a_this, -+ GList * a_media_list); -+ -+static void import_style (CRDocHandler * a_this, -+ GList * a_media_list, -+ CRString * a_uri, -+ CRString * a_uri_default_ns, -+ CRParsingLocation *a_location); -+ -+struct _ParsingContext { -+ CRStyleSheet *stylesheet; -+ CRStatement *cur_stmt; -+ CRStatement *cur_media_stmt; -+}; -+ -+/******************************************** -+ *Private methods -+ ********************************************/ -+ -+static ParsingContext * -+new_parsing_context (void) -+{ -+ ParsingContext *result = NULL; -+ -+ result = g_try_malloc (sizeof (ParsingContext)); -+ if (!result) { -+ cr_utils_trace_info ("Out of Memory"); -+ return NULL; -+ } -+ memset (result, 0, sizeof (ParsingContext)); -+ return result; -+} -+ -+static void -+destroy_context (ParsingContext * a_ctxt) -+{ -+ g_return_if_fail (a_ctxt); -+ -+ if (a_ctxt->stylesheet) { -+ cr_stylesheet_destroy (a_ctxt->stylesheet); -+ a_ctxt->stylesheet = NULL; -+ } -+ if (a_ctxt->cur_stmt) { -+ cr_statement_destroy (a_ctxt->cur_stmt); -+ a_ctxt->cur_stmt = NULL; -+ } -+ g_free (a_ctxt); -+} -+ -+static enum CRStatus -+cr_om_parser_init_default_sac_handler (CROMParser * a_this) -+{ -+ CRDocHandler *sac_handler = NULL; -+ gboolean created_handler = FALSE; -+ enum CRStatus status = CR_OK; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->parser, -+ CR_BAD_PARAM_ERROR); -+ -+ status = cr_parser_get_sac_handler (PRIVATE (a_this)->parser, -+ &sac_handler); -+ g_return_val_if_fail (status == CR_OK, status); -+ -+ if (!sac_handler) { -+ sac_handler = cr_doc_handler_new (); -+ created_handler = TRUE; -+ } -+ -+ /* -+ *initialyze here the sac handler. -+ */ -+ sac_handler->start_document = start_document; -+ sac_handler->end_document = end_document; -+ sac_handler->start_selector = start_selector; -+ sac_handler->end_selector = end_selector; -+ sac_handler->property = property; -+ sac_handler->start_font_face = start_font_face; -+ sac_handler->end_font_face = end_font_face; -+ sac_handler->error = error; -+ sac_handler->unrecoverable_error = unrecoverable_error; -+ sac_handler->charset = charset; -+ sac_handler->start_page = start_page; -+ sac_handler->end_page = end_page; -+ sac_handler->start_media = start_media; -+ sac_handler->end_media = end_media; -+ sac_handler->import_style = import_style; -+ -+ if (created_handler) { -+ status = cr_parser_set_sac_handler (PRIVATE (a_this)->parser, -+ sac_handler); -+ cr_doc_handler_unref (sac_handler); -+ } -+ -+ return status; -+ -+} -+ -+static void -+start_document (CRDocHandler * a_this) -+{ -+ ParsingContext *ctxt = NULL; -+ CRStyleSheet *stylesheet = NULL; -+ -+ g_return_if_fail (a_this); -+ -+ ctxt = new_parsing_context (); -+ g_return_if_fail (ctxt); -+ -+ stylesheet = cr_stylesheet_new (NULL); -+ ctxt->stylesheet = stylesheet; -+ cr_doc_handler_set_ctxt (a_this, ctxt); -+} -+ -+static void -+start_font_face (CRDocHandler * a_this, -+ CRParsingLocation *a_location) -+{ -+ enum CRStatus status = CR_OK; -+ ParsingContext *ctxt = NULL; -+ ParsingContext **ctxtptr = NULL; -+ -+ g_return_if_fail (a_this); -+ -+ g_return_if_fail (a_this); -+ ctxtptr = &ctxt; -+ status = cr_doc_handler_get_ctxt (a_this, (gpointer *) ctxtptr); -+ g_return_if_fail (status == CR_OK && ctxt); -+ g_return_if_fail (ctxt->cur_stmt == NULL); -+ -+ ctxt->cur_stmt = -+ cr_statement_new_at_font_face_rule (ctxt->stylesheet, NULL); -+ -+ g_return_if_fail (ctxt->cur_stmt); -+} -+ -+static void -+end_font_face (CRDocHandler * a_this) -+{ -+ enum CRStatus status = CR_OK; -+ ParsingContext *ctxt = NULL; -+ ParsingContext **ctxtptr = NULL; -+ CRStatement *stmts = NULL; -+ -+ g_return_if_fail (a_this); -+ -+ g_return_if_fail (a_this); -+ ctxtptr = &ctxt; -+ status = cr_doc_handler_get_ctxt (a_this, (gpointer *) ctxtptr); -+ g_return_if_fail (status == CR_OK && ctxt); -+ g_return_if_fail -+ (ctxt->cur_stmt -+ && ctxt->cur_stmt->type == AT_FONT_FACE_RULE_STMT -+ && ctxt->stylesheet); -+ -+ stmts = cr_statement_append (ctxt->stylesheet->statements, -+ ctxt->cur_stmt); -+ if (!stmts) -+ goto error; -+ -+ ctxt->stylesheet->statements = stmts; -+ stmts = NULL; -+ ctxt->cur_stmt = NULL; -+ -+ return; -+ -+ error: -+ -+ if (ctxt->cur_stmt) { -+ cr_statement_destroy (ctxt->cur_stmt); -+ ctxt->cur_stmt = NULL; -+ } -+ -+ if (!stmts) { -+ cr_statement_destroy (stmts); -+ stmts = NULL; -+ } -+} -+ -+static void -+end_document (CRDocHandler * a_this) -+{ -+ enum CRStatus status = CR_OK; -+ ParsingContext *ctxt = NULL; -+ ParsingContext **ctxtptr = NULL; -+ -+ g_return_if_fail (a_this); -+ ctxtptr = &ctxt; -+ status = cr_doc_handler_get_ctxt (a_this, (gpointer *) ctxtptr); -+ g_return_if_fail (status == CR_OK && ctxt); -+ -+ if (!ctxt->stylesheet || ctxt->cur_stmt) -+ goto error; -+ -+ status = cr_doc_handler_set_result (a_this, ctxt->stylesheet); -+ g_return_if_fail (status == CR_OK); -+ -+ ctxt->stylesheet = NULL; -+ destroy_context (ctxt); -+ cr_doc_handler_set_ctxt (a_this, NULL); -+ -+ return; -+ -+ error: -+ if (ctxt) { -+ destroy_context (ctxt); -+ } -+} -+ -+static void -+charset (CRDocHandler * a_this, CRString * a_charset, -+ CRParsingLocation *a_location) -+{ -+ enum CRStatus status = CR_OK; -+ CRStatement *stmt = NULL, -+ *stmt2 = NULL; -+ CRString *charset = NULL; -+ -+ ParsingContext *ctxt = NULL; -+ ParsingContext **ctxtptr = NULL; -+ -+ g_return_if_fail (a_this); -+ ctxtptr = &ctxt; -+ status = cr_doc_handler_get_ctxt (a_this, (gpointer *) ctxtptr); -+ g_return_if_fail (status == CR_OK && ctxt); -+ g_return_if_fail (ctxt->stylesheet); -+ -+ charset = cr_string_dup (a_charset) ; -+ stmt = cr_statement_new_at_charset_rule (ctxt->stylesheet, charset); -+ g_return_if_fail (stmt); -+ stmt2 = cr_statement_append (ctxt->stylesheet->statements, stmt); -+ if (!stmt2) { -+ if (stmt) { -+ cr_statement_destroy (stmt); -+ stmt = NULL; -+ } -+ if (charset) { -+ cr_string_destroy (charset); -+ } -+ return; -+ } -+ ctxt->stylesheet->statements = stmt2; -+ stmt2 = NULL; -+} -+ -+static void -+start_page (CRDocHandler * a_this, -+ CRString * a_page, -+ CRString * a_pseudo, -+ CRParsingLocation *a_location) -+{ -+ enum CRStatus status = CR_OK; -+ ParsingContext *ctxt = NULL; -+ ParsingContext **ctxtptr = NULL; -+ -+ g_return_if_fail (a_this); -+ ctxtptr = &ctxt; -+ status = cr_doc_handler_get_ctxt (a_this, (gpointer *) ctxtptr); -+ g_return_if_fail (status == CR_OK && ctxt); -+ g_return_if_fail (ctxt->cur_stmt == NULL); -+ -+ ctxt->cur_stmt = cr_statement_new_at_page_rule -+ (ctxt->stylesheet, NULL, NULL, NULL); -+ if (a_page) { -+ ctxt->cur_stmt->kind.page_rule->name = -+ cr_string_dup (a_page) ; -+ -+ if (!ctxt->cur_stmt->kind.page_rule->name) { -+ goto error; -+ } -+ } -+ if (a_pseudo) { -+ ctxt->cur_stmt->kind.page_rule->pseudo = -+ cr_string_dup (a_pseudo) ; -+ if (!ctxt->cur_stmt->kind.page_rule->pseudo) { -+ goto error; -+ } -+ } -+ return; -+ -+ error: -+ if (ctxt->cur_stmt) { -+ cr_statement_destroy (ctxt->cur_stmt); -+ ctxt->cur_stmt = NULL; -+ } -+} -+ -+static void -+end_page (CRDocHandler * a_this, -+ CRString * a_page, -+ CRString * a_pseudo_page) -+{ -+ enum CRStatus status = CR_OK; -+ ParsingContext *ctxt = NULL; -+ ParsingContext **ctxtptr = NULL; -+ CRStatement *stmt = NULL; -+ -+ (void) a_page; -+ (void) a_pseudo_page; -+ -+ g_return_if_fail (a_this); -+ -+ ctxtptr = &ctxt; -+ status = cr_doc_handler_get_ctxt (a_this, (gpointer *) ctxtptr); -+ -+ g_return_if_fail (status == CR_OK && ctxt); -+ -+ g_return_if_fail (ctxt->cur_stmt -+ && ctxt->cur_stmt->type == AT_PAGE_RULE_STMT -+ && ctxt->stylesheet); -+ -+ stmt = cr_statement_append (ctxt->stylesheet->statements, -+ ctxt->cur_stmt); -+ -+ if (stmt) { -+ ctxt->stylesheet->statements = stmt; -+ stmt = NULL; -+ ctxt->cur_stmt = NULL; -+ } -+ -+ if (ctxt->cur_stmt) { -+ cr_statement_destroy (ctxt->cur_stmt); -+ ctxt->cur_stmt = NULL; -+ } -+ a_page = NULL; /*keep compiler happy */ -+ a_pseudo_page = NULL; /*keep compiler happy */ -+} -+ -+static void -+start_media (CRDocHandler * a_this, -+ GList * a_media_list, -+ CRParsingLocation *a_location) -+{ -+ enum CRStatus status = CR_OK; -+ ParsingContext *ctxt = NULL; -+ ParsingContext **ctxtptr = NULL; -+ GList *media_list = NULL; -+ -+ g_return_if_fail (a_this); -+ ctxtptr = &ctxt; -+ status = cr_doc_handler_get_ctxt (a_this, (gpointer *) ctxtptr); -+ g_return_if_fail (status == CR_OK && ctxt); -+ -+ g_return_if_fail (ctxt -+ && ctxt->cur_stmt == NULL -+ && ctxt->cur_media_stmt == NULL -+ && ctxt->stylesheet); -+ if (a_media_list) { -+ /*duplicate the media_list */ -+ media_list = cr_utils_dup_glist_of_cr_string -+ (a_media_list); -+ } -+ ctxt->cur_media_stmt = -+ cr_statement_new_at_media_rule -+ (ctxt->stylesheet, NULL, media_list); -+ -+} -+ -+static void -+end_media (CRDocHandler * a_this, GList * a_media_list) -+{ -+ enum CRStatus status = CR_OK; -+ ParsingContext *ctxt = NULL; -+ ParsingContext **ctxtptr = NULL; -+ CRStatement *stmts = NULL; -+ -+ (void) a_media_list; -+ -+ g_return_if_fail (a_this); -+ -+ ctxtptr = &ctxt; -+ status = cr_doc_handler_get_ctxt (a_this, (gpointer *) ctxtptr); -+ -+ g_return_if_fail (status == CR_OK && ctxt); -+ -+ g_return_if_fail (ctxt -+ && ctxt->cur_media_stmt -+ && ctxt->cur_media_stmt->type == AT_MEDIA_RULE_STMT -+ && ctxt->stylesheet); -+ -+ stmts = cr_statement_append (ctxt->stylesheet->statements, -+ ctxt->cur_media_stmt); -+ -+ if (!stmts) { -+ cr_statement_destroy (ctxt->cur_media_stmt); -+ ctxt->cur_media_stmt = NULL; -+ } -+ -+ ctxt->stylesheet->statements = stmts; -+ stmts = NULL; -+ -+ ctxt->cur_stmt = NULL ; -+ ctxt->cur_media_stmt = NULL ; -+ a_media_list = NULL; -+} -+ -+static void -+import_style (CRDocHandler * a_this, -+ GList * a_media_list, -+ CRString * a_uri, -+ CRString * a_uri_default_ns, -+ CRParsingLocation *a_location) -+{ -+ enum CRStatus status = CR_OK; -+ CRString *uri = NULL; -+ CRStatement *stmt = NULL, -+ *stmt2 = NULL; -+ ParsingContext *ctxt = NULL; -+ ParsingContext **ctxtptr = NULL; -+ GList *media_list = NULL ; -+ -+ (void) a_uri_default_ns; -+ -+ g_return_if_fail (a_this); -+ -+ ctxtptr = &ctxt; -+ status = cr_doc_handler_get_ctxt (a_this, (gpointer *) ctxtptr); -+ -+ g_return_if_fail (status == CR_OK && ctxt); -+ -+ g_return_if_fail (ctxt->stylesheet); -+ -+ uri = cr_string_dup (a_uri) ; -+ -+ if (a_media_list) -+ media_list = cr_utils_dup_glist_of_cr_string (a_media_list) ; -+ -+ stmt = cr_statement_new_at_import_rule -+ (ctxt->stylesheet, uri, media_list, NULL); -+ -+ if (!stmt) -+ goto error; -+ -+ if (ctxt->cur_stmt) { -+ stmt2 = cr_statement_append (ctxt->cur_stmt, stmt); -+ if (!stmt2) -+ goto error; -+ ctxt->cur_stmt = stmt2; -+ stmt2 = NULL; -+ stmt = NULL; -+ } else { -+ stmt2 = cr_statement_append (ctxt->stylesheet->statements, -+ stmt); -+ if (!stmt2) -+ goto error; -+ ctxt->stylesheet->statements = stmt2; -+ stmt2 = NULL; -+ stmt = NULL; -+ } -+ -+ return; -+ -+ error: -+ if (uri) { -+ cr_string_destroy (uri); -+ } -+ -+ if (stmt) { -+ cr_statement_destroy (stmt); -+ stmt = NULL; -+ } -+ a_uri_default_ns = NULL; /*keep compiler happy */ -+} -+ -+static void -+start_selector (CRDocHandler * a_this, CRSelector * a_selector_list) -+{ -+ enum CRStatus status = CR_OK ; -+ ParsingContext *ctxt = NULL; -+ ParsingContext **ctxtptr = NULL; -+ -+ g_return_if_fail (a_this); -+ ctxtptr = &ctxt; -+ status = cr_doc_handler_get_ctxt (a_this, (gpointer *) ctxtptr); -+ g_return_if_fail (status == CR_OK && ctxt); -+ if (ctxt->cur_stmt) { -+ /*hmm, this should be NULL so free it */ -+ cr_statement_destroy (ctxt->cur_stmt); -+ ctxt->cur_stmt = NULL; -+ } -+ -+ ctxt->cur_stmt = cr_statement_new_ruleset -+ (ctxt->stylesheet, a_selector_list, NULL, NULL); -+} -+ -+static void -+end_selector (CRDocHandler * a_this, CRSelector * a_selector_list) -+{ -+ enum CRStatus status = CR_OK; -+ ParsingContext *ctxt = NULL; -+ ParsingContext **ctxtptr = NULL; -+ -+ (void) a_selector_list; -+ -+ g_return_if_fail (a_this); -+ -+ ctxtptr = &ctxt; -+ status = cr_doc_handler_get_ctxt (a_this, (gpointer *) ctxtptr); -+ -+ g_return_if_fail (status == CR_OK && ctxt); -+ -+ g_return_if_fail (ctxt->cur_stmt && ctxt->stylesheet); -+ -+ if (ctxt->cur_stmt) { -+ CRStatement *stmts = NULL; -+ -+ if (ctxt->cur_media_stmt) { -+ CRAtMediaRule *media_rule = NULL; -+ -+ media_rule = ctxt->cur_media_stmt->kind.media_rule; -+ -+ stmts = cr_statement_append -+ (media_rule->rulesets, ctxt->cur_stmt); -+ -+ if (!stmts) { -+ cr_utils_trace_info -+ ("Could not append a new statement"); -+ cr_statement_destroy (media_rule->rulesets); -+ ctxt->cur_media_stmt-> -+ kind.media_rule->rulesets = NULL; -+ return; -+ } -+ media_rule->rulesets = stmts; -+ ctxt->cur_stmt = NULL; -+ } else { -+ stmts = cr_statement_append -+ (ctxt->stylesheet->statements, -+ ctxt->cur_stmt); -+ if (!stmts) { -+ cr_utils_trace_info -+ ("Could not append a new statement"); -+ cr_statement_destroy (ctxt->cur_stmt); -+ ctxt->cur_stmt = NULL; -+ return; -+ } -+ ctxt->stylesheet->statements = stmts; -+ ctxt->cur_stmt = NULL; -+ } -+ -+ } -+ -+ a_selector_list = NULL; /*keep compiler happy */ -+} -+ -+static void -+property (CRDocHandler * a_this, -+ CRString * a_name, -+ CRTerm * a_expression, -+ gboolean a_important) -+{ -+ enum CRStatus status = CR_OK; -+ ParsingContext *ctxt = NULL; -+ ParsingContext **ctxtptr = NULL; -+ CRDeclaration *decl = NULL, -+ *decl2 = NULL; -+ CRString *str = NULL; -+ -+ g_return_if_fail (a_this); -+ ctxtptr = &ctxt; -+ status = cr_doc_handler_get_ctxt (a_this, (gpointer *) ctxtptr); -+ g_return_if_fail (status == CR_OK && ctxt); -+ -+ /* -+ *make sure a current ruleset statement has been allocated -+ *already. -+ */ -+ g_return_if_fail -+ (ctxt->cur_stmt -+ && -+ (ctxt->cur_stmt->type == RULESET_STMT -+ || ctxt->cur_stmt->type == AT_FONT_FACE_RULE_STMT -+ || ctxt->cur_stmt->type == AT_PAGE_RULE_STMT)); -+ -+ if (a_name) { -+ str = cr_string_dup (a_name); -+ g_return_if_fail (str); -+ } -+ -+ /*instanciates a new declaration */ -+ decl = cr_declaration_new (ctxt->cur_stmt, str, a_expression); -+ g_return_if_fail (decl); -+ str = NULL; -+ decl->important = a_important; -+ /* -+ *add the new declaration to the current statement -+ *being build. -+ */ -+ switch (ctxt->cur_stmt->type) { -+ case RULESET_STMT: -+ decl2 = cr_declaration_append -+ (ctxt->cur_stmt->kind.ruleset->decl_list, decl); -+ if (!decl2) { -+ cr_declaration_destroy (decl); -+ cr_utils_trace_info -+ ("Could not append decl to ruleset"); -+ goto error; -+ } -+ ctxt->cur_stmt->kind.ruleset->decl_list = decl2; -+ decl = NULL; -+ decl2 = NULL; -+ break; -+ -+ case AT_FONT_FACE_RULE_STMT: -+ decl2 = cr_declaration_append -+ (ctxt->cur_stmt->kind.font_face_rule->decl_list, -+ decl); -+ if (!decl2) { -+ cr_declaration_destroy (decl); -+ cr_utils_trace_info -+ ("Could not append decl to ruleset"); -+ goto error; -+ } -+ ctxt->cur_stmt->kind.font_face_rule->decl_list = decl2; -+ decl = NULL; -+ decl2 = NULL; -+ break; -+ case AT_PAGE_RULE_STMT: -+ decl2 = cr_declaration_append -+ (ctxt->cur_stmt->kind.page_rule->decl_list, decl); -+ if (!decl2) { -+ cr_declaration_destroy (decl); -+ cr_utils_trace_info -+ ("Could not append decl to ruleset"); -+ goto error; -+ } -+ ctxt->cur_stmt->kind.page_rule->decl_list = decl2; -+ decl = NULL; -+ decl2 = NULL; -+ break; -+ -+ default: -+ goto error; -+ break; -+ } -+ -+ return; -+ -+ error: -+ if (str) { -+ g_free (str); -+ str = NULL; -+ } -+ -+ if (decl) { -+ cr_declaration_destroy (decl); -+ decl = NULL; -+ } -+} -+ -+static void -+error (CRDocHandler * a_this) -+{ -+ enum CRStatus status = CR_OK; -+ ParsingContext *ctxt = NULL; -+ ParsingContext **ctxtptr = NULL; -+ -+ g_return_if_fail (a_this); -+ ctxtptr = &ctxt; -+ status = cr_doc_handler_get_ctxt (a_this, (gpointer *) ctxtptr); -+ g_return_if_fail (status == CR_OK && ctxt); -+ -+ if (ctxt->cur_stmt) { -+ cr_statement_destroy (ctxt->cur_stmt); -+ ctxt->cur_stmt = NULL; -+ } -+} -+ -+static void -+unrecoverable_error (CRDocHandler * a_this) -+{ -+ enum CRStatus status = CR_OK; -+ ParsingContext *ctxt = NULL; -+ ParsingContext **ctxtptr = NULL; -+ -+ ctxtptr = &ctxt; -+ status = cr_doc_handler_get_ctxt (a_this, (gpointer *) ctxtptr); -+ g_return_if_fail (status == CR_OK); -+ -+ if (ctxt) { -+ if (ctxt->stylesheet) { -+ status = cr_doc_handler_set_result -+ (a_this, ctxt->stylesheet); -+ g_return_if_fail (status == CR_OK); -+ } -+ g_free (ctxt); -+ cr_doc_handler_set_ctxt (a_this, NULL); -+ } -+} -+ -+/******************************************** -+ *Public methods -+ ********************************************/ -+ -+/** -+ * cr_om_parser_new: -+ *@a_input: the input stream. -+ * -+ *Constructor of the CROMParser. -+ *Returns the newly built instance of #CROMParser. -+ */ -+CROMParser * -+cr_om_parser_new (CRInput * a_input) -+{ -+ CROMParser *result = NULL; -+ enum CRStatus status = CR_OK; -+ -+ result = g_try_malloc (sizeof (CROMParser)); -+ -+ if (!result) { -+ cr_utils_trace_info ("Out of memory"); -+ return NULL; -+ } -+ -+ memset (result, 0, sizeof (CROMParser)); -+ PRIVATE (result) = g_try_malloc (sizeof (CROMParserPriv)); -+ -+ if (!PRIVATE (result)) { -+ cr_utils_trace_info ("Out of memory"); -+ goto error; -+ } -+ -+ memset (PRIVATE (result), 0, sizeof (CROMParserPriv)); -+ -+ PRIVATE (result)->parser = cr_parser_new_from_input (a_input); -+ -+ if (!PRIVATE (result)->parser) { -+ cr_utils_trace_info ("parsing instantiation failed"); -+ goto error; -+ } -+ -+ status = cr_om_parser_init_default_sac_handler (result); -+ -+ if (status != CR_OK) { -+ goto error; -+ } -+ -+ return result; -+ -+ error: -+ -+ if (result) { -+ cr_om_parser_destroy (result); -+ } -+ -+ return NULL; -+} -+ -+/** -+ * cr_om_parser_parse_buf: -+ *@a_this: the current instance of #CROMParser. -+ *@a_buf: the in memory buffer to parse. -+ *@a_len: the length of the in memory buffer in number of bytes. -+ *@a_enc: the encoding of the in memory buffer. -+ *@a_result: out parameter the resulting style sheet -+ * -+ *Parses the content of an in memory buffer. -+ * -+ *Returns CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_om_parser_parse_buf (CROMParser * a_this, -+ const guchar * a_buf, -+ gulong a_len, -+ enum CREncoding a_enc, CRStyleSheet ** a_result) -+{ -+ -+ enum CRStatus status = CR_OK; -+ -+ g_return_val_if_fail (a_this && a_result, CR_BAD_PARAM_ERROR); -+ -+ if (!PRIVATE (a_this)->parser) { -+ PRIVATE (a_this)->parser = cr_parser_new (NULL); -+ } -+ -+ status = cr_parser_parse_buf (PRIVATE (a_this)->parser, -+ a_buf, a_len, a_enc); -+ -+ if (status == CR_OK) { -+ CRStyleSheet *result = NULL; -+ CRStyleSheet **resultptr = NULL; -+ CRDocHandler *sac_handler = NULL; -+ -+ cr_parser_get_sac_handler (PRIVATE (a_this)->parser, -+ &sac_handler); -+ g_return_val_if_fail (sac_handler, CR_ERROR); -+ resultptr = &result; -+ status = cr_doc_handler_get_result (sac_handler, -+ (gpointer *) resultptr); -+ g_return_val_if_fail (status == CR_OK, status); -+ -+ if (result) -+ *a_result = result; -+ } -+ -+ return status; -+} -+ -+/** -+ * cr_om_parser_simply_parse_buf: -+ *@a_buf: the css2 in memory buffer. -+ *@a_len: the length of the in memory buffer. -+ *@a_enc: the encoding of the in memory buffer. -+ *@a_result: out parameter. The resulting css2 style sheet. -+ * -+ *The simpler way to parse an in memory css2 buffer. -+ * -+ *Returns CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_om_parser_simply_parse_buf (const guchar * a_buf, -+ gulong a_len, -+ enum CREncoding a_enc, -+ CRStyleSheet ** a_result) -+{ -+ CROMParser *parser = NULL; -+ enum CRStatus status = CR_OK; -+ -+ parser = cr_om_parser_new (NULL); -+ if (!parser) { -+ cr_utils_trace_info ("Could not create om parser"); -+ cr_utils_trace_info ("System possibly out of memory"); -+ return CR_ERROR; -+ } -+ -+ status = cr_om_parser_parse_buf (parser, a_buf, a_len, -+ a_enc, a_result); -+ -+ if (parser) { -+ cr_om_parser_destroy (parser); -+ parser = NULL; -+ } -+ -+ return status; -+} -+ -+/** -+ * cr_om_parser_parse_file: -+ *@a_this: the current instance of the cssom parser. -+ *@a_file_uri: the uri of the file. -+ *(only local file paths are suppported so far) -+ *@a_enc: the encoding of the file. -+ *@a_result: out parameter. A pointer -+ *the build css object model. -+ * -+ *Parses a css2 stylesheet contained -+ *in a file. -+ * -+ * Returns CR_OK upon succesful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_om_parser_parse_file (CROMParser * a_this, -+ const guchar * a_file_uri, -+ enum CREncoding a_enc, CRStyleSheet ** a_result) -+{ -+ enum CRStatus status = CR_OK; -+ -+ g_return_val_if_fail (a_this && a_file_uri && a_result, -+ CR_BAD_PARAM_ERROR); -+ -+ if (!PRIVATE (a_this)->parser) { -+ PRIVATE (a_this)->parser = cr_parser_new_from_file -+ (a_file_uri, a_enc); -+ } -+ -+ status = cr_parser_parse_file (PRIVATE (a_this)->parser, -+ a_file_uri, a_enc); -+ -+ if (status == CR_OK) { -+ CRStyleSheet *result = NULL; -+ CRStyleSheet **resultptr = NULL; -+ CRDocHandler *sac_handler = NULL; -+ -+ cr_parser_get_sac_handler (PRIVATE (a_this)->parser, -+ &sac_handler); -+ g_return_val_if_fail (sac_handler, CR_ERROR); -+ resultptr = &result; -+ status = cr_doc_handler_get_result -+ (sac_handler, (gpointer *) resultptr); -+ g_return_val_if_fail (status == CR_OK, status); -+ if (result) -+ *a_result = result; -+ } -+ -+ return status; -+} -+ -+/** -+ * cr_om_parser_simply_parse_file: -+ *@a_file_path: the css2 local file path. -+ *@a_enc: the file encoding. -+ *@a_result: out parameter. The returned css stylesheet. -+ *Must be freed by the caller using cr_stylesheet_destroy. -+ * -+ *The simpler method to parse a css2 file. -+ * -+ *Returns CR_OK upon successfull completion, an error code otherwise. -+ *Note that this method uses cr_om_parser_parse_file() so both methods -+ *have the same return values. -+ */ -+enum CRStatus -+cr_om_parser_simply_parse_file (const guchar * a_file_path, -+ enum CREncoding a_enc, -+ CRStyleSheet ** a_result) -+{ -+ CROMParser *parser = NULL; -+ enum CRStatus status = CR_OK; -+ -+ parser = cr_om_parser_new (NULL); -+ if (!parser) { -+ cr_utils_trace_info ("Could not allocate om parser"); -+ cr_utils_trace_info ("System may be out of memory"); -+ return CR_ERROR; -+ } -+ -+ status = cr_om_parser_parse_file (parser, a_file_path, -+ a_enc, a_result); -+ if (parser) { -+ cr_om_parser_destroy (parser); -+ parser = NULL; -+ } -+ -+ return status; -+} -+ -+/** -+ * cr_om_parser_parse_paths_to_cascade: -+ *@a_this: the current instance of #CROMParser -+ *@a_author_path: the path to the author stylesheet -+ *@a_user_path: the path to the user stylesheet -+ *@a_ua_path: the path to the User Agent stylesheet -+ *@a_encoding: the encoding of the sheets. -+ *@a_result: out parameter. The resulting cascade if the parsing -+ *was okay -+ * -+ *Parses three sheets located by their paths and build a cascade -+ * -+ *Returns CR_OK upon successful completion, an error code otherwise -+ */ -+enum CRStatus -+cr_om_parser_parse_paths_to_cascade (CROMParser * a_this, -+ const guchar * a_author_path, -+ const guchar * a_user_path, -+ const guchar * a_ua_path, -+ enum CREncoding a_encoding, -+ CRCascade ** a_result) -+{ -+ enum CRStatus status = CR_OK; -+ -+ /*0->author sheet, 1->user sheet, 2->UA sheet */ -+ CRStyleSheet *sheets[3]; -+ guchar *paths[3]; -+ CRCascade *result = NULL; -+ gint i = 0; -+ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ memset (sheets, 0, sizeof (CRStyleSheet*) * 3); -+ paths[0] = (guchar *) a_author_path; -+ paths[1] = (guchar *) a_user_path; -+ paths[2] = (guchar *) a_ua_path; -+ -+ for (i = 0; i < 3; i++) { -+ status = cr_om_parser_parse_file (a_this, paths[i], -+ a_encoding, &sheets[i]); -+ if (status != CR_OK) { -+ if (sheets[i]) { -+ cr_stylesheet_unref (sheets[i]); -+ sheets[i] = NULL; -+ } -+ continue; -+ } -+ } -+ result = cr_cascade_new (sheets[0], sheets[1], sheets[2]); -+ if (!result) { -+ for (i = 0; i < 3; i++) { -+ cr_stylesheet_unref (sheets[i]); -+ sheets[i] = 0; -+ } -+ return CR_ERROR; -+ } -+ *a_result = result; -+ return CR_OK; -+} -+ -+/** -+ * cr_om_parser_simply_parse_paths_to_cascade: -+ *@a_author_path: the path to the author stylesheet -+ *@a_user_path: the path to the user stylesheet -+ *@a_ua_path: the path to the User Agent stylesheet -+ *@a_encoding: the encoding of the sheets. -+ *@a_result: out parameter. The resulting cascade if the parsing -+ *was okay -+ * -+ *Parses three sheets located by their paths and build a cascade -+ * -+ *Returns CR_OK upon successful completion, an error code otherwise -+ */ -+enum CRStatus -+cr_om_parser_simply_parse_paths_to_cascade (const guchar * a_author_path, -+ const guchar * a_user_path, -+ const guchar * a_ua_path, -+ enum CREncoding a_encoding, -+ CRCascade ** a_result) -+{ -+ enum CRStatus status = CR_OK; -+ CROMParser *parser = NULL; -+ -+ parser = cr_om_parser_new (NULL); -+ if (!parser) { -+ cr_utils_trace_info ("could not allocated om parser"); -+ cr_utils_trace_info ("System may be out of memory"); -+ return CR_ERROR; -+ } -+ status = cr_om_parser_parse_paths_to_cascade (parser, -+ a_author_path, -+ a_user_path, -+ a_ua_path, -+ a_encoding, a_result); -+ if (parser) { -+ cr_om_parser_destroy (parser); -+ parser = NULL; -+ } -+ return status; -+} -+ -+/** -+ * cr_om_parser_destroy: -+ *@a_this: the current instance of #CROMParser. -+ * -+ *Destructor of the #CROMParser. -+ */ -+void -+cr_om_parser_destroy (CROMParser * a_this) -+{ -+ g_return_if_fail (a_this && PRIVATE (a_this)); -+ -+ if (PRIVATE (a_this)->parser) { -+ cr_parser_destroy (PRIVATE (a_this)->parser); -+ PRIVATE (a_this)->parser = NULL; -+ } -+ -+ if (PRIVATE (a_this)) { -+ g_free (PRIVATE (a_this)); -+ PRIVATE (a_this) = NULL; -+ } -+ -+ if (a_this) { -+ g_free (a_this); -+ a_this = NULL; -+ } -+} -diff --git a/src/st/croco/cr-om-parser.h b/src/st/croco/cr-om-parser.h -new file mode 100644 -index 000000000..13d35b1cd ---- /dev/null -+++ b/src/st/croco/cr-om-parser.h -@@ -0,0 +1,98 @@ -+/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * Copyright (C) 2002-2003 Dodji Seketeli -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ */ -+ -+/* -+ *$Id$ -+ */ -+ -+#ifndef __CR_OM_PARSER_H__ -+#define __CR_OM_PARSER_H__ -+ -+#include "cr-parser.h" -+#include "cr-cascade.h" -+ -+ -+/** -+ *@file -+ *The definition of the CSS Object Model Parser. -+ *This parser uses (and sits) the SAC api of libcroco defined -+ *in cr-parser.h and cr-doc-handler.h -+ */ -+ -+G_BEGIN_DECLS -+ -+typedef struct _CROMParser CROMParser ; -+typedef struct _CROMParserPriv CROMParserPriv ; -+ -+/** -+ *The Object model parser. -+ *Can parse a css file and build a css object model. -+ *This parser uses an instance of #CRParser and defines -+ *a set of SAC callbacks to build the Object Model. -+ */ -+struct _CROMParser -+{ -+ CROMParserPriv *priv ; -+} ; -+ -+CROMParser * cr_om_parser_new (CRInput *a_input) ; -+ -+ -+enum CRStatus cr_om_parser_simply_parse_file (const guchar *a_file_path, -+ enum CREncoding a_enc, -+ CRStyleSheet **a_result) ; -+ -+enum CRStatus cr_om_parser_parse_file (CROMParser *a_this, -+ const guchar *a_file_uri, -+ enum CREncoding a_enc, -+ CRStyleSheet **a_result) ; -+ -+enum CRStatus cr_om_parser_simply_parse_buf (const guchar *a_buf, -+ gulong a_len, -+ enum CREncoding a_enc, -+ CRStyleSheet **a_result) ; -+ -+enum CRStatus cr_om_parser_parse_buf (CROMParser *a_this, -+ const guchar *a_buf, -+ gulong a_len, -+ enum CREncoding a_enc, -+ CRStyleSheet **a_result) ; -+ -+enum CRStatus cr_om_parser_parse_paths_to_cascade (CROMParser *a_this, -+ const guchar *a_author_path, -+ const guchar *a_user_path, -+ const guchar *a_ua_path, -+ enum CREncoding a_encoding, -+ CRCascade ** a_result) ; -+ -+enum CRStatus cr_om_parser_simply_parse_paths_to_cascade (const guchar *a_author_path, -+ const guchar *a_user_path, -+ const guchar *a_ua_path, -+ enum CREncoding a_encoding, -+ CRCascade ** a_result) ; -+ -+void cr_om_parser_destroy (CROMParser *a_this) ; -+ -+G_END_DECLS -+ -+#endif /*__CR_OM_PARSER_H__*/ -diff --git a/src/st/croco/cr-parser.c b/src/st/croco/cr-parser.c -new file mode 100644 -index 000000000..07f4ed9e8 ---- /dev/null -+++ b/src/st/croco/cr-parser.c -@@ -0,0 +1,4525 @@ -+/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the -+ * GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli -+ * See COPYRIGHTS file for copyrights information. -+ */ -+ -+/** -+ *@CRParser: -+ * -+ *The definition of the #CRParser class. -+ */ -+ -+#include "string.h" -+#include "cr-parser.h" -+#include "cr-num.h" -+#include "cr-term.h" -+#include "cr-simple-sel.h" -+#include "cr-attr-sel.h" -+ -+/* -+ *Random notes: -+ *CSS core syntax vs CSS level 2 syntax -+ *===================================== -+ * -+ *One must keep in mind -+ *that css UA must comply with two syntaxes. -+ * -+ *1/the specific syntax that defines the css language -+ *for a given level of specificatin (e.g css2 syntax -+ *defined in appendix D.1 of the css2 spec) -+ * -+ *2/the core (general) syntax that is there to allow -+ *UAs to parse style sheets written in levels of CSS that -+ *didn't exist at the time the UAs were created. -+ * -+ *the name of parsing functions (or methods) contained in this file -+ *follows the following scheme: cr_parser_parse_ (...) ; -+ *where is the name -+ *of a production of the css2 language. -+ *When a given production is -+ *defined by the css2 level grammar *and* by the -+ *css core syntax, there will be two functions to parse that production: -+ *one will parse the production defined by the css2 level grammar and the -+ *other will parse the production defined by the css core grammar. -+ *The css2 level grammar related parsing function will be called: -+ *cr_parser_parse_ (...) ; -+ *Then css core grammar related parsing function will be called: -+ *cr_parser_parse__core (...) ; -+ * -+ *If a production is defined only by the css core grammar, then -+ *it will be named: -+ *cr_parser_parse__core (...) ; -+ */ -+ -+typedef struct _CRParserError CRParserError; -+ -+/** -+ *An abstraction of an error reported by by the -+ *parsing routines. -+ */ -+struct _CRParserError { -+ guchar *msg; -+ enum CRStatus status; -+ glong line; -+ glong column; -+ glong byte_num; -+}; -+ -+enum CRParserState { -+ READY_STATE = 0, -+ TRY_PARSE_CHARSET_STATE, -+ CHARSET_PARSED_STATE, -+ TRY_PARSE_IMPORT_STATE, -+ IMPORT_PARSED_STATE, -+ TRY_PARSE_RULESET_STATE, -+ RULESET_PARSED_STATE, -+ TRY_PARSE_MEDIA_STATE, -+ MEDIA_PARSED_STATE, -+ TRY_PARSE_PAGE_STATE, -+ PAGE_PARSED_STATE, -+ TRY_PARSE_FONT_FACE_STATE, -+ FONT_FACE_PARSED_STATE -+} ; -+ -+/** -+ *The private attributes of -+ *#CRParser. -+ */ -+struct _CRParserPriv { -+ /** -+ *The tokenizer -+ */ -+ CRTknzr *tknzr; -+ -+ /** -+ *The sac handlers to call -+ *to notify the parsing of -+ *the css2 constructions. -+ */ -+ CRDocHandler *sac_handler; -+ -+ /** -+ *A stack of errors reported -+ *by the parsing routines. -+ *Contains instance of #CRParserError. -+ *This pointer is the top of the stack. -+ */ -+ GList *err_stack; -+ -+ enum CRParserState state; -+ gboolean resolve_import; -+ gboolean is_case_sensitive; -+ gboolean use_core_grammar; -+}; -+ -+#define PRIVATE(obj) ((obj)->priv) -+ -+#define CHARS_TAB_SIZE 12 -+ -+/** -+ * IS_NUM: -+ *@a_char: the char to test. -+ *return TRUE if the character is a number ([0-9]), FALSE otherwise -+ */ -+#define IS_NUM(a_char) (((a_char) >= '0' && (a_char) <= '9')?TRUE:FALSE) -+ -+/** -+ *Checks if 'status' equals CR_OK. If not, goto the 'error' label. -+ * -+ *@param status the status (of type enum CRStatus) to test. -+ *@param is_exception if set to FALSE, the final status returned -+ *by the current function will be CR_PARSING_ERROR. If set to TRUE, the -+ *current status will be the current value of the 'status' variable. -+ * -+ */ -+#define CHECK_PARSING_STATUS(status, is_exception) \ -+if ((status) != CR_OK) \ -+{ \ -+ if (is_exception == FALSE) \ -+ { \ -+ status = CR_PARSING_ERROR ; \ -+ } \ -+ goto error ; \ -+} -+ -+/** -+ * CHECK_PARSING_STATUS_ERR: -+ *@a_this: the current instance of #CRParser . -+ *@a_status: the status to check. Is of type enum #CRStatus. -+ *@a_is_exception: in case of error, if is TRUE, the status -+ *is set to CR_PARSING_ERROR before goto error. If is false, the -+ *real low level status is kept and will be returned by the -+ *upper level function that called this macro. Usally,this must -+ *be set to FALSE. -+ * -+ *same as CHECK_PARSING_STATUS() but this one pushes an error -+ *on the parser error stack when an error arises. -+ * -+ */ -+#define CHECK_PARSING_STATUS_ERR(a_this, a_status, a_is_exception,\ -+ a_err_msg, a_err_status) \ -+if ((a_status) != CR_OK) \ -+{ \ -+ if (a_is_exception == FALSE) a_status = CR_PARSING_ERROR ; \ -+ cr_parser_push_error (a_this, a_err_msg, a_err_status) ; \ -+ goto error ; \ -+} -+ -+/** -+ *Peeks the next char from the input stream of the current parser -+ *by invoking cr_tknzr_input_peek_char(). -+ *invokes CHECK_PARSING_STATUS on the status returned by -+ *cr_tknzr_peek_char(). -+ * -+ *@param a_this the current instance of #CRParser. -+ *@param a_to_char a pointer to the char where to store the -+ *char peeked. -+ */ -+#define PEEK_NEXT_CHAR(a_this, a_to_char) \ -+{\ -+status = cr_tknzr_peek_char (PRIVATE (a_this)->tknzr, a_to_char) ; \ -+CHECK_PARSING_STATUS (status, TRUE) \ -+} -+ -+/** -+ *Reads the next char from the input stream of the current parser. -+ *In case of error, jumps to the "error:" label located in the -+ *function where this macro is called. -+ *@param a_this the curent instance of #CRParser -+ *@param to_char a pointer to the guint32 char where to store -+ *the character read. -+ */ -+#define READ_NEXT_CHAR(a_this, a_to_char) \ -+status = cr_tknzr_read_char (PRIVATE (a_this)->tknzr, a_to_char) ; \ -+CHECK_PARSING_STATUS (status, TRUE) -+ -+/** -+ *Gets information about the current position in -+ *the input of the parser. -+ *In case of failure, this macro returns from the -+ *calling function and -+ *returns a status code of type enum #CRStatus. -+ *@param a_this the current instance of #CRParser. -+ *@param a_pos out parameter. A pointer to the position -+ *inside the current parser input. Must -+ */ -+#define RECORD_INITIAL_POS(a_this, a_pos) \ -+status = cr_tknzr_get_cur_pos (PRIVATE \ -+(a_this)->tknzr, a_pos) ; \ -+g_return_val_if_fail (status == CR_OK, status) -+ -+/** -+ *Gets the address of the current byte inside the -+ *parser input. -+ *@param parser the current instance of #CRParser. -+ *@param addr out parameter a pointer (guchar*) -+ *to where the address must be put. -+ */ -+#define RECORD_CUR_BYTE_ADDR(a_this, a_addr) \ -+status = cr_tknzr_get_cur_byte_addr \ -+ (PRIVATE (a_this)->tknzr, a_addr) ; \ -+CHECK_PARSING_STATUS (status, TRUE) -+ -+/** -+ *Peeks a byte from the topmost parser input at -+ *a given offset from the current position. -+ *If it fails, goto the "error:" label. -+ * -+ *@param a_parser the current instance of #CRParser. -+ *@param a_offset the offset of the byte to peek, the -+ *current byte having the offset '0'. -+ *@param a_byte_ptr out parameter a pointer (guchar*) to -+ *where the peeked char is to be stored. -+ */ -+#define PEEK_BYTE(a_parser, a_offset, a_byte_ptr) \ -+status = cr_tknzr_peek_byte (PRIVATE (a_this)->tknzr, \ -+ a_offset, \ -+ a_byte_ptr) ; \ -+CHECK_PARSING_STATUS (status, TRUE) ; -+ -+#define BYTE(a_parser, a_offset, a_eof) \ -+cr_tknzr_peek_byte2 (PRIVATE (a_this)->tknzr, a_offset, a_eof) -+ -+/** -+ *Reads a byte from the topmost parser input -+ *steam. -+ *If it fails, goto the "error" label. -+ *@param a_this the current instance of #CRParser. -+ *@param a_byte_ptr the guchar * where to put the read char. -+ */ -+#define READ_NEXT_BYTE(a_this, a_byte_ptr) \ -+status = cr_tknzr_read_byte (PRIVATE (a_this)->tknzr, a_byte_ptr) ; \ -+CHECK_PARSING_STATUS (status, TRUE) ; -+ -+/** -+ *Skips a given number of byte in the topmost -+ *parser input. Don't update line and column number. -+ *In case of error, jumps to the "error:" label -+ *of the surrounding function. -+ *@param a_parser the current instance of #CRParser. -+ *@param a_nb_bytes the number of bytes to skip. -+ */ -+#define SKIP_BYTES(a_this, a_nb_bytes) \ -+status = cr_tknzr_seek_index (PRIVATE (a_this)->tknzr, \ -+ CR_SEEK_CUR, a_nb_bytes) ; \ -+CHECK_PARSING_STATUS (status, TRUE) ; -+ -+/** -+ *Skip utf8 encoded characters. -+ *Updates line and column numbers. -+ *@param a_parser the current instance of #CRParser. -+ *@param a_nb_chars the number of chars to skip. Must be of -+ *type glong. -+ */ -+#define SKIP_CHARS(a_parser, a_nb_chars) \ -+{ \ -+glong nb_chars = a_nb_chars ; \ -+status = cr_tknzr_consume_chars \ -+ (PRIVATE (a_parser)->tknzr,0, &nb_chars) ; \ -+CHECK_PARSING_STATUS (status, TRUE) ; \ -+} -+ -+/** -+ *Tests the condition and if it is false, sets -+ *status to "CR_PARSING_ERROR" and goto the 'error' -+ *label. -+ *@param condition the condition to test. -+ */ -+#define ENSURE_PARSING_COND(condition) \ -+if (! (condition)) {status = CR_PARSING_ERROR; goto error ;} -+ -+#define ENSURE_PARSING_COND_ERR(a_this, a_condition, \ -+ a_err_msg, a_err_status) \ -+if (! (a_condition)) \ -+{ \ -+ status = CR_PARSING_ERROR; \ -+ cr_parser_push_error (a_this, a_err_msg, a_err_status) ; \ -+ goto error ; \ -+} -+ -+#define GET_NEXT_TOKEN(a_this, a_token_ptr) \ -+status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, \ -+ a_token_ptr) ; \ -+ENSURE_PARSING_COND (status == CR_OK) ; -+ -+#ifdef WITH_UNICODE_ESCAPE_AND_RANGE -+static enum CRStatus cr_parser_parse_unicode_escape (CRParser * a_this, -+ guint32 * a_unicode); -+static enum CRStatus cr_parser_parse_escape (CRParser * a_this, -+ guint32 * a_esc_code); -+ -+static enum CRStatus cr_parser_parse_unicode_range (CRParser * a_this, -+ CRString ** a_inf, -+ CRString ** a_sup); -+#endif -+ -+static enum CRStatus cr_parser_parse_stylesheet_core (CRParser * a_this); -+ -+static enum CRStatus cr_parser_parse_atrule_core (CRParser * a_this); -+ -+static enum CRStatus cr_parser_parse_ruleset_core (CRParser * a_this); -+ -+static enum CRStatus cr_parser_parse_selector_core (CRParser * a_this); -+ -+static enum CRStatus cr_parser_parse_declaration_core (CRParser * a_this); -+ -+static enum CRStatus cr_parser_parse_any_core (CRParser * a_this); -+ -+static enum CRStatus cr_parser_parse_block_core (CRParser * a_this); -+ -+static enum CRStatus cr_parser_parse_value_core (CRParser * a_this); -+ -+static enum CRStatus cr_parser_parse_string (CRParser * a_this, -+ CRString ** a_str); -+ -+static enum CRStatus cr_parser_parse_ident (CRParser * a_this, -+ CRString ** a_str); -+ -+static enum CRStatus cr_parser_parse_uri (CRParser * a_this, -+ CRString ** a_str); -+ -+static enum CRStatus cr_parser_parse_function (CRParser * a_this, -+ CRString ** a_func_name, -+ CRTerm ** a_expr); -+static enum CRStatus cr_parser_parse_property (CRParser * a_this, -+ CRString ** a_property); -+ -+static enum CRStatus cr_parser_parse_attribute_selector (CRParser * a_this, -+ CRAttrSel ** a_sel); -+ -+static enum CRStatus cr_parser_parse_simple_selector (CRParser * a_this, -+ CRSimpleSel ** a_sel); -+ -+static enum CRStatus cr_parser_parse_simple_sels (CRParser * a_this, -+ CRSimpleSel ** a_sel); -+ -+static CRParserError *cr_parser_error_new (const guchar * a_msg, -+ enum CRStatus); -+ -+static void cr_parser_error_set_msg (CRParserError * a_this, -+ const guchar * a_msg); -+ -+static void cr_parser_error_dump (CRParserError * a_this); -+ -+static void cr_parser_error_set_status (CRParserError * a_this, -+ enum CRStatus a_status); -+ -+static void cr_parser_error_set_pos (CRParserError * a_this, -+ glong a_line, -+ glong a_column, glong a_byte_num); -+static void -+ cr_parser_error_destroy (CRParserError * a_this); -+ -+static enum CRStatus cr_parser_push_error (CRParser * a_this, -+ const guchar * a_msg, -+ enum CRStatus a_status); -+ -+static enum CRStatus cr_parser_dump_err_stack (CRParser * a_this, -+ gboolean a_clear_errs); -+static enum CRStatus -+ cr_parser_clear_errors (CRParser * a_this); -+ -+/***************************** -+ *error managemet methods -+ *****************************/ -+ -+/** -+ *Constructor of #CRParserError class. -+ *@param a_msg the brute error message. -+ *@param a_status the error status. -+ *@return the newly built instance of #CRParserError. -+ */ -+static CRParserError * -+cr_parser_error_new (const guchar * a_msg, enum CRStatus a_status) -+{ -+ CRParserError *result = NULL; -+ -+ result = g_try_malloc (sizeof (CRParserError)); -+ -+ if (result == NULL) { -+ cr_utils_trace_info ("Out of memory"); -+ return NULL; -+ } -+ -+ memset (result, 0, sizeof (CRParserError)); -+ -+ cr_parser_error_set_msg (result, a_msg); -+ cr_parser_error_set_status (result, a_status); -+ -+ return result; -+} -+ -+/** -+ *Sets the message associated to this instance of #CRError. -+ *@param a_this the current instance of #CRParserError. -+ *@param a_msg the new message. -+ */ -+static void -+cr_parser_error_set_msg (CRParserError * a_this, const guchar * a_msg) -+{ -+ g_return_if_fail (a_this); -+ -+ if (a_this->msg) { -+ g_free (a_this->msg); -+ } -+ -+ a_this->msg = (guchar *) g_strdup ((const gchar *) a_msg); -+} -+ -+/** -+ *Sets the error status. -+ *@param a_this the current instance of #CRParserError. -+ *@param a_status the new error status. -+ * -+ */ -+static void -+cr_parser_error_set_status (CRParserError * a_this, enum CRStatus a_status) -+{ -+ g_return_if_fail (a_this); -+ -+ a_this->status = a_status; -+} -+ -+/** -+ *Sets the position of the parser error. -+ *@param a_this the current instance of #CRParserError. -+ *@param a_line the line number. -+ *@param a_column the column number. -+ *@param a_byte_num the byte number. -+ */ -+static void -+cr_parser_error_set_pos (CRParserError * a_this, -+ glong a_line, glong a_column, glong a_byte_num) -+{ -+ g_return_if_fail (a_this); -+ -+ a_this->line = a_line; -+ a_this->column = a_column; -+ a_this->byte_num = a_byte_num; -+} -+ -+static void -+cr_parser_error_dump (CRParserError * a_this) -+{ -+ g_return_if_fail (a_this); -+ -+ g_printerr ("parsing error: %ld:%ld:", a_this->line, a_this->column); -+ -+ g_printerr ("%s\n", a_this->msg); -+} -+ -+/** -+ *The destructor of #CRParserError. -+ *@param a_this the current instance of #CRParserError. -+ */ -+static void -+cr_parser_error_destroy (CRParserError * a_this) -+{ -+ g_return_if_fail (a_this); -+ -+ if (a_this->msg) { -+ g_free (a_this->msg); -+ a_this->msg = NULL; -+ } -+ -+ g_free (a_this); -+} -+ -+/** -+ *Pushes an error on the parser error stack. -+ *@param a_this the current instance of #CRParser. -+ *@param a_msg the error message. -+ *@param a_status the error status. -+ *@return CR_OK upon successfull completion, an error code otherwise. -+ */ -+static enum CRStatus -+cr_parser_push_error (CRParser * a_this, -+ const guchar * a_msg, enum CRStatus a_status) -+{ -+ enum CRStatus status = CR_OK; -+ -+ CRParserError *error = NULL; -+ CRInputPos pos; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && a_msg, CR_BAD_PARAM_ERROR); -+ -+ error = cr_parser_error_new (a_msg, a_status); -+ -+ g_return_val_if_fail (error, CR_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &pos); -+ -+ cr_parser_error_set_pos -+ (error, pos.line, pos.col, pos.next_byte_index - 1); -+ -+ PRIVATE (a_this)->err_stack = -+ g_list_prepend (PRIVATE (a_this)->err_stack, error); -+ -+ if (PRIVATE (a_this)->err_stack == NULL) -+ goto error; -+ -+ return CR_OK; -+ -+ error: -+ -+ if (error) { -+ cr_parser_error_destroy (error); -+ error = NULL; -+ } -+ -+ return status; -+} -+ -+/** -+ *Dumps the error stack on stdout. -+ *@param a_this the current instance of #CRParser. -+ *@param a_clear_errs whether to clear the error stack -+ *after the dump or not. -+ *@return CR_OK upon successfull completion, an error code -+ *otherwise. -+ */ -+static enum CRStatus -+cr_parser_dump_err_stack (CRParser * a_this, gboolean a_clear_errs) -+{ -+ GList *cur = NULL; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR); -+ -+ if (PRIVATE (a_this)->err_stack == NULL) -+ return CR_OK; -+ -+ for (cur = PRIVATE (a_this)->err_stack; cur; cur = cur->next) { -+ cr_parser_error_dump ((CRParserError *) cur->data); -+ } -+ -+ if (a_clear_errs == TRUE) { -+ cr_parser_clear_errors (a_this); -+ } -+ -+ return CR_OK; -+} -+ -+/** -+ *Clears all the errors contained in the parser error stack. -+ *Frees all the errors, and the stack that contains'em. -+ *@param a_this the current instance of #CRParser. -+ */ -+static enum CRStatus -+cr_parser_clear_errors (CRParser * a_this) -+{ -+ GList *cur = NULL; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR); -+ -+ for (cur = PRIVATE (a_this)->err_stack; cur; cur = cur->next) { -+ if (cur->data) { -+ cr_parser_error_destroy ((CRParserError *) -+ cur->data); -+ } -+ } -+ -+ if (PRIVATE (a_this)->err_stack) { -+ g_list_free (PRIVATE (a_this)->err_stack); -+ PRIVATE (a_this)->err_stack = NULL; -+ } -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_parser_try_to_skip_spaces_and_comments: -+ *@a_this: the current instance of #CRParser. -+ * -+ *Same as cr_parser_try_to_skip_spaces() but this one skips -+ *spaces and comments. -+ * -+ *Returns CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_parser_try_to_skip_spaces_and_comments (CRParser * a_this) -+{ -+ enum CRStatus status = CR_ERROR; -+ CRToken *token = NULL; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->tknzr, CR_BAD_PARAM_ERROR); -+ do { -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, -+ &token); -+ if (status != CR_OK) -+ goto error; -+ } -+ while ((token != NULL) -+ && (token->type == COMMENT_TK || token->type == S_TK)); -+ -+ cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, token); -+ -+ return status; -+ -+ error: -+ -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ return status; -+} -+ -+/*************************************** -+ *End of Parser input handling routines -+ ***************************************/ -+ -+ -+/************************************* -+ *Non trivial terminal productions -+ *parsing routines -+ *************************************/ -+ -+/** -+ *Parses a css stylesheet following the core css grammar. -+ *This is mainly done for test purposes. -+ *During the parsing, no callback is called. This is just -+ *to validate that the stylesheet is well formed according to the -+ *css core syntax. -+ *stylesheet : [ CDO | CDC | S | statement ]*; -+ *@param a_this the current instance of #CRParser. -+ *@return CR_OK upon successful completion, an error code otherwise. -+ */ -+static enum CRStatus -+cr_parser_parse_stylesheet_core (CRParser * a_this) -+{ -+ CRToken *token = NULL; -+ CRInputPos init_pos; -+ enum CRStatus status = CR_ERROR; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ continue_parsing: -+ -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token); -+ if (status == CR_END_OF_INPUT_ERROR) { -+ status = CR_OK; -+ goto done; -+ } else if (status != CR_OK) { -+ goto error; -+ } -+ -+ switch (token->type) { -+ -+ case CDO_TK: -+ case CDC_TK: -+ goto continue_parsing; -+ break; -+ default: -+ status = cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, -+ token); -+ CHECK_PARSING_STATUS (status, TRUE); -+ token = NULL; -+ status = cr_parser_parse_statement_core (a_this); -+ cr_parser_clear_errors (a_this); -+ if (status == CR_OK) { -+ goto continue_parsing; -+ } else if (status == CR_END_OF_INPUT_ERROR) { -+ goto done; -+ } else { -+ goto error; -+ } -+ } -+ -+ done: -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ cr_parser_clear_errors (a_this); -+ return CR_OK; -+ -+ error: -+ cr_parser_push_error -+ (a_this, (const guchar *) "could not recognize next production", CR_ERROR); -+ -+ cr_parser_dump_err_stack (a_this, TRUE); -+ -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ cr_tknzr_set_cur_pos (PRIVATE (a_this)->tknzr, &init_pos); -+ -+ return status; -+} -+ -+/** -+ *Parses an at-rule as defined by the css core grammar -+ *in chapter 4.1 in the css2 spec. -+ *at-rule : ATKEYWORD S* any* [ block | ';' S* ]; -+ *@param a_this the current instance of #CRParser. -+ *@return CR_OK upon successfull completion, an error code -+ *otherwise. -+ */ -+static enum CRStatus -+cr_parser_parse_atrule_core (CRParser * a_this) -+{ -+ CRToken *token = NULL; -+ CRInputPos init_pos; -+ enum CRStatus status = CR_ERROR; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, -+ &token); -+ ENSURE_PARSING_COND (status == CR_OK -+ && token -+ && -+ (token->type == ATKEYWORD_TK -+ || token->type == IMPORT_SYM_TK -+ || token->type == PAGE_SYM_TK -+ || token->type == MEDIA_SYM_TK -+ || token->type == FONT_FACE_SYM_TK -+ || token->type == CHARSET_SYM_TK)); -+ -+ cr_token_destroy (token); -+ token = NULL; -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ do { -+ status = cr_parser_parse_any_core (a_this); -+ } while (status == CR_OK); -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, -+ &token); -+ ENSURE_PARSING_COND (status == CR_OK && token); -+ -+ if (token->type == CBO_TK) { -+ cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, -+ token); -+ token = NULL; -+ status = cr_parser_parse_block_core (a_this); -+ CHECK_PARSING_STATUS (status, -+ FALSE); -+ goto done; -+ } else if (token->type == SEMICOLON_TK) { -+ goto done; -+ } else { -+ status = CR_PARSING_ERROR ; -+ goto error; -+ } -+ -+ done: -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ return CR_OK; -+ -+ error: -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ cr_tknzr_set_cur_pos (PRIVATE (a_this)->tknzr, -+ &init_pos); -+ return status; -+} -+ -+/** -+ *Parses a ruleset as defined by the css core grammar in chapter -+ *4.1 of the css2 spec. -+ *ruleset ::= selector? '{' S* declaration? [ ';' S* declaration? ]* '}' S*; -+ *@param a_this the current instance of #CRParser. -+ *@return CR_OK upon successfull completion, an error code otherwise. -+ */ -+static enum CRStatus -+cr_parser_parse_ruleset_core (CRParser * a_this) -+{ -+ CRToken *token = NULL; -+ CRInputPos init_pos; -+ enum CRStatus status = CR_ERROR; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR); -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ status = cr_parser_parse_selector_core (a_this); -+ -+ ENSURE_PARSING_COND (status == CR_OK -+ || status == CR_PARSING_ERROR -+ || status == CR_END_OF_INPUT_ERROR); -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token); -+ ENSURE_PARSING_COND (status == CR_OK && token -+ && token->type == CBO_TK); -+ cr_token_destroy (token); -+ token = NULL; -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ status = cr_parser_parse_declaration_core (a_this); -+ -+ parse_declaration_list: -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token); -+ ENSURE_PARSING_COND (status == CR_OK && token); -+ if (token->type == CBC_TK) { -+ goto done; -+ } -+ -+ ENSURE_PARSING_COND (status == CR_OK -+ && token && token->type == SEMICOLON_TK); -+ -+ cr_token_destroy (token); -+ token = NULL; -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ status = cr_parser_parse_declaration_core (a_this); -+ cr_parser_clear_errors (a_this); -+ ENSURE_PARSING_COND (status == CR_OK || status == CR_PARSING_ERROR); -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token); -+ ENSURE_PARSING_COND (status == CR_OK && token); -+ if (token->type == CBC_TK) { -+ cr_token_destroy (token); -+ token = NULL; -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ goto done; -+ } else { -+ status = cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, -+ token); -+ token = NULL; -+ goto parse_declaration_list; -+ } -+ -+ done: -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ if (status == CR_OK) { -+ return CR_OK; -+ } -+ -+ error: -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ cr_tknzr_set_cur_pos (PRIVATE (a_this)->tknzr, &init_pos); -+ -+ return status; -+} -+ -+/** -+ *Parses a "selector" as specified by the css core -+ *grammar. -+ *selector : any+; -+ *@param a_this the current instance of #CRParser. -+ *@return CR_OK upon successfull completion, an error code -+ *otherwise. -+ */ -+static enum CRStatus -+cr_parser_parse_selector_core (CRParser * a_this) -+{ -+ CRToken *token = NULL; -+ CRInputPos init_pos; -+ enum CRStatus status = CR_ERROR; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ status = cr_parser_parse_any_core (a_this); -+ CHECK_PARSING_STATUS (status, FALSE); -+ -+ do { -+ status = cr_parser_parse_any_core (a_this); -+ -+ } while (status == CR_OK); -+ -+ return CR_OK; -+ -+ error: -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ cr_tknzr_set_cur_pos (PRIVATE (a_this)->tknzr, &init_pos); -+ -+ return status; -+} -+ -+/** -+ *Parses a "block" as defined in the css core grammar -+ *in chapter 4.1 of the css2 spec. -+ *block ::= '{' S* [ any | block | ATKEYWORD S* | ';' ]* '}' S*; -+ *@param a_this the current instance of #CRParser. -+ *FIXME: code this function. -+ */ -+static enum CRStatus -+cr_parser_parse_block_core (CRParser * a_this) -+{ -+ CRToken *token = NULL; -+ CRInputPos init_pos; -+ enum CRStatus status = CR_ERROR; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token); -+ ENSURE_PARSING_COND (status == CR_OK && token -+ && token->type == CBO_TK); -+ -+ parse_block_content: -+ -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token); -+ ENSURE_PARSING_COND (status == CR_OK && token); -+ -+ if (token->type == CBC_TK) { -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ goto done; -+ } else if (token->type == SEMICOLON_TK) { -+ goto parse_block_content; -+ } else if (token->type == ATKEYWORD_TK) { -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ goto parse_block_content; -+ } else if (token->type == CBO_TK) { -+ cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, token); -+ token = NULL; -+ status = cr_parser_parse_block_core (a_this); -+ CHECK_PARSING_STATUS (status, FALSE); -+ goto parse_block_content; -+ } else { -+ cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, token); -+ token = NULL; -+ status = cr_parser_parse_any_core (a_this); -+ CHECK_PARSING_STATUS (status, FALSE); -+ goto parse_block_content; -+ } -+ -+ done: -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ if (status == CR_OK) -+ return CR_OK; -+ -+ error: -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ cr_tknzr_set_cur_pos (PRIVATE (a_this)->tknzr, &init_pos); -+ -+ return status; -+} -+ -+static enum CRStatus -+cr_parser_parse_declaration_core (CRParser * a_this) -+{ -+ CRToken *token = NULL; -+ CRInputPos init_pos; -+ enum CRStatus status = CR_ERROR; -+ CRString *prop = NULL; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ status = cr_parser_parse_property (a_this, &prop); -+ CHECK_PARSING_STATUS (status, FALSE); -+ cr_parser_clear_errors (a_this); -+ ENSURE_PARSING_COND (status == CR_OK && prop); -+ cr_string_destroy (prop); -+ prop = NULL; -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token); -+ ENSURE_PARSING_COND (status == CR_OK -+ && token -+ && token->type == DELIM_TK -+ && token->u.unichar == ':'); -+ cr_token_destroy (token); -+ token = NULL; -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ status = cr_parser_parse_value_core (a_this); -+ CHECK_PARSING_STATUS (status, FALSE); -+ -+ return CR_OK; -+ -+ error: -+ -+ if (prop) { -+ cr_string_destroy (prop); -+ prop = NULL; -+ } -+ -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ cr_tknzr_set_cur_pos (PRIVATE (a_this)->tknzr, &init_pos); -+ -+ return status; -+} -+ -+/** -+ *Parses a "value" production as defined by the css core grammar -+ *in chapter 4.1. -+ *value ::= [ any | block | ATKEYWORD S* ]+; -+ *@param a_this the current instance of #CRParser. -+ *@return CR_OK upon successfull completion, an error code otherwise. -+ */ -+static enum CRStatus -+cr_parser_parse_value_core (CRParser * a_this) -+{ -+ CRToken *token = NULL; -+ CRInputPos init_pos; -+ enum CRStatus status = CR_ERROR; -+ glong ref = 0; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR); -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ continue_parsing: -+ -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token); -+ ENSURE_PARSING_COND (status == CR_OK && token); -+ -+ switch (token->type) { -+ case CBO_TK: -+ status = cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, -+ token); -+ token = NULL; -+ status = cr_parser_parse_block_core (a_this); -+ CHECK_PARSING_STATUS (status, FALSE); -+ ref++; -+ goto continue_parsing; -+ -+ case ATKEYWORD_TK: -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ ref++; -+ goto continue_parsing; -+ -+ default: -+ status = cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, -+ token); -+ token = NULL; -+ status = cr_parser_parse_any_core (a_this); -+ if (status == CR_OK) { -+ ref++; -+ goto continue_parsing; -+ } else if (status == CR_PARSING_ERROR) { -+ status = CR_OK; -+ goto done; -+ } else { -+ goto error; -+ } -+ } -+ -+ done: -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ if (status == CR_OK && ref) -+ return CR_OK; -+ error: -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ cr_tknzr_set_cur_pos (PRIVATE (a_this)->tknzr, &init_pos); -+ -+ return status; -+} -+ -+/** -+ *Parses an "any" as defined by the css core grammar in the -+ *css2 spec in chapter 4.1. -+ *any ::= [ IDENT | NUMBER | PERCENTAGE | DIMENSION | STRING -+ * | DELIM | URI | HASH | UNICODE-RANGE | INCLUDES -+ * | FUNCTION | DASHMATCH | '(' any* ')' | '[' any* ']' ] S*; -+ * -+ *@param a_this the current instance of #CRParser. -+ *@return CR_OK upon successfull completion, an error code otherwise. -+ */ -+static enum CRStatus -+cr_parser_parse_any_core (CRParser * a_this) -+{ -+ CRToken *token1 = NULL, -+ *token2 = NULL; -+ CRInputPos init_pos; -+ enum CRStatus status = CR_ERROR; -+ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token1); -+ -+ ENSURE_PARSING_COND (status == CR_OK && token1); -+ -+ switch (token1->type) { -+ case IDENT_TK: -+ case NUMBER_TK: -+ case RGB_TK: -+ case PERCENTAGE_TK: -+ case DIMEN_TK: -+ case EMS_TK: -+ case EXS_TK: -+ case LENGTH_TK: -+ case ANGLE_TK: -+ case FREQ_TK: -+ case TIME_TK: -+ case STRING_TK: -+ case DELIM_TK: -+ case URI_TK: -+ case HASH_TK: -+ case UNICODERANGE_TK: -+ case INCLUDES_TK: -+ case DASHMATCH_TK: -+ case S_TK: -+ case COMMENT_TK: -+ case IMPORTANT_SYM_TK: -+ status = CR_OK; -+ break; -+ case FUNCTION_TK: -+ /* -+ *this case isn't specified by the spec but it -+ *does happen. So we have to handle it. -+ *We must consider function with parameters. -+ *We consider parameter as being an "any*" production. -+ */ -+ do { -+ status = cr_parser_parse_any_core (a_this); -+ } while (status == CR_OK); -+ -+ ENSURE_PARSING_COND (status == CR_PARSING_ERROR); -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, -+ &token2); -+ ENSURE_PARSING_COND (status == CR_OK -+ && token2 && token2->type == PC_TK); -+ break; -+ case PO_TK: -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, -+ &token2); -+ ENSURE_PARSING_COND (status == CR_OK && token2); -+ -+ if (token2->type == PC_TK) { -+ cr_token_destroy (token2); -+ token2 = NULL; -+ goto done; -+ } else { -+ status = cr_tknzr_unget_token -+ (PRIVATE (a_this)->tknzr, token2); -+ token2 = NULL; -+ } -+ -+ do { -+ status = cr_parser_parse_any_core (a_this); -+ } while (status == CR_OK); -+ -+ ENSURE_PARSING_COND (status == CR_PARSING_ERROR); -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, -+ &token2); -+ ENSURE_PARSING_COND (status == CR_OK -+ && token2 && token2->type == PC_TK); -+ status = CR_OK; -+ break; -+ -+ case BO_TK: -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, -+ &token2); -+ ENSURE_PARSING_COND (status == CR_OK && token2); -+ -+ if (token2->type == BC_TK) { -+ cr_token_destroy (token2); -+ token2 = NULL; -+ goto done; -+ } else { -+ status = cr_tknzr_unget_token -+ (PRIVATE (a_this)->tknzr, token2); -+ token2 = NULL; -+ } -+ -+ do { -+ status = cr_parser_parse_any_core (a_this); -+ } while (status == CR_OK); -+ -+ ENSURE_PARSING_COND (status == CR_PARSING_ERROR); -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, -+ &token2); -+ ENSURE_PARSING_COND (status == CR_OK -+ && token2 && token2->type == BC_TK); -+ status = CR_OK; -+ break; -+ default: -+ status = CR_PARSING_ERROR; -+ goto error; -+ } -+ -+ done: -+ if (token1) { -+ cr_token_destroy (token1); -+ token1 = NULL; -+ } -+ -+ if (token2) { -+ cr_token_destroy (token2); -+ token2 = NULL; -+ } -+ -+ return CR_OK; -+ -+ error: -+ -+ if (token1) { -+ cr_token_destroy (token1); -+ token1 = NULL; -+ } -+ -+ if (token2) { -+ cr_token_destroy (token2); -+ token2 = NULL; -+ } -+ -+ cr_tknzr_set_cur_pos (PRIVATE (a_this)->tknzr, &init_pos); -+ return status; -+} -+ -+/** -+ *Parses an attribute selector as defined in the css2 spec in -+ *appendix D.1: -+ *attrib ::= '[' S* IDENT S* [ [ '=' | INCLUDES | DASHMATCH ] S* -+ * [ IDENT | STRING ] S* ]? ']' -+ * -+ *@param a_this the "this pointer" of the current instance of -+ *#CRParser . -+ *@param a_sel out parameter. The successfully parsed attribute selector. -+ *@return CR_OK upon successfull completion, an error code otherwise. -+ */ -+static enum CRStatus -+cr_parser_parse_attribute_selector (CRParser * a_this, -+ CRAttrSel ** a_sel) -+{ -+ enum CRStatus status = CR_OK; -+ CRInputPos init_pos; -+ CRToken *token = NULL; -+ CRAttrSel *result = NULL; -+ CRParsingLocation location = {0} ; -+ -+ g_return_val_if_fail (a_this && a_sel, CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token); -+ ENSURE_PARSING_COND (status == CR_OK && token -+ && token->type == BO_TK); -+ cr_parsing_location_copy -+ (&location, &token->location) ; -+ cr_token_destroy (token); -+ token = NULL; -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ result = cr_attr_sel_new (); -+ if (!result) { -+ cr_utils_trace_info ("result failed") ; -+ status = CR_OUT_OF_MEMORY_ERROR ; -+ goto error ; -+ } -+ cr_parsing_location_copy (&result->location, -+ &location) ; -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token); -+ ENSURE_PARSING_COND (status == CR_OK -+ && token && token->type == IDENT_TK); -+ -+ result->name = token->u.str; -+ token->u.str = NULL; -+ cr_token_destroy (token); -+ token = NULL; -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token); -+ ENSURE_PARSING_COND (status == CR_OK && token); -+ -+ if (token->type == INCLUDES_TK) { -+ result->match_way = INCLUDES; -+ goto parse_right_part; -+ } else if (token->type == DASHMATCH_TK) { -+ result->match_way = DASHMATCH; -+ goto parse_right_part; -+ } else if (token->type == DELIM_TK && token->u.unichar == '=') { -+ result->match_way = EQUALS; -+ goto parse_right_part; -+ } else if (token->type == BC_TK) { -+ result->match_way = SET; -+ goto done; -+ } -+ -+ parse_right_part: -+ -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token); -+ ENSURE_PARSING_COND (status == CR_OK && token); -+ -+ if (token->type == IDENT_TK) { -+ result->value = token->u.str; -+ token->u.str = NULL; -+ } else if (token->type == STRING_TK) { -+ result->value = token->u.str; -+ token->u.str = NULL; -+ } else { -+ status = CR_PARSING_ERROR; -+ goto error; -+ } -+ -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token); -+ -+ ENSURE_PARSING_COND (status == CR_OK && token -+ && token->type == BC_TK); -+ done: -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ if (*a_sel) { -+ status = cr_attr_sel_append_attr_sel (*a_sel, result); -+ CHECK_PARSING_STATUS (status, FALSE); -+ } else { -+ *a_sel = result; -+ } -+ -+ cr_parser_clear_errors (a_this); -+ return CR_OK; -+ -+ error: -+ -+ if (result) { -+ cr_attr_sel_destroy (result); -+ result = NULL; -+ } -+ -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ cr_tknzr_set_cur_pos (PRIVATE (a_this)->tknzr, &init_pos); -+ -+ return status; -+} -+ -+/** -+ *Parses a "property" as specified by the css2 spec at [4.1.1]: -+ *property : IDENT S*; -+ * -+ *@param a_this the "this pointer" of the current instance of #CRParser. -+ *@param GString a_property out parameter. The parsed property without the -+ *trailing spaces. If *a_property is NULL, this function allocates a -+ *new instance of GString and set it content to the parsed property. -+ *If not, the property is just appended to a_property's previous content. -+ *In both cases, it is up to the caller to free a_property. -+ *@return CR_OK upon successfull completion, CR_PARSING_ERROR if the -+ *next construction was not a "property", or an error code. -+ */ -+static enum CRStatus -+cr_parser_parse_property (CRParser * a_this, -+ CRString ** a_property) -+{ -+ enum CRStatus status = CR_OK; -+ CRInputPos init_pos; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->tknzr -+ && a_property, -+ CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ status = cr_parser_parse_ident (a_this, a_property); -+ CHECK_PARSING_STATUS (status, TRUE); -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ cr_parser_clear_errors (a_this); -+ return CR_OK; -+ -+ error: -+ -+ cr_tknzr_set_cur_pos (PRIVATE (a_this)->tknzr, &init_pos); -+ -+ return status; -+} -+ -+/** -+ * cr_parser_parse_term: -+ *@a_term: out parameter. The successfully parsed term. -+ * -+ *Parses a "term" as defined in the css2 spec, appendix D.1: -+ *term ::= unary_operator? [NUMBER S* | PERCENTAGE S* | LENGTH S* | -+ *EMS S* | EXS S* | ANGLE S* | TIME S* | FREQ S* | function ] | -+ *STRING S* | IDENT S* | URI S* | RGB S* | UNICODERANGE S* | hexcolor -+ * -+ *TODO: handle parsing of 'RGB' -+ * -+ *Returns CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_parser_parse_term (CRParser * a_this, CRTerm ** a_term) -+{ -+ enum CRStatus status = CR_PARSING_ERROR; -+ CRInputPos init_pos; -+ CRTerm *result = NULL; -+ CRTerm *param = NULL; -+ CRToken *token = NULL; -+ CRString *func_name = NULL; -+ CRParsingLocation location = {0} ; -+ -+ g_return_val_if_fail (a_this && a_term, CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ result = cr_term_new (); -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, -+ &token); -+ if (status != CR_OK || !token) -+ goto error; -+ -+ cr_parsing_location_copy (&location, &token->location) ; -+ if (token->type == DELIM_TK && token->u.unichar == '+') { -+ result->unary_op = PLUS_UOP; -+ cr_token_destroy (token) ; -+ token = NULL ; -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, -+ &token); -+ if (status != CR_OK || !token) -+ goto error; -+ } else if (token->type == DELIM_TK && token->u.unichar == '-') { -+ result->unary_op = MINUS_UOP; -+ cr_token_destroy (token) ; -+ token = NULL ; -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, -+ &token); -+ if (status != CR_OK || !token) -+ goto error; -+ } -+ -+ if (token->type == EMS_TK -+ || token->type == EXS_TK -+ || token->type == LENGTH_TK -+ || token->type == ANGLE_TK -+ || token->type == TIME_TK -+ || token->type == FREQ_TK -+ || token->type == PERCENTAGE_TK -+ || token->type == NUMBER_TK) { -+ status = cr_term_set_number (result, token->u.num); -+ CHECK_PARSING_STATUS (status, TRUE); -+ token->u.num = NULL; -+ status = CR_OK; -+ } else if (token && token->type == FUNCTION_TK) { -+ status = cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, -+ token); -+ token = NULL; -+ status = cr_parser_parse_function (a_this, &func_name, -+ ¶m); -+ -+ if (status == CR_OK) { -+ status = cr_term_set_function (result, -+ func_name, -+ param); -+ CHECK_PARSING_STATUS (status, TRUE); -+ } -+ } else if (token && token->type == STRING_TK) { -+ status = cr_term_set_string (result, -+ token->u.str); -+ CHECK_PARSING_STATUS (status, TRUE); -+ token->u.str = NULL; -+ } else if (token && token->type == IDENT_TK) { -+ status = cr_term_set_ident (result, token->u.str); -+ CHECK_PARSING_STATUS (status, TRUE); -+ token->u.str = NULL; -+ } else if (token && token->type == URI_TK) { -+ status = cr_term_set_uri (result, token->u.str); -+ CHECK_PARSING_STATUS (status, TRUE); -+ token->u.str = NULL; -+ } else if (token && token->type == RGB_TK) { -+ status = cr_term_set_rgb (result, token->u.rgb); -+ CHECK_PARSING_STATUS (status, TRUE); -+ token->u.rgb = NULL; -+ } else if (token && token->type == UNICODERANGE_TK) { -+ result->type = TERM_UNICODERANGE; -+ status = CR_PARSING_ERROR; -+ } else if (token && token->type == HASH_TK) { -+ status = cr_term_set_hash (result, token->u.str); -+ CHECK_PARSING_STATUS (status, TRUE); -+ token->u.str = NULL; -+ } else { -+ status = CR_PARSING_ERROR; -+ } -+ -+ if (status != CR_OK) { -+ goto error; -+ } -+ cr_parsing_location_copy (&result->location, -+ &location) ; -+ *a_term = cr_term_append_term (*a_term, result); -+ -+ result = NULL; -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ cr_parser_clear_errors (a_this); -+ return CR_OK; -+ -+ error: -+ -+ if (result) { -+ cr_term_destroy (result); -+ result = NULL; -+ } -+ -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ if (param) { -+ cr_term_destroy (param); -+ param = NULL; -+ } -+ -+ if (func_name) { -+ cr_string_destroy (func_name); -+ func_name = NULL; -+ } -+ -+ cr_tknzr_set_cur_pos (PRIVATE (a_this)->tknzr, &init_pos); -+ -+ return status; -+} -+ -+/** -+ * cr_parser_parse_simple_selector: -+ *@a_this: the "this pointer" of the current instance of #CRParser. -+ *@a_sel: out parameter. Is set to the successfully parsed simple -+ *selector. -+ * -+ *Parses a "simple_selector" as defined by the css2 spec in appendix D.1 : -+ *element_name? [ HASH | class | attrib | pseudo ]* S* -+ *and where pseudo is: -+ *pseudo ::= ':' [ IDENT | FUNCTION S* IDENT S* ')' ] -+ * -+ *Returns CR_OK upon successfull completion, an error code otherwise. -+ */ -+static enum CRStatus -+cr_parser_parse_simple_selector (CRParser * a_this, CRSimpleSel ** a_sel) -+{ -+ enum CRStatus status = CR_ERROR; -+ CRInputPos init_pos; -+ CRToken *token = NULL; -+ CRSimpleSel *sel = NULL; -+ CRAdditionalSel *add_sel_list = NULL; -+ gboolean found_sel = FALSE; -+ guint32 cur_char = 0; -+ -+ g_return_val_if_fail (a_this && a_sel, CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token); -+ if (status != CR_OK) -+ goto error; -+ -+ sel = cr_simple_sel_new (); -+ ENSURE_PARSING_COND (sel); -+ -+ cr_parsing_location_copy -+ (&sel->location, -+ &token->location) ; -+ -+ if (token && token->type == DELIM_TK -+ && token->u.unichar == '*') { -+ sel->type_mask |= UNIVERSAL_SELECTOR; -+ sel->name = cr_string_new_from_string ("*"); -+ found_sel = TRUE; -+ } else if (token && token->type == IDENT_TK) { -+ sel->name = token->u.str; -+ sel->type_mask |= TYPE_SELECTOR; -+ token->u.str = NULL; -+ found_sel = TRUE; -+ } else { -+ status = cr_tknzr_unget_token -+ (PRIVATE (a_this)->tknzr, -+ token); -+ token = NULL; -+ } -+ -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ for (;;) { -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ status = cr_tknzr_get_next_token -+ (PRIVATE (a_this)->tknzr, -+ &token); -+ if (status != CR_OK) -+ goto error; -+ -+ if (token && token->type == HASH_TK) { -+ /*we parsed an attribute id */ -+ CRAdditionalSel *add_sel = NULL; -+ -+ add_sel = cr_additional_sel_new_with_type -+ (ID_ADD_SELECTOR); -+ -+ add_sel->content.id_name = token->u.str; -+ token->u.str = NULL; -+ -+ cr_parsing_location_copy -+ (&add_sel->location, -+ &token->location) ; -+ add_sel_list = -+ cr_additional_sel_append -+ (add_sel_list, add_sel); -+ found_sel = TRUE; -+ } else if (token && (token->type == DELIM_TK) -+ && (token->u.unichar == '.')) { -+ cr_token_destroy (token); -+ token = NULL; -+ -+ status = cr_tknzr_get_next_token -+ (PRIVATE (a_this)->tknzr, &token); -+ if (status != CR_OK) -+ goto error; -+ -+ if (token && token->type == IDENT_TK) { -+ CRAdditionalSel *add_sel = NULL; -+ -+ add_sel = cr_additional_sel_new_with_type -+ (CLASS_ADD_SELECTOR); -+ -+ add_sel->content.class_name = token->u.str; -+ token->u.str = NULL; -+ -+ add_sel_list = -+ cr_additional_sel_append -+ (add_sel_list, add_sel); -+ found_sel = TRUE; -+ -+ cr_parsing_location_copy -+ (&add_sel->location, -+ & token->location) ; -+ } else { -+ status = CR_PARSING_ERROR; -+ goto error; -+ } -+ } else if (token && token->type == BO_TK) { -+ CRAttrSel *attr_sel = NULL; -+ CRAdditionalSel *add_sel = NULL; -+ -+ status = cr_tknzr_unget_token -+ (PRIVATE (a_this)->tknzr, token); -+ if (status != CR_OK) -+ goto error; -+ token = NULL; -+ -+ status = cr_parser_parse_attribute_selector -+ (a_this, &attr_sel); -+ CHECK_PARSING_STATUS (status, FALSE); -+ -+ add_sel = cr_additional_sel_new_with_type -+ (ATTRIBUTE_ADD_SELECTOR); -+ -+ ENSURE_PARSING_COND (add_sel != NULL); -+ -+ add_sel->content.attr_sel = attr_sel; -+ -+ add_sel_list = -+ cr_additional_sel_append -+ (add_sel_list, add_sel); -+ found_sel = TRUE; -+ cr_parsing_location_copy -+ (&add_sel->location, -+ &attr_sel->location) ; -+ } else if (token && (token->type == DELIM_TK) -+ && (token->u.unichar == ':')) { -+ CRPseudo *pseudo = NULL; -+ -+ /*try to parse a pseudo */ -+ -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ pseudo = cr_pseudo_new (); -+ -+ status = cr_tknzr_get_next_token -+ (PRIVATE (a_this)->tknzr, &token); -+ ENSURE_PARSING_COND (status == CR_OK && token); -+ -+ cr_parsing_location_copy -+ (&pseudo->location, -+ &token->location) ; -+ -+ if (token->type == IDENT_TK) { -+ pseudo->type = IDENT_PSEUDO; -+ pseudo->name = token->u.str; -+ token->u.str = NULL; -+ found_sel = TRUE; -+ } else if (token->type == FUNCTION_TK) { -+ pseudo->name = token->u.str; -+ token->u.str = NULL; -+ cr_parser_try_to_skip_spaces_and_comments -+ (a_this); -+ status = cr_parser_parse_ident -+ (a_this, &pseudo->extra); -+ -+ ENSURE_PARSING_COND (status == CR_OK); -+ READ_NEXT_CHAR (a_this, &cur_char); -+ ENSURE_PARSING_COND (cur_char == ')'); -+ pseudo->type = FUNCTION_PSEUDO; -+ found_sel = TRUE; -+ } else { -+ status = CR_PARSING_ERROR; -+ goto error; -+ } -+ -+ if (status == CR_OK) { -+ CRAdditionalSel *add_sel = NULL; -+ -+ add_sel = cr_additional_sel_new_with_type -+ (PSEUDO_CLASS_ADD_SELECTOR); -+ -+ add_sel->content.pseudo = pseudo; -+ cr_parsing_location_copy -+ (&add_sel->location, -+ &pseudo->location) ; -+ add_sel_list = -+ cr_additional_sel_append -+ (add_sel_list, add_sel); -+ status = CR_OK; -+ } -+ } else { -+ status = cr_tknzr_unget_token -+ (PRIVATE (a_this)->tknzr, token); -+ token = NULL; -+ break; -+ } -+ } -+ -+ if (status == CR_OK && found_sel == TRUE) { -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ sel->add_sel = add_sel_list; -+ add_sel_list = NULL; -+ -+ if (*a_sel == NULL) { -+ *a_sel = sel; -+ } else { -+ cr_simple_sel_append_simple_sel (*a_sel, sel); -+ } -+ -+ sel = NULL; -+ -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ cr_parser_clear_errors (a_this); -+ return CR_OK; -+ } else { -+ status = CR_PARSING_ERROR; -+ } -+ -+ error: -+ -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ if (add_sel_list) { -+ cr_additional_sel_destroy (add_sel_list); -+ add_sel_list = NULL; -+ } -+ -+ if (sel) { -+ cr_simple_sel_destroy (sel); -+ sel = NULL; -+ } -+ -+ cr_tknzr_set_cur_pos (PRIVATE (a_this)->tknzr, &init_pos); -+ -+ return status; -+ -+} -+ -+/** -+ * cr_parser_parse_simple_sels: -+ *@a_this: the this pointer of the current instance of #CRParser. -+ *@a_start: a pointer to the -+ *first chararcter of the successfully parsed -+ *string. -+ *@a_end: a pointer to the last character of the successfully parsed -+ *string. -+ * -+ *Parses a "selector" as defined by the css2 spec in appendix D.1: -+ *selector ::= simple_selector [ combinator simple_selector ]* -+ * -+ *Returns CR_OK upon successfull completion, an error code otherwise. -+ */ -+static enum CRStatus -+cr_parser_parse_simple_sels (CRParser * a_this, -+ CRSimpleSel ** a_sel) -+{ -+ enum CRStatus status = CR_ERROR; -+ CRInputPos init_pos; -+ CRSimpleSel *sel = NULL; -+ guint32 cur_char = 0; -+ -+ g_return_val_if_fail (a_this -+ && PRIVATE (a_this) -+ && a_sel, -+ CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ status = cr_parser_parse_simple_selector (a_this, &sel); -+ CHECK_PARSING_STATUS (status, FALSE); -+ -+ *a_sel = cr_simple_sel_append_simple_sel (*a_sel, sel); -+ -+ for (;;) { -+ guint32 next_char = 0; -+ enum Combinator comb = 0; -+ -+ sel = NULL; -+ -+ PEEK_NEXT_CHAR (a_this, &next_char); -+ -+ if (next_char == '+') { -+ READ_NEXT_CHAR (a_this, &cur_char); -+ comb = COMB_PLUS; -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ } else if (next_char == '>') { -+ READ_NEXT_CHAR (a_this, &cur_char); -+ comb = COMB_GT; -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ } else { -+ comb = COMB_WS; -+ } -+ -+ status = cr_parser_parse_simple_selector (a_this, &sel); -+ if (status != CR_OK) -+ break; -+ -+ if (comb && sel) { -+ sel->combinator = comb; -+ comb = 0; -+ } -+ if (sel) { -+ *a_sel = cr_simple_sel_append_simple_sel (*a_sel, -+ sel) ; -+ } -+ } -+ cr_parser_clear_errors (a_this); -+ return CR_OK; -+ -+ error: -+ -+ cr_tknzr_set_cur_pos (PRIVATE (a_this)->tknzr, &init_pos); -+ -+ return status; -+} -+ -+/** -+ * cr_parser_parse_selector: -+ *@a_this: the current instance of #CRParser. -+ *@a_selector: the parsed list of comma separated -+ *selectors. -+ * -+ *Parses a comma separated list of selectors. -+ * -+ *Returns CR_OK upon successful completion, an error -+ *code otherwise. -+ */ -+static enum CRStatus -+cr_parser_parse_selector (CRParser * a_this, -+ CRSelector ** a_selector) -+{ -+ enum CRStatus status = CR_OK; -+ CRInputPos init_pos; -+ guint32 cur_char = 0, -+ next_char = 0; -+ CRSimpleSel *simple_sels = NULL; -+ CRSelector *selector = NULL; -+ -+ g_return_val_if_fail (a_this && a_selector, CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ status = cr_parser_parse_simple_sels (a_this, &simple_sels); -+ CHECK_PARSING_STATUS (status, FALSE); -+ -+ if (simple_sels) { -+ selector = cr_selector_append_simple_sel -+ (selector, simple_sels); -+ if (selector) { -+ cr_parsing_location_copy -+ (&selector->location, -+ &simple_sels->location) ; -+ } -+ simple_sels = NULL; -+ } else { -+ status = CR_PARSING_ERROR ; -+ goto error ; -+ } -+ -+ status = cr_tknzr_peek_char (PRIVATE (a_this)->tknzr, -+ &next_char); -+ if (status != CR_OK) { -+ if (status == CR_END_OF_INPUT_ERROR) { -+ status = CR_OK; -+ goto okay; -+ } else { -+ goto error; -+ } -+ } -+ -+ if (next_char == ',') { -+ for (;;) { -+ simple_sels = NULL; -+ -+ status = cr_tknzr_peek_char (PRIVATE (a_this)->tknzr, -+ &next_char); -+ if (status != CR_OK) { -+ if (status == CR_END_OF_INPUT_ERROR) { -+ status = CR_OK; -+ break; -+ } else { -+ goto error; -+ } -+ } -+ -+ if (next_char != ',') -+ break; -+ -+ /*consume the ',' char */ -+ READ_NEXT_CHAR (a_this, &cur_char); -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ status = cr_parser_parse_simple_sels -+ (a_this, &simple_sels); -+ -+ CHECK_PARSING_STATUS (status, FALSE); -+ -+ if (simple_sels) { -+ selector = -+ cr_selector_append_simple_sel -+ (selector, simple_sels); -+ -+ simple_sels = NULL; -+ } -+ } -+ } -+ -+ okay: -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ if (!*a_selector) { -+ *a_selector = selector; -+ } else { -+ *a_selector = cr_selector_append (*a_selector, selector); -+ } -+ -+ selector = NULL; -+ return CR_OK; -+ -+ error: -+ -+ if (simple_sels) { -+ cr_simple_sel_destroy (simple_sels); -+ simple_sels = NULL; -+ } -+ -+ if (selector) { -+ cr_selector_unref (selector); -+ selector = NULL; -+ } -+ -+ cr_tknzr_set_cur_pos (PRIVATE (a_this)->tknzr, &init_pos); -+ -+ return status; -+} -+ -+/** -+ * cr_parser_parse_function: -+ *@a_this: the "this pointer" of the current instance of #CRParser. -+ * -+ *@a_func_name: out parameter. The parsed function name -+ *@a_expr: out parameter. The successfully parsed term. -+ * -+ *Parses a "function" as defined in css spec at appendix D.1: -+ *function ::= FUNCTION S* expr ')' S* -+ *FUNCTION ::= ident'(' -+ * -+ *Returns CR_OK upon successfull completion, an error code otherwise. -+ */ -+static enum CRStatus -+cr_parser_parse_function (CRParser * a_this, -+ CRString ** a_func_name, -+ CRTerm ** a_expr) -+{ -+ CRInputPos init_pos; -+ enum CRStatus status = CR_OK; -+ CRToken *token = NULL; -+ CRTerm *expr = NULL; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && a_func_name, -+ CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token); -+ if (status != CR_OK) -+ goto error; -+ -+ if (token && token->type == FUNCTION_TK) { -+ *a_func_name = token->u.str; -+ token->u.str = NULL; -+ } else { -+ status = CR_PARSING_ERROR; -+ goto error; -+ } -+ cr_token_destroy (token); -+ token = NULL; -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this) ; -+ -+ status = cr_parser_parse_expr (a_this, &expr); -+ -+ CHECK_PARSING_STATUS (status, FALSE); -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token); -+ if (status != CR_OK) -+ goto error; -+ -+ ENSURE_PARSING_COND (token && token->type == PC_TK); -+ -+ cr_token_destroy (token); -+ token = NULL; -+ -+ if (expr) { -+ *a_expr = cr_term_append_term (*a_expr, expr); -+ expr = NULL; -+ } -+ -+ cr_parser_clear_errors (a_this); -+ return CR_OK; -+ -+ error: -+ -+ if (*a_func_name) { -+ cr_string_destroy (*a_func_name); -+ *a_func_name = NULL; -+ } -+ -+ if (expr) { -+ cr_term_destroy (expr); -+ expr = NULL; -+ } -+ -+ if (token) { -+ cr_token_destroy (token); -+ -+ } -+ -+ cr_tknzr_set_cur_pos (PRIVATE (a_this)->tknzr, &init_pos); -+ -+ return status; -+} -+ -+/** -+ * cr_parser_parse_uri: -+ *@a_this: the current instance of #CRParser. -+ *@a_str: the successfully parsed url. -+ * -+ *Parses an uri as defined by the css spec [4.1.1]: -+ * URI ::= url\({w}{string}{w}\) -+ * |url\({w}([!#$%&*-~]|{nonascii}|{escape})*{w}\) -+ * -+ *Returns CR_OK upon successfull completion, an error code otherwise. -+ */ -+static enum CRStatus -+cr_parser_parse_uri (CRParser * a_this, CRString ** a_str) -+{ -+ -+ enum CRStatus status = CR_PARSING_ERROR; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->tknzr, CR_BAD_PARAM_ERROR); -+ -+ status = cr_tknzr_parse_token (PRIVATE (a_this)->tknzr, -+ URI_TK, NO_ET, a_str, NULL); -+ return status; -+} -+ -+/** -+ * cr_parser_parse_string: -+ *@a_this: the current instance of #CRParser. -+ *@a_start: out parameter. Upon successfull completion, -+ *points to the beginning of the string, points to an undefined value -+ *otherwise. -+ *@a_end: out parameter. Upon successfull completion, points to -+ *the beginning of the string, points to an undefined value otherwise. -+ * -+ *Parses a string type as defined in css spec [4.1.1]: -+ * -+ *string ::= {string1}|{string2} -+ *string1 ::= \"([\t !#$%&(-~]|\\{nl}|\'|{nonascii}|{escape})*\" -+ *string2 ::= \'([\t !#$%&(-~]|\\{nl}|\"|{nonascii}|{escape})*\' -+ * -+ *Returns CR_OK upon successfull completion, an error code otherwise. -+ */ -+static enum CRStatus -+cr_parser_parse_string (CRParser * a_this, CRString ** a_str) -+{ -+ enum CRStatus status = CR_OK; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->tknzr -+ && a_str, CR_BAD_PARAM_ERROR); -+ -+ status = cr_tknzr_parse_token (PRIVATE (a_this)->tknzr, -+ STRING_TK, NO_ET, a_str, NULL); -+ return status; -+} -+ -+/** -+ *Parses an "ident" as defined in css spec [4.1.1]: -+ *ident ::= {nmstart}{nmchar}* -+ * -+ *@param a_this the currens instance of #CRParser. -+ * -+ *@param a_str a pointer to parsed ident. If *a_str is NULL, -+ *this function allocates a new instance of #CRString. If not, -+ *the function just appends the parsed string to the one passed. -+ *In both cases it is up to the caller to free *a_str. -+ * -+ *@return CR_OK upon successfull completion, an error code -+ *otherwise. -+ */ -+static enum CRStatus -+cr_parser_parse_ident (CRParser * a_this, CRString ** a_str) -+{ -+ enum CRStatus status = CR_OK; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->tknzr -+ && a_str, CR_BAD_PARAM_ERROR); -+ -+ status = cr_tknzr_parse_token (PRIVATE (a_this)->tknzr, -+ IDENT_TK, NO_ET, a_str, NULL); -+ return status; -+} -+ -+/** -+ *the next rule is ignored as well. This seems to be a bug -+ *Parses a stylesheet as defined in the css2 spec in appendix D.1: -+ *stylesheet ::= [ CHARSET_SYM S* STRING S* ';' ]? -+ * [S|CDO|CDC]* [ import [S|CDO|CDC]* ]* -+ * [ [ ruleset | media | page | font_face ] [S|CDO|CDC]* ]* -+ * -+ *TODO: Finish the code of this function. Think about splitting it into -+ *smaller functions. -+ * -+ *@param a_this the "this pointer" of the current instance of #CRParser. -+ *@param a_start out parameter. A pointer to the first character of -+ *the successfully parsed string. -+ *@param a_end out parameter. A pointer to the first character of -+ *the successfully parsed string. -+ * -+ *@return CR_OK upon successfull completion, an error code otherwise. -+ */ -+static enum CRStatus -+cr_parser_parse_stylesheet (CRParser * a_this) -+{ -+ enum CRStatus status = CR_OK; -+ CRInputPos init_pos; -+ CRToken *token = NULL; -+ CRString *charset = NULL; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->tknzr, CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ PRIVATE (a_this)->state = READY_STATE; -+ -+ if (PRIVATE (a_this)->sac_handler -+ && PRIVATE (a_this)->sac_handler->start_document) { -+ PRIVATE (a_this)->sac_handler->start_document -+ (PRIVATE (a_this)->sac_handler); -+ } -+ -+ parse_charset: -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token); -+ -+ if (status == CR_END_OF_INPUT_ERROR) -+ goto done; -+ CHECK_PARSING_STATUS (status, TRUE); -+ -+ if (token && token->type == CHARSET_SYM_TK) { -+ CRParsingLocation location = {0} ; -+ status = cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, -+ token); -+ CHECK_PARSING_STATUS (status, TRUE); -+ token = NULL; -+ -+ status = cr_parser_parse_charset (a_this, -+ &charset, -+ &location); -+ -+ if (status == CR_OK && charset) { -+ if (PRIVATE (a_this)->sac_handler -+ && PRIVATE (a_this)->sac_handler->charset) { -+ PRIVATE (a_this)->sac_handler->charset -+ (PRIVATE (a_this)->sac_handler, -+ charset, &location); -+ } -+ } else if (status != CR_END_OF_INPUT_ERROR) { -+ status = cr_parser_parse_atrule_core (a_this); -+ CHECK_PARSING_STATUS (status, FALSE); -+ } -+ -+ if (charset) { -+ cr_string_destroy (charset); -+ charset = NULL; -+ } -+ } else if (token -+ && (token->type == S_TK -+ || token->type == COMMENT_TK)) { -+ status = cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, -+ token); -+ token = NULL; -+ CHECK_PARSING_STATUS (status, TRUE); -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ goto parse_charset ; -+ } else if (token) { -+ status = cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, -+ token); -+ token = NULL; -+ CHECK_PARSING_STATUS (status, TRUE); -+ } -+ -+/* parse_imports:*/ -+ do { -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ cr_parser_try_to_skip_spaces_and_comments (a_this) ; -+ status = cr_tknzr_get_next_token -+ (PRIVATE (a_this)->tknzr, &token); -+ -+ if (status == CR_END_OF_INPUT_ERROR) -+ goto done; -+ CHECK_PARSING_STATUS (status, TRUE); -+ } while (token -+ && (token->type == S_TK -+ || token->type == CDO_TK || token->type == CDC_TK)); -+ -+ if (token) { -+ status = cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, -+ token); -+ token = NULL; -+ } -+ -+ for (;;) { -+ status = cr_tknzr_get_next_token -+ (PRIVATE (a_this)->tknzr, &token); -+ if (status == CR_END_OF_INPUT_ERROR) -+ goto done; -+ CHECK_PARSING_STATUS (status, TRUE); -+ -+ if (token && token->type == IMPORT_SYM_TK) { -+ GList *media_list = NULL; -+ CRString *import_string = NULL; -+ CRParsingLocation location = {0} ; -+ -+ status = cr_tknzr_unget_token -+ (PRIVATE (a_this)->tknzr, token); -+ token = NULL; -+ CHECK_PARSING_STATUS (status, TRUE); -+ -+ status = cr_parser_parse_import (a_this, -+ &media_list, -+ &import_string, -+ &location); -+ if (status == CR_OK) { -+ if (import_string -+ && PRIVATE (a_this)->sac_handler -+ && PRIVATE (a_this)->sac_handler->import_style) { -+ PRIVATE (a_this)->sac_handler->import_style -+ (PRIVATE(a_this)->sac_handler, -+ media_list, -+ import_string, -+ NULL, &location) ; -+ -+ if ((PRIVATE (a_this)->sac_handler->resolve_import == TRUE)) { -+ /* -+ *TODO: resolve the -+ *import rule. -+ */ -+ } -+ -+ if ((PRIVATE (a_this)->sac_handler->import_style_result)) { -+ PRIVATE (a_this)->sac_handler->import_style_result -+ (PRIVATE (a_this)->sac_handler, -+ media_list, import_string, -+ NULL, NULL); -+ } -+ } -+ } else if (status != CR_END_OF_INPUT_ERROR) { -+ if (PRIVATE (a_this)->sac_handler -+ && PRIVATE (a_this)->sac_handler->error) { -+ PRIVATE (a_this)->sac_handler->error -+ (PRIVATE (a_this)->sac_handler); -+ } -+ status = cr_parser_parse_atrule_core (a_this); -+ CHECK_PARSING_STATUS (status, TRUE) ; -+ } else { -+ goto error ; -+ } -+ -+ /* -+ *then, after calling the appropriate -+ *SAC handler, free -+ *the media_list and import_string. -+ */ -+ if (media_list) { -+ GList *cur = NULL; -+ -+ /*free the medium list */ -+ for (cur = media_list; cur; cur = cur->next) { -+ if (cur->data) { -+ cr_string_destroy (cur->data); -+ } -+ } -+ -+ g_list_free (media_list); -+ media_list = NULL; -+ } -+ -+ if (import_string) { -+ cr_string_destroy (import_string); -+ import_string = NULL; -+ } -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ } else if (token -+ && (token->type == S_TK -+ || token->type == CDO_TK -+ || token->type == CDC_TK)) { -+ status = cr_tknzr_unget_token -+ (PRIVATE (a_this)->tknzr, token); -+ token = NULL; -+ -+ do { -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ status = cr_tknzr_get_next_token -+ (PRIVATE (a_this)->tknzr, &token); -+ -+ if (status == CR_END_OF_INPUT_ERROR) -+ goto done; -+ CHECK_PARSING_STATUS (status, TRUE); -+ } while (token -+ && (token->type == S_TK -+ || token->type == CDO_TK -+ || token->type == CDC_TK)); -+ } else { -+ if (token) { -+ status = cr_tknzr_unget_token -+ (PRIVATE (a_this)->tknzr, token); -+ token = NULL; -+ } -+ goto parse_ruleset_and_others; -+ } -+ } -+ -+ parse_ruleset_and_others: -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ for (;;) { -+ status = cr_tknzr_get_next_token -+ (PRIVATE (a_this)->tknzr, &token); -+ if (status == CR_END_OF_INPUT_ERROR) -+ goto done; -+ CHECK_PARSING_STATUS (status, TRUE); -+ -+ if (token -+ && (token->type == S_TK -+ || token->type == CDO_TK || token->type == CDC_TK)) { -+ status = cr_tknzr_unget_token -+ (PRIVATE (a_this)->tknzr, token); -+ token = NULL; -+ -+ do { -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ cr_parser_try_to_skip_spaces_and_comments -+ (a_this); -+ status = cr_tknzr_get_next_token -+ (PRIVATE (a_this)->tknzr, &token); -+ } while (token -+ && (token->type == S_TK -+ || token->type == COMMENT_TK -+ || token->type == CDO_TK -+ || token->type == CDC_TK)); -+ if (token) { -+ cr_tknzr_unget_token -+ (PRIVATE (a_this)->tknzr, token); -+ token = NULL; -+ } -+ } else if (token -+ && (token->type == HASH_TK -+ || (token->type == DELIM_TK -+ && token->u.unichar == '.') -+ || (token->type == DELIM_TK -+ && token->u.unichar == ':') -+ || (token->type == DELIM_TK -+ && token->u.unichar == '*') -+ || (token->type == BO_TK) -+ || token->type == IDENT_TK)) { -+ /* -+ *Try to parse a CSS2 ruleset. -+ *if the parsing fails, try to parse -+ *a css core ruleset. -+ */ -+ status = cr_tknzr_unget_token -+ (PRIVATE (a_this)->tknzr, token); -+ CHECK_PARSING_STATUS (status, TRUE); -+ token = NULL; -+ -+ status = cr_parser_parse_ruleset (a_this); -+ -+ if (status == CR_OK) { -+ continue; -+ } else { -+ if (PRIVATE (a_this)->sac_handler -+ && PRIVATE (a_this)->sac_handler->error) { -+ PRIVATE (a_this)->sac_handler-> -+ error -+ (PRIVATE (a_this)-> -+ sac_handler); -+ } -+ -+ status = cr_parser_parse_ruleset_core -+ (a_this); -+ -+ if (status == CR_OK) { -+ continue; -+ } else { -+ break; -+ } -+ } -+ } else if (token && token->type == MEDIA_SYM_TK) { -+ status = cr_tknzr_unget_token -+ (PRIVATE (a_this)->tknzr, token); -+ CHECK_PARSING_STATUS (status, TRUE); -+ token = NULL; -+ -+ status = cr_parser_parse_media (a_this); -+ if (status == CR_OK) { -+ continue; -+ } else { -+ if (PRIVATE (a_this)->sac_handler -+ && PRIVATE (a_this)->sac_handler->error) { -+ PRIVATE (a_this)->sac_handler-> -+ error -+ (PRIVATE (a_this)-> -+ sac_handler); -+ } -+ -+ status = cr_parser_parse_atrule_core (a_this); -+ -+ if (status == CR_OK) { -+ continue; -+ } else { -+ break; -+ } -+ } -+ -+ } else if (token && token->type == PAGE_SYM_TK) { -+ status = cr_tknzr_unget_token -+ (PRIVATE (a_this)->tknzr, token); -+ CHECK_PARSING_STATUS (status, TRUE); -+ token = NULL; -+ status = cr_parser_parse_page (a_this); -+ -+ if (status == CR_OK) { -+ continue; -+ } else { -+ if (PRIVATE (a_this)->sac_handler -+ && PRIVATE (a_this)->sac_handler->error) { -+ PRIVATE (a_this)->sac_handler-> -+ error -+ (PRIVATE (a_this)-> -+ sac_handler); -+ } -+ -+ status = cr_parser_parse_atrule_core (a_this); -+ -+ if (status == CR_OK) { -+ continue; -+ } else { -+ break; -+ } -+ } -+ } else if (token && token->type == FONT_FACE_SYM_TK) { -+ status = cr_tknzr_unget_token -+ (PRIVATE (a_this)->tknzr, token); -+ CHECK_PARSING_STATUS (status, TRUE); -+ token = NULL; -+ status = cr_parser_parse_font_face (a_this); -+ -+ if (status == CR_OK) { -+ continue; -+ } else { -+ if (PRIVATE (a_this)->sac_handler -+ && PRIVATE (a_this)->sac_handler->error) { -+ PRIVATE (a_this)->sac_handler-> -+ error -+ (PRIVATE (a_this)-> -+ sac_handler); -+ } -+ -+ status = cr_parser_parse_atrule_core (a_this); -+ -+ if (status == CR_OK) { -+ continue; -+ } else { -+ break; -+ } -+ } -+ } else { -+ status = cr_tknzr_unget_token -+ (PRIVATE (a_this)->tknzr, token); -+ CHECK_PARSING_STATUS (status, TRUE); -+ token = NULL; -+ status = cr_parser_parse_statement_core (a_this); -+ -+ if (status == CR_OK) { -+ continue; -+ } else { -+ break; -+ } -+ } -+ } -+ -+ done: -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ if (status == CR_END_OF_INPUT_ERROR || status == CR_OK) { -+ -+ if (PRIVATE (a_this)->sac_handler -+ && PRIVATE (a_this)->sac_handler->end_document) { -+ PRIVATE (a_this)->sac_handler->end_document -+ (PRIVATE (a_this)->sac_handler); -+ } -+ -+ return CR_OK; -+ } -+ -+ cr_parser_push_error -+ (a_this, (const guchar *) "could not recognize next production", CR_ERROR); -+ -+ if (PRIVATE (a_this)->sac_handler -+ && PRIVATE (a_this)->sac_handler->unrecoverable_error) { -+ PRIVATE (a_this)->sac_handler-> -+ unrecoverable_error (PRIVATE (a_this)->sac_handler); -+ } -+ -+ cr_parser_dump_err_stack (a_this, TRUE); -+ -+ return status; -+ -+ error: -+ -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ if (PRIVATE (a_this)->sac_handler -+ && PRIVATE (a_this)->sac_handler->unrecoverable_error) { -+ PRIVATE (a_this)->sac_handler-> -+ unrecoverable_error (PRIVATE (a_this)->sac_handler); -+ } -+ -+ cr_tknzr_set_cur_pos (PRIVATE (a_this)->tknzr, &init_pos); -+ -+ return status; -+} -+ -+/**************************************** -+ *Public CRParser Methods -+ ****************************************/ -+ -+/** -+ * cr_parser_new: -+ * @a_tknzr: the tokenizer to use for the parsing. -+ * -+ *Creates a new parser to parse data -+ *coming the input stream given in parameter. -+ * -+ *Returns the newly created instance of #CRParser, -+ *or NULL if an error occurred. -+ */ -+CRParser * -+cr_parser_new (CRTknzr * a_tknzr) -+{ -+ CRParser *result = NULL; -+ enum CRStatus status = CR_OK; -+ -+ result = g_malloc0 (sizeof (CRParser)); -+ -+ PRIVATE (result) = g_malloc0 (sizeof (CRParserPriv)); -+ -+ if (a_tknzr) { -+ status = cr_parser_set_tknzr (result, a_tknzr); -+ } -+ -+ g_return_val_if_fail (status == CR_OK, NULL); -+ -+ return result; -+} -+ -+/** -+ * cr_parser_new_from_buf: -+ *@a_buf: the buffer to parse. -+ *@a_len: the length of the data in the buffer. -+ *@a_enc: the encoding of the input buffer a_buf. -+ *@a_free_buf: if set to TRUE, a_buf will be freed -+ *during the destruction of the newly built instance -+ *of #CRParser. If set to FALSE, it is up to the caller to -+ *eventually free it. -+ * -+ *Instanciates a new parser from a memory buffer. -+ * -+ *Returns the newly built parser, or NULL if an error arises. -+ */ -+CRParser * -+cr_parser_new_from_buf (guchar * a_buf, -+ gulong a_len, -+ enum CREncoding a_enc, -+ gboolean a_free_buf) -+{ -+ CRParser *result = NULL; -+ CRInput *input = NULL; -+ -+ g_return_val_if_fail (a_buf && a_len, NULL); -+ -+ input = cr_input_new_from_buf (a_buf, a_len, a_enc, a_free_buf); -+ g_return_val_if_fail (input, NULL); -+ -+ result = cr_parser_new_from_input (input); -+ if (!result) { -+ cr_input_destroy (input); -+ input = NULL; -+ return NULL; -+ } -+ return result; -+} -+ -+/** -+ * cr_parser_new_from_input: -+ * @a_input: the parser input stream to use. -+ * -+ * Returns a newly built parser input. -+ */ -+CRParser * -+cr_parser_new_from_input (CRInput * a_input) -+{ -+ CRParser *result = NULL; -+ CRTknzr *tokenizer = NULL; -+ -+ if (a_input) { -+ tokenizer = cr_tknzr_new (a_input); -+ g_return_val_if_fail (tokenizer, NULL); -+ } -+ -+ result = cr_parser_new (tokenizer); -+ g_return_val_if_fail (result, NULL); -+ -+ return result; -+} -+ -+/** -+ * cr_parser_new_from_file: -+ * @a_file_uri: the uri of the file to parse. -+ * @a_enc: the file encoding to use. -+ * -+ * Returns the newly built parser. -+ */ -+CRParser * -+cr_parser_new_from_file (const guchar * a_file_uri, enum CREncoding a_enc) -+{ -+ CRParser *result = NULL; -+ CRTknzr *tokenizer = NULL; -+ -+ tokenizer = cr_tknzr_new_from_uri (a_file_uri, a_enc); -+ if (!tokenizer) { -+ cr_utils_trace_info ("Could not open input file"); -+ return NULL; -+ } -+ -+ result = cr_parser_new (tokenizer); -+ g_return_val_if_fail (result, NULL); -+ return result; -+} -+ -+/** -+ * cr_parser_set_sac_handler: -+ *@a_this: the "this pointer" of the current instance of #CRParser. -+ *@a_handler: the handler to set. -+ * -+ *Sets a SAC document handler to the parser. -+ * -+ *Returns CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_parser_set_sac_handler (CRParser * a_this, CRDocHandler * a_handler) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ if (PRIVATE (a_this)->sac_handler) { -+ cr_doc_handler_unref (PRIVATE (a_this)->sac_handler); -+ } -+ -+ PRIVATE (a_this)->sac_handler = a_handler; -+ cr_doc_handler_ref (a_handler); -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_parser_get_sac_handler: -+ *@a_this: the "this pointer" of the current instance of -+ *#CRParser. -+ *@a_handler: out parameter. The returned handler. -+ * -+ *Gets the SAC document handler. -+ * -+ *Returns CR_OK upon successfull completion, an error code -+ *otherwise. -+ */ -+enum CRStatus -+cr_parser_get_sac_handler (CRParser * a_this, CRDocHandler ** a_handler) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ *a_handler = PRIVATE (a_this)->sac_handler; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_parser_set_default_sac_handler: -+ *@a_this: a pointer to the current instance of #CRParser. -+ * -+ *Sets the SAC handler associated to the current instance -+ *of #CRParser to the default SAC handler. -+ * -+ *Returns CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_parser_set_default_sac_handler (CRParser * a_this) -+{ -+ CRDocHandler *default_sac_handler = NULL; -+ enum CRStatus status = CR_ERROR; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR); -+ -+ default_sac_handler = cr_doc_handler_new (); -+ -+ cr_doc_handler_set_default_sac_handler (default_sac_handler); -+ -+ status = cr_parser_set_sac_handler (a_this, default_sac_handler); -+ -+ if (status != CR_OK) { -+ cr_doc_handler_destroy (default_sac_handler); -+ default_sac_handler = NULL; -+ } -+ -+ return status; -+} -+ -+/** -+ * cr_parser_set_use_core_grammar: -+ * @a_this: the current instance of #CRParser. -+ * @a_use_core_grammar: where to parse against the css core grammar. -+ * -+ * Returns CR_OK upon succesful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_parser_set_use_core_grammar (CRParser * a_this, -+ gboolean a_use_core_grammar) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR); -+ -+ PRIVATE (a_this)->use_core_grammar = a_use_core_grammar; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_parser_get_use_core_grammar: -+ * @a_this: the current instance of #CRParser. -+ * @a_use_core_grammar: wether to use the core grammar or not. -+ * -+ * Returns CR_OK upon succesful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_parser_get_use_core_grammar (CRParser const * a_this, -+ gboolean * a_use_core_grammar) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR); -+ -+ *a_use_core_grammar = PRIVATE (a_this)->use_core_grammar; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_parser_parse_file: -+ *@a_this: a pointer to the current instance of #CRParser. -+ *@a_file_uri: the uri to the file to load. For the time being, -+ *@a_enc: the encoding of the file to parse. -+ *only local files are supported. -+ * -+ *Parses a the given in parameter. -+ * -+ *Returns CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_parser_parse_file (CRParser * a_this, -+ const guchar * a_file_uri, enum CREncoding a_enc) -+{ -+ enum CRStatus status = CR_ERROR; -+ CRTknzr *tknzr = NULL; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && a_file_uri, CR_BAD_PARAM_ERROR); -+ -+ tknzr = cr_tknzr_new_from_uri (a_file_uri, a_enc); -+ -+ g_return_val_if_fail (tknzr != NULL, CR_ERROR); -+ -+ status = cr_parser_set_tknzr (a_this, tknzr); -+ g_return_val_if_fail (status == CR_OK, CR_ERROR); -+ -+ status = cr_parser_parse (a_this); -+ -+ return status; -+} -+ -+/** -+ * cr_parser_parse_expr: -+ * @a_this: the current instance of #CRParser. -+ * @a_expr: out parameter. the parsed expression. -+ * -+ *Parses an expression as defined by the css2 spec in appendix -+ *D.1: -+ *expr: term [ operator term ]* -+ * -+ * -+ * Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_parser_parse_expr (CRParser * a_this, CRTerm ** a_expr) -+{ -+ enum CRStatus status = CR_ERROR; -+ CRInputPos init_pos; -+ CRTerm *expr = NULL, -+ *expr2 = NULL; -+ guchar next_byte = 0; -+ gulong nb_terms = 0; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && a_expr, CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ status = cr_parser_parse_term (a_this, &expr); -+ -+ CHECK_PARSING_STATUS (status, FALSE); -+ -+ for (;;) { -+ guchar operator = 0; -+ -+ status = cr_tknzr_peek_byte (PRIVATE (a_this)->tknzr, -+ 1, &next_byte); -+ if (status != CR_OK) { -+ if (status == CR_END_OF_INPUT_ERROR) { -+ /* -+ if (!nb_terms) -+ { -+ goto error ; -+ } -+ */ -+ status = CR_OK; -+ break; -+ } else { -+ goto error; -+ } -+ } -+ -+ if (next_byte == '/' || next_byte == ',') { -+ READ_NEXT_BYTE (a_this, &operator); -+ } -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ status = cr_parser_parse_term (a_this, &expr2); -+ -+ if (status != CR_OK || expr2 == NULL) { -+ status = CR_OK; -+ break; -+ } -+ -+ switch (operator) { -+ case '/': -+ expr2->the_operator = DIVIDE; -+ break; -+ case ',': -+ expr2->the_operator = COMMA; -+ -+ default: -+ break; -+ } -+ -+ expr = cr_term_append_term (expr, expr2); -+ expr2 = NULL; -+ operator = 0; -+ nb_terms++; -+ } -+ -+ if (status == CR_OK) { -+ *a_expr = cr_term_append_term (*a_expr, expr); -+ expr = NULL; -+ -+ cr_parser_clear_errors (a_this); -+ return CR_OK; -+ } -+ -+ error: -+ -+ if (expr) { -+ cr_term_destroy (expr); -+ expr = NULL; -+ } -+ -+ if (expr2) { -+ cr_term_destroy (expr2); -+ expr2 = NULL; -+ } -+ -+ cr_tknzr_set_cur_pos (PRIVATE (a_this)->tknzr, &init_pos); -+ -+ return status; -+} -+ -+/** -+ * cr_parser_parse_prio: -+ *@a_this: the current instance of #CRParser. -+ *@a_prio: a string representing the priority. -+ *Today, only "!important" is returned as only this -+ *priority is defined by css2. -+ * -+ *Parses a declaration priority as defined by -+ *the css2 grammar in appendix C: -+ *prio: IMPORTANT_SYM S* -+ * -+ * Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_parser_parse_prio (CRParser * a_this, CRString ** a_prio) -+{ -+ enum CRStatus status = CR_ERROR; -+ CRInputPos init_pos; -+ CRToken *token = NULL; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && a_prio -+ && *a_prio == NULL, CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token); -+ if (status == CR_END_OF_INPUT_ERROR) { -+ goto error; -+ } -+ ENSURE_PARSING_COND (status == CR_OK -+ && token && token->type == IMPORTANT_SYM_TK); -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ *a_prio = cr_string_new_from_string ("!important"); -+ cr_token_destroy (token); -+ token = NULL; -+ return CR_OK; -+ -+ error: -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ cr_tknzr_set_cur_pos (PRIVATE (a_this)->tknzr, &init_pos); -+ -+ return status; -+} -+ -+/** -+ * cr_parser_parse_declaration: -+ *@a_this: the "this pointer" of the current instance of #CRParser. -+ *@a_property: the successfully parsed property. The caller -+ * *must* free the returned pointer. -+ *@a_expr: the expression that represents the attribute value. -+ *The caller *must* free the returned pointer. -+ * -+ *TODO: return the parsed priority, so that -+ *upper layers can take benefit from it. -+ *Parses a "declaration" as defined by the css2 spec in appendix D.1: -+ *declaration ::= [property ':' S* expr prio?]? -+ * -+ *Returns CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_parser_parse_declaration (CRParser * a_this, -+ CRString ** a_property, -+ CRTerm ** a_expr, gboolean * a_important) -+{ -+ enum CRStatus status = CR_ERROR; -+ CRInputPos init_pos; -+ guint32 cur_char = 0; -+ CRTerm *expr = NULL; -+ CRString *prio = NULL; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && a_property && a_expr -+ && a_important, CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ status = cr_parser_parse_property (a_this, a_property); -+ -+ if (status == CR_END_OF_INPUT_ERROR) -+ goto error; -+ -+ CHECK_PARSING_STATUS_ERR -+ (a_this, status, FALSE, -+ (const guchar *) "while parsing declaration: next property is malformed", -+ CR_SYNTAX_ERROR); -+ -+ READ_NEXT_CHAR (a_this, &cur_char); -+ -+ if (cur_char != ':') { -+ status = CR_PARSING_ERROR; -+ cr_parser_push_error -+ (a_this, -+ (const guchar *) "while parsing declaration: this char must be ':'", -+ CR_SYNTAX_ERROR); -+ goto error; -+ } -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ status = cr_parser_parse_expr (a_this, &expr); -+ -+ CHECK_PARSING_STATUS_ERR -+ (a_this, status, FALSE, -+ (const guchar *) "while parsing declaration: next expression is malformed", -+ CR_SYNTAX_ERROR); -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ status = cr_parser_parse_prio (a_this, &prio); -+ if (prio) { -+ cr_string_destroy (prio); -+ prio = NULL; -+ *a_important = TRUE; -+ } else { -+ *a_important = FALSE; -+ } -+ if (*a_expr) { -+ cr_term_append_term (*a_expr, expr); -+ expr = NULL; -+ } else { -+ *a_expr = expr; -+ expr = NULL; -+ } -+ -+ cr_parser_clear_errors (a_this); -+ return CR_OK; -+ -+ error: -+ -+ if (expr) { -+ cr_term_destroy (expr); -+ expr = NULL; -+ } -+ -+ if (*a_property) { -+ cr_string_destroy (*a_property); -+ *a_property = NULL; -+ } -+ -+ cr_tknzr_set_cur_pos (PRIVATE (a_this)->tknzr, &init_pos); -+ -+ return status; -+} -+ -+/** -+ * cr_parser_parse_statement_core: -+ *@a_this: the current instance of #CRParser. -+ * -+ *Parses a statement as defined by the css core grammar in -+ *chapter 4.1 of the css2 spec. -+ *statement : ruleset | at-rule; -+ * -+ *Returns CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_parser_parse_statement_core (CRParser * a_this) -+{ -+ CRToken *token = NULL; -+ CRInputPos init_pos; -+ enum CRStatus status = CR_ERROR; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token); -+ -+ ENSURE_PARSING_COND (status == CR_OK && token); -+ -+ switch (token->type) { -+ case ATKEYWORD_TK: -+ case IMPORT_SYM_TK: -+ case PAGE_SYM_TK: -+ case MEDIA_SYM_TK: -+ case FONT_FACE_SYM_TK: -+ case CHARSET_SYM_TK: -+ cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, token); -+ token = NULL; -+ status = cr_parser_parse_atrule_core (a_this); -+ CHECK_PARSING_STATUS (status, TRUE); -+ break; -+ -+ default: -+ cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, token); -+ token = NULL; -+ status = cr_parser_parse_ruleset_core (a_this); -+ cr_parser_clear_errors (a_this); -+ CHECK_PARSING_STATUS (status, TRUE); -+ } -+ -+ return CR_OK; -+ -+ error: -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ cr_tknzr_set_cur_pos (PRIVATE (a_this)->tknzr, &init_pos); -+ -+ return status; -+} -+ -+/** -+ * cr_parser_parse_ruleset: -+ *@a_this: the "this pointer" of the current instance of #CRParser. -+ * -+ *Parses a "ruleset" as defined in the css2 spec at appendix D.1. -+ *ruleset ::= selector [ ',' S* selector ]* -+ *'{' S* declaration? [ ';' S* declaration? ]* '}' S*; -+ * -+ *This methods calls the the SAC handler on the relevant SAC handler -+ *callbacks whenever it encounters some specific constructions. -+ *See the documentation of #CRDocHandler (the SAC handler) to know -+ *when which SAC handler is called. -+ * -+ *Returns CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_parser_parse_ruleset (CRParser * a_this) -+{ -+ enum CRStatus status = CR_OK; -+ CRInputPos init_pos; -+ guint32 cur_char = 0, -+ next_char = 0; -+ CRString *property = NULL; -+ CRTerm *expr = NULL; -+ CRSimpleSel *simple_sels = NULL; -+ CRSelector *selector = NULL; -+ gboolean start_selector = FALSE, -+ is_important = FALSE; -+ CRParsingLocation end_parsing_location; -+ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ status = cr_parser_parse_selector (a_this, &selector); -+ CHECK_PARSING_STATUS (status, FALSE); -+ -+ READ_NEXT_CHAR (a_this, &cur_char); -+ -+ ENSURE_PARSING_COND_ERR -+ (a_this, cur_char == '{', -+ (const guchar *) "while parsing rulset: current char should be '{'", -+ CR_SYNTAX_ERROR); -+ -+ if (PRIVATE (a_this)->sac_handler -+ && PRIVATE (a_this)->sac_handler->start_selector) { -+ /* -+ *the selector is ref counted so that the parser's user -+ *can choose to keep it. -+ */ -+ if (selector) { -+ cr_selector_ref (selector); -+ } -+ -+ PRIVATE (a_this)->sac_handler->start_selector -+ (PRIVATE (a_this)->sac_handler, selector); -+ start_selector = TRUE; -+ } -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ PRIVATE (a_this)->state = TRY_PARSE_RULESET_STATE; -+ -+ status = cr_parser_parse_declaration (a_this, &property, -+ &expr, -+ &is_important); -+ if (expr) { -+ cr_term_ref (expr); -+ } -+ if (status == CR_OK -+ && PRIVATE (a_this)->sac_handler -+ && PRIVATE (a_this)->sac_handler->property) { -+ PRIVATE (a_this)->sac_handler->property -+ (PRIVATE (a_this)->sac_handler, property, expr, -+ is_important); -+ } -+ if (status == CR_OK) { -+ /* -+ *free the allocated -+ *'property' and 'term' before parsing -+ *next declarations. -+ */ -+ if (property) { -+ cr_string_destroy (property); -+ property = NULL; -+ } -+ if (expr) { -+ cr_term_unref (expr); -+ expr = NULL; -+ } -+ } else {/*status != CR_OK*/ -+ guint32 c = 0 ; -+ /* -+ *test if we have reached '}', which -+ *would mean that we are parsing an empty ruleset (eg. x{ }) -+ *In that case, goto end_of_ruleset. -+ */ -+ status = cr_tknzr_peek_char (PRIVATE (a_this)->tknzr, &c) ; -+ if (status == CR_OK && c == '}') { -+ status = CR_OK ; -+ goto end_of_ruleset ; -+ } -+ } -+ CHECK_PARSING_STATUS_ERR -+ (a_this, status, FALSE, -+ (const guchar *) "while parsing ruleset: next construction should be a declaration", -+ CR_SYNTAX_ERROR); -+ -+ for (;;) { -+ PEEK_NEXT_CHAR (a_this, &next_char); -+ if (next_char != ';') -+ break; -+ -+ /*consume the ';' char */ -+ READ_NEXT_CHAR (a_this, &cur_char); -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ status = cr_parser_parse_declaration (a_this, &property, -+ &expr, &is_important); -+ -+ if (expr) { -+ cr_term_ref (expr); -+ } -+ if (status == CR_OK -+ && PRIVATE (a_this)->sac_handler -+ && PRIVATE (a_this)->sac_handler->property) { -+ PRIVATE (a_this)->sac_handler->property -+ (PRIVATE (a_this)->sac_handler, -+ property, expr, is_important); -+ } -+ if (property) { -+ cr_string_destroy (property); -+ property = NULL; -+ } -+ if (expr) { -+ cr_term_unref (expr); -+ expr = NULL; -+ } -+ } -+ -+ end_of_ruleset: -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ cr_parser_get_parsing_location (a_this, &end_parsing_location); -+ READ_NEXT_CHAR (a_this, &cur_char); -+ ENSURE_PARSING_COND_ERR -+ (a_this, cur_char == '}', -+ (const guchar *) "while parsing rulset: current char must be a '}'", -+ CR_SYNTAX_ERROR); -+ -+ selector->location = end_parsing_location; -+ if (PRIVATE (a_this)->sac_handler -+ && PRIVATE (a_this)->sac_handler->end_selector) { -+ PRIVATE (a_this)->sac_handler->end_selector -+ (PRIVATE (a_this)->sac_handler, selector); -+ start_selector = FALSE; -+ } -+ -+ if (expr) { -+ cr_term_unref (expr); -+ expr = NULL; -+ } -+ -+ if (simple_sels) { -+ cr_simple_sel_destroy (simple_sels); -+ simple_sels = NULL; -+ } -+ -+ if (selector) { -+ cr_selector_unref (selector); -+ selector = NULL; -+ } -+ -+ cr_parser_clear_errors (a_this); -+ PRIVATE (a_this)->state = RULESET_PARSED_STATE; -+ -+ return CR_OK; -+ -+ error: -+ if (start_selector == TRUE -+ && PRIVATE (a_this)->sac_handler -+ && PRIVATE (a_this)->sac_handler->error) { -+ PRIVATE (a_this)->sac_handler->error -+ (PRIVATE (a_this)->sac_handler); -+ } -+ if (expr) { -+ cr_term_unref (expr); -+ expr = NULL; -+ } -+ if (simple_sels) { -+ cr_simple_sel_destroy (simple_sels); -+ simple_sels = NULL; -+ } -+ if (property) { -+ cr_string_destroy (property); -+ } -+ if (selector) { -+ cr_selector_unref (selector); -+ selector = NULL; -+ } -+ -+ cr_tknzr_set_cur_pos (PRIVATE (a_this)->tknzr, &init_pos); -+ -+ return status; -+} -+ -+/** -+ * cr_parser_parse_import: -+ *@a_this: the "this pointer" of the current instance -+ *of #CRParser. -+ *@a_media_list: out parameter. A linked list of -+ *#CRString -+ *Each CRString is a string that contains -+ *a 'medium' declaration part of the successfully -+ *parsed 'import' declaration. -+ *@a_import_string: out parameter. -+ *A string that contains the 'import -+ *string". The import string can be either an uri (if it starts with -+ *the substring "uri(") or a any other css2 string. Note that -+ * *a_import_string must be initially set to NULL or else, this function -+ *will return CR_BAD_PARAM_ERROR. -+ *@a_location: the location (line, column) where the import has been parsed -+ * -+ *Parses an 'import' declaration as defined in the css2 spec -+ *in appendix D.1: -+ * -+ *import ::= -+ *\@import [STRING|URI] S* [ medium [ ',' S* medium]* ]? ';' S* -+ * -+ *Returns CR_OK upon sucessfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_parser_parse_import (CRParser * a_this, -+ GList ** a_media_list, -+ CRString ** a_import_string, -+ CRParsingLocation *a_location) -+{ -+ enum CRStatus status = CR_OK; -+ CRInputPos init_pos; -+ guint32 cur_char = 0, -+ next_char = 0; -+ CRString *medium = NULL; -+ -+ g_return_val_if_fail (a_this -+ && a_import_string -+ && (*a_import_string == NULL), -+ CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ if (BYTE (a_this, 1, NULL) == '@' -+ && BYTE (a_this, 2, NULL) == 'i' -+ && BYTE (a_this, 3, NULL) == 'm' -+ && BYTE (a_this, 4, NULL) == 'p' -+ && BYTE (a_this, 5, NULL) == 'o' -+ && BYTE (a_this, 6, NULL) == 'r' -+ && BYTE (a_this, 7, NULL) == 't') { -+ SKIP_CHARS (a_this, 1); -+ if (a_location) { -+ cr_parser_get_parsing_location -+ (a_this, a_location) ; -+ } -+ SKIP_CHARS (a_this, 6); -+ status = CR_OK; -+ } else { -+ status = CR_PARSING_ERROR; -+ goto error; -+ } -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ PRIVATE (a_this)->state = TRY_PARSE_IMPORT_STATE; -+ -+ PEEK_NEXT_CHAR (a_this, &next_char); -+ -+ if (next_char == '"' || next_char == '\'') { -+ status = cr_parser_parse_string (a_this, a_import_string); -+ -+ CHECK_PARSING_STATUS (status, FALSE); -+ } else { -+ status = cr_parser_parse_uri (a_this, a_import_string); -+ -+ CHECK_PARSING_STATUS (status, FALSE); -+ } -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ status = cr_parser_parse_ident (a_this, &medium); -+ -+ if (status == CR_OK && medium) { -+ *a_media_list = g_list_append (*a_media_list, medium); -+ medium = NULL; -+ } -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ for (; status == CR_OK;) { -+ if ((status = cr_tknzr_peek_char (PRIVATE (a_this)->tknzr, -+ &next_char)) != CR_OK) { -+ if (status == CR_END_OF_INPUT_ERROR) { -+ status = CR_OK; -+ goto okay; -+ } -+ goto error; -+ } -+ -+ if (next_char == ',') { -+ READ_NEXT_CHAR (a_this, &cur_char); -+ } else { -+ break; -+ } -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ status = cr_parser_parse_ident (a_this, &medium); -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ if ((status == CR_OK) && medium) { -+ *a_media_list = g_list_append (*a_media_list, medium); -+ -+ medium = NULL; -+ } -+ -+ CHECK_PARSING_STATUS (status, FALSE); -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ } -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ READ_NEXT_CHAR (a_this, &cur_char); -+ ENSURE_PARSING_COND (cur_char == ';'); -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ okay: -+ cr_parser_clear_errors (a_this); -+ PRIVATE (a_this)->state = IMPORT_PARSED_STATE; -+ -+ return CR_OK; -+ -+ error: -+ -+ if (*a_media_list) { -+ GList *cur = NULL; -+ -+ /* -+ *free each element of *a_media_list. -+ *Note that each element of *a_medium list *must* -+ *be a GString* or else, the code that is coming next -+ *will corrupt the memory and lead to hard to debug -+ *random crashes. -+ *This is where C++ and its compile time -+ *type checking mecanism (through STL containers) would -+ *have prevented us to go through this hassle. -+ */ -+ for (cur = *a_media_list; cur; cur = cur->next) { -+ if (cur->data) { -+ cr_string_destroy (cur->data); -+ } -+ } -+ -+ g_list_free (*a_media_list); -+ *a_media_list = NULL; -+ } -+ -+ if (*a_import_string) { -+ cr_string_destroy (*a_import_string); -+ *a_import_string = NULL; -+ } -+ -+ if (medium) { -+ cr_string_destroy (medium); -+ medium = NULL; -+ } -+ -+ cr_tknzr_set_cur_pos (PRIVATE (a_this)->tknzr, &init_pos); -+ -+ return status; -+} -+ -+/** -+ * cr_parser_parse_media: -+ *@a_this: the "this pointer" of the current instance of #CRParser. -+ * -+ *Parses a 'media' declaration as specified in the css2 spec at -+ *appendix D.1: -+ * -+ *media ::= \@media S* medium [ ',' S* medium ]* '{' S* ruleset* '}' S* -+ * -+ *Note that this function calls the required sac handlers during the parsing -+ *to notify media productions. See #CRDocHandler to know the callback called -+ *during \@media parsing. -+ * -+ *Returns CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_parser_parse_media (CRParser * a_this) -+{ -+ enum CRStatus status = CR_OK; -+ CRInputPos init_pos; -+ CRToken *token = NULL; -+ guint32 next_char = 0, -+ cur_char = 0; -+ CRString *medium = NULL; -+ GList *media_list = NULL; -+ CRParsingLocation location = {0} ; -+ -+ g_return_val_if_fail (a_this -+ && PRIVATE (a_this), -+ CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, -+ &token); -+ ENSURE_PARSING_COND (status == CR_OK -+ && token -+ && token->type == MEDIA_SYM_TK); -+ cr_parsing_location_copy (&location, &token->location) ; -+ cr_token_destroy (token); -+ token = NULL; -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token); -+ ENSURE_PARSING_COND (status == CR_OK -+ && token && token->type == IDENT_TK); -+ -+ medium = token->u.str; -+ token->u.str = NULL; -+ cr_token_destroy (token); -+ token = NULL; -+ -+ if (medium) { -+ media_list = g_list_append (media_list, medium); -+ medium = NULL; -+ } -+ -+ for (; status == CR_OK;) { -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ PEEK_NEXT_CHAR (a_this, &next_char); -+ -+ if (next_char == ',') { -+ READ_NEXT_CHAR (a_this, &cur_char); -+ } else { -+ break; -+ } -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ status = cr_parser_parse_ident (a_this, &medium); -+ -+ CHECK_PARSING_STATUS (status, FALSE); -+ -+ if (medium) { -+ media_list = g_list_append (media_list, medium); -+ medium = NULL; -+ } -+ } -+ -+ READ_NEXT_CHAR (a_this, &cur_char); -+ -+ ENSURE_PARSING_COND (cur_char == '{'); -+ -+ /* -+ *call the SAC handler api here. -+ */ -+ if (PRIVATE (a_this)->sac_handler -+ && PRIVATE (a_this)->sac_handler->start_media) { -+ PRIVATE (a_this)->sac_handler->start_media -+ (PRIVATE (a_this)->sac_handler, media_list, -+ &location); -+ } -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ PRIVATE (a_this)->state = TRY_PARSE_MEDIA_STATE; -+ -+ for (; status == CR_OK;) { -+ status = cr_parser_parse_ruleset (a_this); -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ } -+ -+ READ_NEXT_CHAR (a_this, &cur_char); -+ -+ ENSURE_PARSING_COND (cur_char == '}'); -+ -+ /* -+ *call the right SAC handler api here. -+ */ -+ if (PRIVATE (a_this)->sac_handler -+ && PRIVATE (a_this)->sac_handler->end_media) { -+ PRIVATE (a_this)->sac_handler->end_media -+ (PRIVATE (a_this)->sac_handler, media_list); -+ } -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ /* -+ *Then, free the data structures passed to -+ *the last call to the SAC handler. -+ */ -+ if (medium) { -+ cr_string_destroy (medium); -+ medium = NULL; -+ } -+ -+ if (media_list) { -+ GList *cur = NULL; -+ -+ for (cur = media_list; cur; cur = cur->next) { -+ cr_string_destroy (cur->data); -+ } -+ -+ g_list_free (media_list); -+ media_list = NULL; -+ } -+ -+ cr_parser_clear_errors (a_this); -+ PRIVATE (a_this)->state = MEDIA_PARSED_STATE; -+ -+ return CR_OK; -+ -+ error: -+ -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ if (medium) { -+ cr_string_destroy (medium); -+ medium = NULL; -+ } -+ -+ if (media_list) { -+ GList *cur = NULL; -+ -+ for (cur = media_list; cur; cur = cur->next) { -+ cr_string_destroy (cur->data); -+ } -+ -+ g_list_free (media_list); -+ media_list = NULL; -+ } -+ -+ cr_tknzr_set_cur_pos (PRIVATE (a_this)->tknzr, &init_pos); -+ -+ return status; -+} -+ -+/** -+ * cr_parser_parse_page: -+ *@a_this: the "this pointer" of the current instance of #CRParser. -+ * -+ *Parses '\@page' rule as specified in the css2 spec in appendix D.1: -+ *page ::= PAGE_SYM S* IDENT? pseudo_page? S* -+ *'{' S* declaration [ ';' S* declaration ]* '}' S* -+ * -+ *This function also calls the relevant SAC handlers whenever it -+ *encounters a construction that must -+ *be reported to the calling application. -+ * -+ *Returns CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_parser_parse_page (CRParser * a_this) -+{ -+ enum CRStatus status = CR_OK; -+ CRInputPos init_pos; -+ CRToken *token = NULL; -+ CRTerm *css_expression = NULL; -+ CRString *page_selector = NULL, -+ *page_pseudo_class = NULL, -+ *property = NULL; -+ gboolean important = TRUE; -+ CRParsingLocation location = {0} ; -+ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, -+ &token) ; -+ ENSURE_PARSING_COND (status == CR_OK -+ && token -+ && token->type == PAGE_SYM_TK); -+ -+ cr_parsing_location_copy (&location, &token->location) ; -+ cr_token_destroy (token); -+ token = NULL; -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token); -+ ENSURE_PARSING_COND (status == CR_OK && token); -+ -+ if (token->type == IDENT_TK) { -+ page_selector = token->u.str; -+ token->u.str = NULL; -+ cr_token_destroy (token); -+ token = NULL; -+ } else { -+ cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, token); -+ token = NULL; -+ } -+ -+ /* -+ *try to parse pseudo_page -+ */ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token); -+ ENSURE_PARSING_COND (status == CR_OK && token); -+ -+ if (token->type == DELIM_TK && token->u.unichar == ':') { -+ cr_token_destroy (token); -+ token = NULL; -+ status = cr_parser_parse_ident (a_this, &page_pseudo_class); -+ CHECK_PARSING_STATUS (status, FALSE); -+ } else { -+ cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, token); -+ token = NULL; -+ } -+ -+ /* -+ *parse_block -+ * -+ */ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token); -+ -+ ENSURE_PARSING_COND (status == CR_OK && token -+ && token->type == CBO_TK); -+ -+ cr_token_destroy (token); -+ token = NULL; -+ -+ /* -+ *Call the appropriate SAC handler here. -+ */ -+ if (PRIVATE (a_this)->sac_handler -+ && PRIVATE (a_this)->sac_handler->start_page) { -+ PRIVATE (a_this)->sac_handler->start_page -+ (PRIVATE (a_this)->sac_handler, -+ page_selector, page_pseudo_class, -+ &location); -+ } -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ PRIVATE (a_this)->state = TRY_PARSE_PAGE_STATE; -+ -+ status = cr_parser_parse_declaration (a_this, &property, -+ &css_expression, -+ &important); -+ ENSURE_PARSING_COND (status == CR_OK); -+ -+ /* -+ *call the relevant SAC handler here... -+ */ -+ if (PRIVATE (a_this)->sac_handler -+ && PRIVATE (a_this)->sac_handler->property) { -+ if (css_expression) -+ cr_term_ref (css_expression); -+ -+ PRIVATE (a_this)->sac_handler->property -+ (PRIVATE (a_this)->sac_handler, -+ property, css_expression, important); -+ } -+ /* -+ *... and free the data structure passed to that last -+ *SAC handler. -+ */ -+ if (property) { -+ cr_string_destroy (property); -+ property = NULL; -+ } -+ if (css_expression) { -+ cr_term_unref (css_expression); -+ css_expression = NULL; -+ } -+ -+ for (;;) { -+ /*parse the other ';' separated declarations */ -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ status = cr_tknzr_get_next_token -+ (PRIVATE (a_this)->tknzr, &token); -+ -+ ENSURE_PARSING_COND (status == CR_OK && token); -+ -+ if (token->type != SEMICOLON_TK) { -+ cr_tknzr_unget_token -+ (PRIVATE (a_this)->tknzr, -+ token); -+ token = NULL ; -+ break; -+ } -+ -+ cr_token_destroy (token); -+ token = NULL; -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ status = cr_parser_parse_declaration (a_this, &property, -+ &css_expression, -+ &important); -+ if (status != CR_OK) -+ break ; -+ -+ /* -+ *call the relevant SAC handler here... -+ */ -+ if (PRIVATE (a_this)->sac_handler -+ && PRIVATE (a_this)->sac_handler->property) { -+ cr_term_ref (css_expression); -+ PRIVATE (a_this)->sac_handler->property -+ (PRIVATE (a_this)->sac_handler, -+ property, css_expression, important); -+ } -+ /* -+ *... and free the data structure passed to that last -+ *SAC handler. -+ */ -+ if (property) { -+ cr_string_destroy (property); -+ property = NULL; -+ } -+ if (css_expression) { -+ cr_term_unref (css_expression); -+ css_expression = NULL; -+ } -+ } -+ cr_parser_try_to_skip_spaces_and_comments -+ (a_this) ; -+ if (token) { -+ cr_token_destroy (token) ; -+ token = NULL ; -+ } -+ -+ status = cr_tknzr_get_next_token -+ (PRIVATE (a_this)->tknzr, &token); -+ ENSURE_PARSING_COND (status == CR_OK -+ && token -+ && token->type == CBC_TK) ; -+ cr_token_destroy (token) ; -+ token = NULL ; -+ /* -+ *call the relevant SAC handler here. -+ */ -+ if (PRIVATE (a_this)->sac_handler -+ && PRIVATE (a_this)->sac_handler->end_page) { -+ PRIVATE (a_this)->sac_handler->end_page -+ (PRIVATE (a_this)->sac_handler, -+ page_selector, page_pseudo_class); -+ } -+ -+ if (page_selector) { -+ cr_string_destroy (page_selector); -+ page_selector = NULL; -+ } -+ -+ if (page_pseudo_class) { -+ cr_string_destroy (page_pseudo_class); -+ page_pseudo_class = NULL; -+ } -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ /*here goes the former implem of this function ... */ -+ -+ cr_parser_clear_errors (a_this); -+ PRIVATE (a_this)->state = PAGE_PARSED_STATE; -+ -+ return CR_OK; -+ -+ error: -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ if (page_selector) { -+ cr_string_destroy (page_selector); -+ page_selector = NULL; -+ } -+ if (page_pseudo_class) { -+ cr_string_destroy (page_pseudo_class); -+ page_pseudo_class = NULL; -+ } -+ if (property) { -+ cr_string_destroy (property); -+ property = NULL; -+ } -+ if (css_expression) { -+ cr_term_destroy (css_expression); -+ css_expression = NULL; -+ } -+ cr_tknzr_set_cur_pos (PRIVATE (a_this)->tknzr, &init_pos); -+ return status; -+} -+ -+/** -+ * cr_parser_parse_charset: -+ *@a_this: the "this pointer" of the current instance of #CRParser. -+ *@a_value: out parameter. The actual parsed value of the charset -+ *declararation. Note that for safety check reasons, *a_value must be -+ *set to NULL. -+ *@a_charset_sym_location: the parsing location of the charset rule -+ * -+ *Parses a charset declaration as defined implictly by the css2 spec in -+ *appendix D.1: -+ *charset ::= CHARSET_SYM S* STRING S* ';' -+ * -+ *Returns CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_parser_parse_charset (CRParser * a_this, CRString ** a_value, -+ CRParsingLocation *a_charset_sym_location) -+{ -+ enum CRStatus status = CR_OK; -+ CRInputPos init_pos; -+ CRToken *token = NULL; -+ CRString *charset_str = NULL; -+ -+ g_return_val_if_fail (a_this && a_value -+ && (*a_value == NULL), -+ CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token); -+ -+ ENSURE_PARSING_COND (status == CR_OK -+ && token && token->type == CHARSET_SYM_TK); -+ if (a_charset_sym_location) { -+ cr_parsing_location_copy (a_charset_sym_location, -+ &token->location) ; -+ } -+ cr_token_destroy (token); -+ token = NULL; -+ -+ PRIVATE (a_this)->state = TRY_PARSE_CHARSET_STATE; -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token); -+ ENSURE_PARSING_COND (status == CR_OK -+ && token && token->type == STRING_TK); -+ charset_str = token->u.str; -+ token->u.str = NULL; -+ cr_token_destroy (token); -+ token = NULL; -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token); -+ -+ ENSURE_PARSING_COND (status == CR_OK -+ && token && token->type == SEMICOLON_TK); -+ cr_token_destroy (token); -+ token = NULL; -+ -+ if (charset_str) { -+ *a_value = charset_str; -+ charset_str = NULL; -+ } -+ -+ PRIVATE (a_this)->state = CHARSET_PARSED_STATE; -+ return CR_OK; -+ -+ error: -+ -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ if (*a_value) { -+ cr_string_destroy (*a_value); -+ *a_value = NULL; -+ } -+ -+ if (charset_str) { -+ cr_string_destroy (charset_str); -+ charset_str = NULL; -+ } -+ -+ cr_tknzr_set_cur_pos (PRIVATE (a_this)->tknzr, &init_pos); -+ -+ return status; -+} -+ -+/** -+ * cr_parser_parse_font_face: -+ *@a_this: the current instance of #CRParser. -+ * -+ *Parses the "\@font-face" rule specified in the css1 spec in -+ *appendix D.1: -+ * -+ *font_face ::= FONT_FACE_SYM S* -+ *'{' S* declaration [ ';' S* declaration ]* '}' S* -+ * -+ *This function will call SAC handlers whenever it is necessary. -+ * -+ *Returns CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_parser_parse_font_face (CRParser * a_this) -+{ -+ enum CRStatus status = CR_ERROR; -+ CRInputPos init_pos; -+ CRString *property = NULL; -+ CRTerm *css_expression = NULL; -+ CRToken *token = NULL; -+ gboolean important = FALSE; -+ guint32 next_char = 0, -+ cur_char = 0; -+ CRParsingLocation location = {0} ; -+ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token); -+ ENSURE_PARSING_COND (status == CR_OK -+ && token -+ && token->type == FONT_FACE_SYM_TK); -+ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ if (token) { -+ cr_parsing_location_copy (&location, -+ &token->location) ; -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, -+ &token); -+ ENSURE_PARSING_COND (status == CR_OK && token -+ && token->type == CBO_TK); -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ /* -+ *here, call the relevant SAC handler. -+ */ -+ if (PRIVATE (a_this)->sac_handler -+ && PRIVATE (a_this)->sac_handler->start_font_face) { -+ PRIVATE (a_this)->sac_handler->start_font_face -+ (PRIVATE (a_this)->sac_handler, &location); -+ } -+ PRIVATE (a_this)->state = TRY_PARSE_FONT_FACE_STATE; -+ /* -+ *and resume the parsing. -+ */ -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ status = cr_parser_parse_declaration (a_this, &property, -+ &css_expression, &important); -+ if (status == CR_OK) { -+ /* -+ *here, call the relevant SAC handler. -+ */ -+ cr_term_ref (css_expression); -+ if (PRIVATE (a_this)->sac_handler && -+ PRIVATE (a_this)->sac_handler->property) { -+ PRIVATE (a_this)->sac_handler->property -+ (PRIVATE (a_this)->sac_handler, -+ property, css_expression, important); -+ } -+ ENSURE_PARSING_COND (css_expression && property); -+ } -+ /*free the data structures allocated during last parsing. */ -+ if (property) { -+ cr_string_destroy (property); -+ property = NULL; -+ } -+ if (css_expression) { -+ cr_term_unref (css_expression); -+ css_expression = NULL; -+ } -+ for (;;) { -+ PEEK_NEXT_CHAR (a_this, &next_char); -+ if (next_char == ';') { -+ READ_NEXT_CHAR (a_this, &cur_char); -+ } else { -+ break; -+ } -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ status = cr_parser_parse_declaration (a_this, -+ &property, -+ &css_expression, -+ &important); -+ if (status != CR_OK) -+ break; -+ /* -+ *here, call the relevant SAC handler. -+ */ -+ cr_term_ref (css_expression); -+ if (PRIVATE (a_this)->sac_handler->property) { -+ PRIVATE (a_this)->sac_handler->property -+ (PRIVATE (a_this)->sac_handler, -+ property, css_expression, important); -+ } -+ /* -+ *Then, free the data structures allocated during -+ *last parsing. -+ */ -+ if (property) { -+ cr_string_destroy (property); -+ property = NULL; -+ } -+ if (css_expression) { -+ cr_term_unref (css_expression); -+ css_expression = NULL; -+ } -+ } -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ READ_NEXT_CHAR (a_this, &cur_char); -+ ENSURE_PARSING_COND (cur_char == '}'); -+ /* -+ *here, call the relevant SAC handler. -+ */ -+ if (PRIVATE (a_this)->sac_handler->end_font_face) { -+ PRIVATE (a_this)->sac_handler->end_font_face -+ (PRIVATE (a_this)->sac_handler); -+ } -+ cr_parser_try_to_skip_spaces_and_comments (a_this); -+ -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ cr_parser_clear_errors (a_this); -+ PRIVATE (a_this)->state = FONT_FACE_PARSED_STATE; -+ return CR_OK; -+ -+ error: -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ if (property) { -+ cr_string_destroy (property); -+ property = NULL; -+ } -+ if (css_expression) { -+ cr_term_destroy (css_expression); -+ css_expression = NULL; -+ } -+ cr_tknzr_set_cur_pos (PRIVATE (a_this)->tknzr, &init_pos); -+ return status; -+} -+ -+/** -+ * cr_parser_parse: -+ *@a_this: the current instance of #CRParser. -+ * -+ *Parses the data that comes from the -+ *input previously associated to the current instance of -+ *#CRParser. -+ * -+ *Returns CR_OK upon succesful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_parser_parse (CRParser * a_this) -+{ -+ enum CRStatus status = CR_ERROR; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->tknzr, CR_BAD_PARAM_ERROR); -+ -+ if (PRIVATE (a_this)->use_core_grammar == FALSE) { -+ status = cr_parser_parse_stylesheet (a_this); -+ } else { -+ status = cr_parser_parse_stylesheet_core (a_this); -+ } -+ -+ return status; -+} -+ -+/** -+ * cr_parser_set_tknzr: -+ * @a_this: the current instance of #CRParser; -+ * @a_tknzr: the new tokenizer. -+ * -+ * Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_parser_set_tknzr (CRParser * a_this, CRTknzr * a_tknzr) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR); -+ -+ if (PRIVATE (a_this)->tknzr) { -+ cr_tknzr_unref (PRIVATE (a_this)->tknzr); -+ } -+ -+ PRIVATE (a_this)->tknzr = a_tknzr; -+ -+ if (a_tknzr) -+ cr_tknzr_ref (a_tknzr); -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_parser_get_tknzr: -+ *@a_this: the current instance of #CRParser -+ *@a_tknzr: out parameter. The returned tokenizer -+ * -+ *Getter of the parser's underlying tokenizer -+ * -+ *Returns CR_OK upon succesful completion, an error code -+ *otherwise -+ */ -+enum CRStatus -+cr_parser_get_tknzr (CRParser * a_this, CRTknzr ** a_tknzr) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && a_tknzr, CR_BAD_PARAM_ERROR); -+ -+ *a_tknzr = PRIVATE (a_this)->tknzr; -+ return CR_OK; -+} -+ -+/** -+ * cr_parser_get_parsing_location: -+ *@a_this: the current instance of #CRParser -+ *@a_loc: the parsing location to get. -+ * -+ *Gets the current parsing location. -+ * -+ *Returns CR_OK upon succesful completion, an error code -+ *otherwise. -+ */ -+enum CRStatus -+cr_parser_get_parsing_location (CRParser const *a_this, -+ CRParsingLocation *a_loc) -+{ -+ g_return_val_if_fail (a_this -+ && PRIVATE (a_this) -+ && a_loc, CR_BAD_PARAM_ERROR) ; -+ -+ return cr_tknzr_get_parsing_location -+ (PRIVATE (a_this)->tknzr, a_loc) ; -+} -+ -+/** -+ * cr_parser_parse_buf: -+ *@a_this: the current instance of #CRparser -+ *@a_buf: the input buffer -+ *@a_len: the length of the input buffer -+ *@a_enc: the encoding of the buffer -+ * -+ *Parses a stylesheet from a buffer -+ * -+ *Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_parser_parse_buf (CRParser * a_this, -+ const guchar * a_buf, -+ gulong a_len, enum CREncoding a_enc) -+{ -+ enum CRStatus status = CR_ERROR; -+ CRTknzr *tknzr = NULL; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && a_buf, CR_BAD_PARAM_ERROR); -+ -+ tknzr = cr_tknzr_new_from_buf ((guchar*)a_buf, a_len, a_enc, FALSE); -+ -+ g_return_val_if_fail (tknzr != NULL, CR_ERROR); -+ -+ status = cr_parser_set_tknzr (a_this, tknzr); -+ g_return_val_if_fail (status == CR_OK, CR_ERROR); -+ -+ status = cr_parser_parse (a_this); -+ -+ return status; -+} -+ -+/** -+ * cr_parser_destroy: -+ *@a_this: the current instance of #CRParser to -+ *destroy. -+ * -+ *Destroys the current instance -+ *of #CRParser. -+ */ -+void -+cr_parser_destroy (CRParser * a_this) -+{ -+ g_return_if_fail (a_this && PRIVATE (a_this)); -+ -+ if (PRIVATE (a_this)->tknzr) { -+ if (cr_tknzr_unref (PRIVATE (a_this)->tknzr) == TRUE) -+ PRIVATE (a_this)->tknzr = NULL; -+ } -+ -+ if (PRIVATE (a_this)->sac_handler) { -+ cr_doc_handler_unref (PRIVATE (a_this)->sac_handler); -+ PRIVATE (a_this)->sac_handler = NULL; -+ } -+ -+ if (PRIVATE (a_this)->err_stack) { -+ cr_parser_clear_errors (a_this); -+ PRIVATE (a_this)->err_stack = NULL; -+ } -+ -+ if (PRIVATE (a_this)) { -+ g_free (PRIVATE (a_this)); -+ PRIVATE (a_this) = NULL; -+ } -+ -+ if (a_this) { -+ g_free (a_this); -+ a_this = NULL; /*useless. Just for the sake of coherence */ -+ } -+} -diff --git a/src/st/croco/cr-parser.h b/src/st/croco/cr-parser.h -new file mode 100644 -index 000000000..6dce9439e ---- /dev/null -+++ b/src/st/croco/cr-parser.h -@@ -0,0 +1,128 @@ -+/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli -+ * See COPYRIGHTS file for copyrights information. -+ */ -+ -+#ifndef __CR_PARSER_H__ -+#define __CR_PARSER_H__ -+ -+#include -+#include "cr-input.h" -+#include "cr-tknzr.h" -+#include "cr-utils.h" -+#include "cr-doc-handler.h" -+ -+G_BEGIN_DECLS -+ -+/** -+ *@file -+ *The declaration file -+ *of the #CRParser class. -+ */ -+typedef struct _CRParser CRParser ; -+typedef struct _CRParserPriv CRParserPriv ; -+ -+ -+/** -+ *The implementation of -+ *the SAC parser. -+ *The Class is opaque -+ *and must be manipulated through -+ *the provided methods. -+ */ -+struct _CRParser { -+ CRParserPriv *priv ; -+} ; -+ -+ -+CRParser * cr_parser_new (CRTknzr *a_tknzr) ; -+ -+CRParser * cr_parser_new_from_buf (guchar *a_buf, gulong a_len, -+ enum CREncoding a_enc, -+ gboolean a_free_buf) ; -+ -+CRParser * cr_parser_new_from_file (const guchar *a_file_uri, -+ enum CREncoding a_enc) ; -+ -+CRParser * cr_parser_new_from_input (CRInput *a_input) ; -+ -+enum CRStatus cr_parser_set_tknzr (CRParser *a_this, CRTknzr *a_tknzr) ; -+ -+enum CRStatus cr_parser_get_tknzr (CRParser *a_this, CRTknzr **a_tknzr) ; -+ -+enum CRStatus cr_parser_get_parsing_location (CRParser const *a_this, CRParsingLocation *a_loc) ; -+ -+enum CRStatus cr_parser_try_to_skip_spaces_and_comments (CRParser *a_this) ; -+ -+ -+enum CRStatus cr_parser_set_sac_handler (CRParser *a_this, -+ CRDocHandler *a_handler) ; -+ -+enum CRStatus cr_parser_get_sac_handler (CRParser *a_this, -+ CRDocHandler **a_handler) ; -+ -+enum CRStatus cr_parser_set_use_core_grammar (CRParser *a_this, -+ gboolean a_use_core_grammar) ; -+enum CRStatus cr_parser_get_use_core_grammar (CRParser const *a_this, -+ gboolean *a_use_core_grammar) ; -+ -+enum CRStatus cr_parser_parse (CRParser *a_this) ; -+ -+enum CRStatus cr_parser_parse_file (CRParser *a_this, -+ const guchar *a_file_uri, -+ enum CREncoding a_enc) ; -+ -+enum CRStatus cr_parser_parse_buf (CRParser *a_this, const guchar *a_buf, -+ gulong a_len, enum CREncoding a_enc) ; -+ -+enum CRStatus cr_parser_set_default_sac_handler (CRParser *a_this) ; -+ -+enum CRStatus cr_parser_parse_term (CRParser *a_this, CRTerm **a_term) ; -+ -+enum CRStatus cr_parser_parse_expr (CRParser *a_this, CRTerm **a_expr) ; -+ -+enum CRStatus cr_parser_parse_prio (CRParser *a_this, CRString **a_prio) ; -+ -+enum CRStatus cr_parser_parse_declaration (CRParser *a_this, CRString **a_property, -+ CRTerm **a_expr, gboolean *a_important) ; -+ -+enum CRStatus cr_parser_parse_statement_core (CRParser *a_this) ; -+ -+enum CRStatus cr_parser_parse_ruleset (CRParser *a_this) ; -+ -+enum CRStatus cr_parser_parse_import (CRParser *a_this, GList ** a_media_list, -+ CRString **a_import_string, -+ CRParsingLocation *a_location) ; -+ -+enum CRStatus cr_parser_parse_media (CRParser *a_this) ; -+ -+enum CRStatus cr_parser_parse_page (CRParser *a_this) ; -+ -+enum CRStatus cr_parser_parse_charset (CRParser *a_this, CRString **a_value, -+ CRParsingLocation *a_charset_sym_location) ; -+ -+enum CRStatus cr_parser_parse_font_face (CRParser *a_this) ; -+ -+void cr_parser_destroy (CRParser *a_this) ; -+ -+G_END_DECLS -+ -+#endif /*__CR_PARSER_H__*/ -diff --git a/src/st/croco/cr-parsing-location.c b/src/st/croco/cr-parsing-location.c -new file mode 100644 -index 000000000..4fe4acc30 ---- /dev/null -+++ b/src/st/croco/cr-parsing-location.c -@@ -0,0 +1,172 @@ -+/* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli. -+ * See the COPYRIGHTS file for copyright information. -+ */ -+ -+#include -+#include "cr-parsing-location.h" -+ -+/** -+ *@CRParsingLocation: -+ * -+ *Definition of the #CRparsingLocation class. -+ */ -+ -+ -+/** -+ * cr_parsing_location_new: -+ *Instanciates a new parsing location. -+ * -+ *Returns the newly instanciated #CRParsingLocation. -+ *Must be freed by cr_parsing_location_destroy() -+ */ -+CRParsingLocation * -+cr_parsing_location_new (void) -+{ -+ CRParsingLocation * result = NULL ; -+ -+ result = g_try_malloc (sizeof (CRParsingLocation)) ; -+ if (!result) { -+ cr_utils_trace_info ("Out of memory error") ; -+ return NULL ; -+ } -+ cr_parsing_location_init (result) ; -+ return result ; -+} -+ -+/** -+ * cr_parsing_location_init: -+ *@a_this: the current instance of #CRParsingLocation. -+ * -+ *Initializes the an instance of #CRparsingLocation. -+ * -+ *Returns CR_OK upon succesful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_parsing_location_init (CRParsingLocation *a_this) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR) ; -+ -+ memset (a_this, 0, sizeof (CRParsingLocation)) ; -+ return CR_OK ; -+} -+ -+/** -+ * cr_parsing_location_copy: -+ *@a_to: the destination of the copy. -+ *Must be allocated by the caller. -+ *@a_from: the source of the copy. -+ * -+ *Copies an instance of CRParsingLocation into another one. -+ * -+ *Returns CR_OK upon succesful completion, an error code -+ *otherwise. -+ */ -+enum CRStatus -+cr_parsing_location_copy (CRParsingLocation *a_to, -+ CRParsingLocation const *a_from) -+{ -+ g_return_val_if_fail (a_to && a_from, CR_BAD_PARAM_ERROR) ; -+ -+ memcpy (a_to, a_from, sizeof (CRParsingLocation)) ; -+ return CR_OK ; -+} -+ -+/** -+ * cr_parsing_location_to_string: -+ *@a_this: the current instance of #CRParsingLocation. -+ *@a_mask: a bitmap that defines which parts of the -+ *parsing location are to be serialized (line, column or byte offset) -+ * -+ *Returns the serialized string or NULL in case of an error. -+ */ -+gchar * -+cr_parsing_location_to_string (CRParsingLocation const *a_this, -+ enum CRParsingLocationSerialisationMask a_mask) -+{ -+ GString *result = NULL ; -+ gchar *str = NULL ; -+ -+ g_return_val_if_fail (a_this, NULL) ; -+ -+ if (!a_mask) { -+ a_mask = DUMP_LINE | DUMP_COLUMN | DUMP_BYTE_OFFSET ; -+ } -+ result =g_string_new (NULL) ; -+ if (!result) -+ return NULL ; -+ if (a_mask & DUMP_LINE) { -+ g_string_append_printf (result, "line:%d ", -+ a_this->line) ; -+ } -+ if (a_mask & DUMP_COLUMN) { -+ g_string_append_printf (result, "column:%d ", -+ a_this->column) ; -+ } -+ if (a_mask & DUMP_BYTE_OFFSET) { -+ g_string_append_printf (result, "byte offset:%d ", -+ a_this->byte_offset) ; -+ } -+ if (result->len) { -+ str = result->str ; -+ g_string_free (result, FALSE) ; -+ } else { -+ g_string_free (result, TRUE) ; -+ } -+ return str ; -+} -+ -+/** -+ * cr_parsing_location_dump: -+ * @a_this: current instance of #CRParsingLocation -+ * @a_mask: the serialization mask. -+ * @a_fp: the file pointer to dump the parsing location to. -+ */ -+void -+cr_parsing_location_dump (CRParsingLocation const *a_this, -+ enum CRParsingLocationSerialisationMask a_mask, -+ FILE *a_fp) -+{ -+ gchar *str = NULL ; -+ -+ g_return_if_fail (a_this && a_fp) ; -+ str = cr_parsing_location_to_string (a_this, a_mask) ; -+ if (str) { -+ fprintf (a_fp, "%s", str) ; -+ g_free (str) ; -+ str = NULL ; -+ } -+} -+ -+/** -+ * cr_parsing_location_destroy: -+ *@a_this: the current instance of #CRParsingLocation. Must -+ *have been allocated with cr_parsing_location_new(). -+ * -+ *Destroys the current instance of #CRParsingLocation -+ */ -+void -+cr_parsing_location_destroy (CRParsingLocation *a_this) -+{ -+ g_return_if_fail (a_this) ; -+ g_free (a_this) ; -+} -+ -diff --git a/src/st/croco/cr-parsing-location.h b/src/st/croco/cr-parsing-location.h -new file mode 100644 -index 000000000..b8064a560 ---- /dev/null -+++ b/src/st/croco/cr-parsing-location.h -@@ -0,0 +1,70 @@ -+/* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli. -+ * See the COPYRIGHTS file for copyright information. -+ */ -+ -+#ifndef __CR_PARSING_LOCATION_H__ -+#define __CR_PARSING_LOCATION_H__ -+ -+#include "cr-utils.h" -+ -+G_BEGIN_DECLS -+ -+/** -+ *@file -+ *The declaration of the CRParsingLocation -+ *object. This object keeps track of line/column/byte offset/ -+ *at which the parsing of a given CSS construction appears. -+ */ -+ -+typedef struct _CRParsingLocation CRParsingLocation; -+struct _CRParsingLocation { -+ guint line ; -+ guint column ; -+ guint byte_offset ; -+} ; -+ -+ -+enum CRParsingLocationSerialisationMask { -+ DUMP_LINE = 1, -+ DUMP_COLUMN = 1 << 1, -+ DUMP_BYTE_OFFSET = 1 << 2 -+} ; -+ -+CRParsingLocation * cr_parsing_location_new (void) ; -+ -+enum CRStatus cr_parsing_location_init (CRParsingLocation *a_this) ; -+ -+enum CRStatus cr_parsing_location_copy (CRParsingLocation *a_to, -+ CRParsingLocation const *a_from) ; -+ -+gchar * cr_parsing_location_to_string (CRParsingLocation const *a_this, -+ enum CRParsingLocationSerialisationMask a_mask) ; -+void cr_parsing_location_dump (CRParsingLocation const *a_this, -+ enum CRParsingLocationSerialisationMask a_mask, -+ FILE *a_fp) ; -+ -+void cr_parsing_location_destroy (CRParsingLocation *a_this) ; -+ -+ -+ -+G_END_DECLS -+#endif -diff --git a/src/st/croco/cr-prop-list.c b/src/st/croco/cr-prop-list.c -new file mode 100644 -index 000000000..70a04f337 ---- /dev/null -+++ b/src/st/croco/cr-prop-list.c -@@ -0,0 +1,404 @@ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli -+ * See COPYRIGHTS file for copyrights information. -+ */ -+ -+#include -+#include "cr-prop-list.h" -+ -+#define PRIVATE(a_obj) (a_obj)->priv -+ -+struct _CRPropListPriv { -+ CRString *prop; -+ CRDeclaration *decl; -+ CRPropList *next; -+ CRPropList *prev; -+}; -+ -+static CRPropList *cr_prop_list_allocate (void); -+ -+/** -+ *Default allocator of CRPropList -+ *@return the newly allocated CRPropList or NULL -+ *if an error arises. -+ */ -+static CRPropList * -+cr_prop_list_allocate (void) -+{ -+ CRPropList *result = NULL; -+ -+ result = g_try_malloc (sizeof (CRPropList)); -+ if (!result) { -+ cr_utils_trace_info ("could not allocate CRPropList"); -+ return NULL; -+ } -+ memset (result, 0, sizeof (CRPropList)); -+ PRIVATE (result) = g_try_malloc (sizeof (CRPropListPriv)); -+ if (!result) { -+ cr_utils_trace_info ("could not allocate CRPropListPriv"); -+ g_free (result); -+ return NULL; -+ } -+ memset (PRIVATE (result), 0, sizeof (CRPropListPriv)); -+ return result; -+} -+ -+/**************** -+ *public methods -+ ***************/ -+ -+/** -+ * cr_prop_list_append: -+ *@a_this: the current instance of #CRPropList -+ *@a_to_append: the property list to append -+ * -+ *Appends a property list to the current one. -+ * -+ *Returns the resulting prop list, or NULL if an error -+ *occurred -+ */ -+CRPropList * -+cr_prop_list_append (CRPropList * a_this, CRPropList * a_to_append) -+{ -+ CRPropList *cur = NULL; -+ -+ g_return_val_if_fail (a_to_append, NULL); -+ -+ if (!a_this) -+ return a_to_append; -+ -+ /*go fetch the last element of the list */ -+ for (cur = a_this; -+ cur && PRIVATE (cur) && PRIVATE (cur)->next; -+ cur = PRIVATE (cur)->next) ; -+ g_return_val_if_fail (cur, NULL); -+ PRIVATE (cur)->next = a_to_append; -+ PRIVATE (a_to_append)->prev = cur; -+ return a_this; -+} -+ -+/** -+ * cr_prop_list_append2: -+ *Appends a pair of prop/declaration to -+ *the current prop list. -+ *@a_this: the current instance of #CRPropList -+ *@a_prop: the property to consider -+ *@a_decl: the declaration to consider -+ * -+ *Returns the resulting property list, or NULL in case -+ *of an error. -+ */ -+CRPropList * -+cr_prop_list_append2 (CRPropList * a_this, -+ CRString * a_prop, -+ CRDeclaration * a_decl) -+{ -+ CRPropList *list = NULL, -+ *result = NULL; -+ -+ g_return_val_if_fail (a_prop && a_decl, NULL); -+ -+ list = cr_prop_list_allocate (); -+ g_return_val_if_fail (list && PRIVATE (list), NULL); -+ -+ PRIVATE (list)->prop = a_prop; -+ PRIVATE (list)->decl = a_decl; -+ -+ result = cr_prop_list_append (a_this, list); -+ return result; -+} -+ -+/** -+ * cr_prop_list_prepend: -+ *@a_this: the current instance of #CRPropList -+ *@a_to_prepend: the new list to prepend. -+ * -+ *Prepends a list to the current list -+ *Returns the new properties list. -+ */ -+CRPropList * -+cr_prop_list_prepend (CRPropList * a_this, CRPropList * a_to_prepend) -+{ -+ CRPropList *cur = NULL; -+ -+ g_return_val_if_fail (a_to_prepend, NULL); -+ -+ if (!a_this) -+ return a_to_prepend; -+ -+ for (cur = a_to_prepend; cur && PRIVATE (cur)->next; -+ cur = PRIVATE (cur)->next) ; -+ g_return_val_if_fail (cur, NULL); -+ PRIVATE (cur)->next = a_this; -+ PRIVATE (a_this)->prev = cur; -+ return a_to_prepend; -+} -+ -+/** -+ * cr_prop_list_prepend2: -+ *@a_this: the current instance of #CRPropList -+ *@a_prop_name: property name to append -+ *@a_decl: the property value to append. -+ * -+ *Prepends a propertie to a list of properties -+ * -+ *Returns the new property list. -+ */ -+CRPropList * -+cr_prop_list_prepend2 (CRPropList * a_this, -+ CRString * a_prop_name, CRDeclaration * a_decl) -+{ -+ CRPropList *list = NULL, -+ *result = NULL; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && a_prop_name && a_decl, NULL); -+ -+ list = cr_prop_list_allocate (); -+ g_return_val_if_fail (list, NULL); -+ PRIVATE (list)->prop = a_prop_name; -+ PRIVATE (list)->decl = a_decl; -+ result = cr_prop_list_prepend (a_this, list); -+ return result; -+} -+ -+/** -+ * cr_prop_list_set_prop: -+ *@a_this: the current instance of #CRPropList -+ *@a_prop: the property to set -+ * -+ *Sets the property of a CRPropList -+ */ -+enum CRStatus -+cr_prop_list_set_prop (CRPropList * a_this, CRString * a_prop) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && a_prop, CR_BAD_PARAM_ERROR); -+ -+ PRIVATE (a_this)->prop = a_prop; -+ return CR_OK; -+} -+ -+/** -+ * cr_prop_list_get_prop: -+ *@a_this: the current instance of #CRPropList -+ *@a_prop: out parameter. The returned property -+ * -+ *Getter of the property associated to the current instance -+ *of #CRPropList -+ * -+ *Returns CR_OK upon successful completion, an error code -+ *otherwise. -+ */ -+enum CRStatus -+cr_prop_list_get_prop (CRPropList const * a_this, CRString ** a_prop) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && a_prop, CR_BAD_PARAM_ERROR); -+ -+ *a_prop = PRIVATE (a_this)->prop; -+ return CR_OK; -+} -+ -+/** -+ * cr_prop_list_set_decl: -+ * @a_this: the current instance of #CRPropList -+ * @a_decl: the new property value. -+ * -+ * Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_prop_list_set_decl (CRPropList * a_this, CRDeclaration * a_decl) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && a_decl, CR_BAD_PARAM_ERROR); -+ -+ PRIVATE (a_this)->decl = a_decl; -+ return CR_OK; -+} -+ -+/** -+ * cr_prop_list_get_decl: -+ * @a_this: the current instance of #CRPropList -+ * @a_decl: out parameter. The property value -+ * -+ * Returns CR_OK upon successful completion. -+ */ -+enum CRStatus -+cr_prop_list_get_decl (CRPropList const * a_this, CRDeclaration ** a_decl) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && a_decl, CR_BAD_PARAM_ERROR); -+ -+ *a_decl = PRIVATE (a_this)->decl; -+ return CR_OK; -+} -+ -+/** -+ * cr_prop_list_lookup_prop: -+ *@a_this: the current instance of #CRPropList -+ *@a_prop: the property to lookup -+ *@a_prop_list: out parameter. The property/declaration -+ *pair found (if and only if the function returned code if CR_OK) -+ * -+ *Lookup a given property/declaration pair -+ * -+ *Returns CR_OK if a prop/decl pair has been found, -+ *CR_VALUE_NOT_FOUND_ERROR if not, or an error code if something -+ *bad happens. -+ */ -+enum CRStatus -+cr_prop_list_lookup_prop (CRPropList * a_this, -+ CRString * a_prop, CRPropList ** a_pair) -+{ -+ CRPropList *cur = NULL; -+ -+ g_return_val_if_fail (a_prop && a_pair, CR_BAD_PARAM_ERROR); -+ -+ if (!a_this) -+ return CR_VALUE_NOT_FOUND_ERROR; -+ -+ g_return_val_if_fail (PRIVATE (a_this), CR_BAD_PARAM_ERROR); -+ -+ for (cur = a_this; cur; cur = PRIVATE (cur)->next) { -+ if (PRIVATE (cur)->prop -+ && PRIVATE (cur)->prop->stryng -+ && PRIVATE (cur)->prop->stryng->str -+ && a_prop->stryng -+ && a_prop->stryng->str -+ && !strcmp (PRIVATE (cur)->prop->stryng->str, -+ a_prop->stryng->str)) -+ break; -+ } -+ -+ if (cur) { -+ *a_pair = cur; -+ return CR_OK; -+ } -+ -+ return CR_VALUE_NOT_FOUND_ERROR; -+} -+ -+/** -+ * cr_prop_list_get_next: -+ *@a_this: the current instance of CRPropList -+ * -+ *Gets the next prop/decl pair in the list -+ * -+ *Returns the next prop/declaration pair of the list, -+ *or NULL if we reached end of list (or if an error occurs) -+ */ -+CRPropList * -+cr_prop_list_get_next (CRPropList * a_this) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), NULL); -+ -+ return PRIVATE (a_this)->next; -+} -+ -+/** -+ * cr_prop_list_get_prev: -+ *@a_this: the current instance of CRPropList -+ * -+ *Gets the previous prop/decl pair in the list -+ * -+ *Returns the previous prop/declaration pair of the list, -+ *or NULL if we reached end of list (or if an error occurs) -+ */ -+CRPropList * -+cr_prop_list_get_prev (CRPropList * a_this) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), NULL); -+ -+ return PRIVATE (a_this)->prev; -+} -+ -+/** -+ * cr_prop_list_unlink: -+ *@a_this: the current list of prop/decl pairs -+ *@a_pair: the prop/decl pair to unlink. -+ * -+ *Unlinks a prop/decl pair from the list -+ * -+ *Returns the new list or NULL in case of an error. -+ */ -+CRPropList * -+cr_prop_list_unlink (CRPropList * a_this, CRPropList * a_pair) -+{ -+ CRPropList *prev = NULL, -+ *next = NULL; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) && a_pair, NULL); -+ -+ /*some sanity checks */ -+ if (PRIVATE (a_pair)->next) { -+ next = PRIVATE (a_pair)->next; -+ g_return_val_if_fail (PRIVATE (next), NULL); -+ g_return_val_if_fail (PRIVATE (next)->prev == a_pair, NULL); -+ } -+ if (PRIVATE (a_pair)->prev) { -+ prev = PRIVATE (a_pair)->prev; -+ g_return_val_if_fail (PRIVATE (prev), NULL); -+ g_return_val_if_fail (PRIVATE (prev)->next == a_pair, NULL); -+ } -+ if (prev) { -+ PRIVATE (prev)->next = next; -+ } -+ if (next) { -+ PRIVATE (next)->prev = prev; -+ } -+ PRIVATE (a_pair)->prev = PRIVATE (a_pair)->next = NULL; -+ if (a_this == a_pair) { -+ if (next) -+ return next; -+ return NULL; -+ } -+ return a_this; -+} -+ -+/** -+ * cr_prop_list_destroy: -+ * @a_this: the current instance of #CRPropList -+ */ -+void -+cr_prop_list_destroy (CRPropList * a_this) -+{ -+ CRPropList *tail = NULL, -+ *cur = NULL; -+ -+ g_return_if_fail (a_this && PRIVATE (a_this)); -+ -+ for (tail = a_this; -+ tail && PRIVATE (tail) && PRIVATE (tail)->next; -+ tail = cr_prop_list_get_next (tail)) ; -+ g_return_if_fail (tail); -+ -+ cur = tail; -+ -+ while (cur) { -+ tail = PRIVATE (cur)->prev; -+ if (tail && PRIVATE (tail)) -+ PRIVATE (tail)->next = NULL; -+ PRIVATE (cur)->prev = NULL; -+ g_free (PRIVATE (cur)); -+ PRIVATE (cur) = NULL; -+ g_free (cur); -+ cur = tail; -+ } -+} -diff --git a/src/st/croco/cr-prop-list.h b/src/st/croco/cr-prop-list.h -new file mode 100644 -index 000000000..797ba43ea ---- /dev/null -+++ b/src/st/croco/cr-prop-list.h -@@ -0,0 +1,80 @@ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli -+ * See COPYRIGHTS file for copyrights information. -+ */ -+ -+#ifndef __CR_PROP_LIST_H__ -+#define __CR_PROP_LIST_H__ -+ -+#include "cr-utils.h" -+#include "cr-declaration.h" -+#include "cr-string.h" -+ -+G_BEGIN_DECLS -+ -+typedef struct _CRPropList CRPropList ; -+typedef struct _CRPropListPriv CRPropListPriv ; -+ -+struct _CRPropList -+{ -+ CRPropListPriv * priv; -+} ; -+ -+CRPropList * cr_prop_list_append (CRPropList *a_this, -+ CRPropList *a_to_append) ; -+ -+CRPropList * cr_prop_list_append2 (CRPropList *a_this, -+ CRString *a_prop, -+ CRDeclaration *a_decl) ; -+ -+CRPropList * cr_prop_list_prepend (CRPropList *a_this, -+ CRPropList *a_to_append) ; -+ -+CRPropList * cr_prop_list_prepend2 (CRPropList *a_this, -+ CRString *a_prop, -+ CRDeclaration *a_decl) ; -+ -+enum CRStatus cr_prop_list_set_prop (CRPropList *a_this, -+ CRString *a_prop) ; -+ -+enum CRStatus cr_prop_list_get_prop (CRPropList const *a_this, -+ CRString **a_prop) ; -+ -+enum CRStatus cr_prop_list_lookup_prop (CRPropList *a_this, -+ CRString *a_prop, -+ CRPropList**a_pair) ; -+ -+CRPropList * cr_prop_list_get_next (CRPropList *a_this) ; -+ -+CRPropList * cr_prop_list_get_prev (CRPropList *a_this) ; -+ -+enum CRStatus cr_prop_list_set_decl (CRPropList *a_this, -+ CRDeclaration *a_decl); -+ -+enum CRStatus cr_prop_list_get_decl (CRPropList const *a_this, -+ CRDeclaration **a_decl) ; -+ -+CRPropList * cr_prop_list_unlink (CRPropList *a_this, -+ CRPropList *a_pair) ; -+ -+void cr_prop_list_destroy (CRPropList *a_this) ; -+ -+G_END_DECLS -+ -+#endif /*__CR_PROP_LIST_H__*/ -diff --git a/src/st/croco/cr-pseudo.c b/src/st/croco/cr-pseudo.c -new file mode 100644 -index 000000000..cee3fc869 ---- /dev/null -+++ b/src/st/croco/cr-pseudo.c -@@ -0,0 +1,167 @@ -+/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli -+ * See COPYRIGHTS file for copyright information. -+ */ -+ -+#include "cr-pseudo.h" -+ -+/** -+ *@CRPseudo: -+ *The definition of the #CRPseudo class. -+ */ -+ -+/** -+ * cr_pseudo_new: -+ *Constructor of the #CRPseudo class. -+ * -+ *Returns the newly build instance. -+ */ -+CRPseudo * -+cr_pseudo_new (void) -+{ -+ CRPseudo *result = NULL; -+ -+ result = g_malloc0 (sizeof (CRPseudo)); -+ -+ return result; -+} -+ -+/** -+ * cr_pseudo_to_string: -+ * @a_this: the current instance of #CRPseud. -+ * -+ * Returns the serialized pseudo. Caller must free the returned -+ * string using g_free(). -+ */ -+guchar * -+cr_pseudo_to_string (CRPseudo const * a_this) -+{ -+ guchar *result = NULL; -+ GString *str_buf = NULL; -+ -+ g_return_val_if_fail (a_this, NULL); -+ -+ str_buf = g_string_new (NULL); -+ -+ if (a_this->type == IDENT_PSEUDO) { -+ guchar *name = NULL; -+ -+ if (a_this->name == NULL) { -+ goto error; -+ } -+ -+ name = (guchar *) g_strndup (a_this->name->stryng->str, -+ a_this->name->stryng->len); -+ -+ if (name) { -+ g_string_append (str_buf, (const gchar *) name); -+ g_free (name); -+ name = NULL; -+ } -+ } else if (a_this->type == FUNCTION_PSEUDO) { -+ guchar *name = NULL, -+ *arg = NULL; -+ -+ if (a_this->name == NULL) -+ goto error; -+ -+ name = (guchar *) g_strndup (a_this->name->stryng->str, -+ a_this->name->stryng->len); -+ -+ if (a_this->extra) { -+ arg = (guchar *) g_strndup (a_this->extra->stryng->str, -+ a_this->extra->stryng->len); -+ } -+ -+ if (name) { -+ g_string_append_printf (str_buf, "%s(", name); -+ g_free (name); -+ name = NULL; -+ -+ if (arg) { -+ g_string_append (str_buf, (const gchar *) arg); -+ g_free (arg); -+ arg = NULL; -+ } -+ -+ g_string_append_c (str_buf, ')'); -+ } -+ } -+ -+ if (str_buf) { -+ result = (guchar *) str_buf->str; -+ g_string_free (str_buf, FALSE); -+ str_buf = NULL; -+ } -+ -+ return result; -+ -+ error: -+ g_string_free (str_buf, TRUE); -+ return NULL; -+} -+ -+/** -+ * cr_pseudo_dump: -+ *@a_this: the current instance of pseudo -+ *@a_fp: the destination file pointer. -+ * -+ *Dumps the pseudo to a file. -+ * -+ */ -+void -+cr_pseudo_dump (CRPseudo const * a_this, FILE * a_fp) -+{ -+ guchar *tmp_str = NULL; -+ -+ if (a_this) { -+ tmp_str = cr_pseudo_to_string (a_this); -+ if (tmp_str) { -+ fprintf (a_fp, "%s", tmp_str); -+ g_free (tmp_str); -+ tmp_str = NULL; -+ } -+ } -+} -+ -+/** -+ * cr_pseudo_destroy: -+ *@a_this: the current instance to destroy. -+ * -+ *destructor of the #CRPseudo class. -+ */ -+void -+cr_pseudo_destroy (CRPseudo * a_this) -+{ -+ g_return_if_fail (a_this); -+ -+ if (a_this->name) { -+ cr_string_destroy (a_this->name); -+ a_this->name = NULL; -+ } -+ -+ if (a_this->extra) { -+ cr_string_destroy (a_this->extra); -+ a_this->extra = NULL; -+ } -+ -+ g_free (a_this); -+} -diff --git a/src/st/croco/cr-pseudo.h b/src/st/croco/cr-pseudo.h -new file mode 100644 -index 000000000..8917da45e ---- /dev/null -+++ b/src/st/croco/cr-pseudo.h -@@ -0,0 +1,64 @@ -+/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * See COPYRIGHTS file for copyright information -+ */ -+ -+#ifndef __CR_PSEUDO_H__ -+#define __CR_PSEUDO_H__ -+ -+#include -+#include -+#include "cr-attr-sel.h" -+#include "cr-parsing-location.h" -+ -+G_BEGIN_DECLS -+ -+enum CRPseudoType -+{ -+ IDENT_PSEUDO = 0, -+ FUNCTION_PSEUDO -+} ; -+ -+typedef struct _CRPseudo CRPseudo ; -+ -+/** -+ *The CRPseudo Class. -+ *Abstract a "pseudo" as defined by the css2 spec -+ *in appendix D.1 . -+ */ -+struct _CRPseudo -+{ -+ enum CRPseudoType type ; -+ CRString *name ; -+ CRString *extra ; -+ CRParsingLocation location ; -+} ; -+ -+CRPseudo * cr_pseudo_new (void) ; -+ -+guchar * cr_pseudo_to_string (CRPseudo const *a_this) ; -+ -+void cr_pseudo_dump (CRPseudo const *a_this, FILE *a_fp) ; -+ -+void cr_pseudo_destroy (CRPseudo *a_this) ; -+ -+G_END_DECLS -+ -+#endif /*__CR_PSEUDO_H__*/ -diff --git a/src/st/croco/cr-rgb.c b/src/st/croco/cr-rgb.c -new file mode 100644 -index 000000000..1b8b66256 ---- /dev/null -+++ b/src/st/croco/cr-rgb.c -@@ -0,0 +1,687 @@ -+/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli -+ * See COPYRIGHTS file for copyrights information. -+ */ -+ -+#include "config.h" -+ -+#include -+#include -+#include -+#include "cr-rgb.h" -+#include "cr-term.h" -+#include "cr-parser.h" -+ -+static const CRRgb gv_standard_colors[] = { -+ {(const guchar*)"aliceblue", 240, 248, 255, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"antiquewhite", 250, 235, 215, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"aqua", 0, 255, 255, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"aquamarine", 127, 255, 212, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"azure", 240, 255, 255, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"beige", 245, 245, 220, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"bisque", 255, 228, 196, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"black", 0, 0, 0, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"blanchedalmond", 255, 235, 205, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"blue", 0, 0, 255, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"blueviolet", 138, 43, 226, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"brown", 165, 42, 42, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"burlywood", 222, 184, 135, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"cadetblue", 95, 158, 160, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"chartreuse", 127, 255, 0, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"chocolate", 210, 105, 30, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"coral", 255, 127, 80, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"cornflowerblue", 100, 149, 237, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"cornsilk", 255, 248, 220, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"crimson", 220, 20, 60, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"cyan", 0, 255, 255, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"darkblue", 0, 0, 139, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"darkcyan", 0, 139, 139, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"darkgoldenrod", 184, 134, 11, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"darkgray", 169, 169, 169, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"darkgreen", 0, 100, 0, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"darkgrey", 169, 169, 169, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"darkkhaki", 189, 183, 107, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"darkmagenta", 139, 0, 139, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"darkolivegreen", 85, 107, 47, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"darkorange", 255, 140, 0, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"darkorchid", 153, 50, 204, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"darkred", 139, 0, 0, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"darksalmon", 233, 150, 122, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"darkseagreen", 143, 188, 143, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"darkslateblue", 72, 61, 139, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"darkslategray", 47, 79, 79, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"darkslategrey", 47, 79, 79, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"darkturquoise", 0, 206, 209, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"darkviolet", 148, 0, 211, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"deeppink", 255, 20, 147, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"deepskyblue", 0, 191, 255, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"dimgray", 105, 105, 105, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"dimgrey", 105, 105, 105, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"dodgerblue", 30, 144, 255, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"firebrick", 178, 34, 34, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"floralwhite", 255, 250, 240, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"forestgreen", 34, 139, 34, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"fuchsia", 255, 0, 255, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"gainsboro", 220, 220, 220, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"ghostwhite", 248, 248, 255, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"gold", 255, 215, 0, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"goldenrod", 218, 165, 32, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"gray", 128, 128, 128, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"green", 0, 128, 0, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"greenyellow", 173, 255, 47, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"grey", 128, 128, 128, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"honeydew", 240, 255, 240, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"hotpink", 255, 105, 180, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"indianred", 205, 92, 92, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"indigo", 75, 0, 130, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"ivory", 255, 255, 240, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"khaki", 240, 230, 140, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"lavender", 230, 230, 250, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"lavenderblush", 255, 240, 245, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"lawngreen", 124, 252, 0, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"lemonchiffon", 255, 250, 205, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"lightblue", 173, 216, 230, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"lightcoral", 240, 128, 128, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"lightcyan", 224, 255, 255, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"lightgoldenrodyellow", 250, 250, 210, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"lightgray", 211, 211, 211, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"lightgreen", 144, 238, 144, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"lightgrey", 211, 211, 211, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"lightpink", 255, 182, 193, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"lightsalmon", 255, 160, 122, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"lightseagreen", 32, 178, 170, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"lightskyblue", 135, 206, 250, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"lightslategray", 119, 136, 153, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"lightslategrey", 119, 136, 153, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"lightsteelblue", 176, 196, 222, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"lightyellow", 255, 255, 224, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"lime", 0, 255, 0, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"limegreen", 50, 205, 50, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"linen", 250, 240, 230, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"magenta", 255, 0, 255, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"maroon", 128, 0, 0, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"mediumaquamarine", 102, 205, 170, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"mediumblue", 0, 0, 205, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"mediumorchid", 186, 85, 211, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"mediumpurple", 147, 112, 219, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"mediumseagreen", 60, 179, 113, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"mediumslateblue", 123, 104, 238, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"mediumspringgreen", 0, 250, 154, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"mediumturquoise", 72, 209, 204, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"mediumvioletred", 199, 21, 133, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"midnightblue", 25, 25, 112, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"mintcream", 245, 255, 250, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"mistyrose", 255, 228, 225, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"moccasin", 255, 228, 181, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"navajowhite", 255, 222, 173, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"navy", 0, 0, 128, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"oldlace", 253, 245, 230, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"olive", 128, 128, 0, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"olivedrab", 107, 142, 35, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"orange", 255, 165, 0, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"orangered", 255, 69, 0, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"orchid", 218, 112, 214, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"palegoldenrod", 238, 232, 170, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"palegreen", 152, 251, 152, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"paleturquoise", 175, 238, 238, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"palevioletred", 219, 112, 147, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"papayawhip", 255, 239, 213, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"peachpuff", 255, 218, 185, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"peru", 205, 133, 63, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"pink", 255, 192, 203, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"plum", 221, 160, 221, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"powderblue", 176, 224, 230, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"purple", 128, 0, 128, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"red", 255, 0, 0, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"rosybrown", 188, 143, 143, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"royalblue", 65, 105, 225, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"saddlebrown", 139, 69, 19, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"salmon", 250, 128, 114, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"sandybrown", 244, 164, 96, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"seagreen", 46, 139, 87, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"seashell", 255, 245, 238, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"sienna", 160, 82, 45, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"silver", 192, 192, 192, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"skyblue", 135, 206, 235, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"slateblue", 106, 90, 205, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"slategray", 112, 128, 144, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"slategrey", 112, 128, 144, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"snow", 255, 250, 250, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"springgreen", 0, 255, 127, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"steelblue", 70, 130, 180, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"tan", 210, 180, 140, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"teal", 0, 128, 128, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"thistle", 216, 191, 216, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"tomato", 255, 99, 71, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"transparent", 255, 255, 255, FALSE, FALSE, TRUE, {0,0,0}}, -+ {(const guchar*)"turquoise", 64, 224, 208, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"violet", 238, 130, 238, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"wheat", 245, 222, 179, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"white", 255, 255, 255, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"whitesmoke", 245, 245, 245, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"yellow", 255, 255, 0, FALSE, FALSE, FALSE, {0,0,0}}, -+ {(const guchar*)"yellowgreen", 154, 205, 50, FALSE, FALSE, FALSE, {0,0,0}} -+}; -+ -+/** -+ * cr_rgb_new: -+ * -+ *The default constructor of #CRRgb. -+ * -+ *Returns the newly built instance of #CRRgb -+ */ -+CRRgb * -+cr_rgb_new (void) -+{ -+ CRRgb *result = NULL; -+ -+ result = g_try_malloc (sizeof (CRRgb)); -+ -+ if (result == NULL) { -+ cr_utils_trace_info ("No more memory"); -+ return NULL; -+ } -+ -+ memset (result, 0, sizeof (CRRgb)); -+ -+ return result; -+} -+ -+/** -+ * cr_rgb_new_with_vals: -+ *@a_red: the red component of the color. -+ *@a_green: the green component of the color. -+ *@a_blue: the blue component of the color. -+ *@a_unit: the unit of the rgb values. -+ *(either percentage or integer values) -+ * -+ *A constructor of #CRRgb. -+ * -+ *Returns the newly built instance of #CRRgb. -+ */ -+CRRgb * -+cr_rgb_new_with_vals (gulong a_red, gulong a_green, -+ gulong a_blue, gboolean a_is_percentage) -+{ -+ CRRgb *result = NULL; -+ -+ result = cr_rgb_new (); -+ -+ g_return_val_if_fail (result, NULL); -+ -+ result->red = a_red; -+ result->green = a_green; -+ result->blue = a_blue; -+ result->is_percentage = a_is_percentage; -+ -+ return result; -+} -+ -+/** -+ * cr_rgb_to_string: -+ *@a_this: the instance of #CRRgb to serialize. -+ * -+ *Serializes the rgb into a zero terminated string. -+ * -+ *Returns the zero terminated string containing the serialized -+ *rgb. MUST BE FREED by the caller using g_free(). -+ */ -+guchar * -+cr_rgb_to_string (CRRgb const * a_this) -+{ -+ guchar *result = NULL; -+ GString *str_buf = NULL; -+ -+ str_buf = g_string_new (NULL); -+ g_return_val_if_fail (str_buf, NULL); -+ -+ if (a_this->is_percentage == 1) { -+ g_string_append_printf (str_buf, "%ld", a_this->red); -+ -+ g_string_append (str_buf, "%, "); -+ -+ g_string_append_printf (str_buf, "%ld", a_this->green); -+ g_string_append (str_buf, "%, "); -+ -+ g_string_append_printf (str_buf, "%ld", a_this->blue); -+ g_string_append_c (str_buf, '%'); -+ } else { -+ g_string_append_printf (str_buf, "%ld", a_this->red); -+ g_string_append (str_buf, ", "); -+ -+ g_string_append_printf (str_buf, "%ld", a_this->green); -+ g_string_append (str_buf, ", "); -+ -+ g_string_append_printf (str_buf, "%ld", a_this->blue); -+ } -+ -+ if (str_buf) { -+ result = (guchar *) str_buf->str; -+ g_string_free (str_buf, FALSE); -+ } -+ -+ return result; -+} -+ -+/** -+ * cr_rgb_dump: -+ *@a_this: the "this pointer" of -+ *the current instance of #CRRgb. -+ *@a_fp: the destination file pointer. -+ * -+ *Dumps the current instance of #CRRgb -+ *to a file. -+ */ -+void -+cr_rgb_dump (CRRgb const * a_this, FILE * a_fp) -+{ -+ guchar *str = NULL; -+ -+ g_return_if_fail (a_this); -+ -+ str = cr_rgb_to_string (a_this); -+ -+ if (str) { -+ fprintf (a_fp, "%s", str); -+ g_free (str); -+ str = NULL; -+ } -+} -+ -+/** -+ * cr_rgb_compute_from_percentage: -+ *@a_this: the current instance of #CRRgb -+ * -+ *If the rgb values are expressed in percentage, -+ *compute their real value. -+ * -+ *Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_rgb_compute_from_percentage (CRRgb * a_this) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ if (a_this->is_percentage == FALSE) -+ return CR_OK; -+ a_this->red = a_this->red * 255 / 100; -+ a_this->green = a_this->green * 255 / 100; -+ a_this->blue = a_this->blue * 255 / 100; -+ a_this->is_percentage = FALSE; -+ return CR_OK; -+} -+ -+/** -+ * cr_rgb_set: -+ *@a_this: the current instance of #CRRgb. -+ *@a_red: the red value. -+ *@a_green: the green value. -+ *@a_blue: the blue value. -+ * -+ *Sets rgb values to the RGB. -+ * -+ *Returns CR_OK upon successful completion, an error code -+ *otherwise. -+ */ -+enum CRStatus -+cr_rgb_set (CRRgb * a_this, gulong a_red, -+ gulong a_green, gulong a_blue, gboolean a_is_percentage) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ if (a_is_percentage != FALSE) { -+ g_return_val_if_fail (a_red <= 100 -+ && a_green <= 100 -+ && a_blue <= 100, CR_BAD_PARAM_ERROR); -+ } -+ -+ a_this->is_percentage = a_is_percentage; -+ -+ a_this->red = a_red; -+ a_this->green = a_green; -+ a_this->blue = a_blue; -+ a_this->inherit = FALSE ; -+ a_this->is_transparent = FALSE ; -+ return CR_OK; -+} -+ -+/** -+ * cr_rgb_set_to_inherit: -+ *@a_this: the current instance of #CRRgb -+ * -+ *sets the value of the rgb to inherit. -+ *Look at the css spec from chapter 6.1 to 6.2 to understand -+ *the meaning of "inherit". -+ * -+ * Returns CR_OK upon succesful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_rgb_set_to_inherit (CRRgb *a_this, gboolean a_inherit) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR) ; -+ -+ a_this->inherit = a_inherit ; -+ -+ return CR_OK ; -+} -+ -+/** -+ * cr_rgb_is_set_to_inherit: -+ * -+ * @a_this: the current instance of #CRRgb. -+ * -+ * Returns TRUE if the rgb is set to the value "inherit", FALSE otherwise. -+ */ -+gboolean -+cr_rgb_is_set_to_inherit (CRRgb const *a_this) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR) ; -+ -+ return a_this->inherit ; -+} -+ -+/** -+ * cr_rgb_is_set_to_transparent: -+ *@a_this: the current instance of -+ *#CRRgb -+ * -+ *Tests if the the rgb is set to the -+ *value "transparent" or not. -+ * -+ *Returns TRUE if the rgb has been set to -+ *transparent, FALSE otherwise. -+ */ -+gboolean -+cr_rgb_is_set_to_transparent (CRRgb const *a_this) -+{ -+ g_return_val_if_fail (a_this, FALSE) ; -+ return a_this->is_transparent ; -+} -+ -+ -+/** -+ * cr_rgb_set_to_transparent: -+ *@a_this: the current instance of #CRRgb -+ *@a_is_transparent: set to transparent or not. -+ * -+ *Sets the rgb to the "transparent" value (or not) -+ *Returns CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_rgb_set_to_transparent (CRRgb *a_this, -+ gboolean a_is_transparent) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR) ; -+ a_this->is_transparent = a_is_transparent ; -+ return CR_OK ; -+} -+ -+/** -+ * cr_rgb_set_from_rgb: -+ *@a_this: the current instance of #CRRgb. -+ *@a_rgb: the rgb to "copy" -+ * -+ *Sets the rgb from an other one. -+ * -+ *Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_rgb_set_from_rgb (CRRgb * a_this, CRRgb const * a_rgb) -+{ -+ g_return_val_if_fail (a_this && a_rgb, CR_BAD_PARAM_ERROR); -+ -+ cr_rgb_copy (a_this, a_rgb) ; -+ -+ return CR_OK; -+} -+ -+static int -+cr_rgb_color_name_compare (const void *a, -+ const void *b) -+{ -+ const char *a_color_name = a; -+ const CRRgb *rgb = b; -+ -+ return g_ascii_strcasecmp (a_color_name, (const char *) rgb->name); -+} -+ -+/** -+ * cr_rgb_set_from_name: -+ * @a_this: the current instance of #CRRgb -+ * @a_color_name: the color name -+ * -+ * Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_rgb_set_from_name (CRRgb * a_this, const guchar * a_color_name) -+{ -+ enum CRStatus status = CR_OK; -+ CRRgb *result; -+ -+ g_return_val_if_fail (a_this && a_color_name, CR_BAD_PARAM_ERROR); -+ -+ result = bsearch (a_color_name, -+ gv_standard_colors, -+ G_N_ELEMENTS (gv_standard_colors), -+ sizeof (gv_standard_colors[0]), -+ cr_rgb_color_name_compare); -+ if (result != NULL) -+ cr_rgb_set_from_rgb (a_this, result); -+ else -+ status = CR_UNKNOWN_TYPE_ERROR; -+ -+ return status; -+} -+ -+/** -+ * cr_rgb_set_from_hex_str: -+ * @a_this: the current instance of #CRRgb -+ * @a_hex: the hexadecimal value to set. -+ * -+ * Returns CR_OK upon successful completion. -+ */ -+enum CRStatus -+cr_rgb_set_from_hex_str (CRRgb * a_this, const guchar * a_hex) -+{ -+ enum CRStatus status = CR_OK; -+ gulong i = 0; -+ guchar colors[3] = { 0 }; -+ -+ g_return_val_if_fail (a_this && a_hex, CR_BAD_PARAM_ERROR); -+ -+ if (strlen ((const char *) a_hex) == 3) { -+ for (i = 0; i < 3; i++) { -+ if (a_hex[i] >= '0' && a_hex[i] <= '9') { -+ colors[i] = a_hex[i] - '0'; -+ colors[i] = (colors[i] << 4) | colors[i]; -+ } else if (a_hex[i] >= 'a' && a_hex[i] <= 'z') { -+ colors[i] = 10 + a_hex[i] - 'a'; -+ colors[i] = (colors[i] << 4) | colors[i]; -+ } else if (a_hex[i] >= 'A' && a_hex[i] <= 'Z') { -+ colors[i] = 10 + a_hex[i] - 'A'; -+ colors[i] = (colors[i] << 4) | colors[i]; -+ } else { -+ status = CR_UNKNOWN_TYPE_ERROR; -+ } -+ } -+ } else if (strlen ((const char *) a_hex) == 6) { -+ for (i = 0; i < 6; i++) { -+ if (a_hex[i] >= '0' && a_hex[i] <= '9') { -+ colors[i / 2] <<= 4; -+ colors[i / 2] |= a_hex[i] - '0'; -+ status = CR_OK; -+ } else if (a_hex[i] >= 'a' && a_hex[i] <= 'z') { -+ colors[i / 2] <<= 4; -+ colors[i / 2] |= 10 + a_hex[i] - 'a'; -+ status = CR_OK; -+ } else if (a_hex[i] >= 'A' && a_hex[i] <= 'Z') { -+ colors[i / 2] <<= 4; -+ colors[i / 2] |= 10 + a_hex[i] - 'A'; -+ status = CR_OK; -+ } else { -+ status = CR_UNKNOWN_TYPE_ERROR; -+ } -+ } -+ } else { -+ status = CR_UNKNOWN_TYPE_ERROR; -+ } -+ -+ if (status == CR_OK) { -+ status = cr_rgb_set (a_this, colors[0], -+ colors[1], colors[2], FALSE); -+ cr_rgb_set_to_transparent (a_this, FALSE) ; -+ } -+ return status; -+} -+ -+/** -+ * cr_rgb_set_from_term: -+ *@a_this: the instance of #CRRgb to set -+ *@a_value: the terminal from which to set -+ * -+ *Set the rgb from a terminal symbol -+ * -+ * Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_rgb_set_from_term (CRRgb *a_this, const struct _CRTerm *a_value) -+{ -+ enum CRStatus status = CR_OK ; -+ g_return_val_if_fail (a_this && a_value, -+ CR_BAD_PARAM_ERROR) ; -+ -+ switch(a_value->type) { -+ case TERM_RGB: -+ if (a_value->content.rgb) { -+ cr_rgb_set_from_rgb -+ (a_this, a_value->content.rgb) ; -+ } -+ break ; -+ case TERM_IDENT: -+ if (a_value->content.str -+ && a_value->content.str->stryng -+ && a_value->content.str->stryng->str) { -+ if (!strncmp ("inherit", -+ a_value->content.str->stryng->str, -+ sizeof ("inherit")-1)) { -+ a_this->inherit = TRUE; -+ a_this->is_transparent = FALSE ; -+ } else { -+ status = cr_rgb_set_from_name -+ (a_this, -+ (const guchar *) a_value->content.str->stryng->str) ; -+ } -+ } else { -+ cr_utils_trace_info -+ ("a_value has NULL string value") ; -+ } -+ break ; -+ case TERM_HASH: -+ if (a_value->content.str -+ && a_value->content.str->stryng -+ && a_value->content.str->stryng->str) { -+ status = cr_rgb_set_from_hex_str -+ (a_this, -+ (const guchar *) a_value->content.str->stryng->str) ; -+ } else { -+ cr_utils_trace_info -+ ("a_value has NULL string value") ; -+ } -+ break ; -+ default: -+ status = CR_UNKNOWN_TYPE_ERROR ; -+ } -+ return status ; -+} -+ -+enum CRStatus -+cr_rgb_copy (CRRgb *a_dest, CRRgb const *a_src) -+{ -+ g_return_val_if_fail (a_dest && a_src, -+ CR_BAD_PARAM_ERROR) ; -+ -+ memcpy (a_dest, a_src, sizeof (CRRgb)) ; -+ return CR_OK ; -+} -+ -+/** -+ * cr_rgb_destroy: -+ *@a_this: the "this pointer" of the -+ *current instance of #CRRgb. -+ * -+ *Destructor of #CRRgb. -+ */ -+void -+cr_rgb_destroy (CRRgb * a_this) -+{ -+ g_return_if_fail (a_this); -+ g_free (a_this); -+} -+ -+/** -+ * cr_rgb_parse_from_buf: -+ *@a_str: a string that contains a color description -+ *@a_enc: the encoding of a_str -+ * -+ *Parses a text buffer that contains a rgb color -+ * -+ *Returns the parsed color, or NULL in case of error -+ */ -+CRRgb * -+cr_rgb_parse_from_buf (const guchar *a_str, -+ enum CREncoding a_enc) -+{ -+ enum CRStatus status = CR_OK ; -+ CRTerm *value = NULL ; -+ CRParser * parser = NULL; -+ CRRgb *result = NULL; -+ -+ g_return_val_if_fail (a_str, NULL); -+ -+ parser = cr_parser_new_from_buf ((guchar *) a_str, strlen ((const char *) a_str), a_enc, FALSE); -+ -+ g_return_val_if_fail (parser, NULL); -+ -+ status = cr_parser_try_to_skip_spaces_and_comments (parser) ; -+ if (status != CR_OK) -+ goto cleanup; -+ -+ status = cr_parser_parse_term (parser, &value); -+ if (status != CR_OK) -+ goto cleanup; -+ -+ result = cr_rgb_new (); -+ if (!result) -+ goto cleanup; -+ -+ status = cr_rgb_set_from_term (result, value); -+ -+cleanup: -+ if (parser) { -+ cr_parser_destroy (parser); -+ parser = NULL; -+ } -+ if (value) { -+ cr_term_destroy(value); -+ value = NULL; -+ } -+ return result ; -+} -+ -diff --git a/src/st/croco/cr-rgb.h b/src/st/croco/cr-rgb.h -new file mode 100644 -index 000000000..a127a440e ---- /dev/null -+++ b/src/st/croco/cr-rgb.h -@@ -0,0 +1,94 @@ -+/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * see COPYRIGHTS file for copyright information. -+ */ -+ -+#ifndef __CR_RGB_H__ -+#define __CR_RGB_H__ -+ -+#include -+#include -+#include "cr-utils.h" -+#include "cr-parsing-location.h" -+ -+G_BEGIN_DECLS -+ -+ -+typedef struct _CRRgb CRRgb ; -+struct _CRRgb -+{ -+ /* -+ *the unit of the rgb. -+ *Either NO_UNIT (integer) or -+ *UNIT_PERCENTAGE (percentage). -+ */ -+ const guchar *name ; -+ glong red ; -+ glong green ; -+ glong blue ; -+ gboolean is_percentage ; -+ gboolean inherit ; -+ gboolean is_transparent ; -+ CRParsingLocation location ; -+} ; -+ -+CRRgb * cr_rgb_new (void) ; -+ -+CRRgb * cr_rgb_new_with_vals (gulong a_red, gulong a_green, -+ gulong a_blue, gboolean a_is_percentage) ; -+ -+CRRgb *cr_rgb_parse_from_buf(const guchar *a_str, -+ enum CREncoding a_enc); -+ -+enum CRStatus cr_rgb_compute_from_percentage (CRRgb *a_this) ; -+ -+enum CRStatus cr_rgb_set (CRRgb *a_this, gulong a_red, -+ gulong a_green, gulong a_blue, -+ gboolean a_is_percentage) ; -+ -+enum CRStatus cr_rgb_copy (CRRgb *a_dest, CRRgb const *a_src) ; -+ -+enum CRStatus cr_rgb_set_to_inherit (CRRgb *a_this, gboolean a_inherit) ; -+ -+gboolean cr_rgb_is_set_to_inherit (CRRgb const *a_this) ; -+ -+gboolean cr_rgb_is_set_to_transparent (CRRgb const *a_this) ; -+ -+enum CRStatus cr_rgb_set_to_transparent (CRRgb *a_this, -+ gboolean a_is_transparent) ; -+enum CRStatus cr_rgb_set_from_rgb (CRRgb *a_this, CRRgb const *a_rgb) ; -+ -+enum CRStatus cr_rgb_set_from_name (CRRgb *a_this, const guchar *a_color_name) ; -+ -+enum CRStatus cr_rgb_set_from_hex_str (CRRgb *a_this, const guchar * a_hex_value) ; -+ -+struct _CRTerm; -+ -+enum CRStatus cr_rgb_set_from_term (CRRgb *a_this, const struct _CRTerm *a_value); -+ -+guchar * cr_rgb_to_string (CRRgb const *a_this) ; -+ -+void cr_rgb_dump (CRRgb const *a_this, FILE *a_fp) ; -+ -+void cr_rgb_destroy (CRRgb *a_this) ; -+ -+G_END_DECLS -+ -+#endif /*__CR_RGB_H__*/ -diff --git a/src/st/croco/cr-selector.c b/src/st/croco/cr-selector.c -new file mode 100644 -index 000000000..8902e1c0f ---- /dev/null -+++ b/src/st/croco/cr-selector.c -@@ -0,0 +1,306 @@ -+/* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * See COPYRIGHTS file for copyright information. -+ */ -+ -+#include -+#include "cr-selector.h" -+#include "cr-parser.h" -+ -+/** -+ * cr_selector_new: -+ * -+ *@a_simple_sel: the initial simple selector list -+ *of the current instance of #CRSelector. -+ * -+ *Creates a new instance of #CRSelector. -+ * -+ *Returns the newly built instance of #CRSelector, or -+ *NULL in case of failure. -+ */ -+CRSelector * -+cr_selector_new (CRSimpleSel * a_simple_sel) -+{ -+ CRSelector *result = NULL; -+ -+ result = g_try_malloc (sizeof (CRSelector)); -+ if (!result) { -+ cr_utils_trace_info ("Out of memory"); -+ return NULL; -+ } -+ memset (result, 0, sizeof (CRSelector)); -+ result->simple_sel = a_simple_sel; -+ return result; -+} -+ -+CRSelector * -+cr_selector_parse_from_buf (const guchar * a_char_buf, enum CREncoding a_enc) -+{ -+ CRParser *parser = NULL; -+ -+ g_return_val_if_fail (a_char_buf, NULL); -+ -+ parser = cr_parser_new_from_buf ((guchar*)a_char_buf, strlen ((const char *) a_char_buf), -+ a_enc, FALSE); -+ g_return_val_if_fail (parser, NULL); -+ -+ return NULL; -+} -+ -+/** -+ * cr_selector_append: -+ * -+ *@a_this: the current instance of #CRSelector. -+ *@a_new: the instance of #CRSelector to be appended. -+ * -+ *Appends a new instance of #CRSelector to the current selector list. -+ * -+ *Returns the new list. -+ */ -+CRSelector * -+cr_selector_append (CRSelector * a_this, CRSelector * a_new) -+{ -+ CRSelector *cur = NULL; -+ -+ if (!a_this) { -+ return a_new; -+ } -+ -+ /*walk forward the list headed by a_this to get the list tail */ -+ for (cur = a_this; cur && cur->next; cur = cur->next) ; -+ -+ cur->next = a_new; -+ a_new->prev = cur; -+ -+ return a_this; -+} -+ -+/** -+ * cr_selector_prepend: -+ * -+ *@a_this: the current instance of #CRSelector list. -+ *@a_new: the instance of #CRSelector. -+ * -+ *Prepends an element to the #CRSelector list. -+ * -+ *Returns the new list. -+ */ -+CRSelector * -+cr_selector_prepend (CRSelector * a_this, CRSelector * a_new) -+{ -+ CRSelector *cur = NULL; -+ -+ a_new->next = a_this; -+ a_this->prev = a_new; -+ -+ for (cur = a_new; cur && cur->prev; cur = cur->prev) ; -+ -+ return cur; -+} -+ -+/** -+ * cr_selector_append_simple_sel: -+ * -+ *@a_this: the current instance of #CRSelector. -+ *@a_simple_sel: the simple selector to append. -+ * -+ *append a simple selector to the current #CRSelector list. -+ * -+ *Returns the new list or NULL in case of failure. -+ */ -+CRSelector * -+cr_selector_append_simple_sel (CRSelector * a_this, -+ CRSimpleSel * a_simple_sel) -+{ -+ CRSelector *selector = NULL; -+ -+ selector = cr_selector_new (a_simple_sel); -+ g_return_val_if_fail (selector, NULL); -+ -+ return cr_selector_append (a_this, selector); -+} -+ -+guchar * -+cr_selector_to_string (CRSelector const * a_this) -+{ -+ guchar *result = NULL; -+ GString *str_buf = NULL; -+ -+ str_buf = g_string_new (NULL); -+ g_return_val_if_fail (str_buf, NULL); -+ -+ if (a_this) { -+ CRSelector const *cur = NULL; -+ -+ for (cur = a_this; cur; cur = cur->next) { -+ if (cur->simple_sel) { -+ guchar *tmp_str = NULL; -+ -+ tmp_str = cr_simple_sel_to_string -+ (cur->simple_sel); -+ -+ if (tmp_str) { -+ if (cur->prev) -+ g_string_append (str_buf, -+ ", "); -+ -+ g_string_append (str_buf, (const gchar *) tmp_str); -+ -+ g_free (tmp_str); -+ tmp_str = NULL; -+ } -+ } -+ } -+ } -+ -+ if (str_buf) { -+ result = (guchar *) str_buf->str; -+ g_string_free (str_buf, FALSE); -+ str_buf = NULL; -+ } -+ -+ return result; -+} -+ -+/** -+ * cr_selector_dump: -+ * -+ *@a_this: the current instance of #CRSelector. -+ *@a_fp: the destination file. -+ * -+ *Serializes the current instance of #CRSelector to a file. -+ */ -+void -+cr_selector_dump (CRSelector const * a_this, FILE * a_fp) -+{ -+ guchar *tmp_buf = NULL; -+ -+ if (a_this) { -+ tmp_buf = cr_selector_to_string (a_this); -+ if (tmp_buf) { -+ fprintf (a_fp, "%s", tmp_buf); -+ g_free (tmp_buf); -+ tmp_buf = NULL; -+ } -+ } -+} -+ -+/** -+ * cr_selector_ref: -+ * -+ *@a_this: the current instance of #CRSelector. -+ * -+ *Increments the ref count of the current instance -+ *of #CRSelector. -+ */ -+void -+cr_selector_ref (CRSelector * a_this) -+{ -+ g_return_if_fail (a_this); -+ -+ a_this->ref_count++; -+} -+ -+/** -+ * cr_selector_unref: -+ * -+ *@a_this: the current instance of #CRSelector. -+ * -+ *Decrements the ref count of the current instance of -+ *#CRSelector. -+ *If the ref count reaches zero, the current instance of -+ *#CRSelector is destroyed. -+ * -+ *Returns TRUE if this function destroyed the current instance -+ *of #CRSelector, FALSE otherwise. -+ */ -+gboolean -+cr_selector_unref (CRSelector * a_this) -+{ -+ g_return_val_if_fail (a_this, FALSE); -+ -+ if (a_this->ref_count) { -+ a_this->ref_count--; -+ } -+ -+ if (a_this->ref_count == 0) { -+ cr_selector_destroy (a_this); -+ return TRUE; -+ } -+ -+ return FALSE; -+} -+ -+/** -+ * cr_selector_destroy: -+ * -+ *@a_this: the current instance of #CRSelector. -+ * -+ *Destroys the selector list. -+ */ -+void -+cr_selector_destroy (CRSelector * a_this) -+{ -+ CRSelector *cur = NULL; -+ -+ g_return_if_fail (a_this); -+ -+ /* -+ *go and get the list tail. In the same time, free -+ *all the simple selectors contained in the list. -+ */ -+ for (cur = a_this; cur && cur->next; cur = cur->next) { -+ if (cur->simple_sel) { -+ cr_simple_sel_destroy (cur->simple_sel); -+ cur->simple_sel = NULL; -+ } -+ } -+ -+ if (cur) { -+ if (cur->simple_sel) { -+ cr_simple_sel_destroy (cur->simple_sel); -+ cur->simple_sel = NULL; -+ } -+ } -+ -+ /*in case the list has only one element */ -+ if (cur && !cur->prev) { -+ g_free (cur); -+ return; -+ } -+ -+ /*walk backward the list and free each "next element" */ -+ for (cur = cur->prev; cur && cur->prev; cur = cur->prev) { -+ if (cur->next) { -+ g_free (cur->next); -+ cur->next = NULL; -+ } -+ } -+ -+ if (!cur) -+ return; -+ -+ if (cur->next) { -+ g_free (cur->next); -+ cur->next = NULL; -+ } -+ -+ g_free (cur); -+} -diff --git a/src/st/croco/cr-selector.h b/src/st/croco/cr-selector.h -new file mode 100644 -index 000000000..dd6a7f786 ---- /dev/null -+++ b/src/st/croco/cr-selector.h -@@ -0,0 +1,95 @@ -+/* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * -+ * Author: Dodji Seketeli -+ * See COPYRIGHTS file for copyright information. -+ */ -+ -+#ifndef __CR_SELECTOR_H__ -+#define __CR_SELECTOR_H__ -+ -+#include -+#include "cr-utils.h" -+#include "cr-simple-sel.h" -+#include "cr-parsing-location.h" -+ -+/** -+ *@file -+ *The declaration file of the #CRSelector file. -+ */ -+ -+G_BEGIN_DECLS -+ -+typedef struct _CRSelector CRSelector ; -+ -+/** -+ *Abstracts a CSS2 selector as defined in the right part -+ *of the 'ruleset" production in the appendix D.1 of the -+ *css2 spec. -+ *It is actually the abstraction of a comma separated list -+ *of simple selectors list. -+ *In a css2 file, a selector is a list of simple selectors -+ *separated by a comma. -+ *e.g: sel0, sel1, sel2 ... -+ *Each seln is a simple selector -+ */ -+struct _CRSelector -+{ -+ /** -+ *A Selection expression. -+ *It is a list of basic selectors. -+ *Each basic selector can be either an element -+ *selector, an id selector, a class selector, an -+ *attribute selector, an universal selector etc ... -+ */ -+ CRSimpleSel *simple_sel ; -+ -+ /**The next selector list element*/ -+ CRSelector *next ; -+ CRSelector *prev ; -+ CRParsingLocation location ; -+ glong ref_count ; -+}; -+ -+CRSelector* cr_selector_new (CRSimpleSel *a_sel_expr) ; -+ -+CRSelector * cr_selector_parse_from_buf (const guchar * a_char_buf, -+ enum CREncoding a_enc) ; -+ -+CRSelector* cr_selector_append (CRSelector *a_this, CRSelector *a_new) ; -+ -+CRSelector* cr_selector_append_simple_sel (CRSelector *a_this, -+ CRSimpleSel *a_simple_sel) ; -+ -+CRSelector* cr_selector_prepend (CRSelector *a_this, CRSelector *a_new) ; -+ -+guchar * cr_selector_to_string (CRSelector const *a_this) ; -+ -+void cr_selector_dump (CRSelector const *a_this, FILE *a_fp) ; -+ -+void cr_selector_ref (CRSelector *a_this) ; -+ -+gboolean cr_selector_unref (CRSelector *a_this) ; -+ -+void cr_selector_destroy (CRSelector *a_this) ; -+ -+G_END_DECLS -+ -+#endif /*__CR_SELECTOR_H__*/ -diff --git a/src/st/croco/cr-simple-sel.c b/src/st/croco/cr-simple-sel.c -new file mode 100644 -index 000000000..ac906858d ---- /dev/null -+++ b/src/st/croco/cr-simple-sel.c -@@ -0,0 +1,325 @@ -+/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli -+ * See COPYRIGHTS file for copyright information. -+ */ -+ -+#include -+#include -+#include "cr-simple-sel.h" -+ -+/** -+ * cr_simple_sel_new: -+ * -+ *The constructor of #CRSimpleSel. -+ * -+ *Returns the new instance of #CRSimpleSel. -+ */ -+CRSimpleSel * -+cr_simple_sel_new (void) -+{ -+ CRSimpleSel *result = NULL; -+ -+ result = g_try_malloc (sizeof (CRSimpleSel)); -+ if (!result) { -+ cr_utils_trace_info ("Out of memory"); -+ return NULL; -+ } -+ memset (result, 0, sizeof (CRSimpleSel)); -+ -+ return result; -+} -+ -+/** -+ * cr_simple_sel_append_simple_sel: -+ * -+ *Appends a simpe selector to the current list of simple selector. -+ * -+ *@a_this: the this pointer of the current instance of #CRSimpleSel. -+ *@a_sel: the simple selector to append. -+ * -+ *Returns: the new list upon successfull completion, an error code otherwise. -+ */ -+CRSimpleSel * -+cr_simple_sel_append_simple_sel (CRSimpleSel * a_this, CRSimpleSel * a_sel) -+{ -+ CRSimpleSel *cur = NULL; -+ -+ g_return_val_if_fail (a_sel, NULL); -+ -+ if (a_this == NULL) -+ return a_sel; -+ -+ for (cur = a_this; cur->next; cur = cur->next) ; -+ -+ cur->next = a_sel; -+ a_sel->prev = cur; -+ -+ return a_this; -+} -+ -+/** -+ * cr_simple_sel_prepend_simple_sel: -+ * -+ *@a_this: the this pointer of the current instance of #CRSimpleSel. -+ *@a_sel: the simple selector to prepend. -+ * -+ *Prepends a simple selector to the current list of simple selectors. -+ * -+ *Returns the new list upon successfull completion, an error code otherwise. -+ */ -+CRSimpleSel * -+cr_simple_sel_prepend_simple_sel (CRSimpleSel * a_this, CRSimpleSel * a_sel) -+{ -+ g_return_val_if_fail (a_sel, NULL); -+ -+ if (a_this == NULL) -+ return a_sel; -+ -+ a_sel->next = a_this; -+ a_this->prev = a_sel; -+ -+ return a_sel; -+} -+ -+guchar * -+cr_simple_sel_to_string (CRSimpleSel const * a_this) -+{ -+ GString *str_buf = NULL; -+ guchar *result = NULL; -+ -+ CRSimpleSel const *cur = NULL; -+ -+ g_return_val_if_fail (a_this, NULL); -+ -+ str_buf = g_string_new (NULL); -+ for (cur = a_this; cur; cur = cur->next) { -+ if (cur->name) { -+ guchar *str = (guchar *) g_strndup (cur->name->stryng->str, -+ cur->name->stryng->len); -+ -+ if (str) { -+ switch (cur->combinator) { -+ case COMB_WS: -+ g_string_append (str_buf, " "); -+ break; -+ -+ case COMB_PLUS: -+ g_string_append (str_buf, "+"); -+ break; -+ -+ case COMB_GT: -+ g_string_append (str_buf, ">"); -+ break; -+ -+ default: -+ break; -+ } -+ -+ g_string_append (str_buf, (const gchar *) str); -+ g_free (str); -+ str = NULL; -+ } -+ } -+ -+ if (cur->add_sel) { -+ guchar *tmp_str = NULL; -+ -+ tmp_str = cr_additional_sel_to_string (cur->add_sel); -+ if (tmp_str) { -+ g_string_append (str_buf, (const gchar *) tmp_str); -+ g_free (tmp_str); -+ tmp_str = NULL; -+ } -+ } -+ } -+ -+ if (str_buf) { -+ result = (guchar *) str_buf->str; -+ g_string_free (str_buf, FALSE); -+ str_buf = NULL; -+ } -+ -+ return result; -+} -+ -+ -+guchar * -+cr_simple_sel_one_to_string (CRSimpleSel const * a_this) -+{ -+ GString *str_buf = NULL; -+ guchar *result = NULL; -+ -+ g_return_val_if_fail (a_this, NULL); -+ -+ str_buf = g_string_new (NULL); -+ if (a_this->name) { -+ guchar *str = (guchar *) g_strndup (a_this->name->stryng->str, -+ a_this->name->stryng->len); -+ -+ if (str) { -+ g_string_append_printf (str_buf, "%s", str); -+ g_free (str); -+ str = NULL; -+ } -+ } -+ -+ if (a_this->add_sel) { -+ guchar *tmp_str = NULL; -+ -+ tmp_str = cr_additional_sel_to_string (a_this->add_sel); -+ if (tmp_str) { -+ g_string_append_printf -+ (str_buf, "%s", tmp_str); -+ g_free (tmp_str); -+ tmp_str = NULL; -+ } -+ } -+ -+ if (str_buf) { -+ result = (guchar *) str_buf->str; -+ g_string_free (str_buf, FALSE); -+ str_buf = NULL; -+ } -+ -+ return result; -+} -+ -+/** -+ * cr_simple_sel_dump: -+ *@a_this: the current instance of #CRSimpleSel. -+ *@a_fp: the destination file pointer. -+ * -+ *Dumps the selector to a file. -+ *TODO: add the support of unicode in the dump. -+ * -+ *Returns CR_OK upon successfull completion, an error code -+ *otherwise. -+ */ -+enum CRStatus -+cr_simple_sel_dump (CRSimpleSel const * a_this, FILE * a_fp) -+{ -+ guchar *tmp_str = NULL; -+ -+ g_return_val_if_fail (a_fp, CR_BAD_PARAM_ERROR); -+ -+ if (a_this) { -+ tmp_str = cr_simple_sel_to_string (a_this); -+ if (tmp_str) { -+ fprintf (a_fp, "%s", tmp_str); -+ g_free (tmp_str); -+ tmp_str = NULL; -+ } -+ } -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_simple_sel_compute_specificity: -+ * -+ *@a_this: the current instance of #CRSimpleSel -+ * -+ *Computes the selector (combinator separated list of simple selectors) -+ *as defined in the css2 spec in chapter 6.4.3 -+ * -+ *Returns CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_simple_sel_compute_specificity (CRSimpleSel * a_this) -+{ -+ CRAdditionalSel const *cur_add_sel = NULL; -+ CRSimpleSel const *cur_sel = NULL; -+ gulong a = 0, -+ b = 0, -+ c = 0; -+ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ for (cur_sel = a_this; cur_sel; cur_sel = cur_sel->next) { -+ if (cur_sel->type_mask & TYPE_SELECTOR) { -+ c++; /*hmmh, is this a new language ? */ -+ } else if (!cur_sel->name -+ || !cur_sel->name->stryng -+ || !cur_sel->name->stryng->str) { -+ if (cur_sel->add_sel->type == -+ PSEUDO_CLASS_ADD_SELECTOR) { -+ /* -+ *this is a pseudo element, and -+ *the spec says, "ignore pseudo elements". -+ */ -+ continue; -+ } -+ } -+ -+ for (cur_add_sel = cur_sel->add_sel; -+ cur_add_sel; cur_add_sel = cur_add_sel->next) { -+ switch (cur_add_sel->type) { -+ case ID_ADD_SELECTOR: -+ a++; -+ break; -+ -+ case NO_ADD_SELECTOR: -+ continue; -+ -+ default: -+ b++; -+ break; -+ } -+ } -+ } -+ -+ /*we suppose a, b and c have 1 to 3 digits */ -+ a_this->specificity = a * 1000000 + b * 1000 + c; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_simple_sel_destroy: -+ * -+ *@a_this: the this pointer of the current instance of #CRSimpleSel. -+ * -+ *The destructor of the current instance of -+ *#CRSimpleSel. -+ */ -+void -+cr_simple_sel_destroy (CRSimpleSel * a_this) -+{ -+ g_return_if_fail (a_this); -+ -+ if (a_this->name) { -+ cr_string_destroy (a_this->name); -+ a_this->name = NULL; -+ } -+ -+ if (a_this->add_sel) { -+ cr_additional_sel_destroy (a_this->add_sel); -+ a_this->add_sel = NULL; -+ } -+ -+ if (a_this->next) { -+ cr_simple_sel_destroy (a_this->next); -+ } -+ -+ if (a_this) { -+ g_free (a_this); -+ } -+} -diff --git a/src/st/croco/cr-simple-sel.h b/src/st/croco/cr-simple-sel.h -new file mode 100644 -index 000000000..d8edc0025 ---- /dev/null -+++ b/src/st/croco/cr-simple-sel.h -@@ -0,0 +1,130 @@ -+/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli -+ * See COPYRIGHTS file for copyright information. -+ */ -+ -+ -+#ifndef __CR_SEL_H__ -+#define __CR_SEL_H__ -+ -+#include -+#include -+#include "cr-additional-sel.h" -+#include "cr-parsing-location.h" -+ -+G_BEGIN_DECLS -+ -+/** -+ *@file -+ *the declaration of the #CRSimpleSel class. -+ * -+ */ -+enum Combinator -+{ -+ NO_COMBINATOR, -+ COMB_WS,/*whitespace: descendent*/ -+ COMB_PLUS,/*'+': preceded by*/ -+ COMB_GT/*greater than ('>'): child*/ -+} ; -+ -+enum SimpleSelectorType -+{ -+ NO_SELECTOR_TYPE = 0, -+ UNIVERSAL_SELECTOR = 1, -+ TYPE_SELECTOR = 1 << 1 -+} ; -+ -+typedef struct _CRSimpleSel CRSimpleSel ; -+ -+/** -+ *The abstraction of a css2 simple selection list -+ *as defined by the right part of the "selector" production in the -+ *appendix D.1 of the css2 spec. -+ *It is basically a list of simple selector, each -+ *simple selector being separated by a combinator. -+ * -+ *In the libcroco's implementation, each simple selector -+ *is made of at most two parts: -+ * -+ *1/An element name or 'type selector' (which can hold a '*' and -+ *then been called 'universal selector') -+ * -+ *2/An additional selector that "specializes" the preceding type or -+ *universal selector. The additionnal selector can be either -+ *an id selector, or a class selector, or an attribute selector. -+ */ -+struct _CRSimpleSel -+{ -+ enum SimpleSelectorType type_mask ; -+ gboolean is_case_sentive ; -+ CRString * name ; -+ /** -+ *The combinator that separates -+ *this simple selector from the previous -+ *one. -+ */ -+ enum Combinator combinator ; -+ -+ /** -+ *The additional selector list of the -+ *current simple selector. -+ *An additional selector may -+ *be a class selector, an id selector, -+ *or an attribute selector. -+ *Note that this field is a linked list. -+ */ -+ CRAdditionalSel *add_sel ; -+ -+ /* -+ *the specificity as specified by -+ *chapter 6.4.3 of the spec. -+ */ -+ gulong specificity ; -+ -+ CRSimpleSel *next ; -+ CRSimpleSel *prev ; -+ CRParsingLocation location ; -+} ; -+ -+CRSimpleSel * cr_simple_sel_new (void) ; -+ -+CRSimpleSel * cr_simple_sel_append_simple_sel (CRSimpleSel *a_this, -+ CRSimpleSel *a_sel) ; -+ -+CRSimpleSel * cr_simple_sel_prepend_simple_sel (CRSimpleSel *a_this, -+ CRSimpleSel *a_sel) ; -+ -+guchar * cr_simple_sel_to_string (CRSimpleSel const *a_this) ; -+ -+guchar * cr_simple_sel_one_to_string (CRSimpleSel const * a_this) ; -+ -+enum CRStatus cr_simple_sel_dump (CRSimpleSel const *a_this, FILE *a_fp) ; -+ -+enum CRStatus cr_simple_sel_dump_attr_sel_list (CRSimpleSel const *a_this) ; -+ -+enum CRStatus cr_simple_sel_compute_specificity (CRSimpleSel *a_this) ; -+ -+void cr_simple_sel_destroy (CRSimpleSel *a_this) ; -+ -+G_END_DECLS -+ -+ -+#endif /*__CR_SIMPLE_SEL_H__*/ -diff --git a/src/st/croco/cr-statement.c b/src/st/croco/cr-statement.c -new file mode 100644 -index 000000000..241fa5f3b ---- /dev/null -+++ b/src/st/croco/cr-statement.c -@@ -0,0 +1,2794 @@ -+/* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli. -+ * See COPYRIGHTS files for copyrights information. -+ */ -+ -+#include -+#include "cr-statement.h" -+#include "cr-parser.h" -+ -+/** -+ *@file -+ *Definition of the #CRStatement class. -+ */ -+ -+#define DECLARATION_INDENT_NB 2 -+ -+static void cr_statement_clear (CRStatement * a_this); -+ -+static void -+parse_font_face_start_font_face_cb (CRDocHandler * a_this, -+ CRParsingLocation *a_location) -+{ -+ CRStatement *stmt = NULL; -+ enum CRStatus status = CR_OK; -+ -+ stmt = cr_statement_new_at_font_face_rule (NULL, NULL); -+ g_return_if_fail (stmt); -+ -+ status = cr_doc_handler_set_ctxt (a_this, stmt); -+ g_return_if_fail (status == CR_OK); -+} -+ -+static void -+parse_font_face_unrecoverable_error_cb (CRDocHandler * a_this) -+{ -+ CRStatement *stmt = NULL; -+ CRStatement **stmtptr = NULL; -+ enum CRStatus status = CR_OK; -+ -+ g_return_if_fail (a_this); -+ -+ stmtptr = &stmt; -+ status = cr_doc_handler_get_ctxt (a_this, (gpointer *) stmtptr); -+ if (status != CR_OK) { -+ cr_utils_trace_info ("Couldn't get parsing context. " -+ "This may lead to some memory leaks."); -+ return; -+ } -+ if (stmt) { -+ cr_statement_destroy (stmt); -+ cr_doc_handler_set_ctxt (a_this, NULL); -+ return; -+ } -+} -+ -+static void -+parse_font_face_property_cb (CRDocHandler * a_this, -+ CRString * a_name, -+ CRTerm * a_value, gboolean a_important) -+{ -+ enum CRStatus status = CR_OK; -+ CRString *name = NULL; -+ CRDeclaration *decl = NULL; -+ CRStatement *stmt = NULL; -+ CRStatement **stmtptr = NULL; -+ -+ g_return_if_fail (a_this && a_name); -+ -+ stmtptr = &stmt; -+ status = cr_doc_handler_get_ctxt (a_this, (gpointer *) stmtptr); -+ g_return_if_fail (status == CR_OK && stmt); -+ g_return_if_fail (stmt->type == AT_FONT_FACE_RULE_STMT); -+ -+ name = cr_string_dup (a_name) ; -+ g_return_if_fail (name); -+ decl = cr_declaration_new (stmt, name, a_value); -+ if (!decl) { -+ cr_utils_trace_info ("cr_declaration_new () failed."); -+ goto error; -+ } -+ name = NULL; -+ -+ stmt->kind.font_face_rule->decl_list = -+ cr_declaration_append (stmt->kind.font_face_rule->decl_list, -+ decl); -+ if (!stmt->kind.font_face_rule->decl_list) -+ goto error; -+ decl = NULL; -+ -+ error: -+ if (decl) { -+ cr_declaration_unref (decl); -+ decl = NULL; -+ } -+ if (name) { -+ cr_string_destroy (name); -+ name = NULL; -+ } -+} -+ -+static void -+parse_font_face_end_font_face_cb (CRDocHandler * a_this) -+{ -+ CRStatement *result = NULL; -+ CRStatement **resultptr = NULL; -+ enum CRStatus status = CR_OK; -+ -+ g_return_if_fail (a_this); -+ -+ resultptr = &result; -+ status = cr_doc_handler_get_ctxt (a_this, (gpointer *) resultptr); -+ g_return_if_fail (status == CR_OK && result); -+ g_return_if_fail (result->type == AT_FONT_FACE_RULE_STMT); -+ -+ status = cr_doc_handler_set_result (a_this, result); -+ g_return_if_fail (status == CR_OK); -+} -+ -+static void -+parse_page_start_page_cb (CRDocHandler * a_this, -+ CRString * a_name, -+ CRString * a_pseudo_page, -+ CRParsingLocation *a_location) -+{ -+ CRStatement *stmt = NULL; -+ enum CRStatus status = CR_OK; -+ CRString *page_name = NULL, *pseudo_name = NULL ; -+ -+ if (a_name) -+ page_name = cr_string_dup (a_name) ; -+ if (a_pseudo_page) -+ pseudo_name = cr_string_dup (a_pseudo_page) ; -+ -+ stmt = cr_statement_new_at_page_rule (NULL, NULL, -+ page_name, -+ pseudo_name); -+ page_name = NULL ; -+ pseudo_name = NULL ; -+ g_return_if_fail (stmt); -+ status = cr_doc_handler_set_ctxt (a_this, stmt); -+ g_return_if_fail (status == CR_OK); -+} -+ -+static void -+parse_page_unrecoverable_error_cb (CRDocHandler * a_this) -+{ -+ CRStatement *stmt = NULL; -+ CRStatement **stmtptr = NULL; -+ enum CRStatus status = CR_OK; -+ -+ g_return_if_fail (a_this); -+ -+ stmtptr = &stmt; -+ status = cr_doc_handler_get_ctxt (a_this, (gpointer *) stmtptr); -+ if (status != CR_OK) { -+ cr_utils_trace_info ("Couldn't get parsing context. " -+ "This may lead to some memory leaks."); -+ return; -+ } -+ if (stmt) { -+ cr_statement_destroy (stmt); -+ stmt = NULL; -+ cr_doc_handler_set_ctxt (a_this, NULL); -+ } -+} -+ -+static void -+parse_page_property_cb (CRDocHandler * a_this, -+ CRString * a_name, -+ CRTerm * a_expression, gboolean a_important) -+{ -+ CRString *name = NULL; -+ CRStatement *stmt = NULL; -+ CRStatement **stmtptr = NULL; -+ CRDeclaration *decl = NULL; -+ enum CRStatus status = CR_OK; -+ -+ stmtptr = &stmt; -+ status = cr_doc_handler_get_ctxt (a_this, (gpointer *) stmtptr); -+ g_return_if_fail (status == CR_OK && stmt->type == AT_PAGE_RULE_STMT); -+ -+ name = cr_string_dup (a_name); -+ g_return_if_fail (name); -+ -+ decl = cr_declaration_new (stmt, name, a_expression); -+ g_return_if_fail (decl); -+ decl->important = a_important; -+ stmt->kind.page_rule->decl_list = -+ cr_declaration_append (stmt->kind.page_rule->decl_list, decl); -+ g_return_if_fail (stmt->kind.page_rule->decl_list); -+} -+ -+static void -+parse_page_end_page_cb (CRDocHandler * a_this, -+ CRString * a_name, -+ CRString * a_pseudo_page) -+{ -+ enum CRStatus status = CR_OK; -+ CRStatement *stmt = NULL; -+ CRStatement **stmtptr = NULL; -+ -+ stmtptr = &stmt; -+ status = cr_doc_handler_get_ctxt (a_this, (gpointer *) stmtptr); -+ g_return_if_fail (status == CR_OK && stmt); -+ g_return_if_fail (stmt->type == AT_PAGE_RULE_STMT); -+ -+ status = cr_doc_handler_set_result (a_this, stmt); -+ g_return_if_fail (status == CR_OK); -+} -+ -+static void -+parse_at_media_start_media_cb (CRDocHandler * a_this, -+ GList * a_media_list, -+ CRParsingLocation *a_location) -+{ -+ enum CRStatus status = CR_OK; -+ CRStatement *at_media = NULL; -+ GList *media_list = NULL; -+ -+ g_return_if_fail (a_this && a_this->priv); -+ -+ if (a_media_list) { -+ /*duplicate media list */ -+ media_list = cr_utils_dup_glist_of_cr_string -+ (a_media_list); -+ } -+ -+ g_return_if_fail (media_list); -+ -+ /*make sure cr_statement_new_at_media_rule works in this case. */ -+ at_media = cr_statement_new_at_media_rule (NULL, NULL, media_list); -+ -+ status = cr_doc_handler_set_ctxt (a_this, at_media); -+ g_return_if_fail (status == CR_OK); -+ status = cr_doc_handler_set_result (a_this, at_media); -+ g_return_if_fail (status == CR_OK); -+} -+ -+static void -+parse_at_media_unrecoverable_error_cb (CRDocHandler * a_this) -+{ -+ enum CRStatus status = CR_OK; -+ CRStatement *stmt = NULL; -+ CRStatement **stmtptr = NULL; -+ -+ g_return_if_fail (a_this); -+ -+ stmtptr = &stmt; -+ status = cr_doc_handler_get_result (a_this, (gpointer *) stmtptr); -+ if (status != CR_OK) { -+ cr_utils_trace_info ("Couldn't get parsing context. " -+ "This may lead to some memory leaks."); -+ return; -+ } -+ if (stmt) { -+ cr_statement_destroy (stmt); -+ stmt = NULL; -+ cr_doc_handler_set_ctxt (a_this, NULL); -+ cr_doc_handler_set_result (a_this, NULL); -+ } -+} -+ -+static void -+parse_at_media_start_selector_cb (CRDocHandler * a_this, -+ CRSelector * a_sellist) -+{ -+ enum CRStatus status = CR_OK; -+ CRStatement *at_media = NULL; -+ CRStatement **at_media_ptr = NULL; -+ CRStatement *ruleset = NULL; -+ -+ g_return_if_fail (a_this && a_this->priv && a_sellist); -+ -+ at_media_ptr = &at_media; -+ status = cr_doc_handler_get_ctxt (a_this, (gpointer *) at_media_ptr); -+ g_return_if_fail (status == CR_OK && at_media); -+ g_return_if_fail (at_media->type == AT_MEDIA_RULE_STMT); -+ ruleset = cr_statement_new_ruleset (NULL, a_sellist, NULL, at_media); -+ g_return_if_fail (ruleset); -+ status = cr_doc_handler_set_ctxt (a_this, ruleset); -+ g_return_if_fail (status == CR_OK); -+} -+ -+static void -+parse_at_media_property_cb (CRDocHandler * a_this, -+ CRString * a_name, CRTerm * a_value, -+ gboolean a_important) -+{ -+ enum CRStatus status = CR_OK; -+ -+ /* -+ *the current ruleset stmt, child of the -+ *current at-media being parsed. -+ */ -+ CRStatement *stmt = NULL; -+ CRStatement **stmtptr = NULL; -+ CRDeclaration *decl = NULL; -+ CRString *name = NULL; -+ -+ g_return_if_fail (a_this && a_name); -+ -+ name = cr_string_dup (a_name) ; -+ g_return_if_fail (name); -+ -+ stmtptr = &stmt; -+ status = cr_doc_handler_get_ctxt (a_this, -+ (gpointer *) stmtptr); -+ g_return_if_fail (status == CR_OK && stmt); -+ g_return_if_fail (stmt->type == RULESET_STMT); -+ -+ decl = cr_declaration_new (stmt, name, a_value); -+ g_return_if_fail (decl); -+ decl->important = a_important; -+ status = cr_statement_ruleset_append_decl (stmt, decl); -+ g_return_if_fail (status == CR_OK); -+} -+ -+static void -+parse_at_media_end_selector_cb (CRDocHandler * a_this, -+ CRSelector * a_sellist) -+{ -+ enum CRStatus status = CR_OK; -+ -+ /* -+ *the current ruleset stmt, child of the -+ *current at-media being parsed. -+ */ -+ CRStatement *stmt = NULL; -+ CRStatement **stmtptr = NULL; -+ -+ g_return_if_fail (a_this && a_sellist); -+ -+ stmtptr = &stmt; -+ status = cr_doc_handler_get_ctxt (a_this, (gpointer *) stmtptr); -+ g_return_if_fail (status == CR_OK && stmt -+ && stmt->type == RULESET_STMT); -+ g_return_if_fail (stmt->kind.ruleset->parent_media_rule); -+ -+ status = cr_doc_handler_set_ctxt -+ (a_this, stmt->kind.ruleset->parent_media_rule); -+ g_return_if_fail (status == CR_OK); -+} -+ -+static void -+parse_at_media_end_media_cb (CRDocHandler * a_this, -+ GList * a_media_list) -+{ -+ enum CRStatus status = CR_OK; -+ CRStatement *at_media = NULL; -+ CRStatement **at_media_ptr = NULL; -+ -+ g_return_if_fail (a_this && a_this->priv); -+ -+ at_media_ptr = &at_media; -+ status = cr_doc_handler_get_ctxt (a_this, -+ (gpointer *) at_media_ptr); -+ g_return_if_fail (status == CR_OK && at_media); -+ status = cr_doc_handler_set_result (a_this, at_media); -+} -+ -+static void -+parse_ruleset_start_selector_cb (CRDocHandler * a_this, -+ CRSelector * a_sellist) -+{ -+ CRStatement *ruleset = NULL; -+ -+ g_return_if_fail (a_this && a_this->priv && a_sellist); -+ -+ ruleset = cr_statement_new_ruleset (NULL, a_sellist, NULL, NULL); -+ g_return_if_fail (ruleset); -+ -+ cr_doc_handler_set_result (a_this, ruleset); -+} -+ -+static void -+parse_ruleset_unrecoverable_error_cb (CRDocHandler * a_this) -+{ -+ CRStatement *stmt = NULL; -+ CRStatement **stmtptr = NULL; -+ enum CRStatus status = CR_OK; -+ -+ stmtptr = &stmt; -+ status = cr_doc_handler_get_result (a_this, (gpointer *) stmtptr); -+ if (status != CR_OK) { -+ cr_utils_trace_info ("Couldn't get parsing context. " -+ "This may lead to some memory leaks."); -+ return; -+ } -+ if (stmt) { -+ cr_statement_destroy (stmt); -+ stmt = NULL; -+ cr_doc_handler_set_result (a_this, NULL); -+ } -+} -+ -+static void -+parse_ruleset_property_cb (CRDocHandler * a_this, -+ CRString * a_name, -+ CRTerm * a_value, gboolean a_important) -+{ -+ enum CRStatus status = CR_OK; -+ CRStatement *ruleset = NULL; -+ CRStatement **rulesetptr = NULL; -+ CRDeclaration *decl = NULL; -+ CRString *stringue = NULL; -+ -+ g_return_if_fail (a_this && a_this->priv && a_name); -+ -+ stringue = cr_string_dup (a_name); -+ g_return_if_fail (stringue); -+ -+ rulesetptr = &ruleset; -+ status = cr_doc_handler_get_result (a_this, (gpointer *) rulesetptr); -+ g_return_if_fail (status == CR_OK -+ && ruleset -+ && ruleset->type == RULESET_STMT); -+ -+ decl = cr_declaration_new (ruleset, stringue, a_value); -+ g_return_if_fail (decl); -+ decl->important = a_important; -+ status = cr_statement_ruleset_append_decl (ruleset, decl); -+ g_return_if_fail (status == CR_OK); -+} -+ -+static void -+parse_ruleset_end_selector_cb (CRDocHandler * a_this, -+ CRSelector * a_sellist) -+{ -+ CRStatement *result = NULL; -+ CRStatement **resultptr = NULL; -+ enum CRStatus status = CR_OK; -+ -+ g_return_if_fail (a_this && a_sellist); -+ -+ resultptr = &result; -+ status = cr_doc_handler_get_result (a_this, (gpointer *) resultptr); -+ -+ g_return_if_fail (status == CR_OK -+ && result -+ && result->type == RULESET_STMT); -+} -+ -+static void -+cr_statement_clear (CRStatement * a_this) -+{ -+ g_return_if_fail (a_this); -+ -+ switch (a_this->type) { -+ case AT_RULE_STMT: -+ break; -+ case RULESET_STMT: -+ if (!a_this->kind.ruleset) -+ return; -+ if (a_this->kind.ruleset->sel_list) { -+ cr_selector_unref (a_this->kind.ruleset->sel_list); -+ a_this->kind.ruleset->sel_list = NULL; -+ } -+ if (a_this->kind.ruleset->decl_list) { -+ cr_declaration_destroy -+ (a_this->kind.ruleset->decl_list); -+ a_this->kind.ruleset->decl_list = NULL; -+ } -+ g_free (a_this->kind.ruleset); -+ a_this->kind.ruleset = NULL; -+ break; -+ -+ case AT_IMPORT_RULE_STMT: -+ if (!a_this->kind.import_rule) -+ return; -+ if (a_this->kind.import_rule->url) { -+ cr_string_destroy -+ (a_this->kind.import_rule->url) ; -+ a_this->kind.import_rule->url = NULL; -+ } -+ g_free (a_this->kind.import_rule); -+ a_this->kind.import_rule = NULL; -+ break; -+ -+ case AT_MEDIA_RULE_STMT: -+ if (!a_this->kind.media_rule) -+ return; -+ if (a_this->kind.media_rule->rulesets) { -+ cr_statement_destroy -+ (a_this->kind.media_rule->rulesets); -+ a_this->kind.media_rule->rulesets = NULL; -+ } -+ if (a_this->kind.media_rule->media_list) { -+ GList *cur = NULL; -+ -+ for (cur = a_this->kind.media_rule->media_list; -+ cur; cur = cur->next) { -+ if (cur->data) { -+ cr_string_destroy ((CRString *) cur->data); -+ cur->data = NULL; -+ } -+ -+ } -+ g_list_free (a_this->kind.media_rule->media_list); -+ a_this->kind.media_rule->media_list = NULL; -+ } -+ g_free (a_this->kind.media_rule); -+ a_this->kind.media_rule = NULL; -+ break; -+ -+ case AT_PAGE_RULE_STMT: -+ if (!a_this->kind.page_rule) -+ return; -+ -+ if (a_this->kind.page_rule->decl_list) { -+ cr_declaration_destroy -+ (a_this->kind.page_rule->decl_list); -+ a_this->kind.page_rule->decl_list = NULL; -+ } -+ if (a_this->kind.page_rule->name) { -+ cr_string_destroy -+ (a_this->kind.page_rule->name); -+ a_this->kind.page_rule->name = NULL; -+ } -+ if (a_this->kind.page_rule->pseudo) { -+ cr_string_destroy -+ (a_this->kind.page_rule->pseudo); -+ a_this->kind.page_rule->pseudo = NULL; -+ } -+ g_free (a_this->kind.page_rule); -+ a_this->kind.page_rule = NULL; -+ break; -+ -+ case AT_CHARSET_RULE_STMT: -+ if (!a_this->kind.charset_rule) -+ return; -+ -+ if (a_this->kind.charset_rule->charset) { -+ cr_string_destroy -+ (a_this->kind.charset_rule->charset); -+ a_this->kind.charset_rule->charset = NULL; -+ } -+ g_free (a_this->kind.charset_rule); -+ a_this->kind.charset_rule = NULL; -+ break; -+ -+ case AT_FONT_FACE_RULE_STMT: -+ if (!a_this->kind.font_face_rule) -+ return; -+ -+ if (a_this->kind.font_face_rule->decl_list) { -+ cr_declaration_unref -+ (a_this->kind.font_face_rule->decl_list); -+ a_this->kind.font_face_rule->decl_list = NULL; -+ } -+ g_free (a_this->kind.font_face_rule); -+ a_this->kind.font_face_rule = NULL; -+ break; -+ -+ default: -+ break; -+ } -+} -+ -+/** -+ * cr_statement_ruleset_to_string: -+ * -+ *@a_this: the current instance of #CRStatement -+ *@a_indent: the number of whitespace to use for indentation -+ * -+ *Serializes the ruleset statement into a string -+ * -+ *Returns the newly allocated serialised string. Must be freed -+ *by the caller, using g_free(). -+ */ -+static gchar * -+cr_statement_ruleset_to_string (CRStatement const * a_this, glong a_indent) -+{ -+ GString *stringue = NULL; -+ gchar *tmp_str = NULL, -+ *result = NULL; -+ -+ g_return_val_if_fail (a_this && a_this->type == RULESET_STMT, NULL); -+ -+ stringue = g_string_new (NULL); -+ -+ if (a_this->kind.ruleset->sel_list) { -+ if (a_indent) -+ cr_utils_dump_n_chars2 (' ', stringue, a_indent); -+ -+ tmp_str = -+ (gchar *) cr_selector_to_string (a_this->kind.ruleset-> -+ sel_list); -+ if (tmp_str) { -+ g_string_append (stringue, tmp_str); -+ g_free (tmp_str); -+ tmp_str = NULL; -+ } -+ } -+ g_string_append (stringue, " {\n"); -+ if (a_this->kind.ruleset->decl_list) { -+ tmp_str = (gchar *) cr_declaration_list_to_string2 -+ (a_this->kind.ruleset->decl_list, -+ a_indent + DECLARATION_INDENT_NB, TRUE); -+ if (tmp_str) { -+ g_string_append (stringue, tmp_str); -+ g_free (tmp_str); -+ tmp_str = NULL; -+ } -+ g_string_append (stringue, "\n"); -+ cr_utils_dump_n_chars2 (' ', stringue, a_indent); -+ } -+ g_string_append (stringue, "}"); -+ result = stringue->str; -+ -+ if (stringue) { -+ g_string_free (stringue, FALSE); -+ stringue = NULL; -+ } -+ if (tmp_str) { -+ g_free (tmp_str); -+ tmp_str = NULL; -+ } -+ return result; -+} -+ -+ -+/** -+ * cr_statement_font_face_rule_to_string: -+ * -+ *@a_this: the current instance of #CRStatement to consider -+ *It must be a font face rule statement. -+ *@a_indent: the number of white spaces of indentation. -+ * -+ *Serializes a font face rule statement into a string. -+ * -+ *Returns the serialized string. Must be deallocated by the caller -+ *using g_free(). -+ */ -+static gchar * -+cr_statement_font_face_rule_to_string (CRStatement const * a_this, -+ glong a_indent) -+{ -+ gchar *result = NULL, *tmp_str = NULL ; -+ GString *stringue = NULL ; -+ -+ g_return_val_if_fail (a_this -+ && a_this->type == AT_FONT_FACE_RULE_STMT, -+ NULL); -+ -+ if (a_this->kind.font_face_rule->decl_list) { -+ stringue = g_string_new (NULL) ; -+ g_return_val_if_fail (stringue, NULL) ; -+ if (a_indent) -+ cr_utils_dump_n_chars2 (' ', stringue, -+ a_indent); -+ g_string_append (stringue, "@font-face {\n"); -+ tmp_str = (gchar *) cr_declaration_list_to_string2 -+ (a_this->kind.font_face_rule->decl_list, -+ a_indent + DECLARATION_INDENT_NB, TRUE) ; -+ if (tmp_str) { -+ g_string_append (stringue, -+ tmp_str) ; -+ g_free (tmp_str) ; -+ tmp_str = NULL ; -+ } -+ g_string_append (stringue, "\n}"); -+ } -+ if (stringue) { -+ result = stringue->str ; -+ g_string_free (stringue, FALSE) ; -+ stringue = NULL ; -+ } -+ return result ; -+} -+ -+ -+/** -+ * cr_statement_charset_to_string: -+ * -+ *Serialises an \@charset statement into a string. -+ *@a_this: the statement to serialize. -+ *@a_indent: the number of indentation spaces -+ * -+ *Returns the serialized charset statement. Must be -+ *freed by the caller using g_free(). -+ */ -+static gchar * -+cr_statement_charset_to_string (CRStatement const *a_this, -+ gulong a_indent) -+{ -+ gchar *str = NULL ; -+ GString *stringue = NULL ; -+ -+ g_return_val_if_fail (a_this -+ && a_this->type == AT_CHARSET_RULE_STMT, -+ NULL) ; -+ -+ if (a_this->kind.charset_rule -+ && a_this->kind.charset_rule->charset -+ && a_this->kind.charset_rule->charset->stryng -+ && a_this->kind.charset_rule->charset->stryng->str) { -+ str = g_strndup (a_this->kind.charset_rule->charset->stryng->str, -+ a_this->kind.charset_rule->charset->stryng->len); -+ g_return_val_if_fail (str, NULL); -+ stringue = g_string_new (NULL) ; -+ g_return_val_if_fail (stringue, NULL) ; -+ cr_utils_dump_n_chars2 (' ', stringue, a_indent); -+ g_string_append_printf (stringue, -+ "@charset \"%s\" ;", str); -+ if (str) { -+ g_free (str); -+ str = NULL; -+ } -+ } -+ if (stringue) { -+ str = stringue->str ; -+ g_string_free (stringue, FALSE) ; -+ } -+ return str ; -+} -+ -+ -+/** -+ * cr_statement_at_page_rule_to_string: -+ * -+ *Serialises the at page rule statement into a string -+ *@a_this: the current instance of #CRStatement. Must -+ *be an "\@page" rule statement. -+ * -+ *Returns the serialized string. Must be freed by the caller -+ */ -+static gchar * -+cr_statement_at_page_rule_to_string (CRStatement const *a_this, -+ gulong a_indent) -+{ -+ GString *stringue = NULL; -+ gchar *result = NULL ; -+ -+ stringue = g_string_new (NULL) ; -+ -+ cr_utils_dump_n_chars2 (' ', stringue, a_indent) ; -+ g_string_append (stringue, "@page"); -+ if (a_this->kind.page_rule->name -+ && a_this->kind.page_rule->name->stryng) { -+ g_string_append_printf -+ (stringue, " %s", -+ a_this->kind.page_rule->name->stryng->str) ; -+ } else { -+ g_string_append (stringue, " "); -+ } -+ if (a_this->kind.page_rule->pseudo -+ && a_this->kind.page_rule->pseudo->stryng) { -+ g_string_append_printf -+ (stringue, " :%s", -+ a_this->kind.page_rule->pseudo->stryng->str) ; -+ } -+ if (a_this->kind.page_rule->decl_list) { -+ gchar *str = NULL ; -+ g_string_append (stringue, " {\n"); -+ str = (gchar *) cr_declaration_list_to_string2 -+ (a_this->kind.page_rule->decl_list, -+ a_indent + DECLARATION_INDENT_NB, TRUE) ; -+ if (str) { -+ g_string_append (stringue, str) ; -+ g_free (str) ; -+ str = NULL ; -+ } -+ g_string_append (stringue, "\n}\n"); -+ } -+ result = stringue->str ; -+ g_string_free (stringue, FALSE) ; -+ stringue = NULL ; -+ return result ; -+} -+ -+ -+/** -+ *Serializes an \@media statement. -+ *@param a_this the current instance of #CRStatement -+ *@param a_indent the number of spaces of indentation. -+ *@return the serialized \@media statement. Must be freed -+ *by the caller using g_free(). -+ */ -+static gchar * -+cr_statement_media_rule_to_string (CRStatement const *a_this, -+ gulong a_indent) -+{ -+ gchar *str = NULL ; -+ GString *stringue = NULL ; -+ GList const *cur = NULL; -+ -+ g_return_val_if_fail (a_this->type == AT_MEDIA_RULE_STMT, -+ NULL); -+ -+ if (a_this->kind.media_rule) { -+ stringue = g_string_new (NULL) ; -+ cr_utils_dump_n_chars2 (' ', stringue, a_indent); -+ g_string_append (stringue, "@media"); -+ -+ for (cur = a_this->kind.media_rule->media_list; cur; -+ cur = cur->next) { -+ if (cur->data) { -+ gchar *str2 = cr_string_dup2 -+ ((CRString const *) cur->data); -+ -+ if (str2) { -+ if (cur->prev) { -+ g_string_append -+ (stringue, -+ ","); -+ } -+ g_string_append_printf -+ (stringue, -+ " %s", str2); -+ g_free (str2); -+ str2 = NULL; -+ } -+ } -+ } -+ g_string_append (stringue, " {\n"); -+ str = cr_statement_list_to_string -+ (a_this->kind.media_rule->rulesets, -+ a_indent + DECLARATION_INDENT_NB) ; -+ if (str) { -+ g_string_append (stringue, str) ; -+ g_free (str) ; -+ str = NULL ; -+ } -+ g_string_append (stringue, "\n}"); -+ } -+ if (stringue) { -+ str = stringue->str ; -+ g_string_free (stringue, FALSE) ; -+ } -+ return str ; -+} -+ -+ -+static gchar * -+cr_statement_import_rule_to_string (CRStatement const *a_this, -+ gulong a_indent) -+{ -+ GString *stringue = NULL ; -+ gchar *str = NULL; -+ -+ g_return_val_if_fail (a_this -+ && a_this->type == AT_IMPORT_RULE_STMT -+ && a_this->kind.import_rule, -+ NULL) ; -+ -+ if (a_this->kind.import_rule->url -+ && a_this->kind.import_rule->url->stryng) { -+ stringue = g_string_new (NULL) ; -+ g_return_val_if_fail (stringue, NULL) ; -+ str = g_strndup (a_this->kind.import_rule->url->stryng->str, -+ a_this->kind.import_rule->url->stryng->len); -+ cr_utils_dump_n_chars2 (' ', stringue, a_indent); -+ if (str) { -+ g_string_append_printf (stringue, -+ "@import url(\"%s\")", -+ str); -+ g_free (str); -+ str = NULL ; -+ } else /*there is no url, so no import rule, get out! */ -+ return NULL; -+ -+ if (a_this->kind.import_rule->media_list) { -+ GList const *cur = NULL; -+ -+ for (cur = a_this->kind.import_rule->media_list; -+ cur; cur = cur->next) { -+ if (cur->data) { -+ CRString const *crstr = cur->data; -+ -+ if (cur->prev) { -+ g_string_append -+ (stringue, ", "); -+ } -+ if (crstr -+ && crstr->stryng -+ && crstr->stryng->str) { -+ g_string_append_len -+ (stringue, -+ crstr->stryng->str, -+ crstr->stryng->len) ; -+ } -+ } -+ } -+ } -+ g_string_append (stringue, " ;"); -+ } -+ if (stringue) { -+ str = stringue->str ; -+ g_string_free (stringue, FALSE) ; -+ stringue = NULL ; -+ } -+ return str ; -+} -+ -+ -+/******************* -+ *public functions -+ ******************/ -+ -+/** -+ * cr_statement_does_buf_parses_against_core: -+ * -+ *@a_buf: the buffer to parse. -+ *@a_encoding: the character encoding of a_buf. -+ * -+ *Tries to parse a buffer and says whether if the content of the buffer -+ *is a css statement as defined by the "Core CSS Grammar" (chapter 4 of the -+ *css spec) or not. -+ * -+ *Returns TRUE if the buffer parses against the core grammar, false otherwise. -+ */ -+gboolean -+cr_statement_does_buf_parses_against_core (const guchar * a_buf, -+ enum CREncoding a_encoding) -+{ -+ CRParser *parser = NULL; -+ enum CRStatus status = CR_OK; -+ gboolean result = FALSE; -+ -+ parser = cr_parser_new_from_buf ((guchar*)a_buf, strlen ((const char *) a_buf), -+ a_encoding, FALSE); -+ g_return_val_if_fail (parser, FALSE); -+ -+ status = cr_parser_set_use_core_grammar (parser, TRUE); -+ if (status != CR_OK) { -+ goto cleanup; -+ } -+ -+ status = cr_parser_parse_statement_core (parser); -+ if (status == CR_OK) { -+ result = TRUE; -+ } -+ -+ cleanup: -+ if (parser) { -+ cr_parser_destroy (parser); -+ } -+ -+ return result; -+} -+ -+/** -+ * cr_statement_parse_from_buf: -+ * -+ *@a_buf: the buffer to parse. -+ *@a_encoding: the character encoding of a_buf. -+ * -+ *Parses a buffer that contains a css statement and returns -+ *an instance of #CRStatement in case of successful parsing. -+ *TODO: at support of "\@import" rules. -+ * -+ *Returns the newly built instance of #CRStatement in case -+ *of successful parsing, NULL otherwise. -+ */ -+CRStatement * -+cr_statement_parse_from_buf (const guchar * a_buf, enum CREncoding a_encoding) -+{ -+ CRStatement *result = NULL; -+ -+ /* -+ *The strategy of this function is "brute force". -+ *It tries to parse all the types of CRStatement it knows about. -+ *I could do this a smarter way but I don't have the time now. -+ *I think I will revisit this when time of performances and -+ *pull based incremental parsing comes. -+ */ -+ -+ result = cr_statement_ruleset_parse_from_buf (a_buf, a_encoding); -+ if (!result) { -+ result = cr_statement_at_charset_rule_parse_from_buf -+ (a_buf, a_encoding); -+ } else { -+ goto out; -+ } -+ -+ if (!result) { -+ result = cr_statement_at_media_rule_parse_from_buf -+ (a_buf, a_encoding); -+ } else { -+ goto out; -+ } -+ -+ if (!result) { -+ result = cr_statement_at_charset_rule_parse_from_buf -+ (a_buf, a_encoding); -+ } else { -+ goto out; -+ } -+ -+ if (!result) { -+ result = cr_statement_font_face_rule_parse_from_buf -+ (a_buf, a_encoding); -+ -+ } else { -+ goto out; -+ } -+ -+ if (!result) { -+ result = cr_statement_at_page_rule_parse_from_buf -+ (a_buf, a_encoding); -+ } else { -+ goto out; -+ } -+ -+ if (!result) { -+ result = cr_statement_at_import_rule_parse_from_buf -+ (a_buf, a_encoding); -+ } else { -+ goto out; -+ } -+ -+ out: -+ return result; -+} -+ -+/** -+ * cr_statement_ruleset_parse_from_buf: -+ * -+ *@a_buf: the buffer to parse. -+ *@a_enc: the character encoding of a_buf. -+ * -+ *Parses a buffer that contains a ruleset statement an instanciates -+ *a #CRStatement of type RULESET_STMT. -+ * -+ *Returns the newly built instance of #CRStatement in case of successful parsing, -+ *NULL otherwise. -+ */ -+CRStatement * -+cr_statement_ruleset_parse_from_buf (const guchar * a_buf, -+ enum CREncoding a_enc) -+{ -+ enum CRStatus status = CR_OK; -+ CRStatement *result = NULL; -+ CRStatement **resultptr = NULL; -+ CRParser *parser = NULL; -+ CRDocHandler *sac_handler = NULL; -+ -+ g_return_val_if_fail (a_buf, NULL); -+ -+ parser = cr_parser_new_from_buf ((guchar*)a_buf, strlen ((const char *) a_buf), -+ a_enc, FALSE); -+ -+ g_return_val_if_fail (parser, NULL); -+ -+ sac_handler = cr_doc_handler_new (); -+ g_return_val_if_fail (parser, NULL); -+ -+ sac_handler->start_selector = parse_ruleset_start_selector_cb; -+ sac_handler->end_selector = parse_ruleset_end_selector_cb; -+ sac_handler->property = parse_ruleset_property_cb; -+ sac_handler->unrecoverable_error = -+ parse_ruleset_unrecoverable_error_cb; -+ -+ cr_parser_set_sac_handler (parser, sac_handler); -+ cr_parser_try_to_skip_spaces_and_comments (parser); -+ status = cr_parser_parse_ruleset (parser); -+ if (status != CR_OK) { -+ goto cleanup; -+ } -+ -+ resultptr = &result; -+ status = cr_doc_handler_get_result (sac_handler, -+ (gpointer *) resultptr); -+ if (!((status == CR_OK) && result)) { -+ if (result) { -+ cr_statement_destroy (result); -+ result = NULL; -+ } -+ } -+ -+ cleanup: -+ if (parser) { -+ cr_parser_destroy (parser); -+ parser = NULL; -+ sac_handler = NULL ; -+ } -+ if (sac_handler) { -+ cr_doc_handler_unref (sac_handler); -+ sac_handler = NULL; -+ } -+ return result; -+} -+ -+/** -+ * cr_statement_new_ruleset: -+ * -+ *@a_sel_list: the list of #CRSimpleSel (selectors) -+ *the rule applies to. -+ *@a_decl_list: the list of instances of #CRDeclaration -+ *that composes the ruleset. -+ *@a_media_types: a list of instances of GString that -+ *describe the media list this ruleset applies to. -+ * -+ *Creates a new instance of #CRStatement of type -+ *#CRRulSet. -+ * -+ *Returns the new instance of #CRStatement or NULL if something -+ *went wrong. -+ */ -+CRStatement * -+cr_statement_new_ruleset (CRStyleSheet * a_sheet, -+ CRSelector * a_sel_list, -+ CRDeclaration * a_decl_list, -+ CRStatement * a_parent_media_rule) -+{ -+ CRStatement *result = NULL; -+ -+ g_return_val_if_fail (a_sel_list, NULL); -+ -+ if (a_parent_media_rule) { -+ g_return_val_if_fail -+ (a_parent_media_rule->type == AT_MEDIA_RULE_STMT, -+ NULL); -+ g_return_val_if_fail (a_parent_media_rule->kind.media_rule, -+ NULL); -+ } -+ -+ result = g_try_malloc (sizeof (CRStatement)); -+ -+ if (!result) { -+ cr_utils_trace_info ("Out of memory"); -+ return NULL; -+ } -+ -+ memset (result, 0, sizeof (CRStatement)); -+ result->type = RULESET_STMT; -+ result->kind.ruleset = g_try_malloc (sizeof (CRRuleSet)); -+ -+ if (!result->kind.ruleset) { -+ cr_utils_trace_info ("Out of memory"); -+ if (result) -+ g_free (result); -+ return NULL; -+ } -+ -+ memset (result->kind.ruleset, 0, sizeof (CRRuleSet)); -+ result->kind.ruleset->sel_list = a_sel_list; -+ if (a_sel_list) -+ cr_selector_ref (a_sel_list); -+ result->kind.ruleset->decl_list = a_decl_list; -+ -+ if (a_parent_media_rule) { -+ result->kind.ruleset->parent_media_rule = a_parent_media_rule; -+ a_parent_media_rule->kind.media_rule->rulesets = -+ cr_statement_append -+ (a_parent_media_rule->kind.media_rule->rulesets, -+ result); -+ } -+ -+ cr_statement_set_parent_sheet (result, a_sheet); -+ -+ return result; -+} -+ -+/** -+ * cr_statement_at_media_rule_parse_from_buf: -+ * -+ *@a_buf: the input to parse. -+ *@a_enc: the encoding of the buffer. -+ * -+ *Parses a buffer that contains an "\@media" declaration -+ *and builds an \@media css statement. -+ * -+ *Returns the \@media statement, or NULL if the buffer could not -+ *be successfully parsed. -+ */ -+CRStatement * -+cr_statement_at_media_rule_parse_from_buf (const guchar * a_buf, -+ enum CREncoding a_enc) -+{ -+ CRParser *parser = NULL; -+ CRStatement *result = NULL; -+ CRStatement **resultptr = NULL; -+ CRDocHandler *sac_handler = NULL; -+ enum CRStatus status = CR_OK; -+ -+ parser = cr_parser_new_from_buf ((guchar*)a_buf, strlen ((const char *) a_buf), -+ a_enc, FALSE); -+ if (!parser) { -+ cr_utils_trace_info ("Instantiation of the parser failed"); -+ goto cleanup; -+ } -+ -+ sac_handler = cr_doc_handler_new (); -+ if (!sac_handler) { -+ cr_utils_trace_info -+ ("Instantiation of the sac handler failed"); -+ goto cleanup; -+ } -+ -+ sac_handler->start_media = parse_at_media_start_media_cb; -+ sac_handler->start_selector = parse_at_media_start_selector_cb; -+ sac_handler->property = parse_at_media_property_cb; -+ sac_handler->end_selector = parse_at_media_end_selector_cb; -+ sac_handler->end_media = parse_at_media_end_media_cb; -+ sac_handler->unrecoverable_error = -+ parse_at_media_unrecoverable_error_cb; -+ -+ status = cr_parser_set_sac_handler (parser, sac_handler); -+ if (status != CR_OK) -+ goto cleanup; -+ -+ status = cr_parser_try_to_skip_spaces_and_comments (parser); -+ if (status != CR_OK) -+ goto cleanup; -+ -+ status = cr_parser_parse_media (parser); -+ if (status != CR_OK) -+ goto cleanup; -+ -+ resultptr = &result; -+ status = cr_doc_handler_get_result (sac_handler, -+ (gpointer *) resultptr); -+ if (status != CR_OK) -+ goto cleanup; -+ -+ cleanup: -+ -+ if (parser) { -+ cr_parser_destroy (parser); -+ parser = NULL; -+ sac_handler = NULL ; -+ } -+ if (sac_handler) { -+ cr_doc_handler_unref (sac_handler); -+ sac_handler = NULL; -+ } -+ -+ return result; -+} -+ -+/** -+ * cr_statement_new_at_media_rule: -+ * -+ *@a_ruleset: the ruleset statements contained -+ *in the \@media rule. -+ *@a_media: the media string list. A list of GString pointers. -+ * -+ *Instanciates an instance of #CRStatement of type -+ *AT_MEDIA_RULE_STMT (\@media ruleset). -+ * -+ */ -+CRStatement * -+cr_statement_new_at_media_rule (CRStyleSheet * a_sheet, -+ CRStatement * a_rulesets, GList * a_media) -+{ -+ CRStatement *result = NULL, -+ *cur = NULL; -+ -+ if (a_rulesets) -+ g_return_val_if_fail (a_rulesets->type == RULESET_STMT, NULL); -+ -+ result = g_try_malloc (sizeof (CRStatement)); -+ -+ if (!result) { -+ cr_utils_trace_info ("Out of memory"); -+ return NULL; -+ } -+ -+ memset (result, 0, sizeof (CRStatement)); -+ result->type = AT_MEDIA_RULE_STMT; -+ -+ result->kind.media_rule = g_try_malloc (sizeof (CRAtMediaRule)); -+ if (!result->kind.media_rule) { -+ cr_utils_trace_info ("Out of memory"); -+ g_free (result); -+ return NULL; -+ } -+ memset (result->kind.media_rule, 0, sizeof (CRAtMediaRule)); -+ result->kind.media_rule->rulesets = a_rulesets; -+ for (cur = a_rulesets; cur; cur = cur->next) { -+ if (cur->type != RULESET_STMT || !cur->kind.ruleset) { -+ cr_utils_trace_info ("Bad parameter a_rulesets. " -+ "It should be a list of " -+ "correct ruleset statement only !"); -+ goto error; -+ } -+ cur->kind.ruleset->parent_media_rule = result; -+ } -+ -+ result->kind.media_rule->media_list = a_media; -+ if (a_sheet) { -+ cr_statement_set_parent_sheet (result, a_sheet); -+ } -+ -+ return result; -+ -+ error: -+ return NULL; -+} -+ -+/** -+ * cr_statement_new_at_import_rule: -+ * -+ *@a_url: the url to connect to the get the file -+ *to be imported. -+ *@a_sheet: the imported parsed stylesheet. -+ * -+ *Creates a new instance of #CRStatment of type -+ *#CRAtImportRule. -+ * -+ *Returns the newly built instance of #CRStatement. -+ */ -+CRStatement * -+cr_statement_new_at_import_rule (CRStyleSheet * a_container_sheet, -+ CRString * a_url, -+ GList * a_media_list, -+ CRStyleSheet * a_imported_sheet) -+{ -+ CRStatement *result = NULL; -+ -+ result = g_try_malloc (sizeof (CRStatement)); -+ -+ if (!result) { -+ cr_utils_trace_info ("Out of memory"); -+ return NULL; -+ } -+ -+ memset (result, 0, sizeof (CRStatement)); -+ result->type = AT_IMPORT_RULE_STMT; -+ -+ result->kind.import_rule = g_try_malloc (sizeof (CRAtImportRule)); -+ -+ if (!result->kind.import_rule) { -+ cr_utils_trace_info ("Out of memory"); -+ g_free (result); -+ return NULL; -+ } -+ -+ memset (result->kind.import_rule, 0, sizeof (CRAtImportRule)); -+ result->kind.import_rule->url = a_url; -+ result->kind.import_rule->media_list = a_media_list; -+ result->kind.import_rule->sheet = a_imported_sheet; -+ if (a_container_sheet) -+ cr_statement_set_parent_sheet (result, a_container_sheet); -+ -+ return result; -+} -+ -+/** -+ * cr_statement_at_import_rule_parse_from_buf: -+ * -+ *@a_buf: the buffer to parse. -+ *@a_encoding: the encoding of a_buf. -+ * -+ *Parses a buffer that contains an "\@import" rule and -+ *instanciate a #CRStatement of type AT_IMPORT_RULE_STMT -+ * -+ *Returns the newly built instance of #CRStatement in case of -+ *a successful parsing, NULL otherwise. -+ */ -+CRStatement * -+cr_statement_at_import_rule_parse_from_buf (const guchar * a_buf, -+ enum CREncoding a_encoding) -+{ -+ enum CRStatus status = CR_OK; -+ CRParser *parser = NULL; -+ CRStatement *result = NULL; -+ GList *media_list = NULL; -+ CRString *import_string = NULL; -+ CRParsingLocation location = {0} ; -+ -+ parser = cr_parser_new_from_buf ((guchar*)a_buf, strlen ((const char *) a_buf), -+ a_encoding, FALSE); -+ if (!parser) { -+ cr_utils_trace_info ("Instantiation of parser failed."); -+ goto cleanup; -+ } -+ -+ status = cr_parser_try_to_skip_spaces_and_comments (parser); -+ if (status != CR_OK) -+ goto cleanup; -+ -+ status = cr_parser_parse_import (parser, -+ &media_list, -+ &import_string, -+ &location); -+ if (status != CR_OK || !import_string) -+ goto cleanup; -+ -+ result = cr_statement_new_at_import_rule (NULL, import_string, -+ media_list, NULL); -+ if (result) { -+ cr_parsing_location_copy (&result->location, -+ &location) ; -+ import_string = NULL; -+ media_list = NULL; -+ } -+ -+ cleanup: -+ if (parser) { -+ cr_parser_destroy (parser); -+ parser = NULL; -+ } -+ if (media_list) { -+ for (; media_list; -+ media_list = g_list_next (media_list)) { -+ if (media_list->data) { -+ cr_string_destroy ((CRString*)media_list->data); -+ media_list->data = NULL; -+ } -+ } -+ g_list_free (media_list); -+ media_list = NULL; -+ } -+ if (import_string) { -+ cr_string_destroy (import_string); -+ import_string = NULL; -+ } -+ -+ return result; -+} -+ -+/** -+ * cr_statement_new_at_page_rule: -+ * -+ *@a_decl_list: a list of instances of #CRDeclarations -+ *which is actually the list of declarations that applies to -+ *this page rule. -+ *@a_selector: the page rule selector. -+ * -+ *Creates a new instance of #CRStatement of type -+ *#CRAtPageRule. -+ * -+ *Returns the newly built instance of #CRStatement or NULL -+ *in case of error. -+ */ -+CRStatement * -+cr_statement_new_at_page_rule (CRStyleSheet * a_sheet, -+ CRDeclaration * a_decl_list, -+ CRString * a_name, CRString * a_pseudo) -+{ -+ CRStatement *result = NULL; -+ -+ result = g_try_malloc (sizeof (CRStatement)); -+ -+ if (!result) { -+ cr_utils_trace_info ("Out of memory"); -+ return NULL; -+ } -+ -+ memset (result, 0, sizeof (CRStatement)); -+ result->type = AT_PAGE_RULE_STMT; -+ -+ result->kind.page_rule = g_try_malloc (sizeof (CRAtPageRule)); -+ -+ if (!result->kind.page_rule) { -+ cr_utils_trace_info ("Out of memory"); -+ g_free (result); -+ return NULL; -+ } -+ -+ memset (result->kind.page_rule, 0, sizeof (CRAtPageRule)); -+ if (a_decl_list) { -+ result->kind.page_rule->decl_list = a_decl_list; -+ cr_declaration_ref (a_decl_list); -+ } -+ result->kind.page_rule->name = a_name; -+ result->kind.page_rule->pseudo = a_pseudo; -+ if (a_sheet) -+ cr_statement_set_parent_sheet (result, a_sheet); -+ -+ return result; -+} -+ -+/** -+ * cr_statement_at_page_rule_parse_from_buf: -+ * -+ *@a_buf: the character buffer to parse. -+ *@a_encoding: the character encoding of a_buf. -+ * -+ *Parses a buffer that contains an "\@page" production and, -+ *if the parsing succeeds, builds the page statement. -+ * -+ *Returns the newly built at page statement in case of successful parsing, -+ *NULL otherwise. -+ */ -+CRStatement * -+cr_statement_at_page_rule_parse_from_buf (const guchar * a_buf, -+ enum CREncoding a_encoding) -+{ -+ enum CRStatus status = CR_OK; -+ CRParser *parser = NULL; -+ CRDocHandler *sac_handler = NULL; -+ CRStatement *result = NULL; -+ CRStatement **resultptr = NULL; -+ -+ g_return_val_if_fail (a_buf, NULL); -+ -+ parser = cr_parser_new_from_buf ((guchar*)a_buf, strlen ((const char *) a_buf), -+ a_encoding, FALSE); -+ if (!parser) { -+ cr_utils_trace_info ("Instantiation of the parser failed."); -+ goto cleanup; -+ } -+ -+ sac_handler = cr_doc_handler_new (); -+ if (!sac_handler) { -+ cr_utils_trace_info -+ ("Instantiation of the sac handler failed."); -+ goto cleanup; -+ } -+ -+ sac_handler->start_page = parse_page_start_page_cb; -+ sac_handler->property = parse_page_property_cb; -+ sac_handler->end_page = parse_page_end_page_cb; -+ sac_handler->unrecoverable_error = parse_page_unrecoverable_error_cb; -+ -+ status = cr_parser_set_sac_handler (parser, sac_handler); -+ if (status != CR_OK) -+ goto cleanup; -+ -+ /*Now, invoke the parser to parse the "@page production" */ -+ cr_parser_try_to_skip_spaces_and_comments (parser); -+ if (status != CR_OK) -+ goto cleanup; -+ status = cr_parser_parse_page (parser); -+ if (status != CR_OK) -+ goto cleanup; -+ -+ resultptr = &result; -+ status = cr_doc_handler_get_result (sac_handler, -+ (gpointer *) resultptr); -+ -+ cleanup: -+ -+ if (parser) { -+ cr_parser_destroy (parser); -+ parser = NULL; -+ sac_handler = NULL ; -+ } -+ if (sac_handler) { -+ cr_doc_handler_unref (sac_handler); -+ sac_handler = NULL; -+ } -+ return result; -+} -+ -+/** -+ * cr_statement_new_at_charset_rule: -+ * -+ *@a_charset: the string representing the charset. -+ *Note that the newly built instance of #CRStatement becomes -+ *the owner of a_charset. The caller must not free a_charset !!!. -+ * -+ *Creates a new instance of #CRStatement of type -+ *#CRAtCharsetRule. -+ * -+ *Returns the newly built instance of #CRStatement or NULL -+ *if an error arises. -+ */ -+CRStatement * -+cr_statement_new_at_charset_rule (CRStyleSheet * a_sheet, -+ CRString * a_charset) -+{ -+ CRStatement *result = NULL; -+ -+ g_return_val_if_fail (a_charset, NULL); -+ -+ result = g_try_malloc (sizeof (CRStatement)); -+ -+ if (!result) { -+ cr_utils_trace_info ("Out of memory"); -+ return NULL; -+ } -+ -+ memset (result, 0, sizeof (CRStatement)); -+ result->type = AT_CHARSET_RULE_STMT; -+ -+ result->kind.charset_rule = g_try_malloc (sizeof (CRAtCharsetRule)); -+ -+ if (!result->kind.charset_rule) { -+ cr_utils_trace_info ("Out of memory"); -+ g_free (result); -+ return NULL; -+ } -+ memset (result->kind.charset_rule, 0, sizeof (CRAtCharsetRule)); -+ result->kind.charset_rule->charset = a_charset; -+ cr_statement_set_parent_sheet (result, a_sheet); -+ -+ return result; -+} -+ -+/** -+ * cr_statement_at_charset_rule_parse_from_buf: -+ * -+ *@a_buf: the buffer to parse. -+ *@a_encoding: the character encoding of the buffer. -+ * -+ *Parses a buffer that contains an '\@charset' rule and -+ *creates an instance of #CRStatement of type AT_CHARSET_RULE_STMT. -+ * -+ *Returns the newly built instance of #CRStatement. -+ */ -+CRStatement * -+cr_statement_at_charset_rule_parse_from_buf (const guchar * a_buf, -+ enum CREncoding a_encoding) -+{ -+ enum CRStatus status = CR_OK; -+ CRParser *parser = NULL; -+ CRStatement *result = NULL; -+ CRString *charset = NULL; -+ -+ g_return_val_if_fail (a_buf, NULL); -+ -+ parser = cr_parser_new_from_buf ((guchar*)a_buf, strlen ((const char *) a_buf), -+ a_encoding, FALSE); -+ if (!parser) { -+ cr_utils_trace_info ("Instantiation of the parser failed."); -+ goto cleanup; -+ } -+ -+ /*Now, invoke the parser to parse the "@charset production" */ -+ cr_parser_try_to_skip_spaces_and_comments (parser); -+ if (status != CR_OK) -+ goto cleanup; -+ status = cr_parser_parse_charset (parser, &charset, NULL); -+ if (status != CR_OK || !charset) -+ goto cleanup; -+ -+ result = cr_statement_new_at_charset_rule (NULL, charset); -+ if (result) -+ charset = NULL; -+ -+ cleanup: -+ -+ if (parser) { -+ cr_parser_destroy (parser); -+ parser = NULL; -+ } -+ if (charset) { -+ cr_string_destroy (charset); -+ } -+ -+ return result; -+} -+ -+/** -+ * cr_statement_new_at_font_face_rule: -+ * -+ *@a_font_decls: a list of instances of #CRDeclaration. Each declaration -+ *is actually a font declaration. -+ * -+ *Creates an instance of #CRStatement of type #CRAtFontFaceRule. -+ * -+ *Returns the newly built instance of #CRStatement. -+ */ -+CRStatement * -+cr_statement_new_at_font_face_rule (CRStyleSheet * a_sheet, -+ CRDeclaration * a_font_decls) -+{ -+ CRStatement *result = NULL; -+ -+ result = g_try_malloc (sizeof (CRStatement)); -+ -+ if (!result) { -+ cr_utils_trace_info ("Out of memory"); -+ return NULL; -+ } -+ memset (result, 0, sizeof (CRStatement)); -+ result->type = AT_FONT_FACE_RULE_STMT; -+ -+ result->kind.font_face_rule = g_try_malloc -+ (sizeof (CRAtFontFaceRule)); -+ -+ if (!result->kind.font_face_rule) { -+ cr_utils_trace_info ("Out of memory"); -+ g_free (result); -+ return NULL; -+ } -+ memset (result->kind.font_face_rule, 0, sizeof (CRAtFontFaceRule)); -+ -+ result->kind.font_face_rule->decl_list = a_font_decls; -+ if (a_sheet) -+ cr_statement_set_parent_sheet (result, a_sheet); -+ -+ return result; -+} -+ -+/** -+ * cr_statement_font_face_rule_parse_from_buf: -+ * -+ * -+ *@a_buf: the buffer to parse. -+ *@a_encoding: the character encoding of a_buf. -+ * -+ *Parses a buffer that contains an "\@font-face" rule and builds -+ *an instance of #CRStatement of type AT_FONT_FACE_RULE_STMT out of it. -+ * -+ *Returns the newly built instance of #CRStatement in case of successufull -+ *parsing, NULL otherwise. -+ */ -+CRStatement * -+cr_statement_font_face_rule_parse_from_buf (const guchar * a_buf, -+ enum CREncoding a_encoding) -+{ -+ CRStatement *result = NULL; -+ CRStatement **resultptr = NULL; -+ CRParser *parser = NULL; -+ CRDocHandler *sac_handler = NULL; -+ enum CRStatus status = CR_OK; -+ -+ parser = cr_parser_new_from_buf ((guchar*)a_buf, strlen ((const char *) a_buf), -+ a_encoding, FALSE); -+ if (!parser) -+ goto cleanup; -+ -+ sac_handler = cr_doc_handler_new (); -+ if (!sac_handler) -+ goto cleanup; -+ -+ /* -+ *set sac callbacks here -+ */ -+ sac_handler->start_font_face = parse_font_face_start_font_face_cb; -+ sac_handler->property = parse_font_face_property_cb; -+ sac_handler->end_font_face = parse_font_face_end_font_face_cb; -+ sac_handler->unrecoverable_error = -+ parse_font_face_unrecoverable_error_cb; -+ -+ status = cr_parser_set_sac_handler (parser, sac_handler); -+ if (status != CR_OK) -+ goto cleanup; -+ -+ /* -+ *cleanup spaces of comment that may be there before the real -+ *"@font-face" thing. -+ */ -+ status = cr_parser_try_to_skip_spaces_and_comments (parser); -+ if (status != CR_OK) -+ goto cleanup; -+ -+ status = cr_parser_parse_font_face (parser); -+ if (status != CR_OK) -+ goto cleanup; -+ -+ resultptr = &result; -+ status = cr_doc_handler_get_result (sac_handler, -+ (gpointer *) resultptr); -+ if (status != CR_OK || !result) -+ goto cleanup; -+ -+ cleanup: -+ if (parser) { -+ cr_parser_destroy (parser); -+ parser = NULL; -+ sac_handler = NULL ; -+ } -+ if (sac_handler) { -+ cr_doc_handler_unref (sac_handler); -+ sac_handler = NULL; -+ } -+ return result; -+} -+ -+/** -+ * cr_statement_set_parent_sheet: -+ * -+ *@a_this: the current instance of #CRStatement. -+ *@a_sheet: the sheet that contains the current statement. -+ * -+ *Sets the container stylesheet. -+ * -+ *Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_statement_set_parent_sheet (CRStatement * a_this, CRStyleSheet * a_sheet) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ a_this->parent_sheet = a_sheet; -+ return CR_OK; -+} -+ -+/** -+ * cr_statement_get_parent_sheet: -+ * -+ *@a_this: the current #CRStatement. -+ *@a_sheet: out parameter. A pointer to the sheets that -+ * -+ *Gets the sheets that contains the current statement. -+ * -+ *Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_statement_get_parent_sheet (CRStatement * a_this, CRStyleSheet ** a_sheet) -+{ -+ g_return_val_if_fail (a_this && a_sheet, CR_BAD_PARAM_ERROR); -+ *a_sheet = a_this->parent_sheet; -+ return CR_OK; -+} -+ -+/** -+ * cr_statement_append: -+ * -+ *@a_this: the current instance of the statement list. -+ *@a_new: a_new the new instance of #CRStatement to append. -+ * -+ *Appends a new statement to the statement list. -+ * -+ *Returns the new list statement list, or NULL in cas of failure. -+ */ -+CRStatement * -+cr_statement_append (CRStatement * a_this, CRStatement * a_new) -+{ -+ CRStatement *cur = NULL; -+ -+ g_return_val_if_fail (a_new, NULL); -+ -+ if (!a_this) { -+ return a_new; -+ } -+ -+ /*walk forward in the current list to find the tail list element */ -+ for (cur = a_this; cur && cur->next; cur = cur->next) ; -+ -+ cur->next = a_new; -+ a_new->prev = cur; -+ -+ return a_this; -+} -+ -+/** -+ * cr_statement_prepend: -+ * -+ *@a_this: the current instance of #CRStatement. -+ *@a_new: the new statement to prepend. -+ * -+ *Prepends the an instance of #CRStatement to -+ *the current statement list. -+ * -+ *Returns the new list with the new statement prepended, -+ *or NULL in case of an error. -+ */ -+CRStatement * -+cr_statement_prepend (CRStatement * a_this, CRStatement * a_new) -+{ -+ CRStatement *cur = NULL; -+ -+ g_return_val_if_fail (a_new, NULL); -+ -+ if (!a_this) -+ return a_new; -+ -+ a_new->next = a_this; -+ a_this->prev = a_new; -+ -+ /*walk backward in the prepended list to find the head list element */ -+ for (cur = a_new; cur && cur->prev; cur = cur->prev) ; -+ -+ return cur; -+} -+ -+/** -+ * cr_statement_unlink: -+ * -+ *@a_this: the current statements list. -+ *@a_to_unlink: the statement to unlink from the list. -+ * -+ *Unlinks a statement from the statements list. -+ * -+ *Returns the new list where a_to_unlink has been unlinked -+ *from, or NULL in case of error. -+ */ -+CRStatement * -+cr_statement_unlink (CRStatement * a_stmt) -+{ -+ CRStatement *result = a_stmt; -+ -+ g_return_val_if_fail (result, NULL); -+ -+ /** -+ *Some sanity checks first -+ */ -+ if (a_stmt->next) { -+ g_return_val_if_fail (a_stmt->next->prev == a_stmt, NULL); -+ } -+ if (a_stmt->prev) { -+ g_return_val_if_fail (a_stmt->prev->next == a_stmt, NULL); -+ } -+ -+ /** -+ *Now, the real unlinking job. -+ */ -+ if (a_stmt->next) { -+ a_stmt->next->prev = a_stmt->prev; -+ } -+ if (a_stmt->prev) { -+ a_stmt->prev->next = a_stmt->next; -+ } -+ -+ if (a_stmt->parent_sheet -+ && a_stmt->parent_sheet->statements == a_stmt) { -+ a_stmt->parent_sheet->statements = -+ a_stmt->parent_sheet->statements->next; -+ } -+ -+ a_stmt->next = NULL; -+ a_stmt->prev = NULL; -+ a_stmt->parent_sheet = NULL; -+ -+ return result; -+} -+ -+/** -+ * cr_statement_nr_rules: -+ * -+ *@a_this: the current instance of #CRStatement. -+ * -+ *Gets the number of rules in the statement list; -+ * -+ *Returns number of rules in the statement list. -+ */ -+gint -+cr_statement_nr_rules (CRStatement const * a_this) -+{ -+ CRStatement const *cur = NULL; -+ int nr = 0; -+ -+ g_return_val_if_fail (a_this, -1); -+ -+ for (cur = a_this; cur; cur = cur->next) -+ nr++; -+ return nr; -+} -+ -+/** -+ * cr_statement_get_from_list: -+ * -+ *@a_this: the current instance of #CRStatement. -+ *@itemnr: the index into the statement list. -+ * -+ *Use an index to get a CRStatement from the statement list. -+ * -+ *Returns CRStatement at position itemnr, if itemnr > number of statements - 1, -+ *it will return NULL. -+ */ -+CRStatement * -+cr_statement_get_from_list (CRStatement * a_this, int itemnr) -+{ -+ CRStatement *cur = NULL; -+ int nr = 0; -+ -+ g_return_val_if_fail (a_this, NULL); -+ -+ for (cur = a_this; cur; cur = cur->next) -+ if (nr++ == itemnr) -+ return cur; -+ return NULL; -+} -+ -+/** -+ * cr_statement_ruleset_set_sel_list: -+ * -+ *@a_this: the current ruleset statement. -+ *@a_sel_list: the selector list to set. Note -+ *that this function increments the ref count of a_sel_list. -+ *The sel list will be destroyed at the destruction of the -+ *current instance of #CRStatement. -+ * -+ *Sets a selector list to a ruleset statement. -+ * -+ *Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_statement_ruleset_set_sel_list (CRStatement * a_this, -+ CRSelector * a_sel_list) -+{ -+ g_return_val_if_fail (a_this && a_this->type == RULESET_STMT, -+ CR_BAD_PARAM_ERROR); -+ -+ if (a_this->kind.ruleset->sel_list) -+ cr_selector_unref (a_this->kind.ruleset->sel_list); -+ -+ a_this->kind.ruleset->sel_list = a_sel_list; -+ -+ if (a_sel_list) -+ cr_selector_ref (a_sel_list); -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_statement_ruleset_get_declarations: -+ * -+ *@a_this: the current instance of #CRStatement. -+ *@a_decl_list: out parameter. A pointer to the the returned -+ *list of declaration. Must not be NULL. -+ * -+ *Gets a pointer to the list of declaration contained -+ *in the ruleset statement. -+ * -+ *Returns CR_OK upon successful completion, an error code if something -+ *bad happened. -+ */ -+enum CRStatus -+cr_statement_ruleset_get_declarations (CRStatement * a_this, -+ CRDeclaration ** a_decl_list) -+{ -+ g_return_val_if_fail (a_this -+ && a_this->type == RULESET_STMT -+ && a_this->kind.ruleset -+ && a_decl_list, CR_BAD_PARAM_ERROR); -+ -+ *a_decl_list = a_this->kind.ruleset->decl_list; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_statement_ruleset_get_sel_list: -+ * -+ *@a_this: the current ruleset statement. -+ *@a_list: out parameter. The returned selector list, -+ *if and only if the function returned CR_OK. -+ * -+ *Gets a pointer to the selector list contained in -+ *the current ruleset statement. -+ * -+ *Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_statement_ruleset_get_sel_list (CRStatement const * a_this, CRSelector ** a_list) -+{ -+ g_return_val_if_fail (a_this && a_this->type == RULESET_STMT -+ && a_this->kind.ruleset, CR_BAD_PARAM_ERROR); -+ -+ *a_list = a_this->kind.ruleset->sel_list; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_statement_ruleset_set_decl_list: -+ * -+ *@a_this: the current ruleset statement. -+ *@a_list: the declaration list to be added to the current -+ *ruleset statement. -+ * -+ *Sets a declaration list to the current ruleset statement. -+ * -+ *Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_statement_ruleset_set_decl_list (CRStatement * a_this, -+ CRDeclaration * a_list) -+{ -+ g_return_val_if_fail (a_this && a_this->type == RULESET_STMT -+ && a_this->kind.ruleset, CR_BAD_PARAM_ERROR); -+ -+ if (a_this->kind.ruleset->decl_list == a_list) -+ return CR_OK; -+ -+ if (a_this->kind.ruleset->sel_list) { -+ cr_declaration_destroy (a_this->kind.ruleset->decl_list); -+ } -+ -+ a_this->kind.ruleset->sel_list = NULL; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_statement_ruleset_append_decl2: -+ * -+ *@a_this: the current statement. -+ *@a_prop: the property of the declaration. -+ *@a_value: the value of the declaration. -+ * -+ *Appends a declaration to the current ruleset statement. -+ * -+ *Returns CR_OK upon successful completion, an error code -+ *otherwise. -+ */ -+enum CRStatus -+cr_statement_ruleset_append_decl2 (CRStatement * a_this, -+ CRString * a_prop, -+ CRTerm * a_value) -+{ -+ CRDeclaration *new_decls = NULL; -+ -+ g_return_val_if_fail (a_this && a_this->type == RULESET_STMT -+ && a_this->kind.ruleset, CR_BAD_PARAM_ERROR); -+ -+ new_decls = cr_declaration_append2 -+ (a_this->kind.ruleset->decl_list, -+ a_prop, a_value); -+ g_return_val_if_fail (new_decls, CR_ERROR); -+ a_this->kind.ruleset->decl_list = new_decls; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_statement_ruleset_append_decl: -+ * -+ *Appends a declaration to the current statement. -+ * -+ *@a_this: the current statement. -+ *@a_declaration: the declaration to append. -+ * -+ *Returns CR_OK upon sucessful completion, an error code -+ *otherwise. -+ */ -+enum CRStatus -+cr_statement_ruleset_append_decl (CRStatement * a_this, -+ CRDeclaration * a_decl) -+{ -+ CRDeclaration *new_decls = NULL; -+ -+ g_return_val_if_fail (a_this && a_this->type == RULESET_STMT -+ && a_this->kind.ruleset, CR_BAD_PARAM_ERROR); -+ -+ new_decls = cr_declaration_append -+ (a_this->kind.ruleset->decl_list, a_decl); -+ g_return_val_if_fail (new_decls, CR_ERROR); -+ a_this->kind.ruleset->decl_list = new_decls; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_statement_at_import_rule_set_imported_sheet: -+ * -+ *Sets a stylesheet to the current \@import rule. -+ *@a_this: the current \@import rule. -+ *@a_sheet: the stylesheet. The stylesheet is owned -+ *by the current instance of #CRStatement, that is, the -+ *stylesheet will be destroyed when the current instance -+ *of #CRStatement is destroyed. -+ * -+ *Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_statement_at_import_rule_set_imported_sheet (CRStatement * a_this, -+ CRStyleSheet * a_sheet) -+{ -+ g_return_val_if_fail (a_this -+ && a_this->type == AT_IMPORT_RULE_STMT -+ && a_this->kind.import_rule, -+ CR_BAD_PARAM_ERROR); -+ -+ a_this->kind.import_rule->sheet = a_sheet; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_statement_at_import_rule_get_imported_sheet: -+ * -+ *@a_this: the current \@import rule statement. -+ *@a_sheet: out parameter. The returned stylesheet if and -+ *only if the function returns CR_OK. -+ * -+ *Gets the stylesheet contained by the \@import rule statement. -+ *Returns CR_OK upon sucessful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_statement_at_import_rule_get_imported_sheet (CRStatement * a_this, -+ CRStyleSheet ** a_sheet) -+{ -+ g_return_val_if_fail (a_this -+ && a_this->type == AT_IMPORT_RULE_STMT -+ && a_this->kind.import_rule, -+ CR_BAD_PARAM_ERROR); -+ *a_sheet = a_this->kind.import_rule->sheet; -+ return CR_OK; -+ -+} -+ -+/** -+ * cr_statement_at_import_rule_set_url: -+ * -+ *@a_this: the current \@import rule statement. -+ *@a_url: the url to set. -+ * -+ *Sets an url to the current \@import rule statement. -+ * -+ *Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_statement_at_import_rule_set_url (CRStatement * a_this, -+ CRString * a_url) -+{ -+ g_return_val_if_fail (a_this -+ && a_this->type == AT_IMPORT_RULE_STMT -+ && a_this->kind.import_rule, -+ CR_BAD_PARAM_ERROR); -+ -+ if (a_this->kind.import_rule->url) { -+ cr_string_destroy (a_this->kind.import_rule->url); -+ } -+ -+ a_this->kind.import_rule->url = a_url; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_statement_at_import_rule_get_url: -+ * -+ *@a_this: the current \@import rule statement. -+ *@a_url: out parameter. The returned url if -+ *and only if the function returned CR_OK. -+ * -+ *Gets the url of the \@import rule statement. -+ *Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_statement_at_import_rule_get_url (CRStatement const * a_this, -+ CRString ** a_url) -+{ -+ g_return_val_if_fail (a_this -+ && a_this->type == AT_IMPORT_RULE_STMT -+ && a_this->kind.import_rule, -+ CR_BAD_PARAM_ERROR); -+ -+ *a_url = a_this->kind.import_rule->url; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_statement_at_media_nr_rules: -+ * -+ *@a_this: the current instance of #CRStatement. -+ * -+ *Returns the number of rules in the media rule; -+ */ -+int -+cr_statement_at_media_nr_rules (CRStatement const * a_this) -+{ -+ g_return_val_if_fail (a_this -+ && a_this->type == AT_MEDIA_RULE_STMT -+ && a_this->kind.media_rule, CR_BAD_PARAM_ERROR); -+ -+ return cr_statement_nr_rules (a_this->kind.media_rule->rulesets); -+} -+ -+/** -+ * cr_statement_at_media_get_from_list: -+ * -+ *@a_this: the current instance of #CRStatement. -+ *@itemnr: the index into the media rule list of rules. -+ * -+ *Use an index to get a CRStatement from the media rule list of rules. -+ * -+ *Returns CRStatement at position itemnr, if itemnr > number of rules - 1, -+ *it will return NULL. -+ */ -+CRStatement * -+cr_statement_at_media_get_from_list (CRStatement * a_this, int itemnr) -+{ -+ g_return_val_if_fail (a_this -+ && a_this->type == AT_MEDIA_RULE_STMT -+ && a_this->kind.media_rule, NULL); -+ -+ return cr_statement_get_from_list (a_this->kind.media_rule->rulesets, -+ itemnr); -+} -+ -+/** -+ * cr_statement_at_page_rule_set_declarations: -+ * -+ *@a_this: the current \@page rule statement. -+ *@a_decl_list: the declaration list to add. Will be freed -+ *by the current instance of #CRStatement when it is destroyed. -+ * -+ *Sets a declaration list to the current \@page rule statement. -+ * -+ *Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_statement_at_page_rule_set_declarations (CRStatement * a_this, -+ CRDeclaration * a_decl_list) -+{ -+ g_return_val_if_fail (a_this -+ && a_this->type == AT_PAGE_RULE_STMT -+ && a_this->kind.page_rule, CR_BAD_PARAM_ERROR); -+ -+ if (a_this->kind.page_rule->decl_list) { -+ cr_declaration_unref (a_this->kind.page_rule->decl_list); -+ } -+ -+ a_this->kind.page_rule->decl_list = a_decl_list; -+ -+ if (a_decl_list) { -+ cr_declaration_ref (a_decl_list); -+ } -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_statement_at_page_rule_get_declarations: -+ * -+ *@a_this: the current \@page rule statement. -+ *@a_decl_list: out parameter. The returned declaration list. -+ * -+ *Gets the declaration list associated to the current \@page rule -+ *statement. -+ * -+ *Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_statement_at_page_rule_get_declarations (CRStatement * a_this, -+ CRDeclaration ** a_decl_list) -+{ -+ g_return_val_if_fail (a_this -+ && a_this->type == AT_PAGE_RULE_STMT -+ && a_this->kind.page_rule, CR_BAD_PARAM_ERROR); -+ -+ *a_decl_list = a_this->kind.page_rule->decl_list; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_statement_at_charset_rule_set_charset: -+ * -+ * -+ *@a_this: the current \@charset rule statement. -+ *@a_charset: the charset to set. -+ * -+ *Sets the charset of the current \@charset rule statement. -+ * -+ *Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_statement_at_charset_rule_set_charset (CRStatement * a_this, -+ CRString * a_charset) -+{ -+ g_return_val_if_fail (a_this -+ && a_this->type == AT_CHARSET_RULE_STMT -+ && a_this->kind.charset_rule, -+ CR_BAD_PARAM_ERROR); -+ -+ if (a_this->kind.charset_rule->charset) { -+ cr_string_destroy (a_this->kind.charset_rule->charset); -+ } -+ a_this->kind.charset_rule->charset = a_charset; -+ return CR_OK; -+} -+ -+/** -+ * cr_statement_at_charset_rule_get_charset: -+ *@a_this: the current \@charset rule statement. -+ *@a_charset: out parameter. The returned charset string if -+ *and only if the function returned CR_OK. -+ * -+ *Gets the charset string associated to the current -+ *\@charset rule statement. -+ * -+ * Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_statement_at_charset_rule_get_charset (CRStatement const * a_this, -+ CRString ** a_charset) -+{ -+ g_return_val_if_fail (a_this -+ && a_this->type == AT_CHARSET_RULE_STMT -+ && a_this->kind.charset_rule, -+ CR_BAD_PARAM_ERROR); -+ -+ *a_charset = a_this->kind.charset_rule->charset; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_statement_at_font_face_rule_set_decls: -+ * -+ *@a_this: the current \@font-face rule statement. -+ *@a_decls: the declarations list to set. -+ * -+ *Sets a declaration list to the current \@font-face rule statement. -+ * -+ *Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_statement_at_font_face_rule_set_decls (CRStatement * a_this, -+ CRDeclaration * a_decls) -+{ -+ g_return_val_if_fail (a_this -+ && a_this->type == AT_FONT_FACE_RULE_STMT -+ && a_this->kind.font_face_rule, -+ CR_BAD_PARAM_ERROR); -+ -+ if (a_this->kind.font_face_rule->decl_list) { -+ cr_declaration_unref (a_this->kind.font_face_rule->decl_list); -+ } -+ -+ a_this->kind.font_face_rule->decl_list = a_decls; -+ cr_declaration_ref (a_decls); -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_statement_at_font_face_rule_get_decls: -+ * -+ *@a_this: the current \@font-face rule statement. -+ *@a_decls: out parameter. The returned declaration list if -+ *and only if this function returns CR_OK. -+ * -+ *Gets the declaration list associated to the current instance -+ *of \@font-face rule statement. -+ * -+ *Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_statement_at_font_face_rule_get_decls (CRStatement * a_this, -+ CRDeclaration ** a_decls) -+{ -+ g_return_val_if_fail (a_this -+ && a_this->type == AT_FONT_FACE_RULE_STMT -+ && a_this->kind.font_face_rule, -+ CR_BAD_PARAM_ERROR); -+ -+ *a_decls = a_this->kind.font_face_rule->decl_list; -+ -+ return CR_OK; -+} -+ -+/** -+ * cr_statement_at_font_face_rule_add_decl: -+ * -+ *@a_this: the current \@font-face rule statement. -+ *@a_prop: the property of the declaration. -+ *@a_value: the value of the declaration. -+ * -+ *Adds a declaration to the current \@font-face rule -+ *statement. -+ * -+ *Returns CR_OK upon successful completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_statement_at_font_face_rule_add_decl (CRStatement * a_this, -+ CRString * a_prop, CRTerm * a_value) -+{ -+ CRDeclaration *decls = NULL; -+ -+ g_return_val_if_fail (a_this -+ && a_this->type == AT_FONT_FACE_RULE_STMT -+ && a_this->kind.font_face_rule, -+ CR_BAD_PARAM_ERROR); -+ -+ decls = cr_declaration_append2 -+ (a_this->kind.font_face_rule->decl_list, -+ a_prop, a_value); -+ -+ g_return_val_if_fail (decls, CR_ERROR); -+ -+ if (a_this->kind.font_face_rule->decl_list == NULL) -+ cr_declaration_ref (decls); -+ -+ a_this->kind.font_face_rule->decl_list = decls; -+ -+ return CR_OK; -+} -+ -+ -+/** -+ * cr_statement_to_string: -+ * -+ *@a_this: the current statement to serialize -+ *@a_indent: the number of white space of indentation. -+ * -+ *Serializes a css statement into a string -+ * -+ *Returns the serialized statement. Must be freed by the caller -+ *using g_free(). -+ */ -+gchar * -+cr_statement_to_string (CRStatement const * a_this, gulong a_indent) -+{ -+ gchar *str = NULL ; -+ -+ if (!a_this) -+ return NULL; -+ -+ switch (a_this->type) { -+ case RULESET_STMT: -+ str = cr_statement_ruleset_to_string -+ (a_this, a_indent); -+ break; -+ -+ case AT_FONT_FACE_RULE_STMT: -+ str = cr_statement_font_face_rule_to_string -+ (a_this, a_indent) ; -+ break; -+ -+ case AT_CHARSET_RULE_STMT: -+ str = cr_statement_charset_to_string -+ (a_this, a_indent); -+ break; -+ -+ case AT_PAGE_RULE_STMT: -+ str = cr_statement_at_page_rule_to_string -+ (a_this, a_indent); -+ break; -+ -+ case AT_MEDIA_RULE_STMT: -+ str = cr_statement_media_rule_to_string -+ (a_this, a_indent); -+ break; -+ -+ case AT_IMPORT_RULE_STMT: -+ str = cr_statement_import_rule_to_string -+ (a_this, a_indent); -+ break; -+ -+ default: -+ cr_utils_trace_info ("Statement unrecognized"); -+ break; -+ } -+ return str ; -+} -+ -+gchar* -+cr_statement_list_to_string (CRStatement const *a_this, gulong a_indent) -+{ -+ CRStatement const *cur_stmt = NULL ; -+ GString *stringue = NULL ; -+ gchar *str = NULL ; -+ -+ g_return_val_if_fail (a_this, NULL) ; -+ -+ stringue = g_string_new (NULL) ; -+ if (!stringue) { -+ cr_utils_trace_info ("Out of memory") ; -+ return NULL ; -+ } -+ for (cur_stmt = a_this ; cur_stmt; -+ cur_stmt = cur_stmt->next) { -+ str = cr_statement_to_string (cur_stmt, a_indent) ; -+ if (str) { -+ if (!cur_stmt->prev) { -+ g_string_append (stringue, str) ; -+ } else { -+ g_string_append_printf -+ (stringue, "\n%s", str) ; -+ } -+ g_free (str) ; -+ str = NULL ; -+ } -+ } -+ str = stringue->str ; -+ g_string_free (stringue, FALSE) ; -+ return str ; -+} -+ -+/** -+ * cr_statement_dump: -+ * -+ *@a_this: the current css2 statement. -+ *@a_fp: the destination file pointer. -+ *@a_indent: the number of white space indentation characters. -+ * -+ *Dumps the css2 statement to a file. -+ */ -+void -+cr_statement_dump (CRStatement const * a_this, FILE * a_fp, gulong a_indent) -+{ -+ gchar *str = NULL ; -+ -+ if (!a_this) -+ return; -+ -+ str = cr_statement_to_string (a_this, a_indent) ; -+ if (str) { -+ fprintf (a_fp, "%s",str) ; -+ g_free (str) ; -+ str = NULL ; -+ } -+} -+ -+/** -+ * cr_statement_dump_ruleset: -+ * -+ *@a_this: the current instance of #CRStatement. -+ *@a_fp: the destination file pointer. -+ *@a_indent: the number of indentation white spaces to add. -+ * -+ *Dumps a ruleset statement to a file. -+ */ -+void -+cr_statement_dump_ruleset (CRStatement const * a_this, FILE * a_fp, glong a_indent) -+{ -+ gchar *str = NULL; -+ -+ g_return_if_fail (a_fp && a_this); -+ str = cr_statement_ruleset_to_string (a_this, a_indent); -+ if (str) { -+ fprintf (a_fp, "%s", str); -+ g_free (str); -+ str = NULL; -+ } -+} -+ -+/** -+ * cr_statement_dump_font_face_rule: -+ * -+ *@a_this: the current instance of font face rule statement. -+ *@a_fp: the destination file pointer. -+ *@a_indent: the number of white space indentation. -+ * -+ *Dumps a font face rule statement to a file. -+ */ -+void -+cr_statement_dump_font_face_rule (CRStatement const * a_this, FILE * a_fp, -+ glong a_indent) -+{ -+ gchar *str = NULL ; -+ g_return_if_fail (a_this -+ && a_this->type == AT_FONT_FACE_RULE_STMT); -+ -+ str = cr_statement_font_face_rule_to_string (a_this, -+ a_indent) ; -+ if (str) { -+ fprintf (a_fp, "%s", str) ; -+ g_free (str) ; -+ str = NULL ; -+ } -+} -+ -+/** -+ * cr_statement_dump_charset: -+ * -+ *@a_this: the current instance of the \@charset rule statement. -+ *@a_fp: the destination file pointer. -+ *@a_indent: the number of indentation white spaces. -+ * -+ *Dumps an \@charset rule statement to a file. -+ */ -+void -+cr_statement_dump_charset (CRStatement const * a_this, FILE * a_fp, gulong a_indent) -+{ -+ gchar *str = NULL; -+ -+ g_return_if_fail (a_this && a_this->type == AT_CHARSET_RULE_STMT); -+ -+ str = cr_statement_charset_to_string (a_this, -+ a_indent) ; -+ if (str) { -+ fprintf (a_fp, "%s", str) ; -+ g_free (str) ; -+ str = NULL ; -+ } -+} -+ -+ -+/** -+ * cr_statement_dump_page: -+ * -+ *@a_this: the statement to dump on stdout. -+ *@a_fp: the destination file pointer. -+ *@a_indent: the number of indentation white spaces. -+ * -+ *Dumps an \@page rule statement on stdout. -+ */ -+void -+cr_statement_dump_page (CRStatement const * a_this, FILE * a_fp, gulong a_indent) -+{ -+ gchar *str = NULL; -+ -+ g_return_if_fail (a_this -+ && a_this->type == AT_PAGE_RULE_STMT -+ && a_this->kind.page_rule); -+ -+ str = cr_statement_at_page_rule_to_string (a_this, a_indent) ; -+ if (str) { -+ fprintf (a_fp, "%s", str); -+ g_free (str) ; -+ str = NULL ; -+ } -+} -+ -+ -+/** -+ * cr_statement_dump_media_rule: -+ * -+ *@a_this: the statement to dump. -+ *@a_fp: the destination file pointer -+ *@a_indent: the number of white spaces indentation. -+ * -+ *Dumps an \@media rule statement to a file. -+ */ -+void -+cr_statement_dump_media_rule (CRStatement const * a_this, -+ FILE * a_fp, -+ gulong a_indent) -+{ -+ gchar *str = NULL ; -+ g_return_if_fail (a_this->type == AT_MEDIA_RULE_STMT); -+ -+ str = cr_statement_media_rule_to_string (a_this, a_indent) ; -+ if (str) { -+ fprintf (a_fp, "%s", str) ; -+ g_free (str) ; -+ str = NULL ; -+ } -+} -+ -+/** -+ * cr_statement_dump_import_rule: -+ * -+ *@a_fp: the destination file pointer. -+ *@a_indent: the number of white space indentations. -+ * -+ *Dumps an \@import rule statement to a file. -+ */ -+void -+cr_statement_dump_import_rule (CRStatement const * a_this, FILE * a_fp, -+ gulong a_indent) -+{ -+ gchar *str = NULL ; -+ g_return_if_fail (a_this -+ && a_this->type == AT_IMPORT_RULE_STMT -+ && a_fp -+ && a_this->kind.import_rule); -+ -+ str = cr_statement_import_rule_to_string (a_this, a_indent) ; -+ if (str) { -+ fprintf (a_fp, "%s", str) ; -+ g_free (str) ; -+ str = NULL ; -+ } -+} -+ -+/** -+ * cr_statement_destroy: -+ * -+ * @a_this: the current instance of #CRStatement. -+ * -+ *Destructor of #CRStatement. -+ */ -+void -+cr_statement_destroy (CRStatement * a_this) -+{ -+ CRStatement *cur = NULL; -+ -+ g_return_if_fail (a_this); -+ -+ /*go get the tail of the list */ -+ for (cur = a_this; cur && cur->next; cur = cur->next) { -+ cr_statement_clear (cur); -+ } -+ -+ if (cur) -+ cr_statement_clear (cur); -+ -+ if (cur->prev == NULL) { -+ g_free (a_this); -+ return; -+ } -+ -+ /*walk backward and free next element */ -+ for (cur = cur->prev; cur && cur->prev; cur = cur->prev) { -+ if (cur->next) { -+ g_free (cur->next); -+ cur->next = NULL; -+ } -+ } -+ -+ if (!cur) -+ return; -+ -+ /*free the one remaining list */ -+ if (cur->next) { -+ g_free (cur->next); -+ cur->next = NULL; -+ } -+ -+ g_free (cur); -+ cur = NULL; -+} -diff --git a/src/st/croco/cr-statement.h b/src/st/croco/cr-statement.h -new file mode 100644 -index 000000000..74a233055 ---- /dev/null -+++ b/src/st/croco/cr-statement.h -@@ -0,0 +1,440 @@ -+/* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli -+ * See COPYRIGHTS file for copyright information. -+ */ -+ -+#include -+#include "cr-utils.h" -+#include "cr-term.h" -+#include "cr-selector.h" -+#include "cr-declaration.h" -+ -+#ifndef __CR_STATEMENT_H__ -+#define __CR_STATEMENT_H__ -+ -+G_BEGIN_DECLS -+ -+/** -+ *@file -+ *Declaration of the #CRStatement class. -+ */ -+ -+/* -+ *forward declaration of CRStyleSheet which is defined in -+ *cr-stylesheet.h -+ */ -+ -+struct _CRStatement ; -+ -+/* -+ *typedef struct _CRStatement CRStatement ; -+ *this is forward declared in -+ *cr-declaration.h already. -+ */ -+ -+struct _CRAtMediaRule ; -+typedef struct _CRAtMediaRule CRAtMediaRule ; -+ -+typedef struct _CRRuleSet CRRuleSet ; -+ -+/** -+ *The abstraction of a css ruleset. -+ *A ruleset is made of a list of selectors, -+ *followed by a list of declarations. -+ */ -+struct _CRRuleSet -+{ -+ /**A list of instances of #CRSimpeSel*/ -+ CRSelector *sel_list ; -+ -+ /**A list of instances of #CRDeclaration*/ -+ CRDeclaration *decl_list ; -+ -+ /** -+ *The parent media rule, or NULL if -+ *no parent media rule exists. -+ */ -+ CRStatement *parent_media_rule ; -+} ; -+ -+/* -+ *a forward declaration of CRStylesheet. -+ *CRStylesheet is actually declared in -+ *cr-stylesheet.h -+ */ -+struct _CRStyleSheet ; -+typedef struct _CRStyleSheet CRStyleSheet; -+ -+ -+/**The \@import rule abstraction.*/ -+typedef struct _CRAtImportRule CRAtImportRule ; -+struct _CRAtImportRule -+{ -+ /**the url of the import rule*/ -+ CRString *url ; -+ -+ GList *media_list ; -+ -+ /** -+ *the stylesheet fetched from the url, if any. -+ *this is not "owned" by #CRAtImportRule which means -+ *it is not destroyed by the destructor of #CRAtImportRule. -+ */ -+ CRStyleSheet * sheet; -+}; -+ -+ -+/**abstraction of an \@media rule*/ -+struct _CRAtMediaRule -+{ -+ GList *media_list ; -+ CRStatement *rulesets ; -+} ; -+ -+ -+typedef struct _CRAtPageRule CRAtPageRule ; -+/**The \@page rule abstraction*/ -+struct _CRAtPageRule -+{ -+ /**a list of instances of #CRDeclaration*/ -+ CRDeclaration *decl_list ; -+ -+ /**page selector. Is a pseudo selector*/ -+ CRString *name ; -+ CRString *pseudo ; -+} ; -+ -+/**The \@charset rule abstraction*/ -+typedef struct _CRAtCharsetRule CRAtCharsetRule ; -+struct _CRAtCharsetRule -+{ -+ CRString * charset ; -+}; -+ -+/**The abstaction of the \@font-face rule.*/ -+typedef struct _CRAtFontFaceRule CRAtFontFaceRule ; -+struct _CRAtFontFaceRule -+{ -+ /*a list of instanaces of #CRDeclaration*/ -+ CRDeclaration *decl_list ; -+} ; -+ -+ -+/** -+ *The possible types of css2 statements. -+ */ -+enum CRStatementType -+{ -+ /** -+ *A generic css at-rule -+ *each unknown at-rule will -+ *be of this type. -+ */ -+ -+ /**A css at-rule*/ -+ AT_RULE_STMT = 0, -+ -+ /*A css ruleset*/ -+ RULESET_STMT, -+ -+ /**A css2 import rule*/ -+ AT_IMPORT_RULE_STMT, -+ -+ /**A css2 media rule*/ -+ AT_MEDIA_RULE_STMT, -+ -+ /**A css2 page rule*/ -+ AT_PAGE_RULE_STMT, -+ -+ /**A css2 charset rule*/ -+ AT_CHARSET_RULE_STMT, -+ -+ /**A css2 font face rule*/ -+ AT_FONT_FACE_RULE_STMT -+} ; -+ -+ -+/** -+ *The abstraction of css statement as defined -+ *in the chapter 4 and appendix D.1 of the css2 spec. -+ *A statement is actually a double chained list of -+ *statements.A statement can be a ruleset, an \@import -+ *rule, an \@page rule etc ... -+ */ -+struct _CRStatement -+{ -+ /** -+ *The type of the statement. -+ */ -+ enum CRStatementType type ; -+ -+ union -+ { -+ CRRuleSet *ruleset ; -+ CRAtImportRule *import_rule ; -+ CRAtMediaRule *media_rule ; -+ CRAtPageRule *page_rule ; -+ CRAtCharsetRule *charset_rule ; -+ CRAtFontFaceRule *font_face_rule ; -+ } kind ; -+ -+ /* -+ *the specificity of the selector -+ *that matched this statement. -+ *This is only used by the cascading -+ *order determination algorithm. -+ */ -+ gulong specificity ; -+ -+ /* -+ *the style sheet that contains -+ *this css statement. -+ */ -+ CRStyleSheet *parent_sheet ; -+ CRStatement *next ; -+ CRStatement *prev ; -+ -+ CRParsingLocation location ; -+ -+ /** -+ *a custom pointer useable by -+ *applications that use libcroco. -+ *libcroco itself will never modify -+ *this pointer. -+ */ -+ gpointer app_data ; -+ -+ /** -+ *a custom pointer used -+ *by the upper layers of libcroco. -+ *application should never use this -+ *pointer. -+ */ -+ gpointer croco_data ; -+ -+} ; -+ -+ -+gboolean -+cr_statement_does_buf_parses_against_core (const guchar *a_buf, -+ enum CREncoding a_encoding) ; -+CRStatement * -+cr_statement_parse_from_buf (const guchar *a_buf, -+ enum CREncoding a_encoding) ; -+CRStatement* -+cr_statement_new_ruleset (CRStyleSheet *a_sheet, -+ CRSelector *a_sel_list, -+ CRDeclaration *a_decl_list, -+ CRStatement *a_media_rule) ; -+CRStatement * -+cr_statement_ruleset_parse_from_buf (const guchar * a_buf, -+ enum CREncoding a_enc) ; -+ -+CRStatement* -+cr_statement_new_at_import_rule (CRStyleSheet *a_container_sheet, -+ CRString *a_url, -+ GList *a_media_list, -+ CRStyleSheet *a_imported_sheet) ; -+ -+CRStatement * -+cr_statement_at_import_rule_parse_from_buf (const guchar * a_buf, -+ enum CREncoding a_encoding) ; -+ -+CRStatement * -+cr_statement_new_at_media_rule (CRStyleSheet *a_sheet, -+ CRStatement *a_ruleset, -+ GList *a_media) ; -+CRStatement * -+cr_statement_at_media_rule_parse_from_buf (const guchar *a_buf, -+ enum CREncoding a_enc) ; -+ -+CRStatement * -+cr_statement_new_at_charset_rule (CRStyleSheet *a_sheet, -+ CRString *a_charset) ; -+CRStatement * -+cr_statement_at_charset_rule_parse_from_buf (const guchar *a_buf, -+ enum CREncoding a_encoding); -+ -+ -+CRStatement * -+cr_statement_new_at_font_face_rule (CRStyleSheet *a_sheet, -+ CRDeclaration *a_font_decls) ; -+CRStatement * -+cr_statement_font_face_rule_parse_from_buf (const guchar *a_buf, -+ enum CREncoding a_encoding) ; -+ -+CRStatement * -+cr_statement_new_at_page_rule (CRStyleSheet *a_sheet, -+ CRDeclaration *a_decl_list, -+ CRString *a_name, -+ CRString *a_pseudo) ; -+CRStatement * -+cr_statement_at_page_rule_parse_from_buf (const guchar *a_buf, -+ enum CREncoding a_encoding) ; -+ -+enum CRStatus -+cr_statement_set_parent_sheet (CRStatement *a_this, -+ CRStyleSheet *a_sheet) ; -+ -+enum CRStatus -+cr_statement_get_parent_sheet (CRStatement *a_this, -+ CRStyleSheet **a_sheet) ; -+ -+CRStatement * -+cr_statement_append (CRStatement *a_this, -+ CRStatement *a_new) ; -+ -+CRStatement* -+cr_statement_prepend (CRStatement *a_this, -+ CRStatement *a_new) ; -+ -+CRStatement * -+cr_statement_unlink (CRStatement *a_stmt) ; -+ -+enum CRStatus -+cr_statement_ruleset_set_sel_list (CRStatement *a_this, -+ CRSelector *a_sel_list) ; -+ -+enum CRStatus -+cr_statement_ruleset_get_sel_list (CRStatement const *a_this, -+ CRSelector **a_list) ; -+ -+enum CRStatus -+cr_statement_ruleset_set_decl_list (CRStatement *a_this, -+ CRDeclaration *a_list) ; -+ -+enum CRStatus -+cr_statement_ruleset_get_declarations (CRStatement *a_this, -+ CRDeclaration **a_decl_list) ; -+ -+enum CRStatus -+cr_statement_ruleset_append_decl2 (CRStatement *a_this, -+ CRString *a_prop, CRTerm *a_value) ; -+ -+enum CRStatus -+cr_statement_ruleset_append_decl (CRStatement *a_this, -+ CRDeclaration *a_decl) ; -+ -+enum CRStatus -+cr_statement_at_import_rule_set_imported_sheet (CRStatement *a_this, -+ CRStyleSheet *a_sheet) ; -+ -+enum CRStatus -+cr_statement_at_import_rule_get_imported_sheet (CRStatement *a_this, -+ CRStyleSheet **a_sheet) ; -+ -+enum CRStatus -+cr_statement_at_import_rule_set_url (CRStatement *a_this, -+ CRString *a_url) ; -+ -+enum CRStatus -+cr_statement_at_import_rule_get_url (CRStatement const *a_this, -+ CRString **a_url) ; -+ -+gint -+cr_statement_at_media_nr_rules (CRStatement const *a_this) ; -+ -+CRStatement * -+cr_statement_at_media_get_from_list (CRStatement *a_this, int itemnr) ; -+ -+enum CRStatus -+cr_statement_at_page_rule_set_sel (CRStatement *a_this, -+ CRSelector *a_sel) ; -+ -+enum CRStatus -+cr_statement_at_page_rule_get_sel (CRStatement const *a_this, -+ CRSelector **a_sel) ; -+ -+enum CRStatus -+cr_statement_at_page_rule_set_declarations (CRStatement *a_this, -+ CRDeclaration *a_decl_list) ; -+ -+enum CRStatus -+cr_statement_at_page_rule_get_declarations (CRStatement *a_this, -+ CRDeclaration **a_decl_list) ; -+ -+enum CRStatus -+cr_statement_at_charset_rule_set_charset (CRStatement *a_this, -+ CRString *a_charset) ; -+ -+enum CRStatus -+cr_statement_at_charset_rule_get_charset (CRStatement const *a_this, -+ CRString **a_charset) ; -+ -+enum CRStatus -+cr_statement_at_font_face_rule_set_decls (CRStatement *a_this, -+ CRDeclaration *a_decls) ; -+ -+enum CRStatus -+cr_statement_at_font_face_rule_get_decls (CRStatement *a_this, -+ CRDeclaration **a_decls) ; -+ -+enum CRStatus -+cr_statement_at_font_face_rule_add_decl (CRStatement *a_this, -+ CRString *a_prop, -+ CRTerm *a_value) ; -+ -+gchar * -+cr_statement_to_string (CRStatement const * a_this, gulong a_indent) ; -+ -+gchar* -+cr_statement_list_to_string (CRStatement const *a_this, gulong a_indent) ; -+ -+void -+cr_statement_dump (CRStatement const *a_this, FILE *a_fp, gulong a_indent) ; -+ -+void -+cr_statement_dump_ruleset (CRStatement const * a_this, FILE * a_fp, -+ glong a_indent) ; -+ -+void -+cr_statement_dump_font_face_rule (CRStatement const * a_this, -+ FILE * a_fp, -+ glong a_indent) ; -+ -+void -+cr_statement_dump_page (CRStatement const * a_this, FILE * a_fp, -+ gulong a_indent) ; -+ -+ -+void -+cr_statement_dump_media_rule (CRStatement const * a_this, -+ FILE * a_fp, -+ gulong a_indent) ; -+ -+void -+cr_statement_dump_import_rule (CRStatement const * a_this, FILE * a_fp, -+ gulong a_indent) ; -+void -+cr_statement_dump_charset (CRStatement const * a_this, FILE * a_fp, -+ gulong a_indent) ; -+gint -+cr_statement_nr_rules (CRStatement const *a_this) ; -+ -+CRStatement * -+cr_statement_get_from_list (CRStatement *a_this, int itemnr) ; -+ -+void -+cr_statement_destroy (CRStatement *a_this) ; -+ -+G_END_DECLS -+ -+#endif /*__CR_STATEMENT_H__*/ -diff --git a/src/st/croco/cr-string.c b/src/st/croco/cr-string.c -new file mode 100644 -index 000000000..1b10bb2ab ---- /dev/null -+++ b/src/st/croco/cr-string.c -@@ -0,0 +1,168 @@ -+/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli. -+ * See COPYRIGHTS file for copyright information. -+ */ -+ -+#include -+#include "cr-string.h" -+ -+/** -+ *Instanciates a #CRString -+ *@return the newly instanciated #CRString -+ *Must be freed with cr_string_destroy(). -+ */ -+CRString * -+cr_string_new (void) -+{ -+ CRString *result = NULL ; -+ -+ result = g_try_malloc (sizeof (CRString)) ; -+ if (!result) { -+ cr_utils_trace_info ("Out of memory") ; -+ return NULL ; -+ } -+ memset (result, 0, sizeof (CRString)) ; -+ result->stryng = g_string_new (NULL) ; -+ return result ; -+} -+ -+/** -+ *Instanciate a string and initialise it to -+ *a_string. -+ *@param a_string the initial string -+ *@return the newly instanciated string. -+ */ -+CRString * -+cr_string_new_from_string (const gchar * a_string) -+{ -+ CRString *result = NULL ; -+ -+ result = cr_string_new () ; -+ if (!result) { -+ cr_utils_trace_info ("Out of memory") ; -+ return NULL ; -+ } -+ if (a_string) -+ g_string_append (result->stryng, a_string) ; -+ return result ; -+} -+ -+/** -+ *Instanciates a #CRString from an instance of GString. -+ *@param a_string the input string that will be copied into -+ *the newly instanciated #CRString -+ *@return the newly instanciated #CRString. -+ */ -+CRString * -+cr_string_new_from_gstring (GString const *a_string) -+{ -+ CRString *result = NULL ; -+ -+ result = cr_string_new () ; -+ if (!result) { -+ cr_utils_trace_info ("Out of memory") ; -+ return NULL ; -+ } -+ if (a_string) { -+ g_string_append_len (result->stryng, -+ a_string->str, -+ a_string->len); -+ -+ } -+ return result ; -+} -+ -+CRString * -+cr_string_dup (CRString const *a_this) -+{ -+ CRString *result = NULL ; -+ g_return_val_if_fail (a_this, NULL) ; -+ -+ result = cr_string_new_from_gstring (a_this->stryng) ; -+ if (!result) { -+ cr_utils_trace_info ("Out of memory") ; -+ return NULL ; -+ } -+ cr_parsing_location_copy (&result->location, -+ &a_this->location) ; -+ return result ; -+} -+ -+gchar * -+cr_string_dup2 (CRString const *a_this) -+{ -+ gchar *result = NULL ; -+ -+ g_return_val_if_fail (a_this, NULL) ; -+ -+ if (a_this -+ && a_this->stryng -+ && a_this->stryng->str) { -+ result = g_strndup (a_this->stryng->str, -+ a_this->stryng->len) ; -+ } -+ return result ; -+} -+ -+/** -+ *Returns a pointer to the internal raw NULL terminated string -+ *of the current instance of #CRString. -+ *@param a_this the current instance of #CRString -+ */ -+const gchar * -+cr_string_peek_raw_str (CRString const *a_this) -+{ -+ g_return_val_if_fail (a_this, NULL) ; -+ -+ if (a_this->stryng && a_this->stryng->str) -+ return a_this->stryng->str ; -+ return NULL ; -+} -+ -+/** -+ *Returns the length of the internal raw NULL terminated -+ *string of the current instance of #CRString. -+ *@param a_this the current instance of #CRString. -+ *@return the len of the internal raw NULL termninated string, -+ *of -1 if no length can be returned. -+ */ -+gint -+cr_string_peek_raw_str_len (CRString const *a_this) -+{ -+ g_return_val_if_fail (a_this && a_this->stryng, -+ -1) ; -+ return a_this->stryng->len ; -+} -+ -+/** -+ *@param a_this the #CRString to destroy. -+ */ -+void -+cr_string_destroy (CRString *a_this) -+{ -+ g_return_if_fail (a_this) ; -+ -+ if (a_this->stryng) { -+ g_string_free (a_this->stryng, TRUE) ; -+ a_this->stryng = NULL ; -+ } -+ g_free (a_this) ; -+} -diff --git a/src/st/croco/cr-string.h b/src/st/croco/cr-string.h -new file mode 100644 -index 000000000..2700f0e2e ---- /dev/null -+++ b/src/st/croco/cr-string.h -@@ -0,0 +1,76 @@ -+/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * See COPYRIGHTS file for copyright information. -+ */ -+ -+/** -+ *@file -+ *Declaration file of the #CRString class. -+ */ -+ -+#ifndef __CR_STRING_H__ -+#define __CR_STRING_H__ -+ -+#include -+#include "cr-utils.h" -+#include "cr-parsing-location.h" -+ -+G_BEGIN_DECLS -+ -+typedef struct _CRString CRString ; -+ -+/** -+ *This is a ship implementation of string based on GString. -+ *Actually, the aim of CRString is to store the parsing location -+ *(line,column,byte offset) at which a given string has been parsed -+ *in the input CSS. -+ *So this class has a gstring field of type GString that users can -+ *freely manipulate, and also a CRParginLocation type where the -+ *parsing location is store. If you don't want to deal with parsing -+ *location stuffs, then use GString instead. If we were in C++ for example, -+ *CRString would just inherit GString and just add accessors to -+ *the CRParsingLocation data ... but we are not and we still have -+ *to provide the parsing location information. -+ */ -+struct _CRString { -+ /** -+ *The GString where all the string -+ *operation happen. -+ */ -+ GString *stryng ; -+ /** -+ *The parsing location storage area. -+ */ -+ CRParsingLocation location ; -+} ; -+ -+CRString * cr_string_new (void) ; -+ -+CRString *cr_string_new_from_string (const gchar * a_string) ; -+CRString * cr_string_new_from_gstring (GString const *a_string) ; -+CRString *cr_string_dup (CRString const *a_this) ; -+gchar *cr_string_dup2 (CRString const *a_this) ; -+const gchar *cr_string_peek_raw_str (CRString const *a_this) ; -+gint cr_string_peek_raw_str_len (CRString const *a_this) ; -+void cr_string_destroy (CRString *a_this) ; -+ -+G_END_DECLS -+ -+#endif -diff --git a/src/st/croco/cr-stylesheet.c b/src/st/croco/cr-stylesheet.c -new file mode 100644 -index 000000000..69909da24 ---- /dev/null -+++ b/src/st/croco/cr-stylesheet.c -@@ -0,0 +1,178 @@ -+/* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * Copyright (C) 2002-2004 Dodji Seketeli -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ */ -+ -+#include "string.h" -+#include "cr-stylesheet.h" -+ -+/** -+ *@file -+ *The definition of the #CRStyleSheet class -+ */ -+ -+/** -+ *Constructor of the #CRStyleSheet class. -+ *@param the initial list of css statements. -+ *@return the newly built css2 stylesheet, or NULL in case of error. -+ */ -+CRStyleSheet * -+cr_stylesheet_new (CRStatement * a_stmts) -+{ -+ CRStyleSheet *result; -+ -+ result = g_try_malloc (sizeof (CRStyleSheet)); -+ if (!result) { -+ cr_utils_trace_info ("Out of memory"); -+ return NULL; -+ } -+ -+ memset (result, 0, sizeof (CRStyleSheet)); -+ -+ if (a_stmts) -+ result->statements = a_stmts; -+ -+ return result; -+} -+ -+/** -+ *@param a_this the current instance of #CRStyleSheet -+ *@return the serialized stylesheet. -+ */ -+gchar * -+cr_stylesheet_to_string (CRStyleSheet const *a_this) -+{ -+ gchar *str = NULL; -+ GString *stringue = NULL; -+ CRStatement const *cur_stmt = NULL; -+ -+ g_return_val_if_fail (a_this, NULL); -+ -+ if (a_this->statements) { -+ stringue = g_string_new (NULL) ; -+ g_return_val_if_fail (stringue, NULL) ; -+ } -+ for (cur_stmt = a_this->statements; -+ cur_stmt; cur_stmt = cur_stmt->next) { -+ if (cur_stmt->prev) { -+ g_string_append (stringue, "\n\n") ; -+ } -+ str = cr_statement_to_string (cur_stmt, 0) ; -+ if (str) { -+ g_string_append (stringue, str) ; -+ g_free (str) ; -+ str = NULL ; -+ } -+ } -+ if (stringue) { -+ str = stringue->str ; -+ g_string_free (stringue, FALSE) ; -+ stringue = NULL ; -+ } -+ return str ; -+} -+ -+/** -+ *Dumps the current css2 stylesheet to a file. -+ *@param a_this the current instance of #CRStyleSheet. -+ *@param a_fp the destination file -+ */ -+void -+cr_stylesheet_dump (CRStyleSheet const * a_this, FILE * a_fp) -+{ -+ gchar *str = NULL ; -+ -+ g_return_if_fail (a_this); -+ -+ str = cr_stylesheet_to_string (a_this) ; -+ if (str) { -+ fprintf (a_fp, "%s", str) ; -+ g_free (str) ; -+ str = NULL ; -+ } -+} -+ -+/** -+ *Return the number of rules in the stylesheet. -+ *@param a_this the current instance of #CRStyleSheet. -+ *@return number of rules in the stylesheet. -+ */ -+gint -+cr_stylesheet_nr_rules (CRStyleSheet const * a_this) -+{ -+ g_return_val_if_fail (a_this, -1); -+ -+ return cr_statement_nr_rules (a_this->statements); -+} -+ -+/** -+ *Use an index to get a CRStatement from the rules in a given stylesheet. -+ *@param a_this the current instance of #CRStatement. -+ *@param itemnr the index into the rules. -+ *@return CRStatement at position itemnr, if itemnr > number of rules - 1, -+ *it will return NULL. -+ */ -+CRStatement * -+cr_stylesheet_statement_get_from_list (CRStyleSheet * a_this, int itemnr) -+{ -+ g_return_val_if_fail (a_this, NULL); -+ -+ return cr_statement_get_from_list (a_this->statements, itemnr); -+} -+ -+void -+cr_stylesheet_ref (CRStyleSheet * a_this) -+{ -+ g_return_if_fail (a_this); -+ -+ a_this->ref_count++; -+} -+ -+gboolean -+cr_stylesheet_unref (CRStyleSheet * a_this) -+{ -+ g_return_val_if_fail (a_this, FALSE); -+ -+ if (a_this->ref_count) -+ a_this->ref_count--; -+ -+ if (!a_this->ref_count) { -+ cr_stylesheet_destroy (a_this); -+ return TRUE; -+ } -+ -+ return FALSE; -+} -+ -+/** -+ *Destructor of the #CRStyleSheet class. -+ *@param a_this the current instance of the #CRStyleSheet class. -+ */ -+void -+cr_stylesheet_destroy (CRStyleSheet * a_this) -+{ -+ g_return_if_fail (a_this); -+ -+ if (a_this->statements) { -+ cr_statement_destroy (a_this->statements); -+ a_this->statements = NULL; -+ } -+ g_free (a_this); -+} -diff --git a/src/st/croco/cr-stylesheet.h b/src/st/croco/cr-stylesheet.h -new file mode 100644 -index 000000000..f35c94e37 ---- /dev/null -+++ b/src/st/croco/cr-stylesheet.h -@@ -0,0 +1,102 @@ -+/* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * see COPYRIGHTS file for copyright information. -+ */ -+ -+ -+#ifndef __CR_STYLESHEET_H__ -+#define __CR_STYLESHEET_H__ -+ -+#include "cr-utils.h" -+#include "cr-statement.h" -+ -+G_BEGIN_DECLS -+ -+/** -+ *@file -+ *The declaration of the #CRStyleSheet class. -+ */ -+ -+ -+enum CRStyleOrigin -+{ -+ /*Please don't change the order of -+ *the values enumerated here ... -+ *New values should be added at the end, -+ *just before ORIGIN_END. -+ */ -+ ORIGIN_UA = 0, -+ ORIGIN_USER, -+ ORIGIN_AUTHOR, -+ -+ /*must always be the last one*/ -+ NB_ORIGINS -+} ; -+ -+/** -+ *An abstraction of a css stylesheet as defined -+ *by the css2 spec in chapter 4. -+ */ -+struct _CRStyleSheet -+{ -+ /**The css statements list*/ -+ CRStatement *statements ; -+ -+ enum CRStyleOrigin origin ; -+ -+ /*the parent import rule, if any.*/ -+ CRStatement *parent_import_rule ; -+ -+ /**custom data used by libcroco*/ -+ gpointer croco_data ; -+ -+ /** -+ *custom application data pointer -+ *Can be used by applications. -+ */ -+ gpointer app_data ; -+ -+ /** -+ *the reference count of this insance -+ *Please, don't never ever modify it -+ *directly. Use cr_stylesheet_ref() -+ *and cr_stylesheet_unref() instead. -+ */ -+ gulong ref_count ; -+} ; -+ -+CRStyleSheet * cr_stylesheet_new (CRStatement *a_stmts) ; -+ -+gchar * cr_stylesheet_to_string (CRStyleSheet const *a_this) ; -+void cr_stylesheet_dump (CRStyleSheet const *a_this, FILE *a_fp) ; -+ -+gint cr_stylesheet_nr_rules (CRStyleSheet const *a_this) ; -+ -+CRStatement * cr_stylesheet_statement_get_from_list (CRStyleSheet *a_this, int itemnr) ; -+ -+void cr_stylesheet_ref (CRStyleSheet *a_this) ; -+ -+gboolean cr_stylesheet_unref (CRStyleSheet *a_this) ; -+ -+void cr_stylesheet_destroy (CRStyleSheet *a_this) ; -+ -+G_END_DECLS -+ -+#endif /*__CR_STYLESHEET_H__*/ -diff --git a/src/st/croco/cr-term.c b/src/st/croco/cr-term.c -new file mode 100644 -index 000000000..9ffe6727b ---- /dev/null -+++ b/src/st/croco/cr-term.c -@@ -0,0 +1,790 @@ -+/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli -+ * See COPYRIGHTS file for copyright information. -+ */ -+ -+#include -+#include -+#include "cr-term.h" -+#include "cr-num.h" -+#include "cr-parser.h" -+ -+/** -+ *@file -+ *Definition of the #CRTem class. -+ */ -+ -+static void -+cr_term_clear (CRTerm * a_this) -+{ -+ g_return_if_fail (a_this); -+ -+ switch (a_this->type) { -+ case TERM_NUMBER: -+ if (a_this->content.num) { -+ cr_num_destroy (a_this->content.num); -+ a_this->content.num = NULL; -+ } -+ break; -+ -+ case TERM_FUNCTION: -+ if (a_this->ext_content.func_param) { -+ cr_term_destroy (a_this->ext_content.func_param); -+ a_this->ext_content.func_param = NULL; -+ } -+ case TERM_STRING: -+ case TERM_IDENT: -+ case TERM_URI: -+ case TERM_HASH: -+ if (a_this->content.str) { -+ cr_string_destroy (a_this->content.str); -+ a_this->content.str = NULL; -+ } -+ break; -+ -+ case TERM_RGB: -+ if (a_this->content.rgb) { -+ cr_rgb_destroy (a_this->content.rgb); -+ a_this->content.rgb = NULL; -+ } -+ break; -+ -+ case TERM_UNICODERANGE: -+ case TERM_NO_TYPE: -+ default: -+ break; -+ } -+ -+ a_this->type = TERM_NO_TYPE; -+} -+ -+/** -+ *Instanciate a #CRTerm. -+ *@return the newly build instance -+ *of #CRTerm. -+ */ -+CRTerm * -+cr_term_new (void) -+{ -+ CRTerm *result = NULL; -+ -+ result = g_try_malloc (sizeof (CRTerm)); -+ if (!result) { -+ cr_utils_trace_info ("Out of memory"); -+ return NULL; -+ } -+ memset (result, 0, sizeof (CRTerm)); -+ return result; -+} -+ -+/** -+ *Parses an expresion as defined by the css2 spec -+ *and builds the expression as a list of terms. -+ *@param a_buf the buffer to parse. -+ *@return a pointer to the first term of the expression or -+ *NULL if parsing failed. -+ */ -+CRTerm * -+cr_term_parse_expression_from_buf (const guchar * a_buf, -+ enum CREncoding a_encoding) -+{ -+ CRParser *parser = NULL; -+ CRTerm *result = NULL; -+ enum CRStatus status = CR_OK; -+ -+ g_return_val_if_fail (a_buf, NULL); -+ -+ parser = cr_parser_new_from_buf ((guchar*)a_buf, strlen ((const char *) a_buf), -+ a_encoding, FALSE); -+ g_return_val_if_fail (parser, NULL); -+ -+ status = cr_parser_try_to_skip_spaces_and_comments (parser); -+ if (status != CR_OK) { -+ goto cleanup; -+ } -+ status = cr_parser_parse_expr (parser, &result); -+ if (status != CR_OK) { -+ if (result) { -+ cr_term_destroy (result); -+ result = NULL; -+ } -+ } -+ -+ cleanup: -+ if (parser) { -+ cr_parser_destroy (parser); -+ parser = NULL; -+ } -+ -+ return result; -+} -+ -+enum CRStatus -+cr_term_set_number (CRTerm * a_this, CRNum * a_num) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_term_clear (a_this); -+ -+ a_this->type = TERM_NUMBER; -+ a_this->content.num = a_num; -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_term_set_function (CRTerm * a_this, CRString * a_func_name, -+ CRTerm * a_func_param) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_term_clear (a_this); -+ -+ a_this->type = TERM_FUNCTION; -+ a_this->content.str = a_func_name; -+ a_this->ext_content.func_param = a_func_param; -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_term_set_string (CRTerm * a_this, CRString * a_str) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_term_clear (a_this); -+ -+ a_this->type = TERM_STRING; -+ a_this->content.str = a_str; -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_term_set_ident (CRTerm * a_this, CRString * a_str) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_term_clear (a_this); -+ -+ a_this->type = TERM_IDENT; -+ a_this->content.str = a_str; -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_term_set_uri (CRTerm * a_this, CRString * a_str) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_term_clear (a_this); -+ -+ a_this->type = TERM_URI; -+ a_this->content.str = a_str; -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_term_set_rgb (CRTerm * a_this, CRRgb * a_rgb) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_term_clear (a_this); -+ -+ a_this->type = TERM_RGB; -+ a_this->content.rgb = a_rgb; -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_term_set_hash (CRTerm * a_this, CRString * a_str) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_term_clear (a_this); -+ -+ a_this->type = TERM_HASH; -+ a_this->content.str = a_str; -+ return CR_OK; -+} -+ -+/** -+ *Appends a new term to the current list of #CRTerm. -+ * -+ *@param a_this the "this pointer" of the current instance -+ *of #CRTerm . -+ *@param a_new_term the term to append. -+ *@return the list of terms with the a_new_term appended to it. -+ */ -+CRTerm * -+cr_term_append_term (CRTerm * a_this, CRTerm * a_new_term) -+{ -+ CRTerm *cur = NULL; -+ -+ g_return_val_if_fail (a_new_term, NULL); -+ -+ if (a_this == NULL) -+ return a_new_term; -+ -+ for (cur = a_this; cur->next; cur = cur->next) ; -+ -+ cur->next = a_new_term; -+ a_new_term->prev = cur; -+ -+ return a_this; -+} -+ -+/** -+ *Prepends a term to the list of terms represented by a_this. -+ * -+ *@param a_this the "this pointer" of the current instance of -+ *#CRTerm . -+ *@param a_new_term the term to prepend. -+ *@return the head of the new list. -+ */ -+CRTerm * -+cr_term_prepend_term (CRTerm * a_this, CRTerm * a_new_term) -+{ -+ g_return_val_if_fail (a_this && a_new_term, NULL); -+ -+ a_new_term->next = a_this; -+ a_this->prev = a_new_term; -+ -+ return a_new_term; -+} -+ -+/** -+ *Serializes the expression represented by -+ *the chained instances of #CRterm. -+ *@param a_this the current instance of #CRTerm -+ *@return the zero terminated string containing the serialized -+ *form of #CRTerm. MUST BE FREED BY THE CALLER using g_free(). -+ */ -+guchar * -+cr_term_to_string (CRTerm const * a_this) -+{ -+ GString *str_buf = NULL; -+ CRTerm const *cur = NULL; -+ guchar *result = NULL, -+ *content = NULL; -+ -+ g_return_val_if_fail (a_this, NULL); -+ -+ str_buf = g_string_new (NULL); -+ g_return_val_if_fail (str_buf, NULL); -+ -+ for (cur = a_this; cur; cur = cur->next) { -+ if ((cur->content.str == NULL) -+ && (cur->content.num == NULL) -+ && (cur->content.str == NULL) -+ && (cur->content.rgb == NULL)) -+ continue; -+ -+ switch (cur->the_operator) { -+ case DIVIDE: -+ g_string_append (str_buf, " / "); -+ break; -+ -+ case COMMA: -+ g_string_append (str_buf, ", "); -+ break; -+ -+ case NO_OP: -+ if (cur->prev) { -+ g_string_append (str_buf, " "); -+ } -+ break; -+ default: -+ -+ break; -+ } -+ -+ switch (cur->unary_op) { -+ case PLUS_UOP: -+ g_string_append (str_buf, "+"); -+ break; -+ -+ case MINUS_UOP: -+ g_string_append (str_buf, "-"); -+ break; -+ -+ default: -+ break; -+ } -+ -+ switch (cur->type) { -+ case TERM_NUMBER: -+ if (cur->content.num) { -+ content = cr_num_to_string (cur->content.num); -+ } -+ -+ if (content) { -+ g_string_append (str_buf, (const gchar *) content); -+ g_free (content); -+ content = NULL; -+ } -+ -+ break; -+ -+ case TERM_FUNCTION: -+ if (cur->content.str) { -+ content = (guchar *) g_strndup -+ (cur->content.str->stryng->str, -+ cur->content.str->stryng->len); -+ } -+ -+ if (content) { -+ g_string_append_printf (str_buf, "%s(", -+ content); -+ -+ if (cur->ext_content.func_param) { -+ guchar *tmp_str = NULL; -+ -+ tmp_str = cr_term_to_string -+ (cur-> -+ ext_content.func_param); -+ -+ if (tmp_str) { -+ g_string_append (str_buf, -+ (const gchar *) tmp_str); -+ g_free (tmp_str); -+ tmp_str = NULL; -+ } -+ } -+ g_string_append (str_buf, ")"); -+ g_free (content); -+ content = NULL; -+ } -+ -+ break; -+ -+ case TERM_STRING: -+ if (cur->content.str) { -+ content = (guchar *) g_strndup -+ (cur->content.str->stryng->str, -+ cur->content.str->stryng->len); -+ } -+ -+ if (content) { -+ g_string_append_printf (str_buf, -+ "\"%s\"", content); -+ g_free (content); -+ content = NULL; -+ } -+ break; -+ -+ case TERM_IDENT: -+ if (cur->content.str) { -+ content = (guchar *) g_strndup -+ (cur->content.str->stryng->str, -+ cur->content.str->stryng->len); -+ } -+ -+ if (content) { -+ g_string_append (str_buf, (const gchar *) content); -+ g_free (content); -+ content = NULL; -+ } -+ break; -+ -+ case TERM_URI: -+ if (cur->content.str) { -+ content = (guchar *) g_strndup -+ (cur->content.str->stryng->str, -+ cur->content.str->stryng->len); -+ } -+ -+ if (content) { -+ g_string_append_printf -+ (str_buf, "url(%s)", content); -+ g_free (content); -+ content = NULL; -+ } -+ break; -+ -+ case TERM_RGB: -+ if (cur->content.rgb) { -+ guchar *tmp_str = NULL; -+ -+ g_string_append (str_buf, "rgb("); -+ tmp_str = cr_rgb_to_string (cur->content.rgb); -+ -+ if (tmp_str) { -+ g_string_append (str_buf, (const gchar *) tmp_str); -+ g_free (tmp_str); -+ tmp_str = NULL; -+ } -+ g_string_append (str_buf, ")"); -+ } -+ -+ break; -+ -+ case TERM_UNICODERANGE: -+ g_string_append -+ (str_buf, -+ "?found unicoderange: dump not supported yet?"); -+ break; -+ -+ case TERM_HASH: -+ if (cur->content.str) { -+ content = (guchar *) g_strndup -+ (cur->content.str->stryng->str, -+ cur->content.str->stryng->len); -+ } -+ -+ if (content) { -+ g_string_append_printf (str_buf, -+ "#%s", content); -+ g_free (content); -+ content = NULL; -+ } -+ break; -+ -+ default: -+ g_string_append (str_buf, -+ "Unrecognized Term type"); -+ break; -+ } -+ } -+ -+ if (str_buf) { -+ result =(guchar *) str_buf->str; -+ g_string_free (str_buf, FALSE); -+ str_buf = NULL; -+ } -+ -+ return result; -+} -+ -+guchar * -+cr_term_one_to_string (CRTerm const * a_this) -+{ -+ GString *str_buf = NULL; -+ guchar *result = NULL, -+ *content = NULL; -+ -+ g_return_val_if_fail (a_this, NULL); -+ -+ str_buf = g_string_new (NULL); -+ g_return_val_if_fail (str_buf, NULL); -+ -+ if ((a_this->content.str == NULL) -+ && (a_this->content.num == NULL) -+ && (a_this->content.str == NULL) -+ && (a_this->content.rgb == NULL)) -+ return NULL ; -+ -+ switch (a_this->the_operator) { -+ case DIVIDE: -+ g_string_append_printf (str_buf, " / "); -+ break; -+ -+ case COMMA: -+ g_string_append_printf (str_buf, ", "); -+ break; -+ -+ case NO_OP: -+ if (a_this->prev) { -+ g_string_append_printf (str_buf, " "); -+ } -+ break; -+ default: -+ -+ break; -+ } -+ -+ switch (a_this->unary_op) { -+ case PLUS_UOP: -+ g_string_append_printf (str_buf, "+"); -+ break; -+ -+ case MINUS_UOP: -+ g_string_append_printf (str_buf, "-"); -+ break; -+ -+ default: -+ break; -+ } -+ -+ switch (a_this->type) { -+ case TERM_NUMBER: -+ if (a_this->content.num) { -+ content = cr_num_to_string (a_this->content.num); -+ } -+ -+ if (content) { -+ g_string_append (str_buf, (const gchar *) content); -+ g_free (content); -+ content = NULL; -+ } -+ -+ break; -+ -+ case TERM_FUNCTION: -+ if (a_this->content.str) { -+ content = (guchar *) g_strndup -+ (a_this->content.str->stryng->str, -+ a_this->content.str->stryng->len); -+ } -+ -+ if (content) { -+ g_string_append_printf (str_buf, "%s(", -+ content); -+ -+ if (a_this->ext_content.func_param) { -+ guchar *tmp_str = NULL; -+ -+ tmp_str = cr_term_to_string -+ (a_this-> -+ ext_content.func_param); -+ -+ if (tmp_str) { -+ g_string_append_printf -+ (str_buf, -+ "%s", tmp_str); -+ g_free (tmp_str); -+ tmp_str = NULL; -+ } -+ -+ g_string_append_printf (str_buf, ")"); -+ g_free (content); -+ content = NULL; -+ } -+ } -+ -+ break; -+ -+ case TERM_STRING: -+ if (a_this->content.str) { -+ content = (guchar *) g_strndup -+ (a_this->content.str->stryng->str, -+ a_this->content.str->stryng->len); -+ } -+ -+ if (content) { -+ g_string_append_printf (str_buf, -+ "\"%s\"", content); -+ g_free (content); -+ content = NULL; -+ } -+ break; -+ -+ case TERM_IDENT: -+ if (a_this->content.str) { -+ content = (guchar *) g_strndup -+ (a_this->content.str->stryng->str, -+ a_this->content.str->stryng->len); -+ } -+ -+ if (content) { -+ g_string_append (str_buf, (const gchar *) content); -+ g_free (content); -+ content = NULL; -+ } -+ break; -+ -+ case TERM_URI: -+ if (a_this->content.str) { -+ content = (guchar *) g_strndup -+ (a_this->content.str->stryng->str, -+ a_this->content.str->stryng->len); -+ } -+ -+ if (content) { -+ g_string_append_printf -+ (str_buf, "url(%s)", content); -+ g_free (content); -+ content = NULL; -+ } -+ break; -+ -+ case TERM_RGB: -+ if (a_this->content.rgb) { -+ guchar *tmp_str = NULL; -+ -+ g_string_append_printf (str_buf, "rgb("); -+ tmp_str = cr_rgb_to_string (a_this->content.rgb); -+ -+ if (tmp_str) { -+ g_string_append (str_buf, (const gchar *) tmp_str); -+ g_free (tmp_str); -+ tmp_str = NULL; -+ } -+ g_string_append_printf (str_buf, ")"); -+ } -+ -+ break; -+ -+ case TERM_UNICODERANGE: -+ g_string_append_printf -+ (str_buf, -+ "?found unicoderange: dump not supported yet?"); -+ break; -+ -+ case TERM_HASH: -+ if (a_this->content.str) { -+ content = (guchar *) g_strndup -+ (a_this->content.str->stryng->str, -+ a_this->content.str->stryng->len); -+ } -+ -+ if (content) { -+ g_string_append_printf (str_buf, -+ "#%s", content); -+ g_free (content); -+ content = NULL; -+ } -+ break; -+ -+ default: -+ g_string_append_printf (str_buf, -+ "%s", -+ "Unrecognized Term type"); -+ break; -+ } -+ -+ if (str_buf) { -+ result = (guchar *) str_buf->str; -+ g_string_free (str_buf, FALSE); -+ str_buf = NULL; -+ } -+ -+ return result; -+} -+ -+/** -+ *Dumps the expression (a list of terms connected by operators) -+ *to a file. -+ *TODO: finish the dump. The dump of some type of terms have not yet been -+ *implemented. -+ *@param a_this the current instance of #CRTerm. -+ *@param a_fp the destination file pointer. -+ */ -+void -+cr_term_dump (CRTerm const * a_this, FILE * a_fp) -+{ -+ guchar *content = NULL; -+ -+ g_return_if_fail (a_this); -+ -+ content = cr_term_to_string (a_this); -+ -+ if (content) { -+ fprintf (a_fp, "%s", content); -+ g_free (content); -+ } -+} -+ -+/** -+ *Return the number of terms in the expression. -+ *@param a_this the current instance of #CRTerm. -+ *@return number of terms in the expression. -+ */ -+int -+cr_term_nr_values (CRTerm const *a_this) -+{ -+ CRTerm const *cur = NULL ; -+ int nr = 0; -+ -+ g_return_val_if_fail (a_this, -1) ; -+ -+ for (cur = a_this ; cur ; cur = cur->next) -+ nr ++; -+ return nr; -+} -+ -+/** -+ *Use an index to get a CRTerm from the expression. -+ *@param a_this the current instance of #CRTerm. -+ *@param itemnr the index into the expression. -+ *@return CRTerm at position itemnr, if itemnr > number of terms - 1, -+ *it will return NULL. -+ */ -+CRTerm * -+cr_term_get_from_list (CRTerm *a_this, int itemnr) -+{ -+ CRTerm *cur = NULL ; -+ int nr = 0; -+ -+ g_return_val_if_fail (a_this, NULL) ; -+ -+ for (cur = a_this ; cur ; cur = cur->next) -+ if (nr++ == itemnr) -+ return cur; -+ return NULL; -+} -+ -+/** -+ *Increments the reference counter of the current instance -+ *of #CRTerm.* -+ *@param a_this the current instance of #CRTerm. -+ */ -+void -+cr_term_ref (CRTerm * a_this) -+{ -+ g_return_if_fail (a_this); -+ -+ a_this->ref_count++; -+} -+ -+/** -+ *Decrements the ref count of the current instance of -+ *#CRTerm. If the ref count reaches zero, the instance is -+ *destroyed. -+ *@param a_this the current instance of #CRTerm. -+ *@return TRUE if the current instance has been destroyed, FALSE otherwise. -+ */ -+gboolean -+cr_term_unref (CRTerm * a_this) -+{ -+ g_return_val_if_fail (a_this, FALSE); -+ -+ if (a_this->ref_count) { -+ a_this->ref_count--; -+ } -+ -+ if (a_this->ref_count == 0) { -+ cr_term_destroy (a_this); -+ return TRUE; -+ } -+ -+ return FALSE; -+} -+ -+/** -+ *The destructor of the the #CRTerm class. -+ *@param a_this the "this pointer" of the current instance -+ *of #CRTerm. -+ */ -+void -+cr_term_destroy (CRTerm * a_this) -+{ -+ g_return_if_fail (a_this); -+ -+ cr_term_clear (a_this); -+ -+ if (a_this->next) { -+ cr_term_destroy (a_this->next); -+ a_this->next = NULL; -+ } -+ -+ if (a_this) { -+ g_free (a_this); -+ } -+ -+} -diff --git a/src/st/croco/cr-term.h b/src/st/croco/cr-term.h -new file mode 100644 -index 000000000..0f22dda75 ---- /dev/null -+++ b/src/st/croco/cr-term.h -@@ -0,0 +1,190 @@ -+/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli -+ * See COPYRIGHTS file for copyright information. -+ */ -+ -+#include -+#include -+#include "cr-utils.h" -+#include "cr-rgb.h" -+#include "cr-num.h" -+#include "cr-string.h" -+ -+#ifndef __CR_TERM_H__ -+#define __CR_TERM_H__ -+ -+G_BEGIN_DECLS -+ -+/** -+ *@file -+ *Declaration of the #CRTem class. -+ */ -+ -+enum CRTermType -+{ -+ TERM_NO_TYPE = 0, -+ TERM_NUMBER, -+ TERM_FUNCTION, -+ TERM_STRING, -+ TERM_IDENT, -+ TERM_URI, -+ TERM_RGB, -+ TERM_UNICODERANGE, -+ TERM_HASH -+} ; -+ -+ -+enum UnaryOperator -+{ -+ NO_UNARY_UOP = 0, -+ PLUS_UOP, -+ MINUS_UOP, -+ EMPTY_UNARY_UOP -+} ; -+ -+enum Operator -+{ -+ NO_OP = 0, -+ DIVIDE, -+ COMMA -+} ; -+ -+struct _CRTerm ; -+typedef struct _CRTerm CRTerm ; -+ -+/** -+ *An abstraction of a css2 term as -+ *defined in the CSS2 spec in appendix D.1: -+ *term ::= -+ *[ NUMBER S* | PERCENTAGE S* | LENGTH S* | EMS S* | EXS S* -+ *| ANGLE S* | TIME S* | FREQ S* | function ] -+ * | STRING S* | IDENT S* | URI S* | RGB S* -+ *| UNICODERANGE S* | hexcolor -+ */ -+struct _CRTerm -+{ -+ /** -+ *The type of the term. -+ */ -+ enum CRTermType type ; -+ -+ /** -+ *The unary operator associated to -+ *the current term. -+ */ -+ enum UnaryOperator unary_op ; -+ -+ /** -+ *The operator associated to the current term. -+ */ -+ enum Operator the_operator ; -+ -+ -+ /** -+ *The content of the term. -+ *Depending of the type of the term, -+ *this holds either a number, a percentage ... -+ */ -+ union -+ { -+ CRNum *num ; -+ CRString * str ; -+ CRRgb * rgb ; -+ } content ; -+ -+ /** -+ *If the term is of type UNICODERANGE, -+ *this field holds the upper bound of the range. -+ *if the term is of type FUNCTION, this holds -+ *an instance of CRTerm that represents -+ * the expression which is the argument of the function. -+ */ -+ union -+ { -+ CRTerm *func_param ; -+ } ext_content ; -+ -+ /** -+ *A spare pointer, just in case. -+ *Can be used by the application. -+ */ -+ gpointer app_data ; -+ -+ glong ref_count ; -+ -+ /** -+ *A pointer to the next term, -+ *just in case this term is part of -+ *an expression. -+ */ -+ CRTerm *next ; -+ -+ /** -+ *A pointer to the previous -+ *term. -+ */ -+ CRTerm *prev ; -+ CRParsingLocation location ; -+} ; -+ -+CRTerm * cr_term_parse_expression_from_buf (const guchar *a_buf, -+ enum CREncoding a_encoding) ; -+CRTerm * cr_term_new (void) ; -+ -+enum CRStatus cr_term_set_number (CRTerm *a_this, CRNum *a_num) ; -+ -+enum CRStatus cr_term_set_function (CRTerm *a_this, -+ CRString *a_func_name, -+ CRTerm *a_func_param) ; -+ -+enum CRStatus cr_term_set_string (CRTerm *a_this, CRString *a_str) ; -+ -+enum CRStatus cr_term_set_ident (CRTerm *a_this, CRString *a_str) ; -+ -+enum CRStatus cr_term_set_uri (CRTerm *a_this, CRString *a_str) ; -+ -+enum CRStatus cr_term_set_rgb (CRTerm *a_this, CRRgb *a_rgb) ; -+ -+enum CRStatus cr_term_set_hash (CRTerm *a_this, CRString *a_str) ; -+ -+CRTerm * cr_term_append_term (CRTerm *a_this, CRTerm *a_new_term) ; -+ -+CRTerm * cr_term_prepend_term (CRTerm *a_this, CRTerm *a_new_term) ; -+ -+guchar * cr_term_to_string (CRTerm const *a_this) ; -+ -+guchar * cr_term_one_to_string (CRTerm const * a_this) ; -+ -+void cr_term_dump (CRTerm const *a_this, FILE *a_fp) ; -+ -+int cr_term_nr_values (CRTerm const *a_this) ; -+ -+CRTerm * cr_term_get_from_list (CRTerm *a_this, int itemnr) ; -+ -+void cr_term_ref (CRTerm *a_this) ; -+ -+gboolean cr_term_unref (CRTerm *a_this) ; -+ -+void cr_term_destroy (CRTerm * a_term) ; -+ -+G_END_DECLS -+ -+#endif /*__CR_TERM_H__*/ -diff --git a/src/st/croco/cr-tknzr.c b/src/st/croco/cr-tknzr.c -new file mode 100644 -index 000000000..1548c35c6 ---- /dev/null -+++ b/src/st/croco/cr-tknzr.c -@@ -0,0 +1,2762 @@ -+/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli -+ * See the COPYRIGHTS file for copyrights information. -+ */ -+ -+/** -+ *@file -+ *The definition of the #CRTknzr (tokenizer) -+ *class. -+ */ -+ -+#include "string.h" -+#include "cr-tknzr.h" -+#include "cr-doc-handler.h" -+ -+struct _CRTknzrPriv { -+ /**The parser input stream of bytes*/ -+ CRInput *input; -+ -+ /** -+ *A cache where tknzr_unget_token() -+ *puts back the token. tknzr_get_next_token() -+ *first look in this cache, and if and -+ *only if it's empty, fetches the next token -+ *from the input stream. -+ */ -+ CRToken *token_cache; -+ -+ /** -+ *The position of the end of the previous token -+ *or char fetched. -+ */ -+ CRInputPos prev_pos; -+ -+ CRDocHandler *sac_handler; -+ -+ /** -+ *The reference count of the current instance -+ *of #CRTknzr. Is manipulated by cr_tknzr_ref() -+ *and cr_tknzr_unref(). -+ */ -+ glong ref_count; -+}; -+ -+#define PRIVATE(obj) ((obj)->priv) -+ -+/** -+ *return TRUE if the character is a number ([0-9]), FALSE otherwise -+ *@param a_char the char to test. -+ */ -+#define IS_NUM(a_char) (((a_char) >= '0' && (a_char) <= '9')?TRUE:FALSE) -+ -+/** -+ *Checks if 'status' equals CR_OK. If not, goto the 'error' label. -+ * -+ *@param status the status (of type enum CRStatus) to test. -+ *@param is_exception if set to FALSE, the final status returned the -+ *current function will be CR_PARSING_ERROR. If set to TRUE, the -+ *current status will be the current value of the 'status' variable. -+ * -+ */ -+#define CHECK_PARSING_STATUS(status, is_exception) \ -+if ((status) != CR_OK) \ -+{ \ -+ if (is_exception == FALSE) \ -+ { \ -+ status = CR_PARSING_ERROR ; \ -+ } \ -+ goto error ; \ -+} -+ -+/** -+ *Peeks the next char from the input stream of the current tokenizer. -+ *invokes CHECK_PARSING_STATUS on the status returned by -+ *cr_tknzr_input_peek_char(). -+ * -+ *@param the current instance of #CRTkzr. -+ *@param to_char a pointer to the char where to store the -+ *char peeked. -+ */ -+#define PEEK_NEXT_CHAR(a_tknzr, a_to_char) \ -+{\ -+status = cr_tknzr_peek_char (a_tknzr, a_to_char) ; \ -+CHECK_PARSING_STATUS (status, TRUE) \ -+} -+ -+/** -+ *Reads the next char from the input stream of the current parser. -+ *In case of error, jumps to the "error:" label located in the -+ *function where this macro is called. -+ *@param parser the curent instance of #CRTknzr -+ *@param to_char a pointer to the guint32 char where to store -+ *the character read. -+ */ -+#define READ_NEXT_CHAR(a_tknzr, to_char) \ -+status = cr_tknzr_read_char (a_tknzr, to_char) ;\ -+CHECK_PARSING_STATUS (status, TRUE) -+ -+/** -+ *Gets information about the current position in -+ *the input of the parser. -+ *In case of failure, this macro returns from the -+ *calling function and -+ *returns a status code of type enum #CRStatus. -+ *@param parser the current instance of #CRTknzr. -+ *@param pos out parameter. A pointer to the position -+ *inside the current parser input. Must -+ */ -+#define RECORD_INITIAL_POS(a_tknzr, a_pos) \ -+status = cr_input_get_cur_pos (PRIVATE \ -+(a_tknzr)->input, a_pos) ; \ -+g_return_val_if_fail (status == CR_OK, status) -+ -+/** -+ *Gets the address of the current byte inside the -+ *parser input. -+ *@param parser the current instance of #CRTknzr. -+ *@param addr out parameter a pointer (guchar*) -+ *to where the address must be put. -+ */ -+#define RECORD_CUR_BYTE_ADDR(a_tknzr, a_addr) \ -+status = cr_input_get_cur_byte_addr \ -+ (PRIVATE (a_tknzr)->input, a_addr) ; \ -+CHECK_PARSING_STATUS (status, TRUE) -+ -+/** -+ *Peeks a byte from the topmost parser input at -+ *a given offset from the current position. -+ *If it fails, goto the "error:" label. -+ * -+ *@param a_parser the current instance of #CRTknzr. -+ *@param a_offset the offset of the byte to peek, the -+ *current byte having the offset '0'. -+ *@param a_byte_ptr out parameter a pointer (guchar*) to -+ *where the peeked char is to be stored. -+ */ -+#define PEEK_BYTE(a_tknzr, a_offset, a_byte_ptr) \ -+status = cr_tknzr_peek_byte (a_tknzr, \ -+ a_offset, \ -+ a_byte_ptr) ; \ -+CHECK_PARSING_STATUS (status, TRUE) ; -+ -+#define BYTE(a_input, a_n, a_eof) \ -+cr_input_peek_byte2 (a_input, a_n, a_eof) -+ -+/** -+ *Reads a byte from the topmost parser input -+ *steam. -+ *If it fails, goto the "error" label. -+ *@param a_parser the current instance of #CRTknzr. -+ *@param a_byte_ptr the guchar * where to put the read char. -+ */ -+#define READ_NEXT_BYTE(a_tknzr, a_byte_ptr) \ -+status = \ -+cr_input_read_byte (PRIVATE (a_tknzr)->input, a_byte_ptr) ;\ -+CHECK_PARSING_STATUS (status, TRUE) ; -+ -+/** -+ *Skips a given number of byte in the topmost -+ *parser input. Don't update line and column number. -+ *In case of error, jumps to the "error:" label -+ *of the surrounding function. -+ *@param a_parser the current instance of #CRTknzr. -+ *@param a_nb_bytes the number of bytes to skip. -+ */ -+#define SKIP_BYTES(a_tknzr, a_nb_bytes) \ -+status = cr_input_seek_index (PRIVATE (a_tknzr)->input, \ -+ CR_SEEK_CUR, a_nb_bytes) ; \ -+CHECK_PARSING_STATUS (status, TRUE) ; -+ -+/** -+ *Skip utf8 encoded characters. -+ *Updates line and column numbers. -+ *@param a_parser the current instance of #CRTknzr. -+ *@param a_nb_chars the number of chars to skip. Must be of -+ *type glong. -+ */ -+#define SKIP_CHARS(a_tknzr, a_nb_chars) \ -+{ \ -+gulong nb_chars = a_nb_chars ; \ -+status = cr_input_consume_chars \ -+ (PRIVATE (a_tknzr)->input,0, &nb_chars) ; \ -+CHECK_PARSING_STATUS (status, TRUE) ; \ -+} -+ -+/** -+ *Tests the condition and if it is false, sets -+ *status to "CR_PARSING_ERROR" and goto the 'error' -+ *label. -+ *@param condition the condition to test. -+ */ -+#define ENSURE_PARSING_COND(condition) \ -+if (! (condition)) {status = CR_PARSING_ERROR; goto error ;} -+ -+static enum CRStatus cr_tknzr_parse_nl (CRTknzr * a_this, -+ guchar ** a_start, -+ guchar ** a_end, -+ CRParsingLocation *a_location); -+ -+static enum CRStatus cr_tknzr_parse_w (CRTknzr * a_this, -+ guchar ** a_start, -+ guchar ** a_end, -+ CRParsingLocation *a_location) ; -+ -+static enum CRStatus cr_tknzr_parse_unicode_escape (CRTknzr * a_this, -+ guint32 * a_unicode, -+ CRParsingLocation *a_location) ; -+ -+static enum CRStatus cr_tknzr_parse_escape (CRTknzr * a_this, -+ guint32 * a_esc_code, -+ CRParsingLocation *a_location); -+ -+static enum CRStatus cr_tknzr_parse_string (CRTknzr * a_this, -+ CRString ** a_str); -+ -+static enum CRStatus cr_tknzr_parse_comment (CRTknzr * a_this, -+ CRString ** a_comment); -+ -+static enum CRStatus cr_tknzr_parse_nmstart (CRTknzr * a_this, -+ guint32 * a_char, -+ CRParsingLocation *a_location); -+ -+static enum CRStatus cr_tknzr_parse_num (CRTknzr * a_this, -+ CRNum ** a_num); -+ -+/********************************** -+ *PRIVATE methods -+ **********************************/ -+ -+/** -+ *Parses a "w" as defined by the css spec at [4.1.1]: -+ * w ::= [ \t\r\n\f]* -+ * -+ *@param a_this the current instance of #CRTknzr. -+ *@param a_start out param. Upon successfull completion, points -+ *to the beginning of the parsed white space, points to NULL otherwise. -+ *Can also point to NULL is there is no white space actually. -+ *@param a_end out param. Upon successfull completion, points -+ *to the end of the parsed white space, points to NULL otherwise. -+ *Can also point to NULL is there is no white space actually. -+ */ -+static enum CRStatus -+cr_tknzr_parse_w (CRTknzr * a_this, -+ guchar ** a_start, -+ guchar ** a_end, -+ CRParsingLocation *a_location) -+{ -+ guint32 cur_char = 0; -+ CRInputPos init_pos; -+ enum CRStatus status = CR_OK; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->input -+ && a_start && a_end, -+ CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ *a_start = NULL; -+ *a_end = NULL; -+ -+ READ_NEXT_CHAR (a_this, &cur_char); -+ -+ if (cr_utils_is_white_space (cur_char) == FALSE) { -+ status = CR_PARSING_ERROR; -+ goto error; -+ } -+ if (a_location) { -+ cr_tknzr_get_parsing_location (a_this, -+ a_location) ; -+ } -+ RECORD_CUR_BYTE_ADDR (a_this, a_start); -+ *a_end = *a_start; -+ -+ for (;;) { -+ gboolean is_eof = FALSE; -+ -+ cr_input_get_end_of_file (PRIVATE (a_this)->input, &is_eof); -+ if (is_eof) -+ break; -+ -+ status = cr_tknzr_peek_char (a_this, &cur_char); -+ if (status == CR_END_OF_INPUT_ERROR) { -+ break; -+ } else if (status != CR_OK) { -+ goto error; -+ } -+ -+ if (cr_utils_is_white_space (cur_char) == TRUE) { -+ READ_NEXT_CHAR (a_this, &cur_char); -+ RECORD_CUR_BYTE_ADDR (a_this, a_end); -+ } else { -+ break; -+ } -+ } -+ -+ return CR_OK; -+ -+ error: -+ cr_tknzr_set_cur_pos (a_this, &init_pos); -+ -+ return status; -+} -+ -+/** -+ *Parses a newline as defined in the css2 spec: -+ * nl ::= \n|\r\n|\r|\f -+ * -+ *@param a_this the "this pointer" of the current instance of #CRTknzr. -+ *@param a_start a pointer to the first character of the successfully -+ *parsed string. -+ *@param a_end a pointer to the last character of the successfully parsed -+ *string. -+ *@result CR_OK uppon successfull completion, an error code otherwise. -+ */ -+static enum CRStatus -+cr_tknzr_parse_nl (CRTknzr * a_this, -+ guchar ** a_start, -+ guchar ** a_end, -+ CRParsingLocation *a_location) -+{ -+ CRInputPos init_pos; -+ guchar next_chars[2] = { 0 }; -+ enum CRStatus status = CR_PARSING_ERROR; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && a_start && a_end, CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ PEEK_BYTE (a_this, 1, &next_chars[0]); -+ PEEK_BYTE (a_this, 2, &next_chars[1]); -+ -+ if ((next_chars[0] == '\r' && next_chars[1] == '\n')) { -+ SKIP_BYTES (a_this, 1); -+ if (a_location) { -+ cr_tknzr_get_parsing_location -+ (a_this, a_location) ; -+ } -+ SKIP_CHARS (a_this, 1); -+ -+ RECORD_CUR_BYTE_ADDR (a_this, a_end); -+ -+ status = CR_OK; -+ } else if (next_chars[0] == '\n' -+ || next_chars[0] == '\r' || next_chars[0] == '\f') { -+ SKIP_CHARS (a_this, 1); -+ if (a_location) { -+ cr_tknzr_get_parsing_location -+ (a_this, a_location) ; -+ } -+ RECORD_CUR_BYTE_ADDR (a_this, a_start); -+ *a_end = *a_start; -+ status = CR_OK; -+ } else { -+ status = CR_PARSING_ERROR; -+ goto error; -+ } -+ return CR_OK ; -+ -+ error: -+ cr_tknzr_set_cur_pos (a_this, &init_pos) ; -+ return status; -+} -+ -+/** -+ *Go ahead in the parser input, skipping all the spaces. -+ *If the next char if not a white space, this function does nothing. -+ *In any cases, it stops when it encounters a non white space character. -+ * -+ *@param a_this the current instance of #CRTknzr. -+ *@return CR_OK upon successfull completion, an error code otherwise. -+ */ -+static enum CRStatus -+cr_tknzr_try_to_skip_spaces (CRTknzr * a_this) -+{ -+ enum CRStatus status = CR_ERROR; -+ guint32 cur_char = 0; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->input, CR_BAD_PARAM_ERROR); -+ -+ status = cr_input_peek_char (PRIVATE (a_this)->input, &cur_char); -+ -+ if (status != CR_OK) { -+ if (status == CR_END_OF_INPUT_ERROR) -+ return CR_OK; -+ return status; -+ } -+ -+ if (cr_utils_is_white_space (cur_char) == TRUE) { -+ gulong nb_chars = -1; /*consume all spaces */ -+ -+ status = cr_input_consume_white_spaces -+ (PRIVATE (a_this)->input, &nb_chars); -+ } -+ -+ return status; -+} -+ -+/** -+ *Parses a "comment" as defined in the css spec at [4.1.1]: -+ *COMMENT ::= \/\*[^*]*\*+([^/][^*]*\*+)*\/ . -+ *This complex regexp is just to say that comments start -+ *with the two chars '/''*' and ends with the two chars '*''/'. -+ *It also means that comments cannot be nested. -+ *So based on that, I've just tried to implement the parsing function -+ *simply and in a straight forward manner. -+ */ -+static enum CRStatus -+cr_tknzr_parse_comment (CRTknzr * a_this, -+ CRString ** a_comment) -+{ -+ enum CRStatus status = CR_OK; -+ CRInputPos init_pos; -+ guint32 cur_char = 0, next_char= 0; -+ CRString *comment = NULL; -+ CRParsingLocation loc = {0} ; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->input, -+ CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ READ_NEXT_CHAR (a_this, &cur_char) ; -+ ENSURE_PARSING_COND (cur_char == '/'); -+ cr_tknzr_get_parsing_location (a_this, &loc) ; -+ -+ READ_NEXT_CHAR (a_this, &cur_char); -+ ENSURE_PARSING_COND (cur_char == '*'); -+ comment = cr_string_new (); -+ for (;;) { /* [^*]* */ -+ PEEK_NEXT_CHAR (a_this, &next_char); -+ if (next_char == '*') -+ break; -+ READ_NEXT_CHAR (a_this, &cur_char); -+ g_string_append_unichar (comment->stryng, cur_char); -+ } -+ /* Stop condition: next_char == '*' */ -+ for (;;) { /* \*+ */ -+ READ_NEXT_CHAR(a_this, &cur_char); -+ ENSURE_PARSING_COND (cur_char == '*'); -+ g_string_append_unichar (comment->stryng, cur_char); -+ PEEK_NEXT_CHAR (a_this, &next_char); -+ if (next_char != '*') -+ break; -+ } -+ /* Stop condition: next_char != '*' */ -+ for (;;) { /* ([^/][^*]*\*+)* */ -+ if (next_char == '/') -+ break; -+ READ_NEXT_CHAR(a_this, &cur_char); -+ g_string_append_unichar (comment->stryng, cur_char); -+ for (;;) { /* [^*]* */ -+ PEEK_NEXT_CHAR (a_this, &next_char); -+ if (next_char == '*') -+ break; -+ READ_NEXT_CHAR (a_this, &cur_char); -+ g_string_append_unichar (comment->stryng, cur_char); -+ } -+ /* Stop condition: next_char = '*', no need to verify, because peek and read exit to error anyway */ -+ for (;;) { /* \*+ */ -+ READ_NEXT_CHAR(a_this, &cur_char); -+ ENSURE_PARSING_COND (cur_char == '*'); -+ g_string_append_unichar (comment->stryng, cur_char); -+ PEEK_NEXT_CHAR (a_this, &next_char); -+ if (next_char != '*') -+ break; -+ } -+ /* Continue condition: next_char != '*' */ -+ } -+ /* Stop condition: next_char == '\/' */ -+ READ_NEXT_CHAR(a_this, &cur_char); -+ g_string_append_unichar (comment->stryng, cur_char); -+ -+ if (status == CR_OK) { -+ cr_parsing_location_copy (&comment->location, -+ &loc) ; -+ *a_comment = comment; -+ return CR_OK; -+ } -+ error: -+ -+ if (comment) { -+ cr_string_destroy (comment); -+ comment = NULL; -+ } -+ -+ cr_tknzr_set_cur_pos (a_this, &init_pos); -+ -+ return status; -+} -+ -+/** -+ *Parses an 'unicode' escape sequence defined -+ *in css spec at chap 4.1.1: -+ *unicode ::= \\[0-9a-f]{1,6}[ \n\r\t\f]? -+ *@param a_this the current instance of #CRTknzr. -+ *@param a_start out parameter. A pointer to the start -+ *of the unicode escape sequence. Must *NOT* be deleted by -+ *the caller. -+ *@param a_end out parameter. A pointer to the last character -+ *of the unicode escape sequence. Must *NOT* be deleted by the caller. -+ *@return CR_OK if parsing succeded, an error code otherwise. -+ *Error code can be either CR_PARSING_ERROR if the string -+ *parsed just doesn't -+ *respect the production or another error if a -+ *lower level error occurred. -+ */ -+static enum CRStatus -+cr_tknzr_parse_unicode_escape (CRTknzr * a_this, -+ guint32 * a_unicode, -+ CRParsingLocation *a_location) -+{ -+ guint32 cur_char; -+ CRInputPos init_pos; -+ glong occur = 0; -+ guint32 unicode = 0; -+ guchar *tmp_char_ptr1 = NULL, -+ *tmp_char_ptr2 = NULL; -+ enum CRStatus status = CR_OK; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && a_unicode, CR_BAD_PARAM_ERROR); -+ -+ /*first, let's backup the current position pointer */ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ READ_NEXT_CHAR (a_this, &cur_char); -+ -+ if (cur_char != '\\') { -+ status = CR_PARSING_ERROR; -+ goto error; -+ } -+ if (a_location) { -+ cr_tknzr_get_parsing_location -+ (a_this, a_location) ; -+ } -+ PEEK_NEXT_CHAR (a_this, &cur_char); -+ -+ for (occur = 0, unicode = 0; ((cur_char >= '0' && cur_char <= '9') -+ || (cur_char >= 'a' && cur_char <= 'f') -+ || (cur_char >= 'A' && cur_char <= 'F')) -+ && occur < 6; occur++) { -+ gint cur_char_val = 0; -+ -+ READ_NEXT_CHAR (a_this, &cur_char); -+ -+ if ((cur_char >= '0' && cur_char <= '9')) { -+ cur_char_val = (cur_char - '0'); -+ } else if ((cur_char >= 'a' && cur_char <= 'f')) { -+ cur_char_val = 10 + (cur_char - 'a'); -+ } else if ((cur_char >= 'A' && cur_char <= 'F')) { -+ cur_char_val = 10 + (cur_char - 'A'); -+ } -+ -+ unicode = unicode * 16 + cur_char_val; -+ -+ PEEK_NEXT_CHAR (a_this, &cur_char); -+ } -+ -+ /* Eat a whitespace if possible. */ -+ cr_tknzr_parse_w (a_this, &tmp_char_ptr1, -+ &tmp_char_ptr2, NULL); -+ *a_unicode = unicode; -+ return CR_OK; -+ -+ error: -+ /* -+ *restore the initial position pointer backuped at -+ *the beginning of this function. -+ */ -+ cr_tknzr_set_cur_pos (a_this, &init_pos); -+ -+ return status; -+} -+ -+/** -+ *parses an escape sequence as defined by the css spec: -+ *escape ::= {unicode}|\\[ -~\200-\4177777] -+ *@param a_this the current instance of #CRTknzr . -+ */ -+static enum CRStatus -+cr_tknzr_parse_escape (CRTknzr * a_this, guint32 * a_esc_code, -+ CRParsingLocation *a_location) -+{ -+ enum CRStatus status = CR_OK; -+ guint32 cur_char = 0; -+ CRInputPos init_pos; -+ guchar next_chars[2]; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && a_esc_code, CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ PEEK_BYTE (a_this, 1, &next_chars[0]); -+ PEEK_BYTE (a_this, 2, &next_chars[1]); -+ -+ if (next_chars[0] != '\\') { -+ status = CR_PARSING_ERROR; -+ goto error; -+ } -+ -+ if ((next_chars[1] >= '0' && next_chars[1] <= '9') -+ || (next_chars[1] >= 'a' && next_chars[1] <= 'f') -+ || (next_chars[1] >= 'A' && next_chars[1] <= 'F')) { -+ status = cr_tknzr_parse_unicode_escape (a_this, a_esc_code, -+ a_location); -+ } else { -+ /*consume the '\' char */ -+ READ_NEXT_CHAR (a_this, &cur_char); -+ if (a_location) { -+ cr_tknzr_get_parsing_location (a_this, -+ a_location) ; -+ } -+ /*then read the char after the '\' */ -+ READ_NEXT_CHAR (a_this, &cur_char); -+ -+ if (cur_char != ' ' && (cur_char < 200 || cur_char > 4177777)) { -+ status = CR_PARSING_ERROR; -+ goto error; -+ } -+ *a_esc_code = cur_char; -+ -+ } -+ if (status == CR_OK) { -+ return CR_OK; -+ } -+ error: -+ cr_tknzr_set_cur_pos (a_this, &init_pos); -+ return status; -+} -+ -+/** -+ *Parses a string type as defined in css spec [4.1.1]: -+ * -+ *string ::= {string1}|{string2} -+ *string1 ::= \"([\t !#$%&(-~]|\\{nl}|\'|{nonascii}|{escape})*\" -+ *string2 ::= \'([\t !#$%&(-~]|\\{nl}|\"|{nonascii}|{escape})*\' -+ * -+ *@param a_this the current instance of #CRTknzr. -+ *@param a_start out parameter. Upon successfull completion, -+ *points to the beginning of the string, points to an undefined value -+ *otherwise. -+ *@param a_end out parameter. Upon successfull completion, points to -+ *the beginning of the string, points to an undefined value otherwise. -+ *@return CR_OK upon successfull completion, an error code otherwise. -+ */ -+static enum CRStatus -+cr_tknzr_parse_string (CRTknzr * a_this, CRString ** a_str) -+{ -+ guint32 cur_char = 0, -+ delim = 0; -+ CRInputPos init_pos; -+ enum CRStatus status = CR_OK; -+ CRString *str = NULL; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->input -+ && a_str, CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ READ_NEXT_CHAR (a_this, &cur_char); -+ -+ if (cur_char == '"') -+ delim = '"'; -+ else if (cur_char == '\'') -+ delim = '\''; -+ else { -+ status = CR_PARSING_ERROR; -+ goto error; -+ } -+ str = cr_string_new (); -+ if (str) { -+ cr_tknzr_get_parsing_location -+ (a_this, &str->location) ; -+ } -+ for (;;) { -+ guchar next_chars[2] = { 0 }; -+ -+ PEEK_BYTE (a_this, 1, &next_chars[0]); -+ PEEK_BYTE (a_this, 2, &next_chars[1]); -+ -+ if (next_chars[0] == '\\') { -+ guchar *tmp_char_ptr1 = NULL, -+ *tmp_char_ptr2 = NULL; -+ guint32 esc_code = 0; -+ -+ if (next_chars[1] == '\'' || next_chars[1] == '"') { -+ g_string_append_unichar (str->stryng, -+ next_chars[1]); -+ SKIP_BYTES (a_this, 2); -+ status = CR_OK; -+ } else { -+ status = cr_tknzr_parse_escape -+ (a_this, &esc_code, NULL); -+ -+ if (status == CR_OK) { -+ g_string_append_unichar -+ (str->stryng, -+ esc_code); -+ } -+ } -+ -+ if (status != CR_OK) { -+ /* -+ *consume the '\' char, and try to parse -+ *a newline. -+ */ -+ READ_NEXT_CHAR (a_this, &cur_char); -+ -+ status = cr_tknzr_parse_nl -+ (a_this, &tmp_char_ptr1, -+ &tmp_char_ptr2, NULL); -+ } -+ -+ CHECK_PARSING_STATUS (status, FALSE); -+ } else if (strchr ("\t !#$%&", next_chars[0]) -+ || (next_chars[0] >= '(' && next_chars[0] <= '~')) { -+ READ_NEXT_CHAR (a_this, &cur_char); -+ g_string_append_unichar (str->stryng, -+ cur_char); -+ status = CR_OK; -+ } -+ -+ else if (cr_utils_is_nonascii (next_chars[0])) { -+ READ_NEXT_CHAR (a_this, &cur_char); -+ g_string_append_unichar (str->stryng, cur_char); -+ } else if (next_chars[0] == delim) { -+ READ_NEXT_CHAR (a_this, &cur_char); -+ break; -+ } else { -+ status = CR_PARSING_ERROR; -+ goto error; -+ } -+ } -+ -+ if (status == CR_OK) { -+ if (*a_str == NULL) { -+ *a_str = str; -+ str = NULL; -+ } else { -+ (*a_str)->stryng = g_string_append_len -+ ((*a_str)->stryng, -+ str->stryng->str, -+ str->stryng->len); -+ cr_string_destroy (str); -+ } -+ return CR_OK; -+ } -+ -+ error: -+ -+ if (str) { -+ cr_string_destroy (str) ; -+ str = NULL; -+ } -+ cr_tknzr_set_cur_pos (a_this, &init_pos); -+ return status; -+} -+ -+/** -+ *Parses the an nmstart as defined by the css2 spec [4.1.1]: -+ * nmstart [a-zA-Z]|{nonascii}|{escape} -+ * -+ *@param a_this the current instance of #CRTknzr. -+ *@param a_start out param. A pointer to the starting point of -+ *the token. -+ *@param a_end out param. A pointer to the ending point of the -+ *token. -+ *@param a_char out param. The actual parsed nmchar. -+ *@return CR_OK upon successfull completion, -+ *an error code otherwise. -+ */ -+static enum CRStatus -+cr_tknzr_parse_nmstart (CRTknzr * a_this, -+ guint32 * a_char, -+ CRParsingLocation *a_location) -+{ -+ CRInputPos init_pos; -+ enum CRStatus status = CR_OK; -+ guint32 cur_char = 0, -+ next_char = 0; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->input -+ && a_char, CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ PEEK_NEXT_CHAR (a_this, &next_char); -+ -+ if (next_char == '\\') { -+ status = cr_tknzr_parse_escape (a_this, a_char, -+ a_location); -+ -+ if (status != CR_OK) -+ goto error; -+ -+ } else if (cr_utils_is_nonascii (next_char) == TRUE -+ || ((next_char >= 'a') && (next_char <= 'z')) -+ || ((next_char >= 'A') && (next_char <= 'Z')) -+ ) { -+ READ_NEXT_CHAR (a_this, &cur_char); -+ if (a_location) { -+ cr_tknzr_get_parsing_location (a_this, -+ a_location) ; -+ } -+ *a_char = cur_char; -+ status = CR_OK; -+ } else { -+ status = CR_PARSING_ERROR; -+ goto error; -+ } -+ -+ return CR_OK; -+ -+ error: -+ cr_tknzr_set_cur_pos (a_this, &init_pos); -+ -+ return status; -+ -+} -+ -+/** -+ *Parses an nmchar as described in the css spec at -+ *chap 4.1.1: -+ *nmchar ::= [a-z0-9-]|{nonascii}|{escape} -+ * -+ *Humm, I have added the possibility for nmchar to -+ *contain upper case letters. -+ * -+ *@param a_this the current instance of #CRTknzr. -+ *@param a_start out param. A pointer to the starting point of -+ *the token. -+ *@param a_end out param. A pointer to the ending point of the -+ *token. -+ *@param a_char out param. The actual parsed nmchar. -+ *@return CR_OK upon successfull completion, -+ *an error code otherwise. -+ */ -+static enum CRStatus -+cr_tknzr_parse_nmchar (CRTknzr * a_this, guint32 * a_char, -+ CRParsingLocation *a_location) -+{ -+ guint32 cur_char = 0, -+ next_char = 0; -+ enum CRStatus status = CR_OK; -+ CRInputPos init_pos; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) && a_char, -+ CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ status = cr_input_peek_char (PRIVATE (a_this)->input, -+ &next_char) ; -+ if (status != CR_OK) -+ goto error; -+ -+ if (next_char == '\\') { -+ status = cr_tknzr_parse_escape (a_this, a_char, -+ a_location); -+ -+ if (status != CR_OK) -+ goto error; -+ -+ } else if (cr_utils_is_nonascii (next_char) == TRUE -+ || ((next_char >= 'a') && (next_char <= 'z')) -+ || ((next_char >= 'A') && (next_char <= 'Z')) -+ || ((next_char >= '0') && (next_char <= '9')) -+ || (next_char == '-') -+ || (next_char == '_') /*'_' not allowed by the spec. */ -+ ) { -+ READ_NEXT_CHAR (a_this, &cur_char); -+ *a_char = cur_char; -+ status = CR_OK; -+ if (a_location) { -+ cr_tknzr_get_parsing_location -+ (a_this, a_location) ; -+ } -+ } else { -+ status = CR_PARSING_ERROR; -+ goto error; -+ } -+ return CR_OK; -+ -+ error: -+ cr_tknzr_set_cur_pos (a_this, &init_pos); -+ return status; -+} -+ -+/** -+ *Parses an "ident" as defined in css spec [4.1.1]: -+ *ident ::= {nmstart}{nmchar}* -+ * -+ *Actually parses it using the css3 grammar: -+ *ident ::= -?{nmstart}{nmchar}* -+ *@param a_this the currens instance of #CRTknzr. -+ * -+ *@param a_str a pointer to parsed ident. If *a_str is NULL, -+ *this function allocates a new instance of CRString. If not, -+ *the function just appends the parsed string to the one passed. -+ *In both cases it is up to the caller to free *a_str. -+ * -+ *@return CR_OK upon successfull completion, an error code -+ *otherwise. -+ */ -+static enum CRStatus -+cr_tknzr_parse_ident (CRTknzr * a_this, CRString ** a_str) -+{ -+ guint32 tmp_char = 0; -+ CRString *stringue = NULL ; -+ CRInputPos init_pos; -+ enum CRStatus status = CR_OK; -+ gboolean location_is_set = FALSE ; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->input -+ && a_str, CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ PEEK_NEXT_CHAR (a_this, &tmp_char) ; -+ stringue = cr_string_new () ; -+ g_return_val_if_fail (stringue, -+ CR_OUT_OF_MEMORY_ERROR) ; -+ -+ if (tmp_char == '-') { -+ READ_NEXT_CHAR (a_this, &tmp_char) ; -+ cr_tknzr_get_parsing_location -+ (a_this, &stringue->location) ; -+ location_is_set = TRUE ; -+ g_string_append_unichar (stringue->stryng, -+ tmp_char) ; -+ } -+ status = cr_tknzr_parse_nmstart (a_this, &tmp_char, NULL); -+ if (status != CR_OK) { -+ status = CR_PARSING_ERROR; -+ goto end ; -+ } -+ if (location_is_set == FALSE) { -+ cr_tknzr_get_parsing_location -+ (a_this, &stringue->location) ; -+ location_is_set = TRUE ; -+ } -+ g_string_append_unichar (stringue->stryng, tmp_char); -+ for (;;) { -+ status = cr_tknzr_parse_nmchar (a_this, -+ &tmp_char, -+ NULL); -+ if (status != CR_OK) { -+ status = CR_OK ; -+ break; -+ } -+ g_string_append_unichar (stringue->stryng, tmp_char); -+ } -+ if (status == CR_OK) { -+ if (!*a_str) { -+ *a_str = stringue ; -+ -+ } else { -+ g_string_append_len ((*a_str)->stryng, -+ stringue->stryng->str, -+ stringue->stryng->len) ; -+ cr_string_destroy (stringue) ; -+ } -+ stringue = NULL ; -+ } -+ -+ error: -+ end: -+ if (stringue) { -+ cr_string_destroy (stringue) ; -+ stringue = NULL ; -+ } -+ if (status != CR_OK ) { -+ cr_tknzr_set_cur_pos (a_this, &init_pos) ; -+ } -+ return status ; -+} -+ -+ -+/** -+ *Parses a "name" as defined by css spec [4.1.1]: -+ *name ::= {nmchar}+ -+ * -+ *@param a_this the current instance of #CRTknzr. -+ * -+ *@param a_str out parameter. A pointer to the successfully parsed -+ *name. If *a_str is set to NULL, this function allocates a new instance -+ *of CRString. If not, it just appends the parsed name to the passed *a_str. -+ *In both cases, it is up to the caller to free *a_str. -+ * -+ *@return CR_OK upon successfull completion, an error code otherwise. -+ */ -+static enum CRStatus -+cr_tknzr_parse_name (CRTknzr * a_this, -+ CRString ** a_str) -+{ -+ guint32 tmp_char = 0; -+ CRInputPos init_pos; -+ enum CRStatus status = CR_OK; -+ gboolean str_needs_free = FALSE, -+ is_first_nmchar=TRUE ; -+ glong i = 0; -+ CRParsingLocation loc = {0} ; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->input -+ && a_str, -+ CR_BAD_PARAM_ERROR) ; -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ if (*a_str == NULL) { -+ *a_str = cr_string_new (); -+ str_needs_free = TRUE; -+ } -+ for (i = 0;; i++) { -+ if (is_first_nmchar == TRUE) { -+ status = cr_tknzr_parse_nmchar -+ (a_this, &tmp_char, -+ &loc) ; -+ is_first_nmchar = FALSE ; -+ } else { -+ status = cr_tknzr_parse_nmchar -+ (a_this, &tmp_char, NULL) ; -+ } -+ if (status != CR_OK) -+ break; -+ g_string_append_unichar ((*a_str)->stryng, -+ tmp_char); -+ } -+ if (i > 0) { -+ cr_parsing_location_copy -+ (&(*a_str)->location, &loc) ; -+ return CR_OK; -+ } -+ if (str_needs_free == TRUE && *a_str) { -+ cr_string_destroy (*a_str); -+ *a_str = NULL; -+ } -+ cr_tknzr_set_cur_pos (a_this, &init_pos); -+ return CR_PARSING_ERROR; -+} -+ -+/** -+ *Parses a "hash" as defined by the css spec in [4.1.1]: -+ *HASH ::= #{name} -+ */ -+static enum CRStatus -+cr_tknzr_parse_hash (CRTknzr * a_this, CRString ** a_str) -+{ -+ guint32 cur_char = 0; -+ CRInputPos init_pos; -+ enum CRStatus status = CR_OK; -+ gboolean str_needs_free = FALSE; -+ CRParsingLocation loc = {0} ; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->input, -+ CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ READ_NEXT_CHAR (a_this, &cur_char); -+ if (cur_char != '#') { -+ status = CR_PARSING_ERROR; -+ goto error; -+ } -+ if (*a_str == NULL) { -+ *a_str = cr_string_new (); -+ str_needs_free = TRUE; -+ } -+ cr_tknzr_get_parsing_location (a_this, -+ &loc) ; -+ status = cr_tknzr_parse_name (a_this, a_str); -+ cr_parsing_location_copy (&(*a_str)->location, &loc) ; -+ if (status != CR_OK) { -+ goto error; -+ } -+ return CR_OK; -+ -+ error: -+ if (str_needs_free == TRUE && *a_str) { -+ cr_string_destroy (*a_str); -+ *a_str = NULL; -+ } -+ -+ cr_tknzr_set_cur_pos (a_this, &init_pos); -+ return status; -+} -+ -+/** -+ *Parses an uri as defined by the css spec [4.1.1]: -+ * URI ::= url\({w}{string}{w}\) -+ * |url\({w}([!#$%&*-~]|{nonascii}|{escape})*{w}\) -+ * -+ *@param a_this the current instance of #CRTknzr. -+ *@param a_str the successfully parsed url. -+ *@return CR_OK upon successfull completion, an error code otherwise. -+ */ -+static enum CRStatus -+cr_tknzr_parse_uri (CRTknzr * a_this, -+ CRString ** a_str) -+{ -+ guint32 cur_char = 0; -+ CRInputPos init_pos; -+ enum CRStatus status = CR_PARSING_ERROR; -+ guchar tab[4] = { 0 }, *tmp_ptr1 = NULL, *tmp_ptr2 = NULL; -+ CRString *str = NULL; -+ CRParsingLocation location = {0} ; -+ -+ g_return_val_if_fail (a_this -+ && PRIVATE (a_this) -+ && PRIVATE (a_this)->input -+ && a_str, -+ CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ PEEK_BYTE (a_this, 1, &tab[0]); -+ PEEK_BYTE (a_this, 2, &tab[1]); -+ PEEK_BYTE (a_this, 3, &tab[2]); -+ PEEK_BYTE (a_this, 4, &tab[3]); -+ -+ if (tab[0] != 'u' || tab[1] != 'r' || tab[2] != 'l' || tab[3] != '(') { -+ status = CR_PARSING_ERROR; -+ goto error; -+ } -+ /* -+ *Here, we want to skip 4 bytes ('u''r''l''('). -+ *But we also need to keep track of the parsing location -+ *of the 'u'. So, we skip 1 byte, we record the parsing -+ *location, then we skip the 3 remaining bytes. -+ */ -+ SKIP_CHARS (a_this, 1); -+ cr_tknzr_get_parsing_location (a_this, &location) ; -+ SKIP_CHARS (a_this, 3); -+ cr_tknzr_try_to_skip_spaces (a_this); -+ status = cr_tknzr_parse_string (a_this, a_str); -+ -+ if (status == CR_OK) { -+ guint32 next_char = 0; -+ status = cr_tknzr_parse_w (a_this, &tmp_ptr1, -+ &tmp_ptr2, NULL); -+ cr_tknzr_try_to_skip_spaces (a_this); -+ PEEK_NEXT_CHAR (a_this, &next_char); -+ if (next_char == ')') { -+ READ_NEXT_CHAR (a_this, &cur_char); -+ status = CR_OK; -+ } else { -+ status = CR_PARSING_ERROR; -+ } -+ } -+ if (status != CR_OK) { -+ str = cr_string_new (); -+ for (;;) { -+ guint32 next_char = 0; -+ PEEK_NEXT_CHAR (a_this, &next_char); -+ if (strchr ("!#$%&", next_char) -+ || (next_char >= '*' && next_char <= '~') -+ || (cr_utils_is_nonascii (next_char) == TRUE)) { -+ READ_NEXT_CHAR (a_this, &cur_char); -+ g_string_append_unichar -+ (str->stryng, cur_char); -+ status = CR_OK; -+ } else { -+ guint32 esc_code = 0; -+ status = cr_tknzr_parse_escape -+ (a_this, &esc_code, NULL); -+ if (status == CR_OK) { -+ g_string_append_unichar -+ (str->stryng, -+ esc_code); -+ } else { -+ status = CR_OK; -+ break; -+ } -+ } -+ } -+ cr_tknzr_try_to_skip_spaces (a_this); -+ READ_NEXT_CHAR (a_this, &cur_char); -+ if (cur_char == ')') { -+ status = CR_OK; -+ } else { -+ status = CR_PARSING_ERROR; -+ goto error; -+ } -+ if (str) { -+ if (*a_str == NULL) { -+ *a_str = str; -+ str = NULL; -+ } else { -+ g_string_append_len -+ ((*a_str)->stryng, -+ str->stryng->str, -+ str->stryng->len); -+ cr_string_destroy (str); -+ } -+ } -+ } -+ -+ cr_parsing_location_copy -+ (&(*a_str)->location, -+ &location) ; -+ return CR_OK ; -+ error: -+ if (str) { -+ cr_string_destroy (str); -+ str = NULL; -+ } -+ cr_tknzr_set_cur_pos (a_this, &init_pos); -+ return status; -+} -+ -+/** -+ *parses an RGB as defined in the css2 spec. -+ *rgb: rgb '('S*{num}%?S* ',' {num}#?S*,S*{num}#?S*')' -+ * -+ *@param a_this the "this pointer" of the current instance of -+ *@param a_rgb out parameter the parsed rgb. -+ *@return CR_OK upon successfull completion, an error code otherwise. -+ */ -+static enum CRStatus -+cr_tknzr_parse_rgb (CRTknzr * a_this, CRRgb ** a_rgb) -+{ -+ enum CRStatus status = CR_OK; -+ CRInputPos init_pos; -+ CRNum *num = NULL; -+ guchar next_bytes[3] = { 0 }, cur_byte = 0; -+ glong red = 0, -+ green = 0, -+ blue = 0, -+ i = 0; -+ gboolean is_percentage = FALSE; -+ CRParsingLocation location = {0} ; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ PEEK_BYTE (a_this, 1, &next_bytes[0]); -+ PEEK_BYTE (a_this, 2, &next_bytes[1]); -+ PEEK_BYTE (a_this, 3, &next_bytes[2]); -+ -+ if (((next_bytes[0] == 'r') || (next_bytes[0] == 'R')) -+ && ((next_bytes[1] == 'g') || (next_bytes[1] == 'G')) -+ && ((next_bytes[2] == 'b') || (next_bytes[2] == 'B'))) { -+ SKIP_CHARS (a_this, 1); -+ cr_tknzr_get_parsing_location (a_this, &location) ; -+ SKIP_CHARS (a_this, 2); -+ } else { -+ status = CR_PARSING_ERROR; -+ goto error; -+ } -+ READ_NEXT_BYTE (a_this, &cur_byte); -+ ENSURE_PARSING_COND (cur_byte == '('); -+ -+ cr_tknzr_try_to_skip_spaces (a_this); -+ status = cr_tknzr_parse_num (a_this, &num); -+ ENSURE_PARSING_COND ((status == CR_OK) && (num != NULL)); -+ -+ if (num->val > G_MAXLONG) { -+ status = CR_PARSING_ERROR; -+ goto error; -+ } -+ -+ red = num->val; -+ cr_num_destroy (num); -+ num = NULL; -+ -+ PEEK_BYTE (a_this, 1, &next_bytes[0]); -+ if (next_bytes[0] == '%') { -+ SKIP_CHARS (a_this, 1); -+ is_percentage = TRUE; -+ } -+ cr_tknzr_try_to_skip_spaces (a_this); -+ -+ for (i = 0; i < 2; i++) { -+ READ_NEXT_BYTE (a_this, &cur_byte); -+ ENSURE_PARSING_COND (cur_byte == ','); -+ -+ cr_tknzr_try_to_skip_spaces (a_this); -+ status = cr_tknzr_parse_num (a_this, &num); -+ ENSURE_PARSING_COND ((status == CR_OK) && (num != NULL)); -+ -+ if (num->val > G_MAXLONG) { -+ status = CR_PARSING_ERROR; -+ goto error; -+ } -+ -+ PEEK_BYTE (a_this, 1, &next_bytes[0]); -+ if (next_bytes[0] == '%') { -+ SKIP_CHARS (a_this, 1); -+ is_percentage = 1; -+ } -+ -+ if (i == 0) { -+ green = num->val; -+ } else if (i == 1) { -+ blue = num->val; -+ } -+ -+ if (num) { -+ cr_num_destroy (num); -+ num = NULL; -+ } -+ cr_tknzr_try_to_skip_spaces (a_this); -+ } -+ -+ READ_NEXT_BYTE (a_this, &cur_byte); -+ if (*a_rgb == NULL) { -+ *a_rgb = cr_rgb_new_with_vals (red, green, blue, -+ is_percentage); -+ -+ if (*a_rgb == NULL) { -+ status = CR_ERROR; -+ goto error; -+ } -+ status = CR_OK; -+ } else { -+ (*a_rgb)->red = red; -+ (*a_rgb)->green = green; -+ (*a_rgb)->blue = blue; -+ (*a_rgb)->is_percentage = is_percentage; -+ -+ status = CR_OK; -+ } -+ -+ if (status == CR_OK) { -+ if (a_rgb && *a_rgb) { -+ cr_parsing_location_copy -+ (&(*a_rgb)->location, -+ &location) ; -+ } -+ return CR_OK; -+ } -+ -+ error: -+ if (num) { -+ cr_num_destroy (num); -+ num = NULL; -+ } -+ -+ cr_tknzr_set_cur_pos (a_this, &init_pos); -+ return CR_OK; -+} -+ -+/** -+ *Parses a atkeyword as defined by the css spec in [4.1.1]: -+ *ATKEYWORD ::= @{ident} -+ * -+ *@param a_this the "this pointer" of the current instance of -+ *#CRTknzr. -+ * -+ *@param a_str out parameter. The parsed atkeyword. If *a_str is -+ *set to NULL this function allocates a new instance of CRString and -+ *sets it to the parsed atkeyword. If not, this function just appends -+ *the parsed atkeyword to the end of *a_str. In both cases it is up to -+ *the caller to free *a_str. -+ * -+ *@return CR_OK upon successfull completion, an error code otherwise. -+ */ -+static enum CRStatus -+cr_tknzr_parse_atkeyword (CRTknzr * a_this, -+ CRString ** a_str) -+{ -+ guint32 cur_char = 0; -+ CRInputPos init_pos; -+ gboolean str_needs_free = FALSE; -+ enum CRStatus status = CR_OK; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->input -+ && a_str, CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ READ_NEXT_CHAR (a_this, &cur_char); -+ -+ if (cur_char != '@') { -+ status = CR_PARSING_ERROR; -+ goto error; -+ } -+ -+ if (*a_str == NULL) { -+ *a_str = cr_string_new (); -+ str_needs_free = TRUE; -+ } -+ status = cr_tknzr_parse_ident (a_this, a_str); -+ if (status != CR_OK) { -+ goto error; -+ } -+ return CR_OK; -+ error: -+ -+ if (str_needs_free == TRUE && *a_str) { -+ cr_string_destroy (*a_str); -+ *a_str = NULL; -+ } -+ cr_tknzr_set_cur_pos (a_this, &init_pos); -+ return status; -+} -+ -+static enum CRStatus -+cr_tknzr_parse_important (CRTknzr * a_this, -+ CRParsingLocation *a_location) -+{ -+ guint32 cur_char = 0; -+ CRInputPos init_pos; -+ enum CRStatus status = CR_OK; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->input, -+ CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ READ_NEXT_CHAR (a_this, &cur_char); -+ ENSURE_PARSING_COND (cur_char == '!'); -+ if (a_location) { -+ cr_tknzr_get_parsing_location (a_this, -+ a_location) ; -+ } -+ cr_tknzr_try_to_skip_spaces (a_this); -+ -+ if (BYTE (PRIVATE (a_this)->input, 1, NULL) == 'i' -+ && BYTE (PRIVATE (a_this)->input, 2, NULL) == 'm' -+ && BYTE (PRIVATE (a_this)->input, 3, NULL) == 'p' -+ && BYTE (PRIVATE (a_this)->input, 4, NULL) == 'o' -+ && BYTE (PRIVATE (a_this)->input, 5, NULL) == 'r' -+ && BYTE (PRIVATE (a_this)->input, 6, NULL) == 't' -+ && BYTE (PRIVATE (a_this)->input, 7, NULL) == 'a' -+ && BYTE (PRIVATE (a_this)->input, 8, NULL) == 'n' -+ && BYTE (PRIVATE (a_this)->input, 9, NULL) == 't') { -+ SKIP_BYTES (a_this, 9); -+ if (a_location) { -+ cr_tknzr_get_parsing_location (a_this, -+ a_location) ; -+ } -+ return CR_OK; -+ } else { -+ status = CR_PARSING_ERROR; -+ } -+ -+ error: -+ cr_tknzr_set_cur_pos (a_this, &init_pos); -+ -+ return status; -+} -+ -+/** -+ *Parses a num as defined in the css spec [4.1.1]: -+ *[0-9]+|[0-9]*\.[0-9]+ -+ *@param a_this the current instance of #CRTknzr. -+ *@param a_num out parameter. The parsed number. -+ *@return CR_OK upon successfull completion, -+ *an error code otherwise. -+ * -+ *The CSS specification says that numbers may be -+ *preceeded by '+' or '-' to indicate the sign. -+ *Technically, the "num" construction as defined -+ *by the tokenizer doesn't allow this, but we parse -+ *it here for simplicity. -+ */ -+static enum CRStatus -+cr_tknzr_parse_num (CRTknzr * a_this, -+ CRNum ** a_num) -+{ -+ enum CRStatus status = CR_PARSING_ERROR; -+ enum CRNumType val_type = NUM_GENERIC; -+ gboolean parsing_dec, /* true iff seen decimal point. */ -+ parsed; /* true iff the substring seen so far is a valid CSS -+ number, i.e. `[0-9]+|[0-9]*\.[0-9]+'. */ -+ guint32 cur_char = 0, -+ next_char = 0; -+ gdouble numerator, denominator = 1; -+ CRInputPos init_pos; -+ CRParsingLocation location = {0} ; -+ int sign = 1; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->input, -+ CR_BAD_PARAM_ERROR); -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ READ_NEXT_CHAR (a_this, &cur_char); -+ -+ if (cur_char == '+' || cur_char == '-') { -+ if (cur_char == '-') { -+ sign = -1; -+ } -+ READ_NEXT_CHAR (a_this, &cur_char); -+ } -+ -+ if (IS_NUM (cur_char)) { -+ numerator = (cur_char - '0'); -+ parsing_dec = FALSE; -+ parsed = TRUE; -+ } else if (cur_char == '.') { -+ numerator = 0; -+ parsing_dec = TRUE; -+ parsed = FALSE; -+ } else { -+ status = CR_PARSING_ERROR; -+ goto error; -+ } -+ cr_tknzr_get_parsing_location (a_this, &location) ; -+ -+ for (;;) { -+ status = cr_tknzr_peek_char (a_this, &next_char); -+ if (status != CR_OK) { -+ if (status == CR_END_OF_INPUT_ERROR) -+ status = CR_OK; -+ break; -+ } -+ if (next_char == '.') { -+ if (parsing_dec) { -+ status = CR_PARSING_ERROR; -+ goto error; -+ } -+ -+ READ_NEXT_CHAR (a_this, &cur_char); -+ parsing_dec = TRUE; -+ parsed = FALSE; /* In CSS, there must be at least -+ one digit after `.'. */ -+ } else if (IS_NUM (next_char)) { -+ READ_NEXT_CHAR (a_this, &cur_char); -+ parsed = TRUE; -+ -+ numerator = numerator * 10 + (cur_char - '0'); -+ if (parsing_dec) { -+ denominator *= 10; -+ } -+ } else { -+ break; -+ } -+ } -+ -+ if (!parsed) { -+ status = CR_PARSING_ERROR; -+ } -+ -+ /* -+ *Now, set the output param values. -+ */ -+ if (status == CR_OK) { -+ gdouble val = (numerator / denominator) * sign; -+ if (*a_num == NULL) { -+ *a_num = cr_num_new_with_val (val, val_type); -+ -+ if (*a_num == NULL) { -+ status = CR_ERROR; -+ goto error; -+ } -+ } else { -+ (*a_num)->val = val; -+ (*a_num)->type = val_type; -+ } -+ cr_parsing_location_copy (&(*a_num)->location, -+ &location) ; -+ return CR_OK; -+ } -+ -+ error: -+ -+ cr_tknzr_set_cur_pos (a_this, &init_pos); -+ -+ return status; -+} -+ -+/********************************************* -+ *PUBLIC methods -+ ********************************************/ -+ -+CRTknzr * -+cr_tknzr_new (CRInput * a_input) -+{ -+ CRTknzr *result = NULL; -+ -+ result = g_try_malloc (sizeof (CRTknzr)); -+ -+ if (result == NULL) { -+ cr_utils_trace_info ("Out of memory"); -+ return NULL; -+ } -+ -+ memset (result, 0, sizeof (CRTknzr)); -+ -+ result->priv = g_try_malloc (sizeof (CRTknzrPriv)); -+ -+ if (result->priv == NULL) { -+ cr_utils_trace_info ("Out of memory"); -+ -+ if (result) { -+ g_free (result); -+ result = NULL; -+ } -+ -+ return NULL; -+ } -+ memset (result->priv, 0, sizeof (CRTknzrPriv)); -+ if (a_input) -+ cr_tknzr_set_input (result, a_input); -+ return result; -+} -+ -+CRTknzr * -+cr_tknzr_new_from_buf (guchar * a_buf, gulong a_len, -+ enum CREncoding a_enc, -+ gboolean a_free_at_destroy) -+{ -+ CRTknzr *result = NULL; -+ CRInput *input = NULL; -+ -+ input = cr_input_new_from_buf (a_buf, a_len, a_enc, -+ a_free_at_destroy); -+ -+ g_return_val_if_fail (input != NULL, NULL); -+ -+ result = cr_tknzr_new (input); -+ -+ return result; -+} -+ -+CRTknzr * -+cr_tknzr_new_from_uri (const guchar * a_file_uri, -+ enum CREncoding a_enc) -+{ -+ CRTknzr *result = NULL; -+ CRInput *input = NULL; -+ -+ input = cr_input_new_from_uri ((const gchar *) a_file_uri, a_enc); -+ g_return_val_if_fail (input != NULL, NULL); -+ -+ result = cr_tknzr_new (input); -+ -+ return result; -+} -+ -+void -+cr_tknzr_ref (CRTknzr * a_this) -+{ -+ g_return_if_fail (a_this && PRIVATE (a_this)); -+ -+ PRIVATE (a_this)->ref_count++; -+} -+ -+gboolean -+cr_tknzr_unref (CRTknzr * a_this) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), FALSE); -+ -+ if (PRIVATE (a_this)->ref_count > 0) { -+ PRIVATE (a_this)->ref_count--; -+ } -+ -+ if (PRIVATE (a_this)->ref_count == 0) { -+ cr_tknzr_destroy (a_this); -+ return TRUE; -+ } -+ -+ return FALSE; -+} -+ -+enum CRStatus -+cr_tknzr_set_input (CRTknzr * a_this, CRInput * a_input) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR); -+ -+ if (PRIVATE (a_this)->input) { -+ cr_input_unref (PRIVATE (a_this)->input); -+ } -+ -+ PRIVATE (a_this)->input = a_input; -+ -+ cr_input_ref (PRIVATE (a_this)->input); -+ -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_tknzr_get_input (CRTknzr * a_this, CRInput ** a_input) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR); -+ -+ *a_input = PRIVATE (a_this)->input; -+ -+ return CR_OK; -+} -+ -+/********************************* -+ *Tokenizer input handling routines -+ *********************************/ -+ -+/** -+ *Reads the next byte from the parser input stream. -+ *@param a_this the "this pointer" of the current instance of -+ *#CRParser. -+ *@param a_byte out parameter the place where to store the byte -+ *read. -+ *@return CR_OK upon successfull completion, an error -+ *code otherwise. -+ */ -+enum CRStatus -+cr_tknzr_read_byte (CRTknzr * a_this, guchar * a_byte) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR); -+ -+ return cr_input_read_byte (PRIVATE (a_this)->input, a_byte); -+ -+} -+ -+/** -+ *Reads the next char from the parser input stream. -+ *@param a_this the current instance of #CRTknzr. -+ *@param a_char out parameter. The read char. -+ *@return CR_OK upon successfull completion, an error code -+ *otherwise. -+ */ -+enum CRStatus -+cr_tknzr_read_char (CRTknzr * a_this, guint32 * a_char) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->input -+ && a_char, CR_BAD_PARAM_ERROR); -+ -+ if (PRIVATE (a_this)->token_cache) { -+ cr_input_set_cur_pos (PRIVATE (a_this)->input, -+ &PRIVATE (a_this)->prev_pos); -+ cr_token_destroy (PRIVATE (a_this)->token_cache); -+ PRIVATE (a_this)->token_cache = NULL; -+ } -+ -+ return cr_input_read_char (PRIVATE (a_this)->input, a_char); -+} -+ -+/** -+ *Peeks a char from the parser input stream. -+ *To "peek a char" means reads the next char without consuming it. -+ *Subsequent calls to this function return the same char. -+ *@param a_this the current instance of #CRTknzr. -+ *@param a_char out parameter. The peeked char uppon successfull completion. -+ *@return CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_tknzr_peek_char (CRTknzr * a_this, guint32 * a_char) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->input -+ && a_char, CR_BAD_PARAM_ERROR); -+ -+ if (PRIVATE (a_this)->token_cache) { -+ cr_input_set_cur_pos (PRIVATE (a_this)->input, -+ &PRIVATE (a_this)->prev_pos); -+ cr_token_destroy (PRIVATE (a_this)->token_cache); -+ PRIVATE (a_this)->token_cache = NULL; -+ } -+ -+ return cr_input_peek_char (PRIVATE (a_this)->input, a_char); -+} -+ -+/** -+ *Peeks a byte ahead at a given postion in the parser input stream. -+ *@param a_this the current instance of #CRTknzr. -+ *@param a_offset the offset of the peeked byte starting from the current -+ *byte in the parser input stream. -+ *@param a_byte out parameter. The peeked byte upon -+ *successfull completion. -+ *@return CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_tknzr_peek_byte (CRTknzr * a_this, gulong a_offset, guchar * a_byte) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->input && a_byte, -+ CR_BAD_PARAM_ERROR); -+ -+ if (PRIVATE (a_this)->token_cache) { -+ cr_input_set_cur_pos (PRIVATE (a_this)->input, -+ &PRIVATE (a_this)->prev_pos); -+ cr_token_destroy (PRIVATE (a_this)->token_cache); -+ PRIVATE (a_this)->token_cache = NULL; -+ } -+ -+ return cr_input_peek_byte (PRIVATE (a_this)->input, -+ CR_SEEK_CUR, a_offset, a_byte); -+} -+ -+/** -+ *Same as cr_tknzr_peek_byte() but this api returns the byte peeked. -+ *@param a_this the current instance of #CRTknzr. -+ *@param a_offset the offset of the peeked byte starting from the current -+ *byte in the parser input stream. -+ *@param a_eof out parameter. If not NULL, is set to TRUE if we reached end of -+ *file, FALE otherwise. If the caller sets it to NULL, this parameter -+ *is just ignored. -+ *@return the peeked byte. -+ */ -+guchar -+cr_tknzr_peek_byte2 (CRTknzr * a_this, gulong a_offset, gboolean * a_eof) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->input, 0); -+ -+ return cr_input_peek_byte2 (PRIVATE (a_this)->input, a_offset, a_eof); -+} -+ -+/** -+ *Gets the number of bytes left in the topmost input stream -+ *associated to this parser. -+ *@param a_this the current instance of #CRTknzr -+ *@return the number of bytes left or -1 in case of error. -+ */ -+glong -+cr_tknzr_get_nb_bytes_left (CRTknzr * a_this) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->input, CR_BAD_PARAM_ERROR); -+ -+ if (PRIVATE (a_this)->token_cache) { -+ cr_input_set_cur_pos (PRIVATE (a_this)->input, -+ &PRIVATE (a_this)->prev_pos); -+ cr_token_destroy (PRIVATE (a_this)->token_cache); -+ PRIVATE (a_this)->token_cache = NULL; -+ } -+ -+ return cr_input_get_nb_bytes_left (PRIVATE (a_this)->input); -+} -+ -+enum CRStatus -+cr_tknzr_get_cur_pos (CRTknzr * a_this, CRInputPos * a_pos) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->input -+ && a_pos, CR_BAD_PARAM_ERROR); -+ -+ if (PRIVATE (a_this)->token_cache) { -+ cr_input_set_cur_pos (PRIVATE (a_this)->input, -+ &PRIVATE (a_this)->prev_pos); -+ cr_token_destroy (PRIVATE (a_this)->token_cache); -+ PRIVATE (a_this)->token_cache = NULL; -+ } -+ -+ return cr_input_get_cur_pos (PRIVATE (a_this)->input, a_pos); -+} -+ -+enum CRStatus -+cr_tknzr_get_parsing_location (CRTknzr *a_this, -+ CRParsingLocation *a_loc) -+{ -+ g_return_val_if_fail (a_this -+ && PRIVATE (a_this) -+ && a_loc, -+ CR_BAD_PARAM_ERROR) ; -+ -+ return cr_input_get_parsing_location -+ (PRIVATE (a_this)->input, a_loc) ; -+} -+ -+enum CRStatus -+cr_tknzr_get_cur_byte_addr (CRTknzr * a_this, guchar ** a_addr) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->input, CR_BAD_PARAM_ERROR); -+ if (PRIVATE (a_this)->token_cache) { -+ cr_input_set_cur_pos (PRIVATE (a_this)->input, -+ &PRIVATE (a_this)->prev_pos); -+ cr_token_destroy (PRIVATE (a_this)->token_cache); -+ PRIVATE (a_this)->token_cache = NULL; -+ } -+ -+ return cr_input_get_cur_byte_addr (PRIVATE (a_this)->input, a_addr); -+} -+ -+enum CRStatus -+cr_tknzr_seek_index (CRTknzr * a_this, enum CRSeekPos a_origin, gint a_pos) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->input, CR_BAD_PARAM_ERROR); -+ -+ if (PRIVATE (a_this)->token_cache) { -+ cr_input_set_cur_pos (PRIVATE (a_this)->input, -+ &PRIVATE (a_this)->prev_pos); -+ cr_token_destroy (PRIVATE (a_this)->token_cache); -+ PRIVATE (a_this)->token_cache = NULL; -+ } -+ -+ return cr_input_seek_index (PRIVATE (a_this)->input, a_origin, a_pos); -+} -+ -+enum CRStatus -+cr_tknzr_consume_chars (CRTknzr * a_this, guint32 a_char, glong * a_nb_char) -+{ -+ gulong consumed = *(gulong *) a_nb_char; -+ enum CRStatus status; -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->input, CR_BAD_PARAM_ERROR); -+ -+ if (PRIVATE (a_this)->token_cache) { -+ cr_input_set_cur_pos (PRIVATE (a_this)->input, -+ &PRIVATE (a_this)->prev_pos); -+ cr_token_destroy (PRIVATE (a_this)->token_cache); -+ PRIVATE (a_this)->token_cache = NULL; -+ } -+ -+ status = cr_input_consume_chars (PRIVATE (a_this)->input, -+ a_char, &consumed); -+ *a_nb_char = (glong) consumed; -+ return status; -+} -+ -+enum CRStatus -+cr_tknzr_set_cur_pos (CRTknzr * a_this, CRInputPos * a_pos) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->input, CR_BAD_PARAM_ERROR); -+ -+ if (PRIVATE (a_this)->token_cache) { -+ cr_token_destroy (PRIVATE (a_this)->token_cache); -+ PRIVATE (a_this)->token_cache = NULL; -+ } -+ -+ return cr_input_set_cur_pos (PRIVATE (a_this)->input, a_pos); -+} -+ -+enum CRStatus -+cr_tknzr_unget_token (CRTknzr * a_this, CRToken * a_token) -+{ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->token_cache == NULL, -+ CR_BAD_PARAM_ERROR); -+ -+ PRIVATE (a_this)->token_cache = a_token; -+ -+ return CR_OK; -+} -+ -+/** -+ *Returns the next token of the input stream. -+ *This method is really central. Each parsing -+ *method calls it. -+ *@param a_this the current tokenizer. -+ *@param a_tk out parameter. The returned token. -+ *for the sake of mem leak avoidance, *a_tk must -+ *be NULL. -+ *@param CR_OK upon successfull completion, an error code -+ *otherwise. -+ */ -+enum CRStatus -+cr_tknzr_get_next_token (CRTknzr * a_this, CRToken ** a_tk) -+{ -+ enum CRStatus status = CR_OK; -+ CRToken *token = NULL; -+ CRInputPos init_pos; -+ guint32 next_char = 0; -+ guchar next_bytes[4] = { 0 }; -+ gboolean reached_eof = FALSE; -+ CRInput *input = NULL; -+ CRString *str = NULL; -+ CRRgb *rgb = NULL; -+ CRParsingLocation location = {0} ; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && a_tk && *a_tk == NULL -+ && PRIVATE (a_this)->input, -+ CR_BAD_PARAM_ERROR); -+ -+ if (PRIVATE (a_this)->token_cache) { -+ *a_tk = PRIVATE (a_this)->token_cache; -+ PRIVATE (a_this)->token_cache = NULL; -+ return CR_OK; -+ } -+ -+ RECORD_INITIAL_POS (a_this, &init_pos); -+ -+ status = cr_input_get_end_of_file -+ (PRIVATE (a_this)->input, &reached_eof); -+ ENSURE_PARSING_COND (status == CR_OK); -+ -+ if (reached_eof == TRUE) { -+ status = CR_END_OF_INPUT_ERROR; -+ goto error; -+ } -+ -+ input = PRIVATE (a_this)->input; -+ -+ PEEK_NEXT_CHAR (a_this, &next_char); -+ token = cr_token_new (); -+ ENSURE_PARSING_COND (token); -+ -+ switch (next_char) { -+ case '@': -+ { -+ if (BYTE (input, 2, NULL) == 'f' -+ && BYTE (input, 3, NULL) == 'o' -+ && BYTE (input, 4, NULL) == 'n' -+ && BYTE (input, 5, NULL) == 't' -+ && BYTE (input, 6, NULL) == '-' -+ && BYTE (input, 7, NULL) == 'f' -+ && BYTE (input, 8, NULL) == 'a' -+ && BYTE (input, 9, NULL) == 'c' -+ && BYTE (input, 10, NULL) == 'e') { -+ SKIP_CHARS (a_this, 1); -+ cr_tknzr_get_parsing_location -+ (a_this, &location) ; -+ SKIP_CHARS (a_this, 9); -+ status = cr_token_set_font_face_sym (token); -+ CHECK_PARSING_STATUS (status, TRUE); -+ cr_parsing_location_copy (&token->location, -+ &location) ; -+ goto done; -+ } -+ -+ if (BYTE (input, 2, NULL) == 'c' -+ && BYTE (input, 3, NULL) == 'h' -+ && BYTE (input, 4, NULL) == 'a' -+ && BYTE (input, 5, NULL) == 'r' -+ && BYTE (input, 6, NULL) == 's' -+ && BYTE (input, 7, NULL) == 'e' -+ && BYTE (input, 8, NULL) == 't') { -+ SKIP_CHARS (a_this, 1); -+ cr_tknzr_get_parsing_location -+ (a_this, &location) ; -+ SKIP_CHARS (a_this, 7); -+ status = cr_token_set_charset_sym (token); -+ CHECK_PARSING_STATUS (status, TRUE); -+ cr_parsing_location_copy (&token->location, -+ &location) ; -+ goto done; -+ } -+ -+ if (BYTE (input, 2, NULL) == 'i' -+ && BYTE (input, 3, NULL) == 'm' -+ && BYTE (input, 4, NULL) == 'p' -+ && BYTE (input, 5, NULL) == 'o' -+ && BYTE (input, 6, NULL) == 'r' -+ && BYTE (input, 7, NULL) == 't') { -+ SKIP_CHARS (a_this, 1); -+ cr_tknzr_get_parsing_location -+ (a_this, &location) ; -+ SKIP_CHARS (a_this, 6); -+ status = cr_token_set_import_sym (token); -+ CHECK_PARSING_STATUS (status, TRUE); -+ cr_parsing_location_copy (&token->location, -+ &location) ; -+ goto done; -+ } -+ -+ if (BYTE (input, 2, NULL) == 'm' -+ && BYTE (input, 3, NULL) == 'e' -+ && BYTE (input, 4, NULL) == 'd' -+ && BYTE (input, 5, NULL) == 'i' -+ && BYTE (input, 6, NULL) == 'a') { -+ SKIP_CHARS (a_this, 1); -+ cr_tknzr_get_parsing_location (a_this, -+ &location) ; -+ SKIP_CHARS (a_this, 5); -+ status = cr_token_set_media_sym (token); -+ CHECK_PARSING_STATUS (status, TRUE); -+ cr_parsing_location_copy (&token->location, -+ &location) ; -+ goto done; -+ } -+ -+ if (BYTE (input, 2, NULL) == 'p' -+ && BYTE (input, 3, NULL) == 'a' -+ && BYTE (input, 4, NULL) == 'g' -+ && BYTE (input, 5, NULL) == 'e') { -+ SKIP_CHARS (a_this, 1); -+ cr_tknzr_get_parsing_location (a_this, -+ &location) ; -+ SKIP_CHARS (a_this, 4); -+ status = cr_token_set_page_sym (token); -+ CHECK_PARSING_STATUS (status, TRUE); -+ cr_parsing_location_copy (&token->location, -+ &location) ; -+ goto done; -+ } -+ status = cr_tknzr_parse_atkeyword (a_this, &str); -+ if (status == CR_OK) { -+ status = cr_token_set_atkeyword (token, str); -+ CHECK_PARSING_STATUS (status, TRUE); -+ if (str) { -+ cr_parsing_location_copy (&token->location, -+ &str->location) ; -+ } -+ goto done; -+ } -+ } -+ break; -+ -+ case 'u': -+ -+ if (BYTE (input, 2, NULL) == 'r' -+ && BYTE (input, 3, NULL) == 'l' -+ && BYTE (input, 4, NULL) == '(') { -+ CRString *str2 = NULL; -+ -+ status = cr_tknzr_parse_uri (a_this, &str2); -+ if (status == CR_OK) { -+ status = cr_token_set_uri (token, str2); -+ CHECK_PARSING_STATUS (status, TRUE); -+ if (str2) { -+ cr_parsing_location_copy (&token->location, -+ &str2->location) ; -+ } -+ goto done; -+ } -+ } -+ goto fallback; -+ break; -+ -+ case 'r': -+ if (BYTE (input, 2, NULL) == 'g' -+ && BYTE (input, 3, NULL) == 'b' -+ && BYTE (input, 4, NULL) == '(') { -+ status = cr_tknzr_parse_rgb (a_this, &rgb); -+ if (status == CR_OK && rgb) { -+ status = cr_token_set_rgb (token, rgb); -+ CHECK_PARSING_STATUS (status, TRUE); -+ if (rgb) { -+ cr_parsing_location_copy (&token->location, -+ &rgb->location) ; -+ } -+ rgb = NULL; -+ goto done; -+ } -+ -+ } -+ goto fallback; -+ break; -+ -+ case '<': -+ if (BYTE (input, 2, NULL) == '!' -+ && BYTE (input, 3, NULL) == '-' -+ && BYTE (input, 4, NULL) == '-') { -+ SKIP_CHARS (a_this, 1); -+ cr_tknzr_get_parsing_location (a_this, -+ &location) ; -+ SKIP_CHARS (a_this, 3); -+ status = cr_token_set_cdo (token); -+ CHECK_PARSING_STATUS (status, TRUE); -+ cr_parsing_location_copy (&token->location, -+ &location) ; -+ goto done; -+ } -+ break; -+ -+ case '-': -+ if (BYTE (input, 2, NULL) == '-' -+ && BYTE (input, 3, NULL) == '>') { -+ SKIP_CHARS (a_this, 1); -+ cr_tknzr_get_parsing_location (a_this, -+ &location) ; -+ SKIP_CHARS (a_this, 2); -+ status = cr_token_set_cdc (token); -+ CHECK_PARSING_STATUS (status, TRUE); -+ cr_parsing_location_copy (&token->location, -+ &location) ; -+ goto done; -+ } else { -+ status = cr_tknzr_parse_ident -+ (a_this, &str); -+ if (status == CR_OK) { -+ cr_token_set_ident -+ (token, str); -+ if (str) { -+ cr_parsing_location_copy (&token->location, -+ &str->location) ; -+ } -+ goto done; -+ } else { -+ goto parse_number; -+ } -+ } -+ break; -+ -+ case '~': -+ if (BYTE (input, 2, NULL) == '=') { -+ SKIP_CHARS (a_this, 1); -+ cr_tknzr_get_parsing_location (a_this, -+ &location) ; -+ SKIP_CHARS (a_this, 1); -+ status = cr_token_set_includes (token); -+ CHECK_PARSING_STATUS (status, TRUE); -+ cr_parsing_location_copy (&token->location, -+ &location) ; -+ goto done; -+ } -+ break; -+ -+ case '|': -+ if (BYTE (input, 2, NULL) == '=') { -+ SKIP_CHARS (a_this, 1); -+ cr_tknzr_get_parsing_location (a_this, -+ &location) ; -+ SKIP_CHARS (a_this, 1); -+ status = cr_token_set_dashmatch (token); -+ CHECK_PARSING_STATUS (status, TRUE); -+ cr_parsing_location_copy (&token->location, -+ &location) ; -+ goto done; -+ } -+ break; -+ -+ case '/': -+ if (BYTE (input, 2, NULL) == '*') { -+ status = cr_tknzr_parse_comment (a_this, &str); -+ -+ if (status == CR_OK) { -+ status = cr_token_set_comment (token, str); -+ str = NULL; -+ CHECK_PARSING_STATUS (status, TRUE); -+ if (str) { -+ cr_parsing_location_copy (&token->location, -+ &str->location) ; -+ } -+ goto done; -+ } -+ } -+ break ; -+ -+ case ';': -+ SKIP_CHARS (a_this, 1); -+ cr_tknzr_get_parsing_location (a_this, -+ &location) ; -+ status = cr_token_set_semicolon (token); -+ CHECK_PARSING_STATUS (status, TRUE); -+ cr_parsing_location_copy (&token->location, -+ &location) ; -+ goto done; -+ -+ case '{': -+ SKIP_CHARS (a_this, 1); -+ cr_tknzr_get_parsing_location (a_this, -+ &location) ; -+ status = cr_token_set_cbo (token); -+ CHECK_PARSING_STATUS (status, TRUE); -+ cr_tknzr_get_parsing_location (a_this, -+ &location) ; -+ goto done; -+ -+ case '}': -+ SKIP_CHARS (a_this, 1); -+ cr_tknzr_get_parsing_location (a_this, -+ &location) ; -+ status = cr_token_set_cbc (token); -+ CHECK_PARSING_STATUS (status, TRUE); -+ cr_parsing_location_copy (&token->location, -+ &location) ; -+ goto done; -+ -+ case '(': -+ SKIP_CHARS (a_this, 1); -+ cr_tknzr_get_parsing_location (a_this, -+ &location) ; -+ status = cr_token_set_po (token); -+ CHECK_PARSING_STATUS (status, TRUE); -+ cr_parsing_location_copy (&token->location, -+ &location) ; -+ goto done; -+ -+ case ')': -+ SKIP_CHARS (a_this, 1); -+ cr_tknzr_get_parsing_location (a_this, -+ &location) ; -+ status = cr_token_set_pc (token); -+ CHECK_PARSING_STATUS (status, TRUE); -+ cr_parsing_location_copy (&token->location, -+ &location) ; -+ goto done; -+ -+ case '[': -+ SKIP_CHARS (a_this, 1); -+ cr_tknzr_get_parsing_location (a_this, -+ &location) ; -+ status = cr_token_set_bo (token); -+ CHECK_PARSING_STATUS (status, TRUE); -+ cr_parsing_location_copy (&token->location, -+ &location) ; -+ goto done; -+ -+ case ']': -+ SKIP_CHARS (a_this, 1); -+ cr_tknzr_get_parsing_location (a_this, -+ &location) ; -+ status = cr_token_set_bc (token); -+ CHECK_PARSING_STATUS (status, TRUE); -+ cr_parsing_location_copy (&token->location, -+ &location) ; -+ goto done; -+ -+ case ' ': -+ case '\t': -+ case '\n': -+ case '\f': -+ case '\r': -+ { -+ guchar *start = NULL, -+ *end = NULL; -+ -+ status = cr_tknzr_parse_w (a_this, &start, -+ &end, &location); -+ if (status == CR_OK) { -+ status = cr_token_set_s (token); -+ CHECK_PARSING_STATUS (status, TRUE); -+ cr_tknzr_get_parsing_location (a_this, -+ &location) ; -+ goto done; -+ } -+ } -+ break; -+ -+ case '#': -+ { -+ status = cr_tknzr_parse_hash (a_this, &str); -+ if (status == CR_OK && str) { -+ status = cr_token_set_hash (token, str); -+ CHECK_PARSING_STATUS (status, TRUE); -+ if (str) { -+ cr_parsing_location_copy (&token->location, -+ &str->location) ; -+ } -+ str = NULL; -+ goto done; -+ } -+ } -+ break; -+ -+ case '\'': -+ case '"': -+ status = cr_tknzr_parse_string (a_this, &str); -+ if (status == CR_OK && str) { -+ status = cr_token_set_string (token, str); -+ CHECK_PARSING_STATUS (status, TRUE); -+ if (str) { -+ cr_parsing_location_copy (&token->location, -+ &str->location) ; -+ } -+ str = NULL; -+ goto done; -+ } -+ break; -+ -+ case '!': -+ status = cr_tknzr_parse_important (a_this, &location); -+ if (status == CR_OK) { -+ status = cr_token_set_important_sym (token); -+ CHECK_PARSING_STATUS (status, TRUE); -+ cr_parsing_location_copy (&token->location, -+ &location) ; -+ goto done; -+ } -+ break; -+ -+ case '0': -+ case '1': -+ case '2': -+ case '3': -+ case '4': -+ case '5': -+ case '6': -+ case '7': -+ case '8': -+ case '9': -+ case '.': -+ case '+': -+ /* '-' case is handled separately above for --> comments */ -+ parse_number: -+ { -+ CRNum *num = NULL; -+ -+ status = cr_tknzr_parse_num (a_this, &num); -+ if (status == CR_OK && num) { -+ next_bytes[0] = BYTE (input, 1, NULL); -+ next_bytes[1] = BYTE (input, 2, NULL); -+ next_bytes[2] = BYTE (input, 3, NULL); -+ next_bytes[3] = BYTE (input, 4, NULL); -+ -+ if (next_bytes[0] == 'e' -+ && next_bytes[1] == 'm') { -+ num->type = NUM_LENGTH_EM; -+ status = cr_token_set_ems (token, -+ num); -+ num = NULL; -+ SKIP_CHARS (a_this, 2); -+ } else if (next_bytes[0] == 'e' -+ && next_bytes[1] == 'x') { -+ num->type = NUM_LENGTH_EX; -+ status = cr_token_set_exs (token, -+ num); -+ num = NULL; -+ SKIP_CHARS (a_this, 2); -+ } else if (next_bytes[0] == 'p' -+ && next_bytes[1] == 'x') { -+ num->type = NUM_LENGTH_PX; -+ status = cr_token_set_length -+ (token, num, LENGTH_PX_ET); -+ num = NULL; -+ SKIP_CHARS (a_this, 2); -+ } else if (next_bytes[0] == 'c' -+ && next_bytes[1] == 'm') { -+ num->type = NUM_LENGTH_CM; -+ status = cr_token_set_length -+ (token, num, LENGTH_CM_ET); -+ num = NULL; -+ SKIP_CHARS (a_this, 2); -+ } else if (next_bytes[0] == 'm' -+ && next_bytes[1] == 'm') { -+ num->type = NUM_LENGTH_MM; -+ status = cr_token_set_length -+ (token, num, LENGTH_MM_ET); -+ num = NULL; -+ SKIP_CHARS (a_this, 2); -+ } else if (next_bytes[0] == 'i' -+ && next_bytes[1] == 'n') { -+ num->type = NUM_LENGTH_IN; -+ status = cr_token_set_length -+ (token, num, LENGTH_IN_ET); -+ num = NULL; -+ SKIP_CHARS (a_this, 2); -+ } else if (next_bytes[0] == 'p' -+ && next_bytes[1] == 't') { -+ num->type = NUM_LENGTH_PT; -+ status = cr_token_set_length -+ (token, num, LENGTH_PT_ET); -+ num = NULL; -+ SKIP_CHARS (a_this, 2); -+ } else if (next_bytes[0] == 'p' -+ && next_bytes[1] == 'c') { -+ num->type = NUM_LENGTH_PC; -+ status = cr_token_set_length -+ (token, num, LENGTH_PC_ET); -+ num = NULL; -+ SKIP_CHARS (a_this, 2); -+ } else if (next_bytes[0] == 'd' -+ && next_bytes[1] == 'e' -+ && next_bytes[2] == 'g') { -+ num->type = NUM_ANGLE_DEG; -+ status = cr_token_set_angle -+ (token, num, ANGLE_DEG_ET); -+ num = NULL; -+ SKIP_CHARS (a_this, 3); -+ } else if (next_bytes[0] == 'r' -+ && next_bytes[1] == 'a' -+ && next_bytes[2] == 'd') { -+ num->type = NUM_ANGLE_RAD; -+ status = cr_token_set_angle -+ (token, num, ANGLE_RAD_ET); -+ num = NULL; -+ SKIP_CHARS (a_this, 3); -+ } else if (next_bytes[0] == 'g' -+ && next_bytes[1] == 'r' -+ && next_bytes[2] == 'a' -+ && next_bytes[3] == 'd') { -+ num->type = NUM_ANGLE_GRAD; -+ status = cr_token_set_angle -+ (token, num, ANGLE_GRAD_ET); -+ num = NULL; -+ SKIP_CHARS (a_this, 4); -+ } else if (next_bytes[0] == 'm' -+ && next_bytes[1] == 's') { -+ num->type = NUM_TIME_MS; -+ status = cr_token_set_time -+ (token, num, TIME_MS_ET); -+ num = NULL; -+ SKIP_CHARS (a_this, 2); -+ } else if (next_bytes[0] == 's') { -+ num->type = NUM_TIME_S; -+ status = cr_token_set_time -+ (token, num, TIME_S_ET); -+ num = NULL; -+ SKIP_CHARS (a_this, 1); -+ } else if (next_bytes[0] == 'H' -+ && next_bytes[1] == 'z') { -+ num->type = NUM_FREQ_HZ; -+ status = cr_token_set_freq -+ (token, num, FREQ_HZ_ET); -+ num = NULL; -+ SKIP_CHARS (a_this, 2); -+ } else if (next_bytes[0] == 'k' -+ && next_bytes[1] == 'H' -+ && next_bytes[2] == 'z') { -+ num->type = NUM_FREQ_KHZ; -+ status = cr_token_set_freq -+ (token, num, FREQ_KHZ_ET); -+ num = NULL; -+ SKIP_CHARS (a_this, 3); -+ } else if (next_bytes[0] == '%') { -+ num->type = NUM_PERCENTAGE; -+ status = cr_token_set_percentage -+ (token, num); -+ num = NULL; -+ SKIP_CHARS (a_this, 1); -+ } else { -+ status = cr_tknzr_parse_ident (a_this, -+ &str); -+ if (status == CR_OK && str) { -+ num->type = NUM_UNKNOWN_TYPE; -+ status = cr_token_set_dimen -+ (token, num, str); -+ num = NULL; -+ CHECK_PARSING_STATUS (status, -+ TRUE); -+ str = NULL; -+ } else { -+ status = cr_token_set_number -+ (token, num); -+ num = NULL; -+ CHECK_PARSING_STATUS (status, CR_OK); -+ str = NULL; -+ } -+ } -+ if (token && token->u.num) { -+ cr_parsing_location_copy (&token->location, -+ &token->u.num->location) ; -+ } else { -+ status = CR_ERROR ; -+ } -+ goto done ; -+ } -+ } -+ break; -+ -+ default: -+ fallback: -+ /*process the fallback cases here */ -+ -+ if (next_char == '\\' -+ || (cr_utils_is_nonascii (next_bytes[0]) == TRUE) -+ || ((next_char >= 'a') && (next_char <= 'z')) -+ || ((next_char >= 'A') && (next_char <= 'Z'))) { -+ status = cr_tknzr_parse_ident (a_this, &str); -+ if (status == CR_OK && str) { -+ guint32 next_c = 0; -+ -+ status = cr_input_peek_char -+ (PRIVATE (a_this)->input, &next_c); -+ -+ if (status == CR_OK && next_c == '(') { -+ -+ SKIP_CHARS (a_this, 1); -+ status = cr_token_set_function -+ (token, str); -+ CHECK_PARSING_STATUS (status, TRUE); -+ /*ownership is transfered -+ *to token by cr_token_set_function. -+ */ -+ if (str) { -+ cr_parsing_location_copy (&token->location, -+ &str->location) ; -+ } -+ str = NULL; -+ } else { -+ status = cr_token_set_ident (token, -+ str); -+ CHECK_PARSING_STATUS (status, TRUE); -+ if (str) { -+ cr_parsing_location_copy (&token->location, -+ &str->location) ; -+ } -+ str = NULL; -+ } -+ goto done; -+ } else { -+ if (str) { -+ cr_string_destroy (str); -+ str = NULL; -+ } -+ } -+ } -+ break; -+ } -+ -+ READ_NEXT_CHAR (a_this, &next_char); -+ cr_tknzr_get_parsing_location (a_this, -+ &location) ; -+ status = cr_token_set_delim (token, next_char); -+ CHECK_PARSING_STATUS (status, TRUE); -+ cr_parsing_location_copy (&token->location, -+ &location) ; -+ done: -+ -+ if (status == CR_OK && token) { -+ *a_tk = token; -+ /* -+ *store the previous position input stream pos. -+ */ -+ memmove (&PRIVATE (a_this)->prev_pos, -+ &init_pos, sizeof (CRInputPos)); -+ return CR_OK; -+ } -+ -+ error: -+ if (token) { -+ cr_token_destroy (token); -+ token = NULL; -+ } -+ -+ if (str) { -+ cr_string_destroy (str); -+ str = NULL; -+ } -+ cr_tknzr_set_cur_pos (a_this, &init_pos); -+ return status; -+ -+} -+ -+enum CRStatus -+cr_tknzr_parse_token (CRTknzr * a_this, enum CRTokenType a_type, -+ enum CRTokenExtraType a_et, gpointer a_res, -+ gpointer a_extra_res) -+{ -+ enum CRStatus status = CR_OK; -+ CRToken *token = NULL; -+ -+ g_return_val_if_fail (a_this && PRIVATE (a_this) -+ && PRIVATE (a_this)->input -+ && a_res, CR_BAD_PARAM_ERROR); -+ -+ status = cr_tknzr_get_next_token (a_this, &token); -+ if (status != CR_OK) -+ return status; -+ if (token == NULL) -+ return CR_PARSING_ERROR; -+ -+ if (token->type == a_type) { -+ switch (a_type) { -+ case NO_TK: -+ case S_TK: -+ case CDO_TK: -+ case CDC_TK: -+ case INCLUDES_TK: -+ case DASHMATCH_TK: -+ case IMPORT_SYM_TK: -+ case PAGE_SYM_TK: -+ case MEDIA_SYM_TK: -+ case FONT_FACE_SYM_TK: -+ case CHARSET_SYM_TK: -+ case IMPORTANT_SYM_TK: -+ status = CR_OK; -+ break; -+ -+ case STRING_TK: -+ case IDENT_TK: -+ case HASH_TK: -+ case ATKEYWORD_TK: -+ case FUNCTION_TK: -+ case COMMENT_TK: -+ case URI_TK: -+ *((CRString **) a_res) = token->u.str; -+ token->u.str = NULL; -+ status = CR_OK; -+ break; -+ -+ case EMS_TK: -+ case EXS_TK: -+ case PERCENTAGE_TK: -+ case NUMBER_TK: -+ *((CRNum **) a_res) = token->u.num; -+ token->u.num = NULL; -+ status = CR_OK; -+ break; -+ -+ case LENGTH_TK: -+ case ANGLE_TK: -+ case TIME_TK: -+ case FREQ_TK: -+ if (token->extra_type == a_et) { -+ *((CRNum **) a_res) = token->u.num; -+ token->u.num = NULL; -+ status = CR_OK; -+ } -+ break; -+ -+ case DIMEN_TK: -+ *((CRNum **) a_res) = token->u.num; -+ if (a_extra_res == NULL) { -+ status = CR_BAD_PARAM_ERROR; -+ goto error; -+ } -+ -+ *((CRString **) a_extra_res) = token->dimen; -+ token->u.num = NULL; -+ token->dimen = NULL; -+ status = CR_OK; -+ break; -+ -+ case DELIM_TK: -+ *((guint32 *) a_res) = token->u.unichar; -+ status = CR_OK; -+ break; -+ -+ case UNICODERANGE_TK: -+ default: -+ status = CR_PARSING_ERROR; -+ break; -+ } -+ -+ cr_token_destroy (token); -+ token = NULL; -+ } else { -+ cr_tknzr_unget_token (a_this, token); -+ token = NULL; -+ status = CR_PARSING_ERROR; -+ } -+ -+ return status; -+ -+ error: -+ -+ if (token) { -+ cr_tknzr_unget_token (a_this, token); -+ token = NULL; -+ } -+ -+ return status; -+} -+ -+void -+cr_tknzr_destroy (CRTknzr * a_this) -+{ -+ g_return_if_fail (a_this); -+ -+ if (PRIVATE (a_this) && PRIVATE (a_this)->input) { -+ if (cr_input_unref (PRIVATE (a_this)->input) -+ == TRUE) { -+ PRIVATE (a_this)->input = NULL; -+ } -+ } -+ -+ if (PRIVATE (a_this)->token_cache) { -+ cr_token_destroy (PRIVATE (a_this)->token_cache); -+ PRIVATE (a_this)->token_cache = NULL; -+ } -+ -+ if (PRIVATE (a_this)) { -+ g_free (PRIVATE (a_this)); -+ PRIVATE (a_this) = NULL; -+ } -+ -+ g_free (a_this); -+} -diff --git a/src/st/croco/cr-tknzr.h b/src/st/croco/cr-tknzr.h -new file mode 100644 -index 000000000..13985b30e ---- /dev/null -+++ b/src/st/croco/cr-tknzr.h -@@ -0,0 +1,115 @@ -+/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli -+ * See COPYRIGHTS file for coypyright information. -+ */ -+ -+/** -+ *@file -+ *The declaration of the #CRTknzr (tokenizer) -+ *class. -+ */ -+ -+#ifndef __CR_TKNZR_H__ -+#define __CR_TKNZR_H__ -+ -+#include "cr-utils.h" -+#include "cr-input.h" -+#include "cr-token.h" -+ -+G_BEGIN_DECLS -+ -+ -+typedef struct _CRTknzr CRTknzr ; -+typedef struct _CRTknzrPriv CRTknzrPriv ; -+ -+/** -+ *The tokenizer is the class that knows -+ *about all the css token. Its main job is -+ *to return the next token found in the character -+ *input stream. -+ */ -+struct _CRTknzr -+{ -+ /*the private data of the tokenizer.*/ -+ CRTknzrPriv *priv ; -+} ; -+ -+CRTknzr * cr_tknzr_new (CRInput *a_input) ; -+ -+CRTknzr * cr_tknzr_new_from_uri (const guchar *a_file_uri, -+ enum CREncoding a_enc) ; -+ -+CRTknzr * cr_tknzr_new_from_buf (guchar *a_buf, gulong a_len, -+ enum CREncoding a_enc, -+ gboolean a_free_at_destroy) ; -+ -+gboolean cr_tknzr_unref (CRTknzr *a_this) ; -+ -+void cr_tknzr_ref (CRTknzr *a_this) ; -+ -+enum CRStatus cr_tknzr_read_byte (CRTknzr *a_this, guchar *a_byte) ; -+ -+enum CRStatus cr_tknzr_read_char (CRTknzr *a_this, guint32 *a_char); -+ -+enum CRStatus cr_tknzr_peek_char (CRTknzr *a_this, guint32 *a_char) ; -+ -+enum CRStatus cr_tknzr_peek_byte (CRTknzr *a_this, gulong a_offset, -+ guchar *a_byte) ; -+ -+guchar cr_tknzr_peek_byte2 (CRTknzr *a_this, gulong a_offset, -+ gboolean *a_eof) ; -+ -+enum CRStatus cr_tknzr_set_cur_pos (CRTknzr *a_this, CRInputPos *a_pos) ; -+ -+glong cr_tknzr_get_nb_bytes_left (CRTknzr *a_this) ; -+ -+enum CRStatus cr_tknzr_get_cur_pos (CRTknzr *a_this, CRInputPos *a_pos) ; -+ -+enum CRStatus cr_tknzr_get_parsing_location (CRTknzr *a_this, -+ CRParsingLocation *a_loc) ; -+ -+enum CRStatus cr_tknzr_seek_index (CRTknzr *a_this, -+ enum CRSeekPos a_origin, -+ gint a_pos) ; -+ -+enum CRStatus cr_tknzr_get_cur_byte_addr (CRTknzr *a_this, guchar **a_addr) ; -+ -+ -+enum CRStatus cr_tknzr_consume_chars (CRTknzr *a_this, guint32 a_char, -+ glong *a_nb_char) ; -+ -+enum CRStatus cr_tknzr_get_next_token (CRTknzr *a_this, CRToken ** a_tk) ; -+ -+enum CRStatus cr_tknzr_unget_token (CRTknzr *a_this, CRToken *a_token) ; -+ -+ -+enum CRStatus cr_tknzr_parse_token (CRTknzr *a_this, enum CRTokenType a_type, -+ enum CRTokenExtraType a_et, gpointer a_res, -+ gpointer a_extra_res) ; -+enum CRStatus cr_tknzr_set_input (CRTknzr *a_this, CRInput *a_input) ; -+ -+enum CRStatus cr_tknzr_get_input (CRTknzr *a_this, CRInput **a_input) ; -+ -+void cr_tknzr_destroy (CRTknzr *a_this) ; -+ -+G_END_DECLS -+ -+#endif /*__CR_TKZNR_H__*/ -diff --git a/src/st/croco/cr-token.c b/src/st/croco/cr-token.c -new file mode 100644 -index 000000000..e240ab8f1 ---- /dev/null -+++ b/src/st/croco/cr-token.c -@@ -0,0 +1,636 @@ -+/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli -+ * see COPYRIGHTS file for copyright information. -+ */ -+ -+/** -+ *@file -+ *The definition of the #CRToken class. -+ *Abstracts a css2 token. -+ */ -+#include -+#include "cr-token.h" -+ -+/* -+ *TODO: write a CRToken::to_string() method. -+ */ -+ -+/** -+ *Frees the attributes of the current instance -+ *of #CRtoken. -+ *@param a_this the current instance of #CRToken. -+ */ -+static void -+cr_token_clear (CRToken * a_this) -+{ -+ g_return_if_fail (a_this); -+ -+ switch (a_this->type) { -+ case S_TK: -+ case CDO_TK: -+ case CDC_TK: -+ case INCLUDES_TK: -+ case DASHMATCH_TK: -+ case PAGE_SYM_TK: -+ case MEDIA_SYM_TK: -+ case FONT_FACE_SYM_TK: -+ case CHARSET_SYM_TK: -+ case IMPORT_SYM_TK: -+ case IMPORTANT_SYM_TK: -+ case SEMICOLON_TK: -+ case NO_TK: -+ case DELIM_TK: -+ case CBO_TK: -+ case CBC_TK: -+ case BO_TK: -+ case BC_TK: -+ break; -+ -+ case STRING_TK: -+ case IDENT_TK: -+ case HASH_TK: -+ case URI_TK: -+ case FUNCTION_TK: -+ case COMMENT_TK: -+ case ATKEYWORD_TK: -+ if (a_this->u.str) { -+ cr_string_destroy (a_this->u.str); -+ a_this->u.str = NULL; -+ } -+ break; -+ -+ case EMS_TK: -+ case EXS_TK: -+ case LENGTH_TK: -+ case ANGLE_TK: -+ case TIME_TK: -+ case FREQ_TK: -+ case PERCENTAGE_TK: -+ case NUMBER_TK: -+ case PO_TK: -+ case PC_TK: -+ if (a_this->u.num) { -+ cr_num_destroy (a_this->u.num); -+ a_this->u.num = NULL; -+ } -+ break; -+ -+ case DIMEN_TK: -+ if (a_this->u.num) { -+ cr_num_destroy (a_this->u.num); -+ a_this->u.num = NULL; -+ } -+ -+ if (a_this->dimen) { -+ cr_string_destroy (a_this->dimen); -+ a_this->dimen = NULL; -+ } -+ -+ break; -+ -+ case RGB_TK: -+ if (a_this->u.rgb) { -+ cr_rgb_destroy (a_this->u.rgb) ; -+ a_this->u.rgb = NULL ; -+ } -+ break ; -+ -+ case UNICODERANGE_TK: -+ /*not supported yet. */ -+ break; -+ -+ default: -+ cr_utils_trace_info ("I don't know how to clear this token\n") ; -+ break; -+ } -+ -+ a_this->type = NO_TK; -+} -+ -+/** -+ *Default constructor of -+ *the #CRToken class. -+ *@return the newly built instance of #CRToken. -+ */ -+CRToken * -+cr_token_new (void) -+{ -+ CRToken *result = NULL; -+ -+ result = g_try_malloc (sizeof (CRToken)); -+ -+ if (result == NULL) { -+ cr_utils_trace_info ("Out of memory"); -+ return NULL; -+ } -+ -+ memset (result, 0, sizeof (CRToken)); -+ -+ return result; -+} -+ -+/** -+ *Sets the type of curren instance of -+ *#CRToken to 'S_TK' (S in the css2 spec) -+ *@param a_this the current instance of #CRToken. -+ *@return CR_OK upon successfull completion, an error -+ *code otherwise. -+ */ -+enum CRStatus -+cr_token_set_s (CRToken * a_this) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ -+ a_this->type = S_TK; -+ -+ return CR_OK; -+} -+ -+/** -+ *Sets the type of the current instance of -+ *#CRToken to 'CDO_TK' (CDO as said by the css2 spec) -+ *@param a_this the current instance of #CRToken. -+ *@return CR_OK upon successfull completion, an error -+ *code otherwise. -+ */ -+enum CRStatus -+cr_token_set_cdo (CRToken * a_this) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ -+ a_this->type = CDO_TK; -+ -+ return CR_OK; -+} -+ -+/** -+ *Sets the type of the current token to -+ *CDC_TK (CDC as said by the css2 spec). -+ *@param a_this the current instance of #CRToken. -+ *@return CR_OK upon successfull completion, an error -+ *code otherwise. -+ */ -+enum CRStatus -+cr_token_set_cdc (CRToken * a_this) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ -+ a_this->type = CDC_TK; -+ -+ return CR_OK; -+} -+ -+/** -+ *Sets the type of the current instance of -+ *#CRToken to INCLUDES_TK (INCLUDES as said by the css2 spec). -+ *@param a_this the current instance of #CRToken. -+ *@return CR_OK upon successfull completion, an error -+ *code otherwise. -+ */ -+enum CRStatus -+cr_token_set_includes (CRToken * a_this) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ -+ a_this->type = INCLUDES_TK; -+ -+ return CR_OK; -+} -+ -+/** -+ *Sets the type of the current instance of -+ *#CRToken to DASHMATCH_TK (DASHMATCH as said by the css2 spec). -+ *@param a_this the current instance of #CRToken. -+ *@return CR_OK upon successfull completion, an error -+ *code otherwise. -+ */ -+enum CRStatus -+cr_token_set_dashmatch (CRToken * a_this) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ -+ a_this->type = DASHMATCH_TK; -+ -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_token_set_comment (CRToken * a_this, CRString * a_str) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ a_this->type = COMMENT_TK; -+ a_this->u.str = a_str ; -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_token_set_string (CRToken * a_this, CRString * a_str) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ -+ a_this->type = STRING_TK; -+ -+ a_this->u.str = a_str ; -+ -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_token_set_ident (CRToken * a_this, CRString * a_ident) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ a_this->type = IDENT_TK; -+ a_this->u.str = a_ident; -+ return CR_OK; -+} -+ -+ -+enum CRStatus -+cr_token_set_function (CRToken * a_this, CRString * a_fun_name) -+{ -+ g_return_val_if_fail (a_this, -+ CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ a_this->type = FUNCTION_TK; -+ a_this->u.str = a_fun_name; -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_token_set_hash (CRToken * a_this, CRString * a_hash) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ a_this->type = HASH_TK; -+ a_this->u.str = a_hash; -+ -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_token_set_rgb (CRToken * a_this, CRRgb * a_rgb) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ a_this->type = RGB_TK; -+ a_this->u.rgb = a_rgb; -+ -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_token_set_import_sym (CRToken * a_this) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ -+ a_this->type = IMPORT_SYM_TK; -+ -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_token_set_page_sym (CRToken * a_this) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ -+ a_this->type = PAGE_SYM_TK; -+ -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_token_set_media_sym (CRToken * a_this) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ -+ a_this->type = MEDIA_SYM_TK; -+ -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_token_set_font_face_sym (CRToken * a_this) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ a_this->type = FONT_FACE_SYM_TK; -+ -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_token_set_charset_sym (CRToken * a_this) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ a_this->type = CHARSET_SYM_TK; -+ -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_token_set_atkeyword (CRToken * a_this, CRString * a_atname) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ a_this->type = ATKEYWORD_TK; -+ a_this->u.str = a_atname; -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_token_set_important_sym (CRToken * a_this) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ cr_token_clear (a_this); -+ a_this->type = IMPORTANT_SYM_TK; -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_token_set_ems (CRToken * a_this, CRNum * a_num) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ cr_token_clear (a_this); -+ a_this->type = EMS_TK; -+ a_this->u.num = a_num; -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_token_set_exs (CRToken * a_this, CRNum * a_num) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ cr_token_clear (a_this); -+ a_this->type = EXS_TK; -+ a_this->u.num = a_num; -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_token_set_length (CRToken * a_this, CRNum * a_num, -+ enum CRTokenExtraType a_et) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ -+ a_this->type = LENGTH_TK; -+ a_this->extra_type = a_et; -+ a_this->u.num = a_num; -+ -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_token_set_angle (CRToken * a_this, CRNum * a_num, -+ enum CRTokenExtraType a_et) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ -+ a_this->type = ANGLE_TK; -+ a_this->extra_type = a_et; -+ a_this->u.num = a_num; -+ -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_token_set_time (CRToken * a_this, CRNum * a_num, -+ enum CRTokenExtraType a_et) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ -+ a_this->type = TIME_TK; -+ a_this->extra_type = a_et; -+ a_this->u.num = a_num; -+ -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_token_set_freq (CRToken * a_this, CRNum * a_num, -+ enum CRTokenExtraType a_et) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ -+ a_this->type = FREQ_TK; -+ a_this->extra_type = a_et; -+ a_this->u.num = a_num; -+ -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_token_set_dimen (CRToken * a_this, CRNum * a_num, -+ CRString * a_dim) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ cr_token_clear (a_this); -+ a_this->type = DIMEN_TK; -+ a_this->u.num = a_num; -+ a_this->dimen = a_dim; -+ return CR_OK; -+ -+} -+ -+enum CRStatus -+cr_token_set_percentage (CRToken * a_this, CRNum * a_num) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ -+ a_this->type = PERCENTAGE_TK; -+ a_this->u.num = a_num; -+ -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_token_set_number (CRToken * a_this, CRNum * a_num) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ -+ a_this->type = NUMBER_TK; -+ a_this->u.num = a_num; -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_token_set_uri (CRToken * a_this, CRString * a_uri) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ -+ a_this->type = URI_TK; -+ a_this->u.str = a_uri; -+ -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_token_set_delim (CRToken * a_this, guint32 a_char) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ -+ a_this->type = DELIM_TK; -+ a_this->u.unichar = a_char; -+ -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_token_set_semicolon (CRToken * a_this) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ -+ a_this->type = SEMICOLON_TK; -+ -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_token_set_cbo (CRToken * a_this) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ -+ a_this->type = CBO_TK; -+ -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_token_set_cbc (CRToken * a_this) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ -+ a_this->type = CBC_TK; -+ -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_token_set_po (CRToken * a_this) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ -+ a_this->type = PO_TK; -+ -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_token_set_pc (CRToken * a_this) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ -+ a_this->type = PC_TK; -+ -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_token_set_bo (CRToken * a_this) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ -+ a_this->type = BO_TK; -+ -+ return CR_OK; -+} -+ -+enum CRStatus -+cr_token_set_bc (CRToken * a_this) -+{ -+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); -+ -+ cr_token_clear (a_this); -+ -+ a_this->type = BC_TK; -+ -+ return CR_OK; -+} -+ -+/** -+ *The destructor of the #CRToken class. -+ *@param a_this the current instance of #CRToken. -+ */ -+void -+cr_token_destroy (CRToken * a_this) -+{ -+ g_return_if_fail (a_this); -+ -+ cr_token_clear (a_this); -+ -+ g_free (a_this); -+} -diff --git a/src/st/croco/cr-token.h b/src/st/croco/cr-token.h -new file mode 100644 -index 000000000..f1257b7a8 ---- /dev/null -+++ b/src/st/croco/cr-token.h -@@ -0,0 +1,212 @@ -+/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli -+ * See COPYRIGHTS file for copyright information. -+ */ -+ -+#ifndef __CR_TOKEN_H__ -+#define __CR_TOKEN_H__ -+ -+#include "cr-utils.h" -+#include "cr-input.h" -+#include "cr-num.h" -+#include "cr-rgb.h" -+#include "cr-string.h" -+#include "cr-parsing-location.h" -+ -+G_BEGIN_DECLS -+ -+enum CRTokenType -+{ -+ NO_TK, -+ S_TK, -+ CDO_TK, -+ CDC_TK, -+ INCLUDES_TK, -+ DASHMATCH_TK, -+ COMMENT_TK, -+ STRING_TK, -+ IDENT_TK, -+ HASH_TK, -+ IMPORT_SYM_TK, -+ PAGE_SYM_TK, -+ MEDIA_SYM_TK, -+ FONT_FACE_SYM_TK, -+ CHARSET_SYM_TK, -+ ATKEYWORD_TK, -+ IMPORTANT_SYM_TK, -+ EMS_TK, -+ EXS_TK, -+ LENGTH_TK, -+ ANGLE_TK, -+ TIME_TK, -+ FREQ_TK, -+ DIMEN_TK, -+ PERCENTAGE_TK, -+ NUMBER_TK, -+ RGB_TK, -+ URI_TK, -+ FUNCTION_TK, -+ UNICODERANGE_TK, -+ SEMICOLON_TK, -+ CBO_TK, /*opening curly bracket*/ -+ CBC_TK, /*closing curly bracket*/ -+ PO_TK, /*opening parenthesis*/ -+ PC_TK, /*closing parenthesis*/ -+ BO_TK, /*opening bracket*/ -+ BC_TK, /*closing bracket*/ -+ DELIM_TK -+} ; -+ -+enum CRTokenExtraType -+{ -+ NO_ET = 0, -+ LENGTH_PX_ET, -+ LENGTH_CM_ET, -+ LENGTH_MM_ET, -+ LENGTH_IN_ET, -+ LENGTH_PT_ET, -+ LENGTH_PC_ET, -+ ANGLE_DEG_ET, -+ ANGLE_RAD_ET, -+ ANGLE_GRAD_ET, -+ TIME_MS_ET, -+ TIME_S_ET, -+ FREQ_HZ_ET, -+ FREQ_KHZ_ET -+} ; -+ -+typedef struct _CRToken CRToken ; -+ -+/** -+ *This class abstracts a css2 token. -+ */ -+struct _CRToken -+{ -+ enum CRTokenType type ; -+ enum CRTokenExtraType extra_type ; -+ CRInputPos pos ; -+ -+ union -+ { -+ CRString *str ; -+ CRRgb *rgb ; -+ CRNum *num ; -+ guint32 unichar ; -+ } u ; -+ -+ CRString * dimen ; -+ CRParsingLocation location ; -+} ; -+ -+CRToken* cr_token_new (void) ; -+ -+enum CRStatus cr_token_set_s (CRToken *a_this) ; -+ -+enum CRStatus cr_token_set_cdo (CRToken *a_this) ; -+ -+enum CRStatus cr_token_set_cdc (CRToken *a_this) ; -+ -+enum CRStatus cr_token_set_includes (CRToken *a_this) ; -+ -+enum CRStatus cr_token_set_dashmatch (CRToken *a_this) ; -+ -+enum CRStatus cr_token_set_comment (CRToken *a_this, CRString *a_str) ; -+ -+enum CRStatus cr_token_set_string (CRToken *a_this, CRString *a_str) ; -+ -+enum CRStatus cr_token_set_ident (CRToken *a_this, CRString * a_ident) ; -+ -+enum CRStatus cr_token_set_hash (CRToken *a_this, CRString *a_hash) ; -+ -+enum CRStatus cr_token_set_rgb (CRToken *a_this, CRRgb *a_rgb) ; -+ -+enum CRStatus cr_token_set_import_sym (CRToken *a_this) ; -+ -+enum CRStatus cr_token_set_page_sym (CRToken *a_this) ; -+ -+enum CRStatus cr_token_set_media_sym (CRToken *a_this) ; -+ -+enum CRStatus cr_token_set_font_face_sym (CRToken *a_this) ; -+ -+enum CRStatus cr_token_set_charset_sym (CRToken *a_this) ; -+ -+enum CRStatus cr_token_set_atkeyword (CRToken *a_this, CRString *a_atname) ; -+ -+enum CRStatus cr_token_set_important_sym (CRToken *a_this) ; -+ -+enum CRStatus cr_token_set_ems (CRToken *a_this, CRNum *a_num) ; -+ -+enum CRStatus cr_token_set_exs (CRToken *a_this, CRNum *a_num) ; -+ -+enum CRStatus cr_token_set_length (CRToken *a_this, CRNum *a_num, -+ enum CRTokenExtraType a_et) ; -+ -+enum CRStatus cr_token_set_angle (CRToken *a_this, CRNum *a_num, -+ enum CRTokenExtraType a_et) ; -+ -+enum CRStatus cr_token_set_time (CRToken *a_this, CRNum *a_num, -+ enum CRTokenExtraType a_et) ; -+ -+enum CRStatus cr_token_set_freq (CRToken *a_this, CRNum *a_num, -+ enum CRTokenExtraType a_et) ; -+ -+enum CRStatus cr_token_set_dimen (CRToken *a_this, CRNum *a_num, -+ CRString *a_dim) ; -+ -+enum CRStatus cr_token_set_percentage (CRToken *a_this, CRNum *a_num) ; -+ -+enum CRStatus cr_token_set_number (CRToken *a_this, CRNum *a_num) ; -+ -+enum CRStatus cr_token_set_uri (CRToken *a_this, CRString *a_uri) ; -+ -+enum CRStatus cr_token_set_function (CRToken *a_this, -+ CRString *a_fun_name) ; -+ -+enum CRStatus cr_token_set_bc (CRToken *a_this) ; -+ -+enum CRStatus cr_token_set_bo (CRToken *a_this) ; -+ -+enum CRStatus cr_token_set_po (CRToken *a_this) ; -+ -+enum CRStatus cr_token_set_pc (CRToken *a_this) ; -+ -+enum CRStatus cr_token_set_cbc (CRToken *a_this) ; -+ -+enum CRStatus cr_token_set_cbo (CRToken *a_this) ; -+ -+enum CRStatus cr_token_set_semicolon (CRToken *a_this) ; -+ -+enum CRStatus cr_token_set_delim (CRToken *a_this, guint32 a_char) ; -+ -+ -+/* -+ enum CRStatus -+ cr_token_set_unicoderange (CRToken *a_this, -+ CRUnicodeRange *a_range) ; -+*/ -+ -+void -+cr_token_destroy (CRToken *a_this) ; -+ -+ -+G_END_DECLS -+ -+#endif /*__CR_TOKEN_H__*/ -diff --git a/src/st/croco/cr-utils.c b/src/st/croco/cr-utils.c -new file mode 100644 -index 000000000..2420cec7c ---- /dev/null -+++ b/src/st/croco/cr-utils.c -@@ -0,0 +1,1330 @@ -+/* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli -+ * See COPYRIGHTS file for copyright information. -+ */ -+ -+#include "cr-utils.h" -+#include "cr-string.h" -+ -+/** -+ *@file: -+ *Some misc utility functions used -+ *in the libcroco. -+ *Note that troughout this file I will -+ *refer to the CSS SPECIFICATIONS DOCUMENTATION -+ *written by the w3c guys. You can find that document -+ *at http://www.w3.org/TR/REC-CSS2/ . -+ */ -+ -+/**************************** -+ *Encoding transformations and -+ *encoding helpers -+ ****************************/ -+ -+/* -+ *Here is the correspondance between the ucs-4 charactere codes -+ *and there matching utf-8 encoding pattern as dscribed by RFC 2279: -+ * -+ *UCS-4 range (hex.) UTF-8 octet sequence (binary) -+ *------------------ ----------------------------- -+ *0000 0000-0000 007F 0xxxxxxx -+ *0000 0080-0000 07FF 110xxxxx 10xxxxxx -+ *0000 0800-0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx -+ *0001 0000-001F FFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx -+ *0020 0000-03FF FFFF 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx -+ *0400 0000-7FFF FFFF 1111110x 10xxxxxx ... 10xxxxxx -+ */ -+ -+/** -+ *Given an utf8 string buffer, calculates -+ *the length of this string if it was encoded -+ *in ucs4. -+ *@param a_in_start a pointer to the begining of -+ *the input utf8 string. -+ *@param a_in_end a pointre to the end of the input -+ *utf8 string (points to the last byte of the buffer) -+ *@param a_len out parameter the calculated length. -+ *@return CR_OK upon succesfull completion, an error code -+ *otherwise. -+ */ -+enum CRStatus -+cr_utils_utf8_str_len_as_ucs4 (const guchar * a_in_start, -+ const guchar * a_in_end, gulong * a_len) -+{ -+ guchar *byte_ptr = NULL; -+ gint len = 0; -+ -+ /* -+ *to store the final decoded -+ *unicode char -+ */ -+ guint c = 0; -+ -+ g_return_val_if_fail (a_in_start && a_in_end && a_len, -+ CR_BAD_PARAM_ERROR); -+ *a_len = 0; -+ -+ for (byte_ptr = (guchar *) a_in_start; -+ byte_ptr <= a_in_end; byte_ptr++) { -+ gint nb_bytes_2_decode = 0; -+ -+ if (*byte_ptr <= 0x7F) { -+ /* -+ *7 bits long char -+ *encoded over 1 byte: -+ * 0xxx xxxx -+ */ -+ c = *byte_ptr; -+ nb_bytes_2_decode = 1; -+ -+ } else if ((*byte_ptr & 0xE0) == 0xC0) { -+ /* -+ *up to 11 bits long char. -+ *encoded over 2 bytes: -+ *110x xxxx 10xx xxxx -+ */ -+ c = *byte_ptr & 0x1F; -+ nb_bytes_2_decode = 2; -+ -+ } else if ((*byte_ptr & 0xF0) == 0xE0) { -+ /* -+ *up to 16 bit long char -+ *encoded over 3 bytes: -+ *1110 xxxx 10xx xxxx 10xx xxxx -+ */ -+ c = *byte_ptr & 0x0F; -+ nb_bytes_2_decode = 3; -+ -+ } else if ((*byte_ptr & 0xF8) == 0xF0) { -+ /* -+ *up to 21 bits long char -+ *encoded over 4 bytes: -+ *1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx -+ */ -+ c = *byte_ptr & 0x7; -+ nb_bytes_2_decode = 4; -+ -+ } else if ((*byte_ptr & 0xFC) == 0xF8) { -+ /* -+ *up to 26 bits long char -+ *encoded over 5 bytes. -+ *1111 10xx 10xx xxxx 10xx xxxx -+ *10xx xxxx 10xx xxxx -+ */ -+ c = *byte_ptr & 3; -+ nb_bytes_2_decode = 5; -+ -+ } else if ((*byte_ptr & 0xFE) == 0xFC) { -+ /* -+ *up to 31 bits long char -+ *encoded over 6 bytes: -+ *1111 110x 10xx xxxx 10xx xxxx -+ *10xx xxxx 10xx xxxx 10xx xxxx -+ */ -+ c = *byte_ptr & 1; -+ nb_bytes_2_decode = 6; -+ -+ } else { -+ /* -+ *BAD ENCODING -+ */ -+ return CR_ENCODING_ERROR; -+ } -+ -+ /* -+ *Go and decode the remaining byte(s) -+ *(if any) to get the current character. -+ */ -+ for (; nb_bytes_2_decode > 1; nb_bytes_2_decode--) { -+ /*decode the next byte */ -+ byte_ptr++; -+ -+ /*byte pattern must be: 10xx xxxx */ -+ if ((*byte_ptr & 0xC0) != 0x80) { -+ return CR_ENCODING_ERROR; -+ } -+ -+ c = (c << 6) | (*byte_ptr & 0x3F); -+ } -+ -+ len++; -+ } -+ -+ *a_len = len; -+ -+ return CR_OK; -+} -+ -+/** -+ *Given an ucs4 string, this function -+ *returns the size (in bytes) this string -+ *would have occupied if it was encoded in utf-8. -+ *@param a_in_start a pointer to the beginning of the input -+ *buffer. -+ *@param a_in_end a pointer to the end of the input buffer. -+ *@param a_len out parameter. The computed length. -+ *@return CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_utils_ucs4_str_len_as_utf8 (const guint32 * a_in_start, -+ const guint32 * a_in_end, gulong * a_len) -+{ -+ gint len = 0; -+ guint32 *char_ptr = NULL; -+ -+ g_return_val_if_fail (a_in_start && a_in_end && a_len, -+ CR_BAD_PARAM_ERROR); -+ -+ for (char_ptr = (guint32 *) a_in_start; -+ char_ptr <= a_in_end; char_ptr++) { -+ if (*char_ptr <= 0x7F) { -+ /*the utf-8 char would take 1 byte */ -+ len += 1; -+ } else if (*char_ptr <= 0x7FF) { -+ /*the utf-8 char would take 2 bytes */ -+ len += 2; -+ } else if (*char_ptr <= 0xFFFF) { -+ len += 3; -+ } else if (*char_ptr <= 0x1FFFFF) { -+ len += 4; -+ } else if (*char_ptr <= 0x3FFFFFF) { -+ len += 5; -+ } else if (*char_ptr <= 0x7FFFFFFF) { -+ len += 6; -+ } -+ } -+ -+ *a_len = len; -+ return CR_OK; -+} -+ -+/** -+ *Given an ucsA string, this function -+ *returns the size (in bytes) this string -+ *would have occupied if it was encoded in utf-8. -+ *@param a_in_start a pointer to the beginning of the input -+ *buffer. -+ *@param a_in_end a pointer to the end of the input buffer. -+ *@param a_len out parameter. The computed length. -+ *@return CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_utils_ucs1_str_len_as_utf8 (const guchar * a_in_start, -+ const guchar * a_in_end, gulong * a_len) -+{ -+ gint len = 0; -+ guchar *char_ptr = NULL; -+ -+ g_return_val_if_fail (a_in_start && a_in_end && a_len, -+ CR_BAD_PARAM_ERROR); -+ -+ for (char_ptr = (guchar *) a_in_start; -+ char_ptr <= a_in_end; char_ptr++) { -+ if (*char_ptr <= 0x7F) { -+ /*the utf-8 char would take 1 byte */ -+ len += 1; -+ } else { -+ /*the utf-8 char would take 2 bytes */ -+ len += 2; -+ } -+ } -+ -+ *a_len = len; -+ return CR_OK; -+} -+ -+/** -+ *Converts an utf8 buffer into an ucs4 buffer. -+ * -+ *@param a_in the input utf8 buffer to convert. -+ *@param a_in_len in/out parameter. The size of the -+ *input buffer to convert. After return, this parameter contains -+ *the actual number of bytes consumed. -+ *@param a_out the output converted ucs4 buffer. Must be allocated by -+ *the caller. -+ *@param a_out_len in/out parameter. The size of the output buffer. -+ *If this size is actually smaller than the real needed size, the function -+ *just converts what it can and returns a success status. After return, -+ *this param points to the actual number of characters decoded. -+ *@return CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_utils_utf8_to_ucs4 (const guchar * a_in, -+ gulong * a_in_len, guint32 * a_out, gulong * a_out_len) -+{ -+ gulong in_len = 0, -+ out_len = 0, -+ in_index = 0, -+ out_index = 0; -+ enum CRStatus status = CR_OK; -+ -+ /* -+ *to store the final decoded -+ *unicode char -+ */ -+ guint c = 0; -+ -+ g_return_val_if_fail (a_in && a_in_len -+ && a_out && a_out_len, CR_BAD_PARAM_ERROR); -+ -+ if (*a_in_len < 1) { -+ status = CR_OK; -+ goto end; -+ } -+ -+ in_len = *a_in_len; -+ out_len = *a_out_len; -+ -+ for (in_index = 0, out_index = 0; -+ (in_index < in_len) && (out_index < out_len); -+ in_index++, out_index++) { -+ gint nb_bytes_2_decode = 0; -+ -+ if (a_in[in_index] <= 0x7F) { -+ /* -+ *7 bits long char -+ *encoded over 1 byte: -+ * 0xxx xxxx -+ */ -+ c = a_in[in_index]; -+ nb_bytes_2_decode = 1; -+ -+ } else if ((a_in[in_index] & 0xE0) == 0xC0) { -+ /* -+ *up to 11 bits long char. -+ *encoded over 2 bytes: -+ *110x xxxx 10xx xxxx -+ */ -+ c = a_in[in_index] & 0x1F; -+ nb_bytes_2_decode = 2; -+ -+ } else if ((a_in[in_index] & 0xF0) == 0xE0) { -+ /* -+ *up to 16 bit long char -+ *encoded over 3 bytes: -+ *1110 xxxx 10xx xxxx 10xx xxxx -+ */ -+ c = a_in[in_index] & 0x0F; -+ nb_bytes_2_decode = 3; -+ -+ } else if ((a_in[in_index] & 0xF8) == 0xF0) { -+ /* -+ *up to 21 bits long char -+ *encoded over 4 bytes: -+ *1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx -+ */ -+ c = a_in[in_index] & 0x7; -+ nb_bytes_2_decode = 4; -+ -+ } else if ((a_in[in_index] & 0xFC) == 0xF8) { -+ /* -+ *up to 26 bits long char -+ *encoded over 5 bytes. -+ *1111 10xx 10xx xxxx 10xx xxxx -+ *10xx xxxx 10xx xxxx -+ */ -+ c = a_in[in_index] & 3; -+ nb_bytes_2_decode = 5; -+ -+ } else if ((a_in[in_index] & 0xFE) == 0xFC) { -+ /* -+ *up to 31 bits long char -+ *encoded over 6 bytes: -+ *1111 110x 10xx xxxx 10xx xxxx -+ *10xx xxxx 10xx xxxx 10xx xxxx -+ */ -+ c = a_in[in_index] & 1; -+ nb_bytes_2_decode = 6; -+ -+ } else { -+ /*BAD ENCODING */ -+ goto end; -+ } -+ -+ /* -+ *Go and decode the remaining byte(s) -+ *(if any) to get the current character. -+ */ -+ for (; nb_bytes_2_decode > 1; nb_bytes_2_decode--) { -+ /*decode the next byte */ -+ in_index++; -+ -+ /*byte pattern must be: 10xx xxxx */ -+ if ((a_in[in_index] & 0xC0) != 0x80) { -+ goto end; -+ } -+ -+ c = (c << 6) | (a_in[in_index] & 0x3F); -+ } -+ -+ /* -+ *The decoded ucs4 char is now -+ *in c. -+ */ -+ -+ /************************ -+ *Some security tests -+ ***********************/ -+ -+ /*be sure c is a char */ -+ if (c == 0xFFFF || c == 0xFFFE) -+ goto end; -+ -+ /*be sure c is inferior to the max ucs4 char value */ -+ if (c > 0x10FFFF) -+ goto end; -+ -+ /* -+ *c must be less than UTF16 "lower surrogate begin" -+ *or higher than UTF16 "High surrogate end" -+ */ -+ if (c >= 0xD800 && c <= 0xDFFF) -+ goto end; -+ -+ /*Avoid characters that equals zero */ -+ if (c == 0) -+ goto end; -+ -+ a_out[out_index] = c; -+ } -+ -+ end: -+ *a_out_len = out_index + 1; -+ *a_in_len = in_index + 1; -+ -+ return status; -+} -+ -+/** -+ *Reads a character from an utf8 buffer. -+ *Actually decode the next character code (unicode character code) -+ *and returns it. -+ *@param a_in the starting address of the utf8 buffer. -+ *@param a_in_len the length of the utf8 buffer. -+ *@param a_out output parameter. The resulting read char. -+ *@param a_consumed the number of the bytes consumed to -+ *decode the returned character code. -+ *@return CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_utils_read_char_from_utf8_buf (const guchar * a_in, -+ gulong a_in_len, -+ guint32 * a_out, gulong * a_consumed) -+{ -+ gulong in_index = 0, -+ nb_bytes_2_decode = 0; -+ enum CRStatus status = CR_OK; -+ -+ /* -+ *to store the final decoded -+ *unicode char -+ */ -+ guint32 c = 0; -+ -+ g_return_val_if_fail (a_in && a_out && a_out -+ && a_consumed, CR_BAD_PARAM_ERROR); -+ -+ if (a_in_len < 1) { -+ status = CR_OK; -+ goto end; -+ } -+ -+ if (*a_in <= 0x7F) { -+ /* -+ *7 bits long char -+ *encoded over 1 byte: -+ * 0xxx xxxx -+ */ -+ c = *a_in; -+ nb_bytes_2_decode = 1; -+ -+ } else if ((*a_in & 0xE0) == 0xC0) { -+ /* -+ *up to 11 bits long char. -+ *encoded over 2 bytes: -+ *110x xxxx 10xx xxxx -+ */ -+ c = *a_in & 0x1F; -+ nb_bytes_2_decode = 2; -+ -+ } else if ((*a_in & 0xF0) == 0xE0) { -+ /* -+ *up to 16 bit long char -+ *encoded over 3 bytes: -+ *1110 xxxx 10xx xxxx 10xx xxxx -+ */ -+ c = *a_in & 0x0F; -+ nb_bytes_2_decode = 3; -+ -+ } else if ((*a_in & 0xF8) == 0xF0) { -+ /* -+ *up to 21 bits long char -+ *encoded over 4 bytes: -+ *1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx -+ */ -+ c = *a_in & 0x7; -+ nb_bytes_2_decode = 4; -+ -+ } else if ((*a_in & 0xFC) == 0xF8) { -+ /* -+ *up to 26 bits long char -+ *encoded over 5 bytes. -+ *1111 10xx 10xx xxxx 10xx xxxx -+ *10xx xxxx 10xx xxxx -+ */ -+ c = *a_in & 3; -+ nb_bytes_2_decode = 5; -+ -+ } else if ((*a_in & 0xFE) == 0xFC) { -+ /* -+ *up to 31 bits long char -+ *encoded over 6 bytes: -+ *1111 110x 10xx xxxx 10xx xxxx -+ *10xx xxxx 10xx xxxx 10xx xxxx -+ */ -+ c = *a_in & 1; -+ nb_bytes_2_decode = 6; -+ -+ } else { -+ /*BAD ENCODING */ -+ goto end; -+ } -+ -+ if (nb_bytes_2_decode > a_in_len) { -+ status = CR_END_OF_INPUT_ERROR; -+ goto end; -+ } -+ -+ /* -+ *Go and decode the remaining byte(s) -+ *(if any) to get the current character. -+ */ -+ for (in_index = 1; in_index < nb_bytes_2_decode; in_index++) { -+ /*byte pattern must be: 10xx xxxx */ -+ if ((a_in[in_index] & 0xC0) != 0x80) { -+ goto end; -+ } -+ -+ c = (c << 6) | (a_in[in_index] & 0x3F); -+ } -+ -+ /* -+ *The decoded ucs4 char is now -+ *in c. -+ */ -+ -+ /************************ -+ *Some security tests -+ ***********************/ -+ -+ /*be sure c is a char */ -+ if (c == 0xFFFF || c == 0xFFFE) -+ goto end; -+ -+ /*be sure c is inferior to the max ucs4 char value */ -+ if (c > 0x10FFFF) -+ goto end; -+ -+ /* -+ *c must be less than UTF16 "lower surrogate begin" -+ *or higher than UTF16 "High surrogate end" -+ */ -+ if (c >= 0xD800 && c <= 0xDFFF) -+ goto end; -+ -+ /*Avoid characters that equals zero */ -+ if (c == 0) -+ goto end; -+ -+ *a_out = c; -+ -+ end: -+ *a_consumed = nb_bytes_2_decode; -+ -+ return status; -+} -+ -+/** -+ * -+ */ -+enum CRStatus -+cr_utils_utf8_str_len_as_ucs1 (const guchar * a_in_start, -+ const guchar * a_in_end, gulong * a_len) -+{ -+ /* -+ *Note: this function can be made shorter -+ *but it considers all the cases of the utf8 encoding -+ *to ease further extensions ... -+ */ -+ -+ guchar *byte_ptr = NULL; -+ gint len = 0; -+ -+ /* -+ *to store the final decoded -+ *unicode char -+ */ -+ guint c = 0; -+ -+ g_return_val_if_fail (a_in_start && a_in_end && a_len, -+ CR_BAD_PARAM_ERROR); -+ *a_len = 0; -+ -+ for (byte_ptr = (guchar *) a_in_start; -+ byte_ptr <= a_in_end; byte_ptr++) { -+ gint nb_bytes_2_decode = 0; -+ -+ if (*byte_ptr <= 0x7F) { -+ /* -+ *7 bits long char -+ *encoded over 1 byte: -+ * 0xxx xxxx -+ */ -+ c = *byte_ptr; -+ nb_bytes_2_decode = 1; -+ -+ } else if ((*byte_ptr & 0xE0) == 0xC0) { -+ /* -+ *up to 11 bits long char. -+ *encoded over 2 bytes: -+ *110x xxxx 10xx xxxx -+ */ -+ c = *byte_ptr & 0x1F; -+ nb_bytes_2_decode = 2; -+ -+ } else if ((*byte_ptr & 0xF0) == 0xE0) { -+ /* -+ *up to 16 bit long char -+ *encoded over 3 bytes: -+ *1110 xxxx 10xx xxxx 10xx xxxx -+ */ -+ c = *byte_ptr & 0x0F; -+ nb_bytes_2_decode = 3; -+ -+ } else if ((*byte_ptr & 0xF8) == 0xF0) { -+ /* -+ *up to 21 bits long char -+ *encoded over 4 bytes: -+ *1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx -+ */ -+ c = *byte_ptr & 0x7; -+ nb_bytes_2_decode = 4; -+ -+ } else if ((*byte_ptr & 0xFC) == 0xF8) { -+ /* -+ *up to 26 bits long char -+ *encoded over 5 bytes. -+ *1111 10xx 10xx xxxx 10xx xxxx -+ *10xx xxxx 10xx xxxx -+ */ -+ c = *byte_ptr & 3; -+ nb_bytes_2_decode = 5; -+ -+ } else if ((*byte_ptr & 0xFE) == 0xFC) { -+ /* -+ *up to 31 bits long char -+ *encoded over 6 bytes: -+ *1111 110x 10xx xxxx 10xx xxxx -+ *10xx xxxx 10xx xxxx 10xx xxxx -+ */ -+ c = *byte_ptr & 1; -+ nb_bytes_2_decode = 6; -+ -+ } else { -+ /* -+ *BAD ENCODING -+ */ -+ return CR_ENCODING_ERROR; -+ } -+ -+ /* -+ *Go and decode the remaining byte(s) -+ *(if any) to get the current character. -+ */ -+ for (; nb_bytes_2_decode > 1; nb_bytes_2_decode--) { -+ /*decode the next byte */ -+ byte_ptr++; -+ -+ /*byte pattern must be: 10xx xxxx */ -+ if ((*byte_ptr & 0xC0) != 0x80) { -+ return CR_ENCODING_ERROR; -+ } -+ -+ c = (c << 6) | (*byte_ptr & 0x3F); -+ } -+ -+ /* -+ *The decoded ucs4 char is now -+ *in c. -+ */ -+ -+ if (c <= 0xFF) { /*Add other conditions to support -+ *other char sets (ucs2, ucs3, ucs4). -+ */ -+ len++; -+ } else { -+ /*the char is too long to fit -+ *into the supposed charset len. -+ */ -+ return CR_ENCODING_ERROR; -+ } -+ } -+ -+ *a_len = len; -+ -+ return CR_OK; -+} -+ -+/** -+ *Converts an utf8 string into an ucs4 string. -+ *@param a_in the input string to convert. -+ *@param a_in_len in/out parameter. The length of the input -+ *string. After return, points to the actual number of bytes -+ *consumed. This can be usefull to debug the input stream in case -+ *of encoding error. -+ *@param a_out out parameter. Points to the output string. It is allocated -+ *by this function and must be freed by the caller. -+ *@param a_out_len out parameter. The length of the output string. -+ *@return CR_OK upon successfull completion, an error code otherwise. -+ * -+ */ -+enum CRStatus -+cr_utils_utf8_str_to_ucs4 (const guchar * a_in, -+ gulong * a_in_len, -+ guint32 ** a_out, gulong * a_out_len) -+{ -+ enum CRStatus status = CR_OK; -+ -+ g_return_val_if_fail (a_in && a_in_len -+ && a_out && a_out_len, CR_BAD_PARAM_ERROR); -+ -+ status = cr_utils_utf8_str_len_as_ucs4 (a_in, -+ &a_in[*a_in_len - 1], -+ a_out_len); -+ -+ g_return_val_if_fail (status == CR_OK, status); -+ -+ *a_out = g_malloc0 (*a_out_len * sizeof (guint32)); -+ -+ status = cr_utils_utf8_to_ucs4 (a_in, a_in_len, *a_out, a_out_len); -+ -+ return status; -+} -+ -+/** -+ *Converts an ucs4 buffer into an utf8 buffer. -+ * -+ *@param a_in the input ucs4 buffer to convert. -+ *@param a_in_len in/out parameter. The size of the -+ *input buffer to convert. After return, this parameter contains -+ *the actual number of characters consumed. -+ *@param a_out the output converted utf8 buffer. Must be allocated by -+ *the caller. -+ *@param a_out_len in/out parameter. The size of the output buffer. -+ *If this size is actually smaller than the real needed size, the function -+ *just converts what it can and returns a success status. After return, -+ *this param points to the actual number of bytes in the buffer. -+ *@return CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_utils_ucs4_to_utf8 (const guint32 * a_in, -+ gulong * a_in_len, guchar * a_out, gulong * a_out_len) -+{ -+ gulong in_len = 0, -+ in_index = 0, -+ out_index = 0; -+ enum CRStatus status = CR_OK; -+ -+ g_return_val_if_fail (a_in && a_in_len && a_out && a_out_len, -+ CR_BAD_PARAM_ERROR); -+ -+ if (*a_in_len < 1) { -+ status = CR_OK; -+ goto end; -+ } -+ -+ in_len = *a_in_len; -+ -+ for (in_index = 0; in_index < in_len; in_index++) { -+ /* -+ *FIXME: return whenever we encounter forbidden char values. -+ */ -+ -+ if (a_in[in_index] <= 0x7F) { -+ a_out[out_index] = a_in[in_index]; -+ out_index++; -+ } else if (a_in[in_index] <= 0x7FF) { -+ a_out[out_index] = (0xC0 | (a_in[in_index] >> 6)); -+ a_out[out_index + 1] = -+ (0x80 | (a_in[in_index] & 0x3F)); -+ out_index += 2; -+ } else if (a_in[in_index] <= 0xFFFF) { -+ a_out[out_index] = (0xE0 | (a_in[in_index] >> 12)); -+ a_out[out_index + 1] = -+ (0x80 | ((a_in[in_index] >> 6) & 0x3F)); -+ a_out[out_index + 2] = -+ (0x80 | (a_in[in_index] & 0x3F)); -+ out_index += 3; -+ } else if (a_in[in_index] <= 0x1FFFFF) { -+ a_out[out_index] = (0xF0 | (a_in[in_index] >> 18)); -+ a_out[out_index + 1] -+ = (0x80 | ((a_in[in_index] >> 12) & 0x3F)); -+ a_out[out_index + 2] -+ = (0x80 | ((a_in[in_index] >> 6) & 0x3F)); -+ a_out[out_index + 3] -+ = (0x80 | (a_in[in_index] & 0x3F)); -+ out_index += 4; -+ } else if (a_in[in_index] <= 0x3FFFFFF) { -+ a_out[out_index] = (0xF8 | (a_in[in_index] >> 24)); -+ a_out[out_index + 1] = -+ (0x80 | (a_in[in_index] >> 18)); -+ a_out[out_index + 2] -+ = (0x80 | ((a_in[in_index] >> 12) & 0x3F)); -+ a_out[out_index + 3] -+ = (0x80 | ((a_in[in_index] >> 6) & 0x3F)); -+ a_out[out_index + 4] -+ = (0x80 | (a_in[in_index] & 0x3F)); -+ out_index += 5; -+ } else if (a_in[in_index] <= 0x7FFFFFFF) { -+ a_out[out_index] = (0xFC | (a_in[in_index] >> 30)); -+ a_out[out_index + 1] = -+ (0x80 | (a_in[in_index] >> 24)); -+ a_out[out_index + 2] -+ = (0x80 | ((a_in[in_index] >> 18) & 0x3F)); -+ a_out[out_index + 3] -+ = (0x80 | ((a_in[in_index] >> 12) & 0x3F)); -+ a_out[out_index + 4] -+ = (0x80 | ((a_in[in_index] >> 6) & 0x3F)); -+ a_out[out_index + 4] -+ = (0x80 | (a_in[in_index] & 0x3F)); -+ out_index += 6; -+ } else { -+ status = CR_ENCODING_ERROR; -+ goto end; -+ } -+ } /*end for */ -+ -+ end: -+ *a_in_len = in_index + 1; -+ *a_out_len = out_index + 1; -+ -+ return status; -+} -+ -+/** -+ *Converts an ucs4 string into an utf8 string. -+ *@param a_in the input string to convert. -+ *@param a_in_len in/out parameter. The length of the input -+ *string. After return, points to the actual number of characters -+ *consumed. This can be usefull to debug the input string in case -+ *of encoding error. -+ *@param a_out out parameter. Points to the output string. It is allocated -+ *by this function and must be freed by the caller. -+ *@param a_out_len out parameter. The length (in bytes) of the output string. -+ *@return CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_utils_ucs4_str_to_utf8 (const guint32 * a_in, -+ gulong * a_in_len, -+ guchar ** a_out, gulong * a_out_len) -+{ -+ enum CRStatus status = CR_OK; -+ -+ g_return_val_if_fail (a_in && a_in_len && a_out -+ && a_out_len, CR_BAD_PARAM_ERROR); -+ -+ status = cr_utils_ucs4_str_len_as_utf8 (a_in, -+ &a_in[*a_out_len - 1], -+ a_out_len); -+ -+ g_return_val_if_fail (status == CR_OK, status); -+ -+ status = cr_utils_ucs4_to_utf8 (a_in, a_in_len, *a_out, a_out_len); -+ -+ return status; -+} -+ -+/** -+ *Converts an ucs1 buffer into an utf8 buffer. -+ *The caller must know the size of the resulting buffer and -+ *allocate it prior to calling this function. -+ * -+ *@param a_in the input ucs1 buffer. -+ * -+ *@param a_in_len in/out parameter. The length of the input buffer. -+ *After return, points to the number of bytes actually consumed even -+ *in case of encoding error. -+ * -+ *@param a_out out parameter. The output utf8 converted buffer. -+ * -+ *@param a_out_len in/out parameter. The size of the output buffer. -+ *If the output buffer size is shorter than the actual needed size, -+ *this function just convert what it can. -+ * -+ *@return CR_OK upon successfull completion, an error code otherwise. -+ * -+ */ -+enum CRStatus -+cr_utils_ucs1_to_utf8 (const guchar * a_in, -+ gulong * a_in_len, guchar * a_out, gulong * a_out_len) -+{ -+ gulong out_index = 0, -+ in_index = 0, -+ in_len = 0, -+ out_len = 0; -+ enum CRStatus status = CR_OK; -+ -+ g_return_val_if_fail (a_in && a_in_len -+ && a_out_len, -+ CR_BAD_PARAM_ERROR); -+ -+ if (*a_in_len == 0) { -+ *a_out_len = 0 ; -+ return status; -+ } -+ g_return_val_if_fail (a_out, CR_BAD_PARAM_ERROR) ; -+ -+ in_len = *a_in_len; -+ out_len = *a_out_len; -+ -+ for (in_index = 0, out_index = 0; -+ (in_index < in_len) && (out_index < out_len); in_index++) { -+ /* -+ *FIXME: return whenever we encounter forbidden char values. -+ */ -+ -+ if (a_in[in_index] <= 0x7F) { -+ a_out[out_index] = a_in[in_index]; -+ out_index++; -+ } else { -+ a_out[out_index] = (0xC0 | (a_in[in_index] >> 6)); -+ a_out[out_index + 1] = -+ (0x80 | (a_in[in_index] & 0x3F)); -+ out_index += 2; -+ } -+ } /*end for */ -+ -+ *a_in_len = in_index; -+ *a_out_len = out_index; -+ -+ return status; -+} -+ -+/** -+ *Converts an ucs1 string into an utf8 string. -+ *@param a_in_start the beginning of the input string to convert. -+ *@param a_in_end the end of the input string to convert. -+ *@param a_out out parameter. The converted string. -+ *@param a_out out parameter. The length of the converted string. -+ *@return CR_OK upon successfull completion, an error code otherwise. -+ * -+ */ -+enum CRStatus -+cr_utils_ucs1_str_to_utf8 (const guchar * a_in, -+ gulong * a_in_len, -+ guchar ** a_out, gulong * a_out_len) -+{ -+ gulong out_len = 0; -+ enum CRStatus status = CR_OK; -+ -+ g_return_val_if_fail (a_in && a_in_len && a_out -+ && a_out_len, CR_BAD_PARAM_ERROR); -+ -+ if (*a_in_len < 1) { -+ *a_out_len = 0; -+ *a_out = NULL; -+ return CR_OK; -+ } -+ -+ status = cr_utils_ucs1_str_len_as_utf8 (a_in, &a_in[*a_in_len - 1], -+ &out_len); -+ -+ g_return_val_if_fail (status == CR_OK, status); -+ -+ *a_out = g_malloc0 (out_len); -+ -+ status = cr_utils_ucs1_to_utf8 (a_in, a_in_len, *a_out, &out_len); -+ -+ *a_out_len = out_len; -+ -+ return status; -+} -+ -+/** -+ *Converts an utf8 buffer into an ucs1 buffer. -+ *The caller must know the size of the resulting -+ *converted buffer, and allocated it prior to calling this -+ *function. -+ * -+ *@param a_in the input utf8 buffer to convert. -+ * -+ *@param a_in_len in/out parameter. The size of the input utf8 buffer. -+ *After return, points to the number of bytes consumed -+ *by the function even in case of encoding error. -+ * -+ *@param a_out out parameter. Points to the resulting buffer. -+ *Must be allocated by the caller. If the size of a_out is shorter -+ *than its required size, this function converts what it can and return -+ *a successfull status. -+ * -+ *@param a_out_len in/out parameter. The size of the output buffer. -+ *After return, points to the number of bytes consumed even in case of -+ *encoding error. -+ * -+ *@return CR_OK upon successfull completion, an error code otherwise. -+ */ -+enum CRStatus -+cr_utils_utf8_to_ucs1 (const guchar * a_in, -+ gulong * a_in_len, guchar * a_out, gulong * a_out_len) -+{ -+ gulong in_index = 0, -+ out_index = 0, -+ in_len = 0, -+ out_len = 0; -+ enum CRStatus status = CR_OK; -+ -+ /* -+ *to store the final decoded -+ *unicode char -+ */ -+ guint32 c = 0; -+ -+ g_return_val_if_fail (a_in && a_in_len -+ && a_out && a_out_len, CR_BAD_PARAM_ERROR); -+ -+ if (*a_in_len < 1) { -+ goto end; -+ } -+ -+ in_len = *a_in_len; -+ out_len = *a_out_len; -+ -+ for (in_index = 0, out_index = 0; -+ (in_index < in_len) && (out_index < out_len); -+ in_index++, out_index++) { -+ gint nb_bytes_2_decode = 0; -+ -+ if (a_in[in_index] <= 0x7F) { -+ /* -+ *7 bits long char -+ *encoded over 1 byte: -+ * 0xxx xxxx -+ */ -+ c = a_in[in_index]; -+ nb_bytes_2_decode = 1; -+ -+ } else if ((a_in[in_index] & 0xE0) == 0xC0) { -+ /* -+ *up to 11 bits long char. -+ *encoded over 2 bytes: -+ *110x xxxx 10xx xxxx -+ */ -+ c = a_in[in_index] & 0x1F; -+ nb_bytes_2_decode = 2; -+ -+ } else if ((a_in[in_index] & 0xF0) == 0xE0) { -+ /* -+ *up to 16 bit long char -+ *encoded over 3 bytes: -+ *1110 xxxx 10xx xxxx 10xx xxxx -+ */ -+ c = a_in[in_index] & 0x0F; -+ nb_bytes_2_decode = 3; -+ -+ } else if ((a_in[in_index] & 0xF8) == 0xF0) { -+ /* -+ *up to 21 bits long char -+ *encoded over 4 bytes: -+ *1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx -+ */ -+ c = a_in[in_index] & 0x7; -+ nb_bytes_2_decode = 4; -+ -+ } else if ((a_in[in_index] & 0xFC) == 0xF8) { -+ /* -+ *up to 26 bits long char -+ *encoded over 5 bytes. -+ *1111 10xx 10xx xxxx 10xx xxxx -+ *10xx xxxx 10xx xxxx -+ */ -+ c = a_in[in_index] & 3; -+ nb_bytes_2_decode = 5; -+ -+ } else if ((a_in[in_index] & 0xFE) == 0xFC) { -+ /* -+ *up to 31 bits long char -+ *encoded over 6 bytes: -+ *1111 110x 10xx xxxx 10xx xxxx -+ *10xx xxxx 10xx xxxx 10xx xxxx -+ */ -+ c = a_in[in_index] & 1; -+ nb_bytes_2_decode = 6; -+ -+ } else { -+ /*BAD ENCODING */ -+ status = CR_ENCODING_ERROR; -+ goto end; -+ } -+ -+ /* -+ *Go and decode the remaining byte(s) -+ *(if any) to get the current character. -+ */ -+ if (in_index + nb_bytes_2_decode - 1 >= in_len) { -+ goto end; -+ } -+ -+ for (; nb_bytes_2_decode > 1; nb_bytes_2_decode--) { -+ /*decode the next byte */ -+ in_index++; -+ -+ /*byte pattern must be: 10xx xxxx */ -+ if ((a_in[in_index] & 0xC0) != 0x80) { -+ status = CR_ENCODING_ERROR; -+ goto end; -+ } -+ -+ c = (c << 6) | (a_in[in_index] & 0x3F); -+ } -+ -+ /* -+ *The decoded ucs4 char is now -+ *in c. -+ */ -+ -+ if (c > 0xFF) { -+ status = CR_ENCODING_ERROR; -+ goto end; -+ } -+ -+ a_out[out_index] = c; -+ } -+ -+ end: -+ *a_out_len = out_index; -+ *a_in_len = in_index; -+ -+ return status; -+} -+ -+/** -+ *Converts an utf8 buffer into an -+ *ucs1 buffer. -+ *@param a_in_start the start of the input buffer. -+ *@param a_in_end the end of the input buffer. -+ *@param a_out out parameter. The resulting converted ucs4 buffer. -+ *Must be freed by the caller. -+ *@param a_out_len out parameter. The length of the converted buffer. -+ *@return CR_OK upon successfull completion, an error code otherwise. -+ *Note that out parameters are valid if and only if this function -+ *returns CR_OK. -+ */ -+enum CRStatus -+cr_utils_utf8_str_to_ucs1 (const guchar * a_in, -+ gulong * a_in_len, -+ guchar ** a_out, gulong * a_out_len) -+{ -+ enum CRStatus status = CR_OK; -+ -+ g_return_val_if_fail (a_in && a_in_len -+ && a_out && a_out_len, CR_BAD_PARAM_ERROR); -+ -+ if (*a_in_len < 1) { -+ *a_out_len = 0; -+ *a_out = NULL; -+ return CR_OK; -+ } -+ -+ status = cr_utils_utf8_str_len_as_ucs4 (a_in, &a_in[*a_in_len - 1], -+ a_out_len); -+ -+ g_return_val_if_fail (status == CR_OK, status); -+ -+ *a_out = g_malloc0 (*a_out_len * sizeof (guint32)); -+ -+ status = cr_utils_utf8_to_ucs1 (a_in, a_in_len, *a_out, a_out_len); -+ return status; -+} -+ -+/***************************************** -+ *CSS basic types identification utilities -+ *****************************************/ -+ -+/** -+ *Returns TRUE if a_char is a white space as -+ *defined in the css spec in chap 4.1.1. -+ * -+ *white-space ::= ' '| \t|\r|\n|\f -+ * -+ *@param a_char the character to test. -+ *return TRUE if is a white space, false otherwise. -+ */ -+gboolean -+cr_utils_is_white_space (guint32 a_char) -+{ -+ switch (a_char) { -+ case ' ': -+ case '\t': -+ case '\r': -+ case '\n': -+ case '\f': -+ return TRUE; -+ break; -+ default: -+ return FALSE; -+ } -+} -+ -+/** -+ *Returns true if the character is a newline -+ *as defined in the css spec in the chap 4.1.1. -+ * -+ *nl ::= \n|\r\n|\r|\f -+ * -+ *@param a_char the character to test. -+ *@return TRUE if the character is a newline, FALSE otherwise. -+ */ -+gboolean -+cr_utils_is_newline (guint32 a_char) -+{ -+ switch (a_char) { -+ case '\n': -+ case '\r': -+ case '\f': -+ return TRUE; -+ break; -+ default: -+ return FALSE; -+ } -+} -+ -+/** -+ *returns TRUE if the char is part of an hexa num char: -+ *i.e hexa_char ::= [0-9A-F] -+ */ -+gboolean -+cr_utils_is_hexa_char (guint32 a_char) -+{ -+ if ((a_char >= '0' && a_char <= '9') -+ || (a_char >= 'A' && a_char <= 'F')) { -+ return TRUE; -+ } -+ return FALSE; -+} -+ -+/** -+ *Returns true if the character is a nonascii -+ *character (as defined in the css spec chap 4.1.1): -+ * -+ *nonascii ::= [^\0-\177] -+ * -+ *@param a_char the character to test. -+ *@return TRUE if the character is a nonascii char, -+ *FALSE otherwise. -+ */ -+gboolean -+cr_utils_is_nonascii (guint32 a_char) -+{ -+ if (a_char <= 177) { -+ return FALSE; -+ } -+ -+ return TRUE; -+} -+ -+/** -+ *Dumps a character a_nb times on a file. -+ *@param a_char the char to dump -+ *@param a_fp the destination file pointer -+ *@param a_nb the number of times a_char is to be dumped. -+ */ -+void -+cr_utils_dump_n_chars (guchar a_char, FILE * a_fp, glong a_nb) -+{ -+ glong i = 0; -+ -+ for (i = 0; i < a_nb; i++) { -+ fprintf (a_fp, "%c", a_char); -+ } -+} -+ -+void -+cr_utils_dump_n_chars2 (guchar a_char, GString * a_string, glong a_nb) -+{ -+ glong i = 0; -+ -+ g_return_if_fail (a_string); -+ -+ for (i = 0; i < a_nb; i++) { -+ g_string_append_printf (a_string, "%c", a_char); -+ } -+} -+ -+/** -+ *Duplicates a list of GString instances. -+ *@return the duplicated list of GString instances or NULL if -+ *something bad happened. -+ *@param a_list_of_strings the list of strings to be duplicated. -+ */ -+GList * -+cr_utils_dup_glist_of_string (GList const * a_list_of_strings) -+{ -+ GList const *cur = NULL; -+ GList *result = NULL; -+ -+ g_return_val_if_fail (a_list_of_strings, NULL); -+ -+ for (cur = a_list_of_strings; cur; cur = cur->next) { -+ GString *str = NULL; -+ -+ str = g_string_new_len (((GString *) cur->data)->str, -+ ((GString *) cur->data)->len); -+ if (str) -+ result = g_list_append (result, str); -+ } -+ -+ return result; -+} -+ -+/** -+ *Duplicate a GList where the GList::data is a CRString. -+ *@param a_list_of_strings the list to duplicate -+ *@return the duplicated list, or NULL if something bad -+ *happened. -+ */ -+GList * -+cr_utils_dup_glist_of_cr_string (GList const * a_list_of_strings) -+{ -+ GList const *cur = NULL; -+ GList *result = NULL; -+ -+ g_return_val_if_fail (a_list_of_strings, NULL); -+ -+ for (cur = a_list_of_strings; cur; cur = cur->next) { -+ CRString *str = NULL; -+ -+ str = cr_string_dup ((CRString const *) cur->data) ; -+ if (str) -+ result = g_list_append (result, str); -+ } -+ -+ return result; -+} -diff --git a/src/st/croco/cr-utils.h b/src/st/croco/cr-utils.h -new file mode 100644 -index 000000000..54aa24973 ---- /dev/null -+++ b/src/st/croco/cr-utils.h -@@ -0,0 +1,246 @@ -+/* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ -+ -+/* -+ * This file is part of The Croco Library -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ * -+ * Author: Dodji Seketeli -+ * Look at file COPYRIGHTS for copyright information -+ */ -+ -+#ifndef __CR_DEFS_H__ -+#define __CR_DEFS_H__ -+ -+#include -+#include -+#include "libcroco-config.h" -+ -+G_BEGIN_DECLS -+ -+/** -+ *@file -+ *The Croco library basic types definitions -+ *And global definitions. -+ */ -+ -+/** -+ *The status type returned -+ *by the methods of the croco library. -+ */ -+enum CRStatus { -+ CR_OK, -+ CR_BAD_PARAM_ERROR, -+ CR_INSTANCIATION_FAILED_ERROR, -+ CR_UNKNOWN_TYPE_ERROR, -+ CR_UNKNOWN_PROP_ERROR, -+ CR_UNKNOWN_PROP_VAL_ERROR, -+ CR_UNEXPECTED_POSITION_SCHEME, -+ CR_START_OF_INPUT_ERROR, -+ CR_END_OF_INPUT_ERROR, -+ CR_OUTPUT_TOO_SHORT_ERROR, -+ CR_INPUT_TOO_SHORT_ERROR, -+ CR_OUT_OF_BOUNDS_ERROR, -+ CR_EMPTY_PARSER_INPUT_ERROR, -+ CR_ENCODING_ERROR, -+ CR_ENCODING_NOT_FOUND_ERROR, -+ CR_PARSING_ERROR, -+ CR_SYNTAX_ERROR, -+ CR_NO_ROOT_NODE_ERROR, -+ CR_NO_TOKEN, -+ CR_OUT_OF_MEMORY_ERROR, -+ CR_PSEUDO_CLASS_SEL_HANDLER_NOT_FOUND_ERROR, -+ CR_BAD_PSEUDO_CLASS_SEL_HANDLER_ERROR, -+ CR_ERROR, -+ CR_FILE_NOT_FOUND_ERROR, -+ CR_VALUE_NOT_FOUND_ERROR -+} ; -+ -+/** -+ *Values used by -+ *cr_input_seek_position() ; -+ */ -+enum CRSeekPos { -+ CR_SEEK_CUR, -+ CR_SEEK_BEGIN, -+ CR_SEEK_END -+} ; -+ -+/** -+ *Encoding values. -+ */ -+enum CREncoding -+{ -+ CR_UCS_4 = 1/*Must be not NULL*/, -+ CR_UCS_1, -+ CR_ISO_8859_1, -+ CR_ASCII, -+ CR_UTF_8, -+ CR_UTF_16, -+ CR_AUTO/*should be the last one*/ -+} ; -+ -+ -+ -+ -+#define CROCO_LOG_DOMAIN "LIBCROCO" -+ -+#ifdef __GNUC__ -+#define cr_utils_trace(a_log_level, a_msg) \ -+g_log (CROCO_LOG_DOMAIN, \ -+ G_LOG_LEVEL_CRITICAL, \ -+ "file %s: line %d (%s): %s\n", \ -+ __FILE__, \ -+ __LINE__, \ -+ __PRETTY_FUNCTION__, \ -+ a_msg) -+#else /*__GNUC__*/ -+ -+#define cr_utils_trace(a_log_level, a_msg) \ -+g_log (CROCO_LOG_DOMAIN, \ -+ G_LOG_LEVEL_CRITICAL, \ -+ "file %s: line %d: %s\n", \ -+ __FILE__, \ -+ __LINE__, \ -+ a_msg) -+#endif -+ -+/** -+ *Traces an info message. -+ *The file, line and enclosing function -+ *of the message will be automatically -+ *added to the message. -+ *@param a_msg the msg to trace. -+ */ -+#define cr_utils_trace_info(a_msg) \ -+cr_utils_trace (G_LOG_LEVEL_INFO, a_msg) -+ -+/** -+ *Trace a debug message. -+ *The file, line and enclosing function -+ *of the message will be automatically -+ *added to the message. -+ *@param a_msg the msg to trace. -+ */ -+#define cr_utils_trace_debug(a_msg) \ -+cr_utils_trace (G_LOG_LEVEL_DEBUG, a_msg) ; -+ -+ -+/**************************** -+ *Encoding transformations and -+ *encoding helpers -+ ****************************/ -+ -+enum CRStatus -+cr_utils_read_char_from_utf8_buf (const guchar * a_in, gulong a_in_len, -+ guint32 *a_out, gulong *a_consumed) ; -+ -+enum CRStatus -+cr_utils_ucs1_to_utf8 (const guchar *a_in, gulong *a_in_len, -+ guchar *a_out, gulong *a_out_len) ; -+ -+enum CRStatus -+cr_utils_utf8_to_ucs1 (const guchar * a_in, gulong * a_in_len, -+ guchar *a_out, gulong *a_out_len) ; -+ -+enum CRStatus -+cr_utils_ucs4_to_utf8 (const guint32 *a_in, gulong *a_in_len, -+ guchar *a_out, gulong *a_out_len) ; -+ -+enum CRStatus -+cr_utils_utf8_str_len_as_ucs4 (const guchar *a_in_start, -+ const guchar *a_in_end, -+ gulong *a_len) ; -+enum CRStatus -+cr_utils_ucs1_str_len_as_utf8 (const guchar *a_in_start, -+ const guchar *a_in_end, -+ gulong *a_len) ; -+enum CRStatus -+cr_utils_utf8_str_len_as_ucs1 (const guchar *a_in_start, -+ const guchar *a_in_end, -+ gulong *a_len) ; -+enum CRStatus -+cr_utils_ucs4_str_len_as_utf8 (const guint32 *a_in_start, -+ const guint32 *a_in_end, -+ gulong *a_len) ; -+ -+enum CRStatus -+cr_utils_ucs1_str_to_utf8 (const guchar *a_in_start, -+ gulong *a_in_len, -+ guchar **a_out, -+ gulong *a_len) ; -+ -+enum CRStatus -+cr_utils_utf8_str_to_ucs1 (const guchar * a_in_start, -+ gulong * a_in_len, -+ guchar **a_out, -+ gulong *a_out_len) ; -+ -+enum CRStatus -+cr_utils_utf8_to_ucs4 (const guchar * a_in, -+ gulong * a_in_len, -+ guint32 *a_out, gulong *a_out_len) ; -+ -+enum CRStatus -+cr_utils_ucs4_str_to_utf8 (const guint32 *a_in, -+ gulong *a_in_len, -+ guchar **a_out, gulong *a_out_len) ; -+ -+enum CRStatus -+cr_utils_utf8_str_to_ucs4 (const guchar * a_in, -+ gulong *a_in_len, -+ guint32 **a_out, -+ gulong *a_out_len) ; -+ -+ -+/***************************************** -+ *CSS basic types identification utilities -+ *****************************************/ -+ -+gboolean -+cr_utils_is_newline (guint32 a_char) ; -+ -+gboolean -+cr_utils_is_white_space (guint32 a_char) ; -+ -+gboolean -+cr_utils_is_nonascii (guint32 a_char) ; -+ -+gboolean -+cr_utils_is_hexa_char (guint32 a_char) ; -+ -+ -+/********************************** -+ *Miscellaneous utility functions -+ ***********************************/ -+ -+void -+cr_utils_dump_n_chars (guchar a_char, -+ FILE *a_fp, -+ glong a_nb) ; -+ -+void -+cr_utils_dump_n_chars2 (guchar a_char, -+ GString *a_string, -+ glong a_nb) ; -+GList * -+cr_utils_dup_glist_of_string (GList const *a_list) ; -+ -+GList * -+cr_utils_dup_glist_of_cr_string (GList const * a_list_of_strings) ; -+ -+G_END_DECLS -+ -+#endif /*__CR_DEFS_H__*/ -diff --git a/src/st/croco/libcroco-config.h b/src/st/croco/libcroco-config.h -new file mode 100644 -index 000000000..1ffb758ea ---- /dev/null -+++ b/src/st/croco/libcroco-config.h -@@ -0,0 +1,13 @@ -+#ifndef LIBCROCO_VERSION_NUMBER -+#define LIBCROCO_VERSION_NUMBER 612 -+#endif -+ -+#ifndef LIBCROCO_VERSION -+#define LIBCROCO_VERSION "0.6.12" -+#endif -+ -+#ifndef G_DISABLE_CHECKS -+#if 0 -+#define G_DISABLE_CHECKS 0 -+#endif -+#endif -diff --git a/src/st/croco/libcroco.h b/src/st/croco/libcroco.h -new file mode 100644 -index 000000000..6187a7cb9 ---- /dev/null -+++ b/src/st/croco/libcroco.h -@@ -0,0 +1,42 @@ -+/* -+ * This file is part of The Croco Library -+ * -+ * Copyright (C) 2002-2003 Dodji Seketeli -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of version 2.1 of the GNU Lesser General Public -+ * License as published by the Free Software Foundation. -+ * -+ * This program 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 Lesser General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -+ * USA -+ */ -+ -+#ifndef __LIBCROCO_H__ -+#define __LIBCROCO_H__ -+ -+#include "libcroco-config.h" -+ -+#include "cr-utils.h" -+#include "cr-pseudo.h" -+#include "cr-term.h" -+#include "cr-attr-sel.h" -+#include "cr-simple-sel.h" -+#include "cr-selector.h" -+#include "cr-enc-handler.h" -+#include "cr-doc-handler.h" -+#include "cr-input.h" -+#include "cr-parser.h" -+#include "cr-statement.h" -+#include "cr-stylesheet.h" -+#include "cr-om-parser.h" -+#include "cr-prop-list.h" -+#include "cr-string.h" -+ -+#endif /*__LIBCROCO_H__*/ -diff --git a/src/st/meson.build b/src/st/meson.build -index 97ce6134d..c1994755b 100644 ---- a/src/st/meson.build -+++ b/src/st/meson.build -@@ -1,3 +1,4 @@ -+# please, keep this sorted alphabetically - st_headers = [ - 'st-adjustment.h', - 'st-bin.h', -@@ -43,13 +44,68 @@ st_h = configure_file( - - st_inc = include_directories('.', '..') - -+# please, keep this sorted alphabetically - st_private_headers = [ -+ 'croco/cr-additional-sel.h', -+ 'croco/cr-attr-sel.h', -+ 'croco/cr-cascade.h', -+ 'croco/cr-declaration.h', -+ 'croco/cr-doc-handler.h', -+ 'croco/cr-enc-handler.h', -+ 'croco/cr-fonts.h', -+ 'croco/cr-input.h', -+ 'croco/cr-num.h', -+ 'croco/cr-om-parser.h', -+ 'croco/cr-parser.h', -+ 'croco/cr-parsing-location.h', -+ 'croco/cr-prop-list.h', -+ 'croco/cr-pseudo.h', -+ 'croco/cr-rgb.h', -+ 'croco/cr-selector.h', -+ 'croco/cr-simple-sel.h', -+ 'croco/cr-statement.h', -+ 'croco/cr-string.h', -+ 'croco/cr-stylesheet.h', -+ 'croco/cr-term.h', -+ 'croco/cr-tknzr.h', -+ 'croco/cr-token.h', -+ 'croco/cr-utils.h', -+ 'croco/libcroco-config.h', -+ 'croco/libcroco.h', - 'st-private.h', - 'st-theme-private.h', - 'st-theme-node-private.h', - 'st-theme-node-transition.h' - ] - -+# please, keep this sorted alphabetically -+croco_sources = [ -+ 'croco/cr-additional-sel.c', -+ 'croco/cr-attr-sel.c', -+ 'croco/cr-cascade.c', -+ 'croco/cr-declaration.c', -+ 'croco/cr-doc-handler.c', -+ 'croco/cr-enc-handler.c', -+ 'croco/cr-fonts.c', -+ 'croco/cr-input.c', -+ 'croco/cr-num.c', -+ 'croco/cr-om-parser.c', -+ 'croco/cr-parser.c', -+ 'croco/cr-parsing-location.c', -+ 'croco/cr-prop-list.c', -+ 'croco/cr-pseudo.c', -+ 'croco/cr-rgb.c', -+ 'croco/cr-selector.c', -+ 'croco/cr-simple-sel.c', -+ 'croco/cr-statement.c', -+ 'croco/cr-string.c', -+ 'croco/cr-stylesheet.c', -+ 'croco/cr-term.c', -+ 'croco/cr-tknzr.c', -+ 'croco/cr-token.c', -+ 'croco/cr-utils.c', -+] -+ - # please, keep this sorted alphabetically - st_sources = [ - 'st-adjustment.c', -@@ -119,9 +175,9 @@ st_cflags = [ - - # Currently meson requires a shared library for building girs - libst = shared_library('st-1.0', -- sources: st_gir_sources + st_non_gir_sources, -+ sources: st_gir_sources + st_non_gir_sources + croco_sources, - c_args: st_cflags, -- dependencies: [clutter_dep, gtk_dep, croco_dep, x11_dep, m_dep], -+ dependencies: [clutter_dep, gtk_dep, x11_dep, m_dep], - install_rpath: mutter_typelibdir, - install_dir: pkglibdir, - install: true -@@ -134,7 +190,7 @@ libst_dep = declare_dependency(link_with: libst, - test_theme = executable('test-theme', - sources: 'test-theme.c', - c_args: st_cflags, -- dependencies: [clutter_dep, gtk_dep], -+ dependencies: [clutter_dep, gtk_dep, libxml_dep], - link_with: libst - ) - -diff --git a/src/st/st-theme-node-private.h b/src/st/st-theme-node-private.h -index 2e6b232f6..659bc37ba 100644 ---- a/src/st/st-theme-node-private.h -+++ b/src/st/st-theme-node-private.h -@@ -25,7 +25,7 @@ - #include - - #include "st-theme-node.h" --#include -+#include "croco/libcroco.h" - #include "st-types.h" - - G_BEGIN_DECLS -diff --git a/src/st/st-theme-private.h b/src/st/st-theme-private.h -index 08f3a1864..2083a7c84 100644 ---- a/src/st/st-theme-private.h -+++ b/src/st/st-theme-private.h -@@ -21,7 +21,7 @@ - #ifndef __ST_THEME_PRIVATE_H__ - #define __ST_THEME_PRIVATE_H__ - --#include -+#include "croco/libcroco.h" - #include "st-theme.h" - - G_BEGIN_DECLS --- -2.23.0 - diff --git a/0001-endSessionDialog-Immediately-add-buttons-to-the-dial.patch b/0001-endSessionDialog-Immediately-add-buttons-to-the-dial.patch deleted file mode 100644 index 3d00b40..0000000 --- a/0001-endSessionDialog-Immediately-add-buttons-to-the-dial.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 68b038ba1ee10cb957eec56fec435e3cfeffd20d Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Wed, 15 Aug 2018 14:26:19 +0200 -Subject: [PATCH 1/2] endSessionDialog: Immediately add buttons to the dialog - -Immediately add buttons to the dialog instead of first building an -array of button-info structs. - -This is a preparation patch for adding support changing the "Reboot" -button into a "Boot Options" button when Alt is pressed. ---- - js/ui/endSessionDialog.js | 17 +++++++++-------- - 1 file changed, 9 insertions(+), 8 deletions(-) - -diff --git a/js/ui/endSessionDialog.js b/js/ui/endSessionDialog.js -index 4804333d4..5657cbffd 100644 ---- a/js/ui/endSessionDialog.js -+++ b/js/ui/endSessionDialog.js -@@ -437,25 +437,26 @@ var EndSessionDialog = new Lang.Class({ - }, - - _updateButtons() { -- let dialogContent = DialogContent[this._type]; -- let buttons = [{ action: this.cancel.bind(this), -+ this.clearButtons(); -+ -+ this.addButton({ action: this.cancel.bind(this), - label: _("Cancel"), -- key: Clutter.Escape }]; -+ key: Clutter.Escape }); - -+ let dialogContent = DialogContent[this._type]; - for (let i = 0; i < dialogContent.confirmButtons.length; i++) { - let signal = dialogContent.confirmButtons[i].signal; - let label = dialogContent.confirmButtons[i].label; -- buttons.push({ action: () => { -+ let button = this.addButton( -+ { action: () => { - this.close(true); - let signalId = this.connect('closed', () => { - this.disconnect(signalId); - this._confirm(signal); - }); -- }, -- label: label }); -+ }, -+ label: label }); - } -- -- this.setButtons(buttons); - }, - - close(skipSignal) { --- -2.19.0 - diff --git a/0001-keyboardManager-Avoid-idempotent-calls-to-meta_backe.patch b/0001-keyboardManager-Avoid-idempotent-calls-to-meta_backe.patch deleted file mode 100644 index 16d6306..0000000 --- a/0001-keyboardManager-Avoid-idempotent-calls-to-meta_backe.patch +++ /dev/null @@ -1,68 +0,0 @@ -From ccc59673827f9e36b7374fcf03de94d1b1513550 Mon Sep 17 00:00:00 2001 -From: Carlos Garnacho -Date: Mon, 22 Oct 2018 22:06:36 +0000 -Subject: [PATCH] keyboardManager: Avoid idempotent calls to - meta_backend_set_keymap() - -But still try to apply the keymap whenever the input sources changed. This -is a different approach to gnome-shell#240 that still avoid redundant -changes to the current keymap, but actually trigger one when input sources -are added. - -https://bugzilla.redhat.com/show_bug.cgi?id=1637418 - -Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/691 - - -(cherry picked from commit b405ed64427a9d518d1714df678d04ad11267e15) ---- - js/misc/keyboardManager.js | 14 +++++++++----- - 1 file changed, 9 insertions(+), 5 deletions(-) - -diff --git a/js/misc/keyboardManager.js b/js/misc/keyboardManager.js -index ae59f0014..f4001f130 100644 ---- a/js/misc/keyboardManager.js -+++ b/js/misc/keyboardManager.js -@@ -52,11 +52,20 @@ var KeyboardManager = new Lang.Class({ - this._current = null; - this._localeLayoutInfo = this._getLocaleLayout(); - this._layoutInfos = {}; -+ this._currentKeymap = null; - }, - - _applyLayoutGroup(group) { - let options = this._buildOptionsString(); - let [layouts, variants] = this._buildGroupStrings(group); -+ -+ if (this._currentKeymap && -+ this._currentKeymap.layouts == layouts && -+ this._currentKeymap.variants == variants && -+ this._currentKeymap.options == options) -+ return; -+ -+ this._currentKeymap = {layouts, variants, options}; - Meta.get_backend().set_keymap(layouts, variants, options); - }, - -@@ -89,8 +98,6 @@ var KeyboardManager = new Lang.Class({ - }, - - setUserLayouts(ids) { -- let currentId = this._current ? this._current.id : null; -- let currentGroupIndex = this._current ? this._current.groupIndex : null; - this._current = null; - this._layoutInfos = {}; - -@@ -117,9 +124,6 @@ var KeyboardManager = new Lang.Class({ - info.group = group; - info.groupIndex = groupIndex; - -- if (currentId == id && currentGroupIndex == groupIndex) -- this._current = info; -- - i += 1; - } - }, --- -2.19.1 - diff --git a/0002-endSessionDialog-Support-rebooting-into-the-bootload.patch b/0002-endSessionDialog-Support-rebooting-into-the-bootload.patch deleted file mode 100644 index 4634ea9..0000000 --- a/0002-endSessionDialog-Support-rebooting-into-the-bootload.patch +++ /dev/null @@ -1,115 +0,0 @@ -From 345278af9b7139d12e393d6b18abfe055172dedd Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Wed, 15 Aug 2018 15:03:56 +0200 -Subject: [PATCH 2/2] endSessionDialog: Support rebooting into the bootloader - menu aka ("Boot Options") - -This implements the "Alt" behavior for the "Reboot" button as outlined in -the design here: https://wiki.gnome.org/Design/OS/BootOptions - -This causes the endSessionDialog to send a ConfirmedRebootToBootOptions signal -to gnome-session instead of the normal ConfirmedReboot signal, actually -telling the boot-loader that it should show its menu the next boot is left -up to gnome-session. - -Note I've tried implementing this with the AltSwitcher class from -js/ui/status/system.js first, but that puts the button in a St.Bin() -which causes the button to think it is the only button on the dialog -and makes it have rounded corners on both of its bottom corners. ---- - js/ui/endSessionDialog.js | 50 +++++++++++++++++++++++++++++++++++++++ - 1 file changed, 50 insertions(+) - -diff --git a/js/ui/endSessionDialog.js b/js/ui/endSessionDialog.js -index 5657cbffd..bfc64a7d6 100644 ---- a/js/ui/endSessionDialog.js -+++ b/js/ui/endSessionDialog.js -@@ -271,6 +271,9 @@ var EndSessionDialog = new Lang.Class({ - this._totalSecondsToStayOpen = 0; - this._applications = []; - this._sessions = []; -+ this._capturedEventId = 0; -+ this._rebootButton = null; -+ this._rebootButtonAlt = null; - - this.connect('destroy', - this._onDestroy.bind(this)); -@@ -436,6 +439,26 @@ var EndSessionDialog = new Lang.Class({ - this._sessionHeader.visible = hasSessions; - }, - -+ _onCapturedEvent(actor, event) { -+ let altEnabled = false; -+ -+ let type = event.type(); -+ if (type != Clutter.EventType.KEY_PRESS && type != Clutter.EventType.KEY_RELEASE) -+ return Clutter.EVENT_PROPAGATE; -+ -+ let key = event.get_key_symbol(); -+ if (key != Clutter.KEY_Alt_L && key != Clutter.KEY_Alt_R) -+ return Clutter.EVENT_PROPAGATE; -+ -+ if (type == Clutter.EventType.KEY_PRESS) -+ altEnabled = true; -+ -+ this._rebootButton.visible = !altEnabled; -+ this._rebootButtonAlt.visible = altEnabled; -+ -+ return Clutter.EVENT_PROPAGATE; -+ }, -+ - _updateButtons() { - this.clearButtons(); - -@@ -456,7 +479,32 @@ var EndSessionDialog = new Lang.Class({ - }); - }, - label: label }); -+ -+ // Add Alt "Boot Options" option to the Reboot button -+ if (signal == 'ConfirmedReboot') { -+ this._rebootButton = button; -+ this._rebootButtonAlt = this.addButton( -+ { action: () => { -+ this.close(true); -+ let signalId = this.connect('closed', () => { -+ this.disconnect(signalId); -+ this._confirm('ConfirmedRebootToBootOptions'); -+ }); -+ }, -+ label: C_("button", "Boot Options") }); -+ this._rebootButtonAlt.visible = false; -+ this._capturedEventId = global.stage.connect('captured-event', this._onCapturedEvent.bind(this)); -+ } -+ } -+ }, -+ -+ _stopAltCapture() { -+ if (this._capturedEventId > 0) { -+ global.stage.disconnect(this._capturedEventId); -+ this._capturedEventId = 0; - } -+ this._rebootButton = null; -+ this._rebootButtonAlt = null; - }, - - close(skipSignal) { -@@ -468,6 +516,7 @@ var EndSessionDialog = new Lang.Class({ - - cancel() { - this._stopTimer(); -+ this._stopAltCapture(); - this._dbusImpl.emit_signal('Canceled', null); - this.close(); - }, -@@ -476,6 +525,7 @@ var EndSessionDialog = new Lang.Class({ - let callback = () => { - this._fadeOutDialog(); - this._stopTimer(); -+ this._stopAltCapture(); - this._dbusImpl.emit_signal(signal, null); - }; - --- -2.19.0 - diff --git a/CVE-2020-17489-pre1.patch b/CVE-2020-17489-pre1.patch deleted file mode 100644 index 1dc76b9..0000000 --- a/CVE-2020-17489-pre1.patch +++ /dev/null @@ -1,265 +0,0 @@ -From e2f0647091b2475f78c0a52c0acef5f1be4d52d9 Mon Sep 17 00:00:00 2001 -From: rpm-build -Date: Tue, 30 Mar 2021 14:42:11 +0800 -Subject: [PATCH] cleanup: Use arrow functions for tweener callbacks - -While it is legal to use method syntax for the function properties -here, arrow notation is less unexpected and allows us to drop the -separate scope properties. - -https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/608 - ---- - js/gdm/authPrompt.js | 3 +-- - js/gdm/loginDialog.js | 16 ++++++---------- - js/ui/dnd.js | 5 ++--- - js/ui/messageList.js | 3 +-- - js/ui/panel.js | 8 +++----- - js/ui/popupMenu.js | 12 ++++-------- - js/ui/screenShield.js | 15 ++++++--------- - js/ui/workspaceSwitcherPopup.js | 3 +-- - js/ui/workspaceThumbnail.js | 5 ++--- - 9 files changed, 26 insertions(+), 44 deletions(-) - -diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js -index a0a4a21..a6a0374 100644 ---- a/js/gdm/authPrompt.js -+++ b/js/gdm/authPrompt.js -@@ -302,8 +302,7 @@ var AuthPrompt = new Lang.Class({ - time: DEFAULT_BUTTON_WELL_ANIMATION_TIME, - delay: DEFAULT_BUTTON_WELL_ANIMATION_DELAY, - transition: 'linear', -- onCompleteScope: this, -- onComplete() { -+ onComplete: () => { - if (wasSpinner) { - if (this._spinner) - this._spinner.stop(); -diff --git a/js/gdm/loginDialog.js b/js/gdm/loginDialog.js -index bf79677..0e0001f 100644 ---- a/js/gdm/loginDialog.js -+++ b/js/gdm/loginDialog.js -@@ -926,7 +926,7 @@ var LoginDialog = new Lang.Class({ - { opacity: 255, - time: _FADE_ANIMATION_TIME, - transition: 'easeOutQuad', -- onUpdate() { -+ onUpdate: () => { - let children = Main.layoutManager.uiGroup.get_children(); - - for (let i = 0; i < children.length; i++) { -@@ -934,12 +934,10 @@ var LoginDialog = new Lang.Class({ - children[i].opacity = this.actor.opacity; - } - }, -- onUpdateScope: this, -- onComplete() { -+ onComplete: () => { - if (this._authPrompt.verificationStatus != AuthPrompt.AuthPromptStatus.NOT_VERIFYING) - this._authPrompt.reset(); -- }, -- onCompleteScope: this }); -+ } }); - }, - - _gotGreeterSessionProxy(proxy) { -@@ -956,7 +954,7 @@ var LoginDialog = new Lang.Class({ - { opacity: 0, - time: _FADE_ANIMATION_TIME, - transition: 'easeOutQuad', -- onUpdate() { -+ onUpdate: () => { - let children = Main.layoutManager.uiGroup.get_children(); - - for (let i = 0; i < children.length; i++) { -@@ -964,11 +962,9 @@ var LoginDialog = new Lang.Class({ - children[i].opacity = this.actor.opacity; - } - }, -- onUpdateScope: this, -- onComplete() { -+ onComplete: () => { - this._greeter.call_start_session_when_ready_sync(serviceName, true, null); -- }, -- onCompleteScope: this }); -+ } }); - }, - - _onSessionOpened(client, serviceName) { -diff --git a/js/ui/dnd.js b/js/ui/dnd.js -index 8483e89..83778e0 100644 ---- a/js/ui/dnd.js -+++ b/js/ui/dnd.js -@@ -385,14 +385,13 @@ var _Draggable = new Lang.Class({ - scale_y: scale * origScale, - time: SCALE_ANIMATION_TIME, - transition: 'easeOutQuad', -- onUpdate() { -+ onUpdate: () => { - let currentScale = this._dragActor.scale_x / origScale; - this._dragOffsetX = currentScale * origDragOffsetX; - this._dragOffsetY = currentScale * origDragOffsetY; - this._dragActor.set_position(this._dragX + this._dragOffsetX, - this._dragY + this._dragOffsetY); -- }, -- onUpdateScope: this }); -+ } }); - } - } - }, -diff --git a/js/ui/messageList.js b/js/ui/messageList.js -index 547135a..91670ba 100644 ---- a/js/ui/messageList.js -+++ b/js/ui/messageList.js -@@ -483,8 +483,7 @@ var Message = new Lang.Class({ - { scale_y: 0, - time: MessageTray.ANIMATION_TIME, - transition: 'easeOutQuad', -- onCompleteScope: this, -- onComplete() { -+ onComplete: () => { - this._actionBin.hide(); - this.expanded = false; - }}); -diff --git a/js/ui/panel.js b/js/ui/panel.js -index 3726b84..318ca52 100644 ---- a/js/ui/panel.js -+++ b/js/ui/panel.js -@@ -174,10 +174,9 @@ var AppMenuButton = new Lang.Class({ - { opacity: 0, - time: Overview.ANIMATION_TIME, - transition: 'easeOutQuad', -- onComplete() { -+ onComplete: () => { - this.actor.hide(); -- }, -- onCompleteScope: this }); -+ } }); - }, - - _onStyleChanged(actor) { -@@ -219,8 +218,7 @@ var AppMenuButton = new Lang.Class({ - { opacity: 0, - time: SPINNER_ANIMATION_TIME, - transition: "easeOutQuad", -- onCompleteScope: this, -- onComplete() { -+ onComplete: () => { - this._spinner.stop(); - this._spinner.actor.opacity = 255; - this._spinner.actor.hide(); -diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js -index f449d6e..3d92a1a 100644 ---- a/js/ui/popupMenu.js -+++ b/js/ui/popupMenu.js -@@ -1004,12 +1004,10 @@ var PopupSubMenu = new Lang.Class({ - { _arrowRotation: targetAngle, - height: naturalHeight, - time: 0.25, -- onUpdateScope: this, -- onUpdate() { -+ onUpdate: () => { - this._arrow.rotation_angle_z = this.actor._arrowRotation; - }, -- onCompleteScope: this, -- onComplete() { -+ onComplete: () => { - this.actor.set_height(-1); - } - }); -@@ -1037,12 +1035,10 @@ var PopupSubMenu = new Lang.Class({ - { _arrowRotation: 0, - height: 0, - time: 0.25, -- onUpdateScope: this, -- onUpdate() { -+ onUpdate: () => { - this._arrow.rotation_angle_z = this.actor._arrowRotation; - }, -- onCompleteScope: this, -- onComplete() { -+ onComplete: () => { - this.actor.hide(); - this.actor.set_height(-1); - }, -diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js -index dee290b..72d1317 100644 ---- a/js/ui/screenShield.js -+++ b/js/ui/screenShield.js -@@ -265,11 +265,10 @@ var NotificationsBox = new Lang.Class({ - { height: natHeight, - transition: 'easeOutQuad', - time: 0.25, -- onComplete() { -+ onComplete: () => { - this._scrollView.vscrollbar_policy = Gtk.PolicyType.AUTOMATIC; - widget.set_height(-1); -- }, -- onCompleteScope: this -+ } - }); - - this._updateVisibility(); -@@ -795,11 +794,10 @@ var ScreenShield = new Lang.Class({ - { y: 0, - time: time, - transition: 'easeInQuad', -- onComplete() { -+ onComplete: () => { - this._lockScreenGroup.fixed_position_set = false; - this._lockScreenState = MessageTray.State.SHOWN; -- }, -- onCompleteScope: this, -+ } - }); - - this._maybeCancelDialog(); -@@ -1020,11 +1018,10 @@ var ScreenShield = new Lang.Class({ - { y: 0, - time: MANUAL_FADE_TIME, - transition: 'easeOutQuad', -- onComplete() { -+ onComplete: () => { - this._lockScreenShown({ fadeToBlack: fadeToBlack, - animateFade: true }); -- }, -- onCompleteScope: this -+ } - }); - } else { - this._lockScreenGroup.fixed_position_set = false; -diff --git a/js/ui/workspaceSwitcherPopup.js b/js/ui/workspaceSwitcherPopup.js -index 351a907..49caabc 100644 ---- a/js/ui/workspaceSwitcherPopup.js -+++ b/js/ui/workspaceSwitcherPopup.js -@@ -159,8 +159,7 @@ var WorkspaceSwitcherPopup = new Lang.Class({ - Tweener.addTween(this._container, { opacity: 0.0, - time: ANIMATION_TIME, - transition: 'easeOutQuad', -- onComplete() { this.destroy(); }, -- onCompleteScope: this -+ onComplete: () => this.destroy() - }); - return GLib.SOURCE_REMOVE; - }, -diff --git a/js/ui/workspaceThumbnail.js b/js/ui/workspaceThumbnail.js -index 76a7416..dc1a749 100644 ---- a/js/ui/workspaceThumbnail.js -+++ b/js/ui/workspaceThumbnail.js -@@ -1347,11 +1347,10 @@ var ThumbnailsBox = new Lang.Class({ - { indicatorY: thumbnail.actor.allocation.y1, - time: WorkspacesView.WORKSPACE_SWITCH_TIME, - transition: 'easeOutQuad', -- onComplete() { -+ onComplete: () => { - this._animatingIndicator = false; - this._queueUpdateStates(); -- }, -- onCompleteScope: this -+ } - }); - } - }); --- -2.23.0 - diff --git a/CVE-2020-17489-pre2.patch b/CVE-2020-17489-pre2.patch deleted file mode 100644 index 96688a6..0000000 --- a/CVE-2020-17489-pre2.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 7e4e3c19d010b8204f89703706c605a97153a60a Mon Sep 17 00:00:00 2001 -From: rpm-build -Date: Tue, 30 Mar 2021 14:56:46 +0800 -Subject: [PATCH] loginDialog: Use GObject bindings over onUpdate handler - -Instead of iterating over all actors each frame and sync'ing their -opacities, we can set up bindings once before the animation. - -https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/654 ---- - js/gdm/loginDialog.js | 30 ++++++++++++++---------------- - 1 file changed, 14 insertions(+), 16 deletions(-) - -diff --git a/js/gdm/loginDialog.js b/js/gdm/loginDialog.js -index faecff8..29954f7 100644 ---- a/js/gdm/loginDialog.js -+++ b/js/gdm/loginDialog.js -@@ -918,25 +918,29 @@ var LoginDialog = new Lang.Class({ - this._showPrompt(); - }, - -+ _bindOpacity() { -+ this._bindings = Main.layoutManager.uiGroup.get_children() -+ .filter(c => c != Main.layoutManager.screenShieldGroup) -+ .map(c => this.bind_property('opacity', c, 'opacity', 0)); -+ }, -+ -+ _unbindOpacity() { -+ this._bindings.forEach(b => b.unbind()); -+ }, -+ - _loginScreenSessionActivated() { - if (this.actor.opacity == 255 && this._authPrompt.verificationStatus == AuthPrompt.AuthPromptStatus.NOT_VERIFYING) - return; - -+ this._bindOpacity(); - Tweener.addTween(this.actor, - { opacity: 255, - time: _FADE_ANIMATION_TIME, - transition: 'easeOutQuad', -- onUpdate: () => { -- let children = Main.layoutManager.uiGroup.get_children(); -- -- for (let i = 0; i < children.length; i++) { -- if (children[i] != Main.layoutManager.screenShieldGroup) -- children[i].opacity = this.actor.opacity; -- } -- }, - onComplete: () => { - if (this._authPrompt.verificationStatus != AuthPrompt.AuthPromptStatus.NOT_VERIFYING) - this._authPrompt.reset(); -+ this._unbindOpacity(); - } }); - }, - -@@ -950,20 +954,14 @@ var LoginDialog = new Lang.Class({ - }, - - _startSession(serviceName) { -+ this._bindOpacity(); - Tweener.addTween(this.actor, - { opacity: 0, - time: _FADE_ANIMATION_TIME, - transition: 'easeOutQuad', -- onUpdate: () => { -- let children = Main.layoutManager.uiGroup.get_children(); -- -- for (let i = 0; i < children.length; i++) { -- if (children[i] != Main.layoutManager.screenShieldGroup) -- children[i].opacity = this.actor.opacity; -- } -- }, - onComplete: () => { - this._greeter.call_start_session_when_ready_sync(serviceName, true, null); -+ this._unbindOpacity(); - } }); - }, - --- -2.23.0 - diff --git a/CVE-2020-17489.patch b/CVE-2020-17489.patch deleted file mode 100644 index 4239128..0000000 --- a/CVE-2020-17489.patch +++ /dev/null @@ -1,44 +0,0 @@ -From b0d6742bcdba59991fbf0b31c6c670db7939cfa7 Mon Sep 17 00:00:00 2001 -From: rpm-build -Date: Tue, 30 Mar 2021 15:35:52 +0800 -Subject: [PATCH] cleanup: Port GObject classes to JS6 classes - -GJS added API for defining GObject classes with ES6 class syntax -last cycle, use it to port the remaining Lang.Class classes to -the new syntax. - -https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/361 - ---- - js/gdm/loginDialog.js | 9 ++++----- - 1 file changed, 4 insertions(+), 5 deletions(-) - -diff --git a/js/gdm/loginDialog.js b/js/gdm/loginDialog.js -index 29954f7..2f89140 100644 ---- a/js/gdm/loginDialog.js -+++ b/js/gdm/loginDialog.js -@@ -931,17 +931,16 @@ var LoginDialog = new Lang.Class({ - _loginScreenSessionActivated() { - if (this.actor.opacity == 255 && this._authPrompt.verificationStatus == AuthPrompt.AuthPromptStatus.NOT_VERIFYING) - return; -+ if (this._authPrompt.verificationStatus !== AuthPrompt.AuthPromptStatus.NOT_VERIFYING) -+ this._authPrompt.reset(); - - this._bindOpacity(); - Tweener.addTween(this.actor, - { opacity: 255, - time: _FADE_ANIMATION_TIME, - transition: 'easeOutQuad', -- onComplete: () => { -- if (this._authPrompt.verificationStatus != AuthPrompt.AuthPromptStatus.NOT_VERIFYING) -- this._authPrompt.reset(); -- this._unbindOpacity(); -- } }); -+ onComplete: () => this._unbindOpacity(), -+ }); - }, - - _gotGreeterSessionProxy(proxy) { --- -2.23.0 - diff --git a/gnome-shell-3.30.1.tar.xz b/gnome-shell-3.30.1.tar.xz deleted file mode 100644 index 39c159ea2ce923073962f961754ff7ada654c491..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1437256 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

W4ef^tVNBW@hB36^{hl{%;*D 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 e7eM8;P zyuQ3<;yAEoBrWiEfi;8{h+D04dp1i3b6#qqtPg$tx1dz;CEz##Rw4$~w{b{RznO_@ z3}q*|>lh~aH4?;ow-zGeT{4Kme1e~tYuPNe{=!=ZsH^#rkHHuXs5L-U*B;@Hx8hQm zXTgB_aNS>Ibu?|!N#h62q=dzfdFf-98ZFNVLf$E1u9}`!fvmWL@z5hRhf<4)DD+k4 zWLEN56ETsgW0`*X3PRvu^w$V#z9AtYqnZ(-Zs%ZvIz`FJ|VmzZ99{7Ml=Yd zP9#k7w=u}B{BxCi0vSWXSO}TK@ky;pU8*wCiS6zqA8|*NE+{UEhIg)YtFKJt+rAz{~g=-kY&QX>fJs4F~N( zI=>_80XV^aH7S85_ma4!s3;}9o`mQq&fv~ z#T(qPKp%ENA5r%7$0X|zn8yJXQ!y8w!}8(UT8rH;yG41SrfsAg`KkQkr)lbTl2J8TpH8#@pQZfCK4#J4*RP3yr$Hn3s(j* z199yUGA;?S3IOYRx~~#su|+qEnSO*dl61MV=9SrjSpfKO z^r~43L25`@WhueO)FV}?oV%XpGf@BFsPLO>@;nGD-DdUw*57Vz`S;8YHjt&j4go#s z6 zq7mn4;WH!lq1Znk3KOKVItZ+l=}*bdLLNn_{=7tb#ToyyznH}5V^a{Pq7gkQ+6K+U z=jo!Xh~SXfu-C^(&4iTQQc#owVW0xRMaLMd9{Grbiv9h7JJ1K12v4mZV9x%Y?k>bR z#|W;dWMK)h@-??21y%s1FfwjU%ZQOx=IZ7Xka}kbw;BtF^qR|Hfk$KPN$dnzky$_z zOobZl=A!27lk;VHGIAwOcN~aL^*A~Ap9ue;c-;a?-v>ON$nyT?)_a6 zEws2izfu!EP`WYoukE+J_ct*F;K?S*irFE!<92xwqgjK z*g>lrl=Wc?f8u<*djW@`5I(PVM7qAyKc0@@#mL(i74M(O2< z*{3t9O7ijJk}N{bDtk}ApFU1R$IBt#bBtN6*@aH!^9(#xIK{ug&HulOVQb=UJ)hWt zjSHF~hvvGrAcVP`K;I4=dolBJI(GoyFP;}wzt&%VV}t2Tyg-%nfQF4w$JTDUe*Q@& zucd_Rje#OeZg>W>-WpEd%)u%o<-1W;=C*?eWa(Hr1;W;V4{wRvP#a6{>sq*X?u1%h1izc5|6)>SWDZhhuOOBNitQ~O zis*I0Q>mgY%0{}C>$s{iv>ZaZ6>W&RMd{}}8OFD~oX&GPXM!vh3c;eCi7;xgwzunp zUHK%Xq@t^Wxi-`+O|cGZ3ZqZ-!tKvZk=a+KGYXjU>8cFLD{*a+a=TdFDQpBT)+~R2 z1e=R|kNR;o> zJ2;&3E;YZ%Q7QBRW-W4Le*K%DjIa^R|^yyhPcHz+B(k@2~W8s!^CP_6$% zX)j}0{hXBb$U-96$X%Zs#at(*!gAN{=qKRQMu+EG0jwz>2RJ6We{^a|hp8!=bZlJC zpnBaAU0jk(bDE5&WSLyO9Mz=r73jUb6R0o<!QH!?ewww%H`cp?KQz1``2UVdyWu)fs^9RFb!lUYYjo$V)TGA#tK%6{HDdyT zn%6bkY9CJ*DQ#FtwOeoNEu?=2*;bBGHGRth+^_iO%Hio0jfHdkai+7L9GFC0+!aZS zc$j|%MDEIND7!(Jf^3hlW5)58geX}3zdZ}pr$kXXTqH9*-o~Prd^jwv))Tfkdmc6a|TYJSPuv=A>3&ao1SD>@((yljakGjwFH0oRHLX-{6jAkBoX>PTq24#5=F`+ z>VFq?q~_zzgL!NmdeSo2Ju_eMS^9?%AS3-NRQjigd>^e&Oxz%37j6OWbgy`GMA(;H z0gvxsSI?ajSr_UT7AA$x*ua#1JW>8eKdi(O`PvNi^CfT&!EL#m zSrcuV>OY#S`!<|><|M!WY|S^FCA$plcPi{w@ONlT6*4&{=JCAb~8fL6@eYiSSO(_kZMtXL@OD5Y`SN`{T=gQ|u!{Xqc#?U*&o+~W&A$Qd<| zZw64yewwU+@x(piZmvJbuY+Y`=nqXIWStgp6p}B@h(ToeQXv#a5O`Z{%$O>`At@PU z4%a2WUU<;8GtqdX{jeSS#lTSim%6tipKMjrCjd|gHny|{lH%Re$x<=%UP)`d&L~^- zpx0k+xhgMM^_}DYWgWp!Aco5$qe0CU2Qy^RQHsu4jMt` z&NDpu&KZPdFMbAm6Sln{m~OsNLAG%p zHbS+IFHf(wZzzW`TKr@_lb}&%p`APJ5 zkGzM>VlzX>F4H~c!{E2U4YcvkGd$m_ps_+aV`HkV4BCe+QmmT(Ehuzsid>B;(}J3O zZBLA5})7GYWx@ca*| zuxDVpXSw;;AGID*s10LPwI`6eQ}~Wb1X#*p%&#On7s2IUl&bGlaLxN|3~+BgGqxa<^79 z`t(R&^D{MgG zJ6JQx1jM5?LutJLY@7s^1`c-3og6Ath7}Ksb6;nDJ*DDU`BGpzL$J7TAR;hXKyoZ)7T`$qdFD<#L*8V z8HfArpC-zS2nRcN=tar*F5Wy7g~N$u2^S0hcQ91W4dEvhA6xs{=;9kPw0dp{^iP{@ z8~dAX>Qv_^ZFhY~mV&zGW7`RpX0*jt4n?G$5hwl~8*n*$Mq?syV4XZAX&>MmHG5>Y z)quC#QJ|!>D<7WZzHZjP=XHsO>;mh2BSF+p^l2s8u3Tysj`$P=;o>%0*C7mEs{>`V zUbF0GZ$7#f2X$=D zDtIh!T$Au2cL0R)CbXb_ZeX}(hGsrZ#gYJ`fzQ7JP+~zIxjjl(CFxL~I;w$}qe05f z@t2#Zr%kdse%jdu?C$@Ld=mF~d#IgTanCp@tz75Zn?&AEaVgKXjF?Ut>e)xwV6Ov2 zX}?pSuncH9prIuH==ErU5nABba+lV;fYokPE$3cKKJrpcu~{R-EE9V+Q9)1dL2Oe; zs;9cN^-9yNV)0M1C}#UQCv$zt;&S}|)4^yt6NoP1Ti_Y-Vq#8HrG)=SjBnNa3SF@C z6kXvgX1k8b=ESpY$ZqqqR-rMsPgL(dBYcWxShRaU3$VU>B-u)92ppG;fG^i1D<$_0wqU0S(p1X=zbw2aqj@@9)Wzm z^xV$8FIqg#^~9Hl{>e)ZwZ9`(FUfg=7_ubXu~>2>&f=0o7v-U0P1o!l+=#*zWuykB zk>8f?b!1ZEuB(bo79Y>6u8vJJYVku?&c&0^ZvB6kaU(+4f%p+`WShQd`OMAfrg_xm zi%|vaNLL77dvh>R#=RazR8_lXZ3h~s?uV?vM|n5nhkU0_3aRXcwJZ|;bOAe>D{J;B z4atzEn~ZJwV_vwo`h5t9fSWspzI8OJCgWn@f9AjQ!8#IgigH2G*=~OINSL!DQqD}A zsY4{SxCa=ThEVLmu%AH^eGSy!OJ`s(65BvbaV`(8pzlPwhTW~g1ulBNl^Eh?K(Mh4 zL!6op8T1^|62ABzfZ4&_NlQ!GMjjs{vKoC>>{)xa2W`eJi(FvRSTCBxFZBbm81ISV zF4{P|P1DUJQ)dR9wunTUUb?t(z4=6Q*2Akr>KAk}g!rvP;HAngF=|JT}*F2^5TWIbT@Vi>Q z6NQst9NUO=sne}eSHvFn{oQPKRsIkumNwWRePT888A0<)-F1K;Bp=jr4Wu4ewXdyh zR6fWe=T#gIX^d{ZFDU+F`Izr*%pE;EO|>l(|DadX<>^4;Z%{=lwx)kZ*2e~O)A`|c zQh3G;Z!x;u=OzlUht#GA<>!EYoOr2Bwe5*;MsADQ;vEnWL5%~Q$bbr+i7;>Px8X)- zwNI24wrPaT7v=#R#r^YcJR(81u8R!lW61@nKV7v@9;w(MAg_ zUA8b8iO@XnV4>|2Dw%;bjJWN9g2dkuXo7?O&Z(TRy&z?m^N1r9c2D{axo;Ki;UTY4 zYZkY@BiC*H{#f$m2v^HA?r+XCx&&#n>T6xdhAHnW@O6q6e;pHX*LZY4AJOkLF(L}GkiSgzO_OR!4Vbd)on2soV;S?MkFUa7+#>4Al=a86{(0(ZkKEFPd&))9emJN21pc*1Y@%wdrib@{mp2 z%RL>c9DD2>ml&p)#I2ICGykhJtaixZmGoUM3ua8ZLz4MKj#7B=RPF&#EO|wFzwlF~ z+PE@(Hb`fg-p?0xcpps(F-F)9FM^GGhuOB}p0#Fcfz}hPO6JJ~&D1KYM5&!Z7g)2R zg-tlpR0;VNp?Y+2WviSfl9^l@lND&?Hh*^t8Pg3wz4$~)N^l^Cdi*8i-nAgwRn*%k zL8K!WV}7~CuHZ|%v7IG-f9ynjltCO_zsNn&OnIbBHm?tdtKb?B;9;9{P;w<@oK^ON zgM5-pw5xY6r007LYec~j20jz^GU0CG!;=FV+y(6Adq)8zj!Mgnj6p=@30ZyAJ@GT1 z01A5Jtkf$Ym`eMDYyZw(+mwjHo9a5I_=orV2tWsJEnbutc-hmXne?wDe91=_JWMe~ z26&S11UL#<{lbwag%prKf1W^9-f3%mLx)}>199mQOoTO8TcA)`?OnRn)jq8O`DtDByEWaoUW(UoxegNRry2!BiIwMdMUbY|$s!YvZJRNSq5DpDlUu z)(aqzR2LWynfYv`l(_dsCxJ~I9I_B_M%|C~9QCn`49z-%-e-X$O&s-qKigPr3b1Qi zoMt;-=F6bnF$?gV?c-hGj;v@b@7Ch1hj-S3ca^JOOUY>@%42 zjJA^cy~&_*MyKHVLZ_RD@E?>!i5+2mdix|`rypuQm1?7(wu@VSsZUq7&@#1Puf)J% zyCM-#@2%{<7dHr53f@e-<>KRH@0im*Z$Z)|DZM*Kti1%<)Y&Ca3$2Jj3%iOnJzfGg zMYL4ZgH;M}5~ykDVL|f|vt5Omrl{N1%Zsey2D0#o@Sj)FoWfFrcUKkaj1tcQ@F}J{ zNm};C;ASl*LSa+8#92zXY&4-sQgpb?D0(uzAf0Jp;iuS%gg7=hE^H&bJzeSpp0y^7 z%&@qGDdoU*!RbnHeKi(#DX*$vx4?0I0>T*c8I+2gNB6PCt z3-BL!u^QI*9_}()LN*{C*XEW~q5)I&`8_A3O`Kd0n+k}K+V=L9Ku^>_7&bV%!OPMB z1zpvr7WtPOHX8IiH8i1{(Z@eCzOg9|A7Doa?LTZhRa>uByi& z^oy~JSJH!TA#duA<-m6!wM4zAI-^|?<>8sjo$T8su-wgZ zI4po*{@ryji7SoNu5WbtBiap$b<>XbRmbf(ZVgLXpvrzq;ud@UX=n%YH2hC;BZg|(}7w1YpixtYrwS>#R}l1p1rS!VMyIup@i8Kpdfxu zoH|ww>yBd3FO86{(mK3ed)jR;r`)IX;0+}|C=q0nbA$+2N7Fmkq%|1$t@|>vRP*l# zI`!q#?mEFfnOtDIS^A3D``_Y*_xa?a365jbm7pCNw&gwGM$#;mfrNNgKLl-~p!L>M|oS^D+j%bMcw zxAd)TGTrBSRLtkKYwgaHH>#dR)}5bEd$mTCCjcscoMQU2u73zx_+jMP%q%5gZx;U^ z%%Kt^SZ}+OEnvtb3+Y=#M6Nd(?v@D6RQA*CdmLlABvR8^UL$^zxMAB02%cJPkhQzD z_zROWxOMC}!iQ|sDes|OVbu53r*5s@D|X9mP0-l{N()Gv93dEtt@n~e#uMej|ll|DyD>aP(^&u;> zQRCy_wn~z|kFRX7#y-L05@8XCzy3vlku^2Y9AL6u85eduNAGH+85navUGRLwbcA|8;oY7sSV!*&i>AWmQ}n0YYfFq$wyV=K|=4cBL+ z=)je6V{?y0kEM?%h`rQ z*{}SI4F`co8BlEz7l=|u&G4e;zoTJQy>K;n3$g_88K@oPK~et>R* zQP1##TLuJKGY@RKWuTyqMP!9x>M1*KkJwicYG)9JH=rn9pb4qQyx*3$$aSYxh$H3K z`dA#I6~H7_tHlJi299Mit#3s^B?f)lZ2Pgn*$AXSXcXu{PW8s z9k-S{IOBX=+!4js&8?DKTG6AXmTcnY5x>L!TK>`j94NjKY+-p!OSoNfh5Ureehp$ZL8odJ6BmQd&5I&FB=A9*q?lbfaV) z%D@Zte{NzOnSWmbUmM8M%-X+^B+4NgdcVLTa6T7SL-UTZgjOZD-)IWy?L%d#@%v*> zE$E?@MKTCFLDxGpxyzu)&aEo%b{m)_t?0_3f+r|EM6Vn_Jqu1-2q$3{WEr)yb#UXA zU*H=4?}lEyf`b%6ufHt>#VoXRk5BqC zu)|I%o&DD>q2kv&-$~k01OVUh>4^pu%T7BVgr}X6oN{k8ZaB7X(S6yG2kt3Q`&r3t zM}c}GiRxnk-N(2EX9+aohitzzd*i}1Pc*tY$qX*G-oqG>lY@>SluOR@ zq_-Me3P=D1nQ~C%RVc8RwxND_J-V5UqXH8+`B@9s z;3o7q9h|H}tebygbFED%_zt5nYi^8JZL9%iM19<0Y62%Sioe)nzb*v&9FFz2f8HSZ zoD=zw3AiX(biUIgn5vQoK88)GlpoyB2W@qN02K%YEt21Ae1iIKiaM5^p>1O^`q5#s zX6w6^EcW@Jk9elw8ji(jCnCGGBsZIUm-7*QT~PU;Sw;{4#K|M|6+2^_BOyj%I*tvkdtWV0{R}JFcq=C_6w^00cw^8oP?9Qz_|h?XvIh)p zzVbdad9e>Z{{X-3eqX~~khykg;B#nPy~Iuied4bAKFql+xtuwCvd>F`&p)XKzgvfcCQ%kd zNEIiy+(o#B``lTaM$f?_^hl&-eLj(fUbaWzjqy(|kuDh9pCIZ`;#3gH;X1LGQp#fc z@Uj-AB9-Zyt1o`O6BStEYPD7?lnm>Y)!(#-Jt>*lfa)Hov}?yHKZq^GHIzNprl}{l zMTQG-$qCvY4AN$EQ%BF>pw3Ju!y)9hAZ8%w@aLxt$Qy$xgf<T+#+XJ=?)X8(pO zB4(X0DqbBh&c{OFKn!QYgF*yV$@21HBcnFN0>@hk$%L_AQwk}ZU>L*Z{2Wb!S`sz5 z+Vjd|uIclh#V4A(ax<->G?_=O!pU+^B}YL!)X=a_rZ$4Sh9!Dz-ten} zG+4$Itg&D7qyTg+v{z9P`lu>}B~({ZVeW2F}Fnk+8skj(KsMmEm+` zVpFp4`F_E)tM_o2yB9W2VP2a5y5Rk_qk2T?`trS8N7T(CsEfoD#bqYTgsbQM=$@s8 zD=cBIL?vuEu1JRj@TV@n_v);E3Ma`B99}k(y7@0B;n!eO8nV58*D$#$wGGgus%rvg zcL+Fy+IRoY7?))D73w=R{l2Xm1C{VmXAK8=bcsJeQ0L8at0KD3lu#;XwCrUyt`E!1 zUhBC2Y;B>I8&tY?oHqd2zRUvjY@ zVC^sp2r=R{ezG_VP@iAH$Wl<-KLD>6Bp72?(`Rr~w3GOU-!`{bYwM3jc`aJW4$m&8 zBo{6XLNi&d&4yUvZ7dPqjmrW5I8l8qzwS+a=AbMqI+M;8a?5q1?zoa&8wNiyL-s6s zzT1Z|ms(n!yXT5!@nnkpj<%uraJpWw*?fxwgk#=Y)=_9w<|KJ9*1(`j!Zj~rT1zYL?+N*e!tSXlOl6%q0rx_MAY~S}^t;HBFlDnom5vDDd0CQiO1l zDxJaUitrVSgBMQ*oc8xPUQulCt2K1Zq{J=j*q|fcWPCd%so+Ay5B9W?N>W3XVKm~2 zM+mvV)8O^sz+X{9T_juc6Yb({tuSpQix%X039dIC`*?_(xmE_$bAqyHMGX;?2QE3_ zjsNMjO)iE{N7dS|HM}IuyZ*3cFqrPNB4XO~)%bgLQPN2p1N1bi8*0+}aEsfq`%Qeq z5FH&EP#ZuW3cf@Uph2u8JD^EMG+5Kax()r#O&6E^bPx~dk078;y6S?R!nUrSuugIgyMpe67yU-?vJ-ywARD2TsKv#xo9@w z5$;)r1u!78;9)%#!s!zvM{ZJzvTgt4<_m3hs{^G+iK%87QHJwSKg^~gD`*M7R}?YC za5sgtd`X>&u2SB*ujjTvjeNPAl%R>j6zbzYvKx%xcga|b{b!-?Gl=ShC5(~WH zP@2MnOq(=E*Tk9GiB+gd2#lYVv@cCEvE)|A-=)hOGjc{snTmkwxNs!`P)Bw7 z4Jy$su2`!%;)1G-DHnIL+gbvP8Q8PxIWh)t92^j7Wb^7IW!wU7wE9pXj<8fu3&qTF%e=i-(*e}z@Q48glu(%vb^Q)0{UfO6 zgEOfh8-+OE_Im&5Qro_it47eLL=8r51^IJKNq84uAE@B)In!qMPCK)^Vme1ZkJ<&azx`W@nu2o`pv!AYr9}V23Q>AyeLtlKAO#Nf4`&N< z8k$P3MB?;ADq@bk6chXfjs|}d*fq*%1Cs0yTU8UI28OwrkTbph$gZ_Zb|BsMUnpT|L#QOTuel^^*+ERX`RDQinp;&s-^e@%6($m7 zWo>dN^XYu83kj;o`8TXZB#KLOuygnDbJZ87ycG00|ABjsT#-en8&-j)o6Sr!P-5=y zDTAmUqo~!%F;EEX3n)X4nd9=K3yAi?!qF(8h32c?R%hGUGNy3n9UkC|yTspRB*~ku zm1S($Dv4RK8L<-jbd6~YDA7h`r90$_POQqPDI5;mYx_P6L&w{7^(GfdJDH96iR_WF zg%D8@5Lxc!y&xqen~pLf!om+N#bSSXEeStvYT4fao*$vm&&d8WuL!g_(rQjp?eOf@ zc&hK#li44$^Aiyfu?hBIn2p?5g1@9_a+6K%icKT>8IMVyukA$IaQWY~k}BC@{=9XA zYg|&1{-%PJH`ULsfRUvWS<>fw$^>GBAt#ZgNHTjWN1ihSaWJIJ5AG)2DT#An+(U9-Hp?-i=sH)D9&WAXJ&8eHKhY7Kd6XW2HqQ!&c*lDal4s zg5?HOnSn8+_NQ%VPiZ~9aih8@^n|DCH3*&y2Ff+O{_?GG`9bUT~o?_Y8^ya2hS>8Q9>2+f z6&?O?y>cGjofj18IYf~X(H&yvztH-rD-Y{p+Grb%D zYq+S0*DxXml+>(N3=mNrfu{?0Cns6oVn|(d@O$6>=p|#J!C^{;)^JZIexNETIDgLQ zqT7Dgye;|LU`R2LX={OcMW%!2Il?=?e2NI$jM5y@Dil7xHu9)pPFc8%G43&lY?mlb zFVaB|lgMMSKIo*c#X7Fi&L3c(nnuR@k>x1Ja`&Y8d#r41?%gaUP7{^`>_1ecx_$rd z(RhIa2OHW_>ZWOYH%+5$VSNW(y41g(O378(jh z2sWM*tO5?W^VShWe7Qq4YowZpa!93EZ>uPNo9~ScxD&tROgYIn*MSdSD;6m3^CrE# z(7&NYe8(U4X3I|OMvaB3QUX;15P44JX}uZS#`_zD1jkKA7Jr}UDgXmZ>U{xU{RUGf zX9p0J(0GZ_ex2F)1iu-p;E*`KJAdAO<_M~WEz)!-c^DPwj|@{-=6zB!72CR{4^a!- zgUTTI$l|rr>&e+0CEQxwJrDRLQ)f&)UFL&6KQu0jsWvk3jk$@dzBUPiDz(XQV!F0I z*wo#tCdYuM2ux=E;QIdkbWOn#L3E8uYaf+H4CuTnPMxuCs_J{Kl?l;299(v?%#gUzE{Yc?79UL~Se7(uvi4p5g0R}6lh;E#T z{y;x=@CUY`!V%sApFnXI>qjIy0?m*y{RJ_rD4Trd*i$z-7wN=nPOQfnV4VkR-Ol?Q z>;~kXHScG`8vh>Dpr;~j3cKs;J{KO2$B^zlbwIY@tleGv#e`0Y4R2sg#?ue(d`zyu7KF`=ZGF4zjl!qts*SVabN%N@r!Fx)+$V@ zIG8%mF=p{BO1UcMeD9@e`?CwCY5rqQedzc>L^WI@^6Oghe+$%V zYXj3Cr|?-KQs)d56Jd8iEo8iZ|+9)KpR$G}LI0Z~IwQ?S0Sm z{p1aKU&fXX@UL6)$aJheA~hoL(F-fk3*+3I7z);ZfDG${s6(n28E2%)4%u#ru){S^ zPN_cgTf7CvA9WXNJ^g7mp}q#knq@pbMEmkV=R>*a%;*3*$f(?>>9m#>(u#yE2} z$3;u=G)OT@RNPh5-N&|N?ydfd?v8!o zMirk$I>n*n_jbG-EQ`5Zd`;}?%y}_w2rF#q@`2MXDNVq!?$a<5bh@y(dE z!lsL-)7-NutHX6|JDjgfWz)pg+_LMBGo+5ApRK`Kp`r&=+>@;sh{UpUN7IN#$eqc9 zl$QFvmXo1Aha_YX;c3Sy@#&?w)+B~$(Q#Vg>CHo;#+$_aFw zX-c=J*K!K8UM@Px28Ccvc-;R|P`)O3Yr+`4U+iT-Cbki8UqgUrf6go?%0Bjfa2IXkMDoEqmSdt#&U?ZwL zKd=15gO3)-8WYI#H;?nt;NdI;gVPKs zdJ}oF*G4;bN#2^!oSJwHfczJX+*!)A3n6sj=P73H;ULVGS{{|Ar*fj`B;cO8I-*=H z4#N!f-D950r1S;@YQc;8A}!v)&+roWM*c#&pN=^my!%s)ZsKCd>6qA8RO6(3#6PLg zpmiDnxGOxBLHiGb>8*dB>Ij3P>D9=$t<&M|xRZpL_hp);hH(=kxDXQ()ezgvk!y{1 zM-UnuLvkfVSIf-Ea|~F$#~OQ{i7L<#*wkUw*o-|U^W|5CUBA-G?c^G1`3CuYdM&GP zo3FiK^2T7H>}T}{v6c43^cPl;Te{ZY$pc<<3U^hpqXk~U+y?xuM0_hfRs!bIsc70` z2kgw^2STHFYk7h4jA7ZhBt|t|3b<0P`k51XIoTeqdL!t))Vs}PC8%TY?W0N^-@%DNL@BD? z10HB6?5gOn?2VJ?AxS@cp7#KBxb@wOHDfOD*n?2`|5Q@_30Dut#!=SX0tEWH306gUuqvrVQZe@*3$7yRhP=TGGllU{|TetBkYs0N{n@qf3W< z8iN>}7UaqQWrnS15X8Lq7d(MG$Y$U9KWP@!pM__Enf^)?w7)N1=%Jv8_kQ(zwuiAt zl`57%c9$zm2cU8o2&-*(n=)NYc0|f%O<8>w^UIxnOd4vOA}LPsC23uMqj?a(8F4+vL3cNQG>FbCl@pm^{@X*u6r*ztO26X|KTUoD{o&soC_}7oiA1l zRnqv!E$KJ{87ucbr!b~-alrn19gb9&BUyPt9}{euda16I=b077Xw&w!5?O+yB|4XL zzIXz}?@sW`ROSm3#~zzrbBfcV;LtXNuCL{=QH`b(&##gFk9uZBg%Ki*70W{~QbOcn zR|k2*`cS0%GM_N*P~w6OU4}0>z=9tzw~#Z0vot5J-iBKHe6D@ZdwBbe_?T%&GGKtLlOqge0>4`}zo|jBN{zdcm9HDl4AC|3%hQj#nKJ>>!&1jic=Sa^ z_F|$o?yAv^r<&ek7MR3nPTD_4=KfZpe+6OW5jdVFMS7VnfR!qBV3&QZ% z&5w_!VLMoPtn})wP3ZP%6(giG2c_vJE1)|gN|zQ7zaj^QvP9B~8Eo$AaK!Gk@W1-L zS^Xoc%rm-(*OW)nv-hGZ^Jjkb4#s%}1xa5b@*M=tOC@=e_3{nP0Bi&6C!g^pFN#0x zx_+#e89gg51>$haY$s*Y)J7L5UB^vFq3e54Tj+Ql2EB4TS$MOorJ%jptp?pqN^(OCLI+^pe4Fnz4n+!?FK1LjoC^QVc;Cjg4*L z0GoMTg2MKYEl$;Il@|JX0(1S*JkP8M1$8wI54ty-Vy@^7*kas+Bf<>xhbO ztrUyn;`M+6`}CC{lb7)a!d{C#)4zi|;o6V-^pq5}SDn|Kw2nPyZ;+TWl~H7I>7J{f zdad=uwGDp%W)NUsqc#7c!^XZTO7P7=SP%Puq3YPRnMl&U#YBcEwL;O{jdA+KMO}X2 z-6ueu{j8Mbk{vl=KP4UDE0!CYY8~>L#*?MJ4>s2qJoftEMsZcwq}nz_nf5^Zc_H;c z4wVnld@rbnA<067T^!;o+Sg_g%!W|(R==BR`o{hBW{?)1Hv?!p3cu@r(+(Gj15Ir6 zd8r-AY>DzBv2$_AEQRTMt99^Ro1*hQy3QAErusK5k6i0tjPuLcGrP%a%iA+5 z80w+XIwL5{pwT|{&$O_K=vMGOk?DA%YzyKOq-6Hu!u11|;3$XJ%EUq}0o7;R5}_ee zMt`Ic`ll(fnT|{AA-SV|ZEccM42(duSI(iGof56s z9@G!u;xc?Vl+A}~jhX*tEVRaAoZt3Vp_lm17la*UDc=i$ZMRX{C9Jjxxsf${WFo>Z%)$F=Vy7K&Sk*JbxXHX{&~LPz z`+y-!qEmJB49f^;(@-L8yh%;BCB*pu7d*@)Md!z<*N|aBluhnh9p-to6IQ zNp{n>Z*ZNdGY-vKfxF?KBTDP=h%&Im1{4v#E`dDVn!iGZVONZ9Fqb|S-cu}lOOuBl z(3@*R9DxkuRo%oqt$qluZrb2Y2C$?dxaLMsM25lDE{+Tz7`i&q3i~wJ$F}F5tb@96 zU-(Q#$Z|x|%}eWXJ5(?ea+H4cVT6scDun+*Z+)1oA>H&dN@hkqX8cIPDQYXa9P4-X zU?uQJd5!_Rc+B48`*5=vjR&l4}w!p8xu2^|9tq%6UXbg2$bGv_v&!rE#89ocV`!am}$4cEjC{~gN0 zb7;BaiV!;U`H`n_TzTAljT+1p;HMS-;Hw?*o#gvVCkCqMyz$t(z{^`-&)a0$?VeW? z2A&IkSKTy*{CO&T6?&tFw0oy%ES>zGwuvl`660b>fL4l`xdg7&MaISM{^5QCYHB-M zbM}5_*UL4E`TTZ`@8kb=&m`9uP zKs))gVX>{7i5eH!oeIur;5>;9d^VXQ&c^O#z+uwdUEBd^$NJr^0wb@>OWnmy!30Sy z7Jf;&5K5Otkn7`es|PO~SWI?a!DLU)NQNr$hDvUFLj7=tXp3JkRO6pAqkJ8jb8_RI zvK>C_>RM&VsuZa6CaxZz!hO=?SDkA*MvNJQ7q>^I07sFzfFoD3A*Lu(6~Z}KCj6Ef zoX#8DwEc;Q+kqeeohvwU=l>4uZnJzC#ShKV>3UK+v2 zZ52?o_@A9cGV-ijA-n7^CkhKvfSCy>sU<9hi6AAOo6#^SW!OW|=vKw_ECDe}oE`jk z?S&KsF0uUuAHW>VQ~pzE)#hznBC}0n-Y`V5pIaYK3IKxoYtC@>zeGIcKVa7YU7||l z)={{OmWRnduJolQvXM<7`9F}ujGO3OjO>#MXEHIvTRP~Q(lA%;duE}h;z$BKR$vrh zl?dtQoFNp+P>5}RoIO3uDO28QUSi~@E)hYky2z}f!LHz!l# zK@{l~O1Oc#Q)<7_xmbZg$Pb^hB_01r1P+Vj#EbAt}()ffUQtCHZ&SJV82Q^3u!Y#LDB1OU+ zboIG*>^KFQ@Qr{>a|G;#VN6d%v=IVZ5mk`Bh~(mtaD)fy9|J7`WL7YhRAqfyJmC}l z65vFS`|Lzg7uSA$N83#O?5X4~wz8>(J)lGlN}o+2afA3$uC-0kbx{u|MY_AxHKrRh;Kbns1Sq_Yzd)84&P}KjC+{`N;zUeygU-J|ggsWW-j&^aJp^gUwHh6wI z2D{Gci2AVNSoaNMkMYYt$PW9gwl=>`^^MWCot8_<b{~T~$KV z_O?-OL0vtSjCLh)zP69SkB_7e+E%m^$Sx~*O7+DT+SoEM-yV9AT{m+#oViY{cwy26 zDmZFOU13PQ`BA;|^Jj~k=Rb*WJ0C1qU`1r%K%0Lr0Dc1}3BD%v4V?peK^PKlK+dG4 zCLdU@_>++J`xmZdj8(cQ&hnX+(qEjOGFv2P;z2yWHIr`avQlR#AC8H}?jd*DC;?B| zb9NSw&T|r+WLJ!Iw*p+Von&O+1ckl(<5~ts4Fqb`u9=G0A*q>wA+W`O7f;0Lz4yEq zsb4rXquwo7HBNAGMoQYyu;bQasoz1c8nVY#rF0DyMiX*!q*=Dxh~fF^$vFu|%S!(v z+<{tXqIuoQ7?88SBo&k%&fxi97Y%PXy0)H~x0(sh<%{Fq3H$TMsG(`j6*HX7?ajq@ zjAdcb^@6L>bz41dsj=-`%&dmU#2;6dYl|l9I{Lp4^Z`&!sso4d7-Q%?+Qbq)+&nFb zD(aPc9oH+X@Sv@gWgN+AuhocfAw{KP#`FD$f^lAGn8glVX2d++RFq3bbU2xn{562a zt5=u1Pk;}6*(I@N7mMgSBh}47CFCK;;sbnNxhh(PKa&&n7M5Y$Z?V6m^E`yi4iw($ zPqp?N$ylnc74Rn%)jw9{HpAcVLr-q2<@v~yC)sJK^Irli)iYa{Wd#oUlMX7hbx7V+D&Kg;hB}ilBvA!?W$m1 zQqbT$`UzroxoJ^AiY*?TX=NenSeWzRjWo$L6{eNYV|hIW3BCl~8#)b#5CCu3#T#gK z6ynM(dL4_=dt$FDY9)CRc3^kJO0?eld=Wp;Q37cgt~s&8$Ae`NI!(7ZQUqtYpa^Qp zCAe;CZeU9L<4Rmdv52i_;H*jK@A;7wTTdWoEPPg#=-2y7>I-gfih{~bSl^VvZDmC? z2iFS;m~$)$hJgQ$-}gOz76}X6P@CfQ!F0w@@;&>@UIOIbqsk&Y^XH(cbF2(e0j11U z;DN5K0rN;9m7A*>c!@#HfVHA0MC;3_SV?WTO1mpA`_TpF(N_V3@RGv|(k0@WVSXz5 z-TP0(31$mjWg67u4tkce5H!WWf!F+J)qX6BNa6zWTd$OMmp7Xi_fKTTg((d=uH#uk zn3iHMzl?GO+7(sJI;x5didJSnQadvj&N{($;UL5yf9beCc>c^#ikTO+5a4L~%K1+1 zd56IV$Y8$c&sZTqzvX_My@z|{cdkSxZ!i?_({osGt4old!4HFjJT)(<6v^|&scvlr zwTq2mVyo+!fG!(+7zBaP*D@5?-swT+vy;kPxaOe}lkwN%?jeO9I=F_(Q=>Qct{|$}Ib`n!bx+eok|9t>IlHL{ z5oxa%G@^-Y#CexOd{cv5+_<3KN))G z%*NB^`3ChGj(yhr8UBm9F;c~+fBl{`l>fl>l!||52$gUd9j&K}qwg#W=;n|EJEV0G zfDhrF;hyc^gKrH_pI2MGWR#BxR$wJ?iuG2Rtx52jR4=hAGqYUZXt>hRL0_?<^Dj~P zLO28sOXpem^HQO&`e>8CZvHW%cZQ)Z=5gBi`*o1qpuDmz*~_ceye#p1`g_&?J2pg# znll7m)GNO^`T&R@ya8Ty!pWVe+WY?DqqeWe4(uD4*~Q#)r)1u-%*=uO;cd7^sO+5Q z80q-Q_<+a!lRP4`tHRssOk&MZF5#@Fr)|I88xqAE@l~MYD4-Iug9b0NfNm2ebnG`| z`&bcXr*n@8t>xV2+av}(i2O0S=evA`$*)tn>;4lUyXw{vc%J-|xYMWf0|bQ7v|uy0 zqozu%5Hz+0gM6gY1ShYvhxaQNyYiWhI9^^9_7Z|%c7(Wwrh@Dgb)kMZkn{qDioUb` zUXlulEBf0DMb;WRKGj~{kBA~5Q};i~bQ^(l%HNUymxnds`e#}m+Q_-Jv2oT6TU$_s zG2TVR)9K=lHco!BBHQ#tuWn`;05GJf%gr8c&D!O%ZX#jL?%?ENj08c{5k+bBcU|_X z!VqpqsL(6}`%QByiU*z{@FmP)Q-sEPYO_8Oh6*d=mBohhoZ#AF{PvttgyMb)DYXr? zT;v0R?7IXE1ysKMces4X6*YCX4#JLDN{@t%wsx>tHzl=Z;(*xfXEt3I=HHXNQR@4f z$oTbvy~f}BqD~B@nb@bXN2u&y(0nkbN)rrm_~_gV8ODB;l&;;YqUFytM-~)N6#BvbSI#Clc%ME)%*b;FXJfTasNj5YQ^2Y~k z@WoX{@w3x`O91Q{U06MCly!XY{EcCvsX8Cfmt7g}11 z;?D^J3J?m0N!=Mt_x?m($Fwvb(L3$Oh?wEfF$K-z?(06PoQ?Lxtp3jA1)?12!y0N$ zoX^?57>zRgObc-9wf8E$Y!x%fQ7yA6BilZ04&=GczKOIIT*|R$AavHqx3Lqxk@Buc$|40!wE~=B9ajwOL=e|H88N*mAmZ0#poT5Kl;##n41EYO zt3w>yIFkCIsz=2aWifvY5ZdUIBiJqor?E)kL_NUEB4&LK*e;s2k63v-T&zjxN^yeV zP%ED)!+UMgo?EniF58=pV`DgRKjDPLjRXRo_7|br>J=TKbk0P>{zynPi8bSyBR5?z zq`qWQ&zD7#^9p^R&gE0e&M>I=s8PY-INKMU@p~6{b}Bd-pIS+tsz#qp+0jAg(ZiYY zj(%a@0KQyu(9)A?F=aJ|LuE0jhuB=Pm#wL3xeIEjAUN(BZ{hV7?kS;*2K&De`alIY zAQu|?lSp6y5YT}*5W}4OdF-y6l|s*+TH9@$=6w}#U28i@E4*DtUIZ#;h8n@VS_W6s6vD9iflx@-jUJCxVg{=M=Os3%uB!_pOG4-w9G(e z^uOws-1#Wi16v(LjWjb+YWt{_^A4TiLBoJ7EJ6d9>M*`}6)+%68WA2%uQ}J8G4(j= zznArUC$!JdDqtKzN5m+VRcct?c3?b&@o{#x@s%|qlSqzCfZM~vKCxf;T|$b^J;Lzb z1q+fxv^PdoIR}gf3_7ZLMybFg0&xPJjYJt9@s}Mf%meJCs9EaL!@zxAKFdrktd&}; z8s67syB#Vaqks3RjMJOD)riyqkD}Z*nFb_PE2k?VS(l5#MkQ0B5~34MI8`}JiCD8# zZ!`=!Q`BcH+D4i1B+R?w(CU&%Ad6iOE}7l1a^eUvBMJ;F2_}MaT@C3&(o8&f$o^@2Kwo61beHg!y{*b49d`$Kvo<) zGzBWSx{LMo$?)n3_d4%JuCSH@)(G*BFA%G|$}ar5QZP&%*tGc-E1LA+g-x)ska)Mb z((rK-)9NR*z*;Yc?-gvMB%JKA)rrWfTdp>kOYf}sD;-+HUyG^4YpOI}5Q_I7HJb|s zoYV`YlSdpPzrb-6`8`#BCjR{G|Dc2EO>m*^Q+vgp-K2u2@Yv8Rb3a$-5mjr|Lq^)6 z*wFjcR8OVU%^4YmFf4t^b`akAd8pZMm~4r(DqhinlM!i*@!x~ya7q^TEFFgPls$lBLE>{v=$bAu<}8ps%ub-yC2y&hSXxDPg#YZ zo0cj>I}& zK=!0d`{G4>a<)(@g%8t{iWRbtSYArbkv!DGv&|SlfY2)!?v4HF|usK*b!D6mY2>p91ATa!O!QBr_5ktF?(b*{gFCB!T zlGlG*$XrEra@7W^jd#blltt2f0=ZK_O}ZhD=4xR#<_-FU+S$gyE;o6aRD3e`DSyh< zb8WNR5&I1Cr)`6vzF;a@1R+YFh62dw|kCm zMHKA@1ar|2y+@P-Gdr!Sara>@%Q zqp&0_`>~r-j^W+v=l;$4V;q|a(J8;_2PF|Voh)_HW~)fyT6_z9(ic_Ui)WM3It0$+ zR4iKuhhuWwvQkc7w=)ke`}N+dZ95cTE=cju8#uaJSHFcPPX2V^|5u7D=>wofgXSj0CiOcjUbN}~@d{_ejq?34gb>O{(3w-^ zA!1qx*b_ET8*co8P0u2#_Tbi)FL-L zoh?|m#y}|6b-+_KNQWOnAq|W#xq?NfeXo%HC@Vz-$j~XCnG~(5`4|e`JqOPYa4)9q zxl+-+^D@9Rk;i4G*vZzDmjHW+0<<5$>#TnRG~ZecEkj-zCHF>!aL-JtwmYV6#1Z~} z-53~g_Hl(j{>9UF9M-iR8yOWwP7j%SD`A8}ug%P?$NmtJ?xiYQ=fzEnGU_m*J%PT! zKjVVd42xx-&f+kFCiBo8StJx{YiT{tx>f zg9%4Jqu3|D3f#7Loo|~O35z8afljtKsEi$_6eqo~B#ON}cz9U1nN%OiwN$@K- z`VNr3Z9D4h*sY4Ljy8zKYj=iAZjNE^-mrfdv(l93j@@eEE+}L&2Y*bN1sy?!a){Ac z;5UYaBAnW`Zv4&Y-3rpx7S)O&6IeUwapVe^9_b^cNxA!L473krntV6V>J49URRnQ+ zKZ4EDrmfrLWB$0CTCQ7c3dB=0Nw&g=R-8g$p%m>8IGVtBiC;0l)Q} z@afA}<}cB)rO=uHek65IP;QDOAnGqF27Cbaz5AyCk30~UkWW@Hx*Jon&{zeZk&O-8 zVtm6kAsCss+4+clnYFp_3_<;armm`n@ErA<^P)}!X)aT|Ot(TBIw0UCTQ8}36j&58hv>_B{b=9oh zk}iR~^$o*33zHX1i*jvS$CW6UV(}NaaE2gDkqjd8?yeTsaw5ggId`C2Cx49B76b zRo=(Q-0^Ev@d&JGGeDgz0tkg0o$1DP8<(%;T*ME()Qczr^scl?adMiHg@c>S8X$9T zC)R_*n~m#wADyeax;f+w_%4js@%Qr$xNL7D%ilmwVf)Jlod>PkN8=vR4ds0YBh4hj ztm%u2-&);R#UU4J0x%pJWl*a7OSXFbl;sv6x(YUz2(R0(uaLlE3Q4|2VoXD z(lZLL_WNDc?$;9+Il4(muU5=mSGHIPwZDkzZ*a70uc@>uF^4?B7Pk0b&fKa4e3-qo z=JWf)52ceal)Pf6%s+uCH3MiXaCfMy`U)QXa)dH5#BqWG#eS8?<(kt138h)B?J|f> z6XPL9=nK7|PE}}pqLq;DsBeY#c2hqdO8rKzmVY6n&L-cd02O>43l%C>2|BRb{5;SNCdRq^Fa*W?DAZhuY5v^;84Y=}A zP0Bp#ZUzOS)e^7f&5c5XeyPBv)^Kn10+}dL&Us}xY#F)X`5jr(XfzCl5J-U}7bzP3 zQuc9QIP(+0itJ$OlW!eKM10W!Qa55%e92W_qyE!gSJmk0*q@GEwO~b+o`Z{rKOsa* zgtQ6nNZP1!2p*NvWgA^!(b(g4dV`kzmi5L0;P@NQ+(Z(49nR>sJ_Fu*l;`=i&dg(X z@FStwOvY@%O0_&g?0$3TkNrTQ)M;&62E`mLH4_N`MaqBr29Mn2T4;Bu7eQHy_?E*@ zcZs~?Up!eCs`M7uPy)wqId>%VIQUi0Cqo}cY@#KtadN?L3XN{qXeWa+7#E57K(bab zw%5u41Rd2uR!6JOOAdWo40eBaj$Mt(aLr`lf>u*% z>1p9_un`QsSn=wx%{VLZ@m$}qK_D?iyB2-npOesWy$VfG8Qw@_`yEK$#P&K&_ngm| zF=gu3Z&_JtDCo0ZKusGtk3fY#JQzab3c{cNG9WM@Wj6?~e7(68RL+RKHk4gg3;Lwa8Ke>&XGfPQ_5pY3SK((#8>%^5FC<;Vu4QH@ zac+l*(zM|GirAl=-iP3mEMQRWuRgHCR7UB0_WOhoGy<7cc9TU1CP3hfUEZvw;~_2UUq#MZqx?o1QQ#DHDFkm zqTuoBe<*`A#FZIcQ;T!hY7Z~Lu}1nc=d6QNoT8^kHsYqKUeluSd;n9|xlF7MNI0O2 z-o~P&;|TEHJ@fiWHpE3__??DdsBs{LQV^pPC$vX79t% zmnL5DzcF}p+eB=hqiv&Zcp5Jtg6=OZtt}LNTL-vA%l61VFyU}7^2s`Lw*6UiQ)AXP z#W1~CxEr@Ol{jkass65rcM@aIstz4LXj_IT&l>EX4}t>1q$u#t*z9A&hc1PO`6~LlL(boj1O*~G82_;|Itu%& z*p8O3T7`F(VI`VxGNmGoWU#zw}5E`OfHWgS=OK|&EJ%}RpNg?Vic!yn!Xm?cjCpy7m`^w zJ0eH4J9)ML0xcH`1b7R?X7J8=-i^mZFOf7h2QY8%`UJ*39M2S>k%@_N$2=z1zkI#R zlP6PbD>^auYi>Qiw=x)!CYM(O`pA;2R9wl9!_o0Dmc5g1bXKq_xXyI+Nq$HD&mPX| z0uHY53N?E#!>dpMr|90_oDN(1%K;@&Dfh)!;thBkc8p|YbHN7Zp(tk;2s~cO4W0pw zD_lA9{FF#VcZ*8By0Up_OD|xRDHBF{_YK|R3czFD^A5v2#Aq~5DC7=Yf~t1`l4+4s zX;@dedOG0*tS36BNg|9zZPI&y(^>v?wABO;Ex;VYmbX}g@L=`Nh}n0~8$PB^@qOJj zRrCB?!6gEg{u%d?5Eaf)05>(Y>U!=<1CZ_R)M2S^X}1UIW%DHd$)iZP@sVBR4jFG1 zmxv9{ultUZXZu34sLV7_x=d7iMY|ALoqx5oMzf&m{|6Wc_ zL}9r;(9)98+^Cvk0JvjH zM%(C?f9WfEZXi=aJZn^B;;2=$i*$#wOMOtz7boh>T;W&tjl7w=R0tn}Q?cx9ED15) z6Dko?{{NmJu3pf+mC6br=~dR4W>bZ_yOeWv5TT<&F}Q5jd7p{?KzGy#X&Nqq5c`) z2r53OuS9yh`lKTLd~kKoQ*?#(-_?T6GEdPz1b#g3_bJ{tCeT`yRhR&u4B9yY%4mtR zWHo;C0_X4#L6fe3Nu#!+DK{oQXWhaNLXq%T(&nQ7y0m?XeAl1;eGZI8>$&t7LxLTd zl#*h{2|d(Ihxkvcn`Ucu@^QFw@5L_Kg0R^rLr!%Z>L5UETB&fCIs0n7@#~}Zz^cJe z_s~O)8OS%WA;vN$vT(LXJv(g$V^KSAUs+tbj(OE^LpHz#(7&39YW7OS6+B}Q`Mo z!G{Uar^KNHHg}S84BY<@sYn)N0Cn+zd!W`^*i$c+a-k;W+6^c2jhSpZN!h^?4-mF) zCo0ptwJsw~-M*t1?pgJ_#6Mtgl3Y%XLE<~t49DO2&VOd>3DxfWy(tf_cRmK4fGRj7 zeENY7pD+C;?#FG7hG$x7XtY1$GEV!t=bBmvhf{>4A_bfEr;oylN7z(q969oRIgpC| zL;s2Fn3(Rs^sS?Yuu*$A(54`9p|~vidL5_}{P*AaHitWS)wp#t1r#yQd-phixt)dbyl&O^REw1BU$ za4Oe+A0huVvT{{0a`DNgQeiCk0M;9Idf6B; zEwj*kPE&lEn5r_>Llv>0472=uYIe-YKsaKb`yt{+syNhjyzm2N1Y*3u;&r(&r$voY zxW<3gmB%#^xb;L0vW~p09_sXl&4@csmoBf|4ibKfeS3G^;Gk`PoWM zdC3Z^0<~8+p~M;san7DZ+}Fv-z;|zWpwAXDFmc+dDY>qKSWJdgw88h&qzVZ&6UjYu zOD2;}iok7GJnc+u%q4VKP-~1t34&?oVc&7dY3puW*?#?h)tWBSqk`sC>|O1nBapFG ze&s7mLYLj*3I;u64fG?$Ad}ekkGRw)`l2}w9J^=DRz6apw@f<>I1bKjfzAiU`(`y< zF0~=i(G!g+uGHEItm37ozj#}{5nLMMbHkwEpD~rAI#JJEjsDNPP-%!WYh&J9GOr8< z(%So-GZe+WnxDG2tG$7Kf^_dBSgy^Dye_oR8zT>s@X=!r$5&AF!)AcDs)w3vsOoVa zrNKQgD^j4bckT^*iXR0C+l>RZWkO|e_{Okc=NMJ|53835Aw8|aQ2`6AoI`Sb{*N1p zXAIEviYTqeX)9N_^QM9?)Y%jhoOu<){=)itutWFsE?YHUnDS6J^T+FD9mOt&MUsy1 zUYJI8d97Is+UhCyQemynx9;b|I@h9(4WU<`AIk#P2^ltvH zww~8340N=j2vqRZF=H`g7iI;Hx~ud~)1c^3+7yAQHOqLc=TIT5)9&P8s1eH_^$rxa zAav)%$L_9lYadK%Y_emnr(DqPNBdXTZ~vRo0Buha3Ey^{5yDp^pg`aE{}@1Y)HGpx zd=kT-m!tUbymc=lzkJz-{DHLqeeg(ZfEJ>@m`y`+q~vB`tWc${Uyz@LJE*4xbSof} zn^5)h-O<7TX!m7JH*SQp9FSFNv`X5N+=6K1Ku!~~L_y8535?B#BuOtYmFI4$9rz!- zVA4CpTOCE4@jV*CK?~*9BOYEcd{sN1G&rL^*~B+yD!B@rIUZIdHt-~i8l2r^1lCIh zlpmMLD074^OClo5Dp0MivK@;>s!ge=)T=%NGfzW*_Ya+FvX*p zvS+P%$N)n?yuao%a$Vz({qmNa`%ZB03&SN?1dzY~{ z$u!EoX8aS^9^jk3^%QHkGv!2W3V2SCSgpWcFAt7jOoJa5z0C0Bu6Zc|3Xa4{yea$7%XkQQxR~)T{zQ(J zY7XTqY`>J!F{uN&J6HB!g0;$-)RJ+|C6P`h5dZZi-*{c_>P+}=5$kbr5Rw$vd2W3- z(ORbuoL`?wF0~{ZBpi`$8-KG(`_zSr+k*8_#boCgO7qLEOvPQRm{&s(dcTqJFlI{{ z;m60aCv8`dOHH`%g*t*fIY+_0`+ii}1W{c;P}Fm@ssA!y#=;#co5W(LdV~enA8wak zI1eT8hCV4F;5K=|E?ZzC5Q>RVls}s*K7ueCM?Pi=pU`ND$z5oN!y=yed6+bX1Y zd8k}`TW^@1_utE@E`?h1M!C1Xuu zg!f#Nxv+;WkXlUlq}flo=zOhpQqs8sD76F74+O#uhZgZfZA9*Iz3D{7B#w^}NJ=;q z0>j-~`04~3+;-P*8yEeV)ZBRK!@$W7XF&5_9p2#>uN8xu* z>hf4V1V0Dfv3vz76fALQojUh-@ZwJ(BX9WVi9eH1)*hy+Ce6TgEd* zm(SW_mIKQ`)#H=W%E}2T4mW#WpjETGnm`iig#7*zCbFcTCC)6a!npJnF1z@EN%IhI8Yl^ z5EO-~>&o%~l#d8Bbx9aYZC0O-G3ZLt@r;7To#I%*m0zq(K<=FAz&^zGxUMX3@?@U} ziBj_s0}f+ahvGT*Mw9?*yku+Uyu=06?{Ztq-sP9l@B~XmH_xR=J;+@od9AE9l~N?) zruhcG7eO#^VllYIT@{484bR5ufl`5y#Wq~~DSB}7Y53_yg=DD~&CZNHY9N!<$N|j` z9@i|0fdLP~7E5<&pf|q{RwPD8eDEy@Lkm=LdC$ny{W2r(=k~G2$$sxJ+KB!lb$&Mf-El>gktg4BcXVA!0h981R)NqqJz7#0qZ7wh& z)kYD$n)I-g#PWA%oa`z3@9zX)#x(!;2sHERV}&5t+&uQz>kNMo;nLMvOF~FO2C_;t zdALv{QlXGOgJD5~Oou0#f!0-OZN{SV*Np>KYAryB5FEBTE92~8ln&0(_HBy^FD_Ko zMgy^;4pUSjBSG#KFF zk|{dZ74ZRID%&!_;>v3l2VGayP_7Vz>iJ&-aT;UFVXk=k|CglvlHcu#h18-uBoUR3 zR;#TbzLWeYRgmnvhr`2CrT;6#a5uy~2kmhomiSIBoVAUz z8OOWdX4;nEoZy830w8j<`v)|10V!L3!>T6}9G{1ZjOYvQd63MjCHpc&b+L!@_O=1JHo#Y zYL*Yj1a^puL zB#@|27Ik2%EW6{SS?0^9gv6I%lKwD_9nfMHRV-O+ORka|rJdT?Bbz5nOp02)I-?7{ z48KHcJ*^t7^w2e(3=rkWyJ_`I7v{(Zs0Egs$-n8(-R|2a$P~Q@6(2Bq?qm#9d?A65 z0Tzx&wYt;%#48y}-Y#EMf9`?pM;gMUiICIG&Jkpcsw>iPFbJO`4xd) zbJp?~ed#LA{*ZMlGH3j(fR`gs%A!rzgL%Py(>LDogFEt^9OLKWv_lry>54Ob2_rgy zH4mKy$rqT)s0zFZiVn>fsb$sq=F}O}5#BDGl~}lhcsLtnQ7D@3Vo!xX9GR{7Xf4R? zLxsy)>Sx2zz8ZS@U=W4@+Cwl=Hn9f2kcGocD#UbTPTcQKzn_WxP0QQSs21frz;bj{ zY3Qi5MutH|QfDe&xa2y!gSrg@iDm<@&v@GQw2-HbH8V?bX5N4E8?zwIs_((Xl8j+U@)GwP9ejj^^hSW~qssY~l2{(#{i z6^P}MG(klXFNSX!Q(Yns#m3?ECL~_aK$_wD#&cqyaH)(ZG!5p6GWXnqs%-Grs3-t4 zFn*67Qfo*$X%`QP``0q*J<%M zx|x&Amn`P(=)oBg{D*ocT~}p-#)x;8y$655$eG)?Io~qT*5ru#aiW^ckbftjuZ^?N zc4WOps!pH-`Lp0Z>hY9@Rh)=aMI}0VA(gIYjUYG&5Gct96Z8XTN*JJcqmTkF#5MSs zj-8gGtfjB|iQzjurNRC+#Io?$=UvamTad+#V01Ifp#q;rNKF#W?XAwoI>;VY2HvwM zIgRB+{V0p|oq~|wgy7MK#-6Lwd+46sHn)&dgE|sltK;M4mY)~o&X~%+S!8;I%)ty#@wvZz$#-tX;C$LGq;9tKj3xCF2G$e5MD1r$zQ!d8NrW$S7`Ymv@Bybm9Rc z>0W4+%e)zRzoaza1ec4=#`;BQ(S}qJYC}Mg;*`+7e@zfMo+4~eUm8^C)38C}$rnCJ%Rm)_wYA35(%5Pr-Baf{ z!xHHS<8N(B%tn>SwkGW6PnBXC23$D9B13F0)XW{c5OY|zqlPy?^?Lfd&cGL>RRj(^3(9)%55+w1!m|32MJvW=8G3Pi~XnGo=c zL2_A#cgdFSd^#Cbp;Uk~18X+BhG1c-MSn4j_x0bZGz0P%ym9N|XOvFZQYaK-=HRF4 z`;=!wD>A3vPY;K(dK3kY`Q>wkao#9`A55@8a#66Aicx~}&2`ighJz`J3T}PfBEt+8 zO{}`hikS^1;pJ);||6k_PSsjQ8`c zuv8itTB8|(UNrf@OhM+tYwmZ@gZk)xw_ku*to^XZwd05kX+9iwPu9<|FB!+7nc4Pw z(JotPuUgIPaxBCDOiCTt8cYF&Bm9U^BNz7-C^yc!+A{gGd3z}^ZNw;7{-_IN4Fq_I zX63G_iQ~&8t4B)lyanuU<`_ViUt{^Dj3B@Gg|u$FGFlT|_DOm?_|2%H(>Tps{t#81 zIe!2LesqMucaKSQi_KOYY$`oBG`oG-=w;GGc)(=~@O5ENi(~_2W zWBE{IM+G zj8iVpB0?~Vwl5?D8BE|0<)+JkI`jh&&!0Rq!F%jfr~7_aYq8dQsiyO}?Lm-O-}Vuj zsRDQFnokrzWq8|lpREsh_(CJcre)dw>EP+MZ9HVHiJy-St(6tbBPea@82g%@q{7i? zgJ0rLi|D<=G&@fV%`$=0%Sy;scqZ;1>6P77}1_e!@# z+DA&Pj!%cVr8|jRaPMh;VZq}Psg(xE>)TX~yIBupDb(O+bZ)88T(ZdS#K|W<9 zFE4`M@k1Q3C4Mq~krHIEJXT4X8)qvebq93zn684Wx@oQIcB0!@V61g7OqG%o=3|8;S0gR5FMWqu-Wq&mrdSaMx{+1KSWPKxw~681}kf}+J6j;4RkV# zj}QqWOYm3Wcg+)M59F$z$^H@1%ePpXuPQ$2$KUi%p_ljp!~JSGb=-8~GP>TX0rQH0mZw!WU_!K`-KAubGDSKs z)n~ZXH~+FsT%w$O0{yka=RJ0?xWPeKzrR_FIQgVc;nxGw-*pH|42KO2Z#`vHRuyyy z7SCj>=s(B%_HsyxS*CODp}-1RVPkg-Wk9R~O?CIg4Gwf@M4~poZzZyZu?IuNWWoaF z#(Kc>*Q>TG)*$1WDcDyHYD{~MXAnQ4ERC@7t zWHY`F^zok5xqXOAL_y*Q^ogK-QeQkmaDJk*YJUrKUE7Y$JWXl)3*qLJypK<3NQM?g zpUd1#geAu;&gmaSvg%OxH~FnJXr($2hwnz2}#$6E5|7A`(olhlF z=AV-96BU^b+vjwviFax&v_<3TniDO1pem{f>8$;{yCYAI_wz&j2aTcXDLt$S{=y@z zTde2@+<$@BVy}RdGHy0ua7jnF{W-c#)zDthdg#@V3j(mZx?s(Aaf0(E%X{-)ULXjx zwZw^aL+Wd*p0Z9iTEYU%8p)zK_0Y|9xfkbN_fn#qW!tI(GP9pnYMGV&mqrsheH`^T z${!m^lNVicrV1#}nCKk*CvB2E#E*GMk-gHDH7-J^2S-$LJH4XjdrmqTh8DO#kHv6L zgf|z?!6+}IVrRU>umC~Grg1Q8%rXG8u~hm$cOPYG617ESH`~V--pm>6V}bIT&|$xR zEK83?X9Izp{gOzjtAfKy3np^6f6p>i!!v%Q(JZ(Nzq~dhcB=9nEi!OC${Pws-PbwhtkT z7DfaWdSW5=Qma=t?*vd`_7`0`Em8kDuTw0SH#oR?hH$gBNLeI#;Q?%K{G1)e7tYc0 zN+^w|Mj1%0i`oz}kgEtv6L+Ene2(OLLFY-tW;|Ybdr)FZ4xh~E`@D~PYyWZ=oZtLt z4Ex?VX|V_XQKKUV&ikp+Ah)J(Ty5HIJ*`t;;OkR(SD#d*ou{|v+M~^QZ{2(CqG4CI ziHdqG%~e^wEBs!M>*J;IET{<1Px|gywcEtdNNOWHl@zCP3Y1iAc0x{E6Ko&;#&9Cz zdy*^prAc#S;!4@q4l1ZmMZ;+SvB0zNbsN|pY7X}GG&gA+|E)QfyT7qji7j&*T`ee~ zl>1pZU9pOOJj?bc+^2>LIhkO=@y}3{hYY60Tt+&N3xnY?=WbF_0{kNs4(o?zfXPDU z!v708ZQxgY)DLBme*1TUy}CNHI|htg_;2-H5D_J0Dg*MDZ?UnWL|$z;<6{@2skmRq zl)X007Nf%>8_YeSmzlBi zZA5=b^o>v{|3tg(he}8Jym$;%qvwa(2$auB5rOOcJFhH-U1^{Mi_Djn`hk^F2P?*9 zW%z;lod}S&O<6&20RvFNi5O6~?`CH{$Sg|VQ^&CEpj$Fn{WJ~^660C*x;s*mik2U4 zO8xTv`)7KgQV7gQ)RZnb9j|5aec(IMU^fo9n!8XY~u=ur~cUMKID{pi2rviYu^q0Jl$0pu?3R+Qe))P#D@o27@XHgFU{B5IBq_aq$q^t$jj|v~I)HL9SU#z&hy?U51UBf=5#qN7{ zj?#@KGNli26D60@flLX_3cSHK9h0~33J9&+47G4f>Xno)x3t+L~zE&9_cKw%0t#-oG4wGasX3m>Mum@8QVd z$v`b2f**oDBY!G7UNI&&LJkF)rtG4kU?OT=eT0oG>g14Pd9_`2;!ugOcNd|-kBjA4 z2jrt_0{GDXRH~i@c2?D`~zZf}_Jq%w=R+IS07R>d^Ar{&Pe4oL)Lclmnd{iN<8L3eC(DGDGxupS4 z6do?-=^Db#7s#wP+Q{}s3TSIe11p>@2FASum2e5AB|niPYG)(LeCK+r3X7)2 z+n;pZStVm0v`%6yXiQWRfmk|H!u7W?IFft6*QA$=EpTxD)i}St`)uaDsl*JKB2LD) z4RJ`En&V5=pTI|QEjUfE+CIL^VFb)mQY$B&Jfsz3<$_(>!^6rOkz1V`E)b873W>t| z{cW4HNf5-JU2J)k#?&4JFp)(7k%nOPIh7@IZHfn)enX5z=ENC6HSbY1^b!Jn&kDH^ zR6p6{(B)w*o@Vp6GSQ~SRsokg@ni>NXKJNTwa@@DCn=e$Ix4j5w$8o@w;s%CAy<#1;}Za~ z>?^Pw!0`<=%J=WpeGeBX?11!bA`5Ey# zS&S`-06@_5M0bA{LFAiJ1eKN++(=IeJ8V-!d8X{JByEstlveA6!ORVQPyNfGC{Oh9 zN~{HPCc&;)GG3?fe{P%hH6beD&jmSo=h@869O1rEQbvYy*hnwvFE|ni0*ZKAyY>8K z=vgl~8}hxUVxg6n1h7^PUWUpi=J*|2eVg0k<}ShyLG22o=SrX2+CnD|)49Y~j#wt%)_WW}viAzDag`)v9t7&%#N8xWKGG1}2|6sYTl}F^p zNxv%oCKij;T&58;ZWyOcwrO!-I#+5vwNrG#ZKr z=GWqxMIt&r|KFp)^t$IU#MZ~OmMO0MFU=gwg(W{{(+(T@fWUp4(KGBh+u-sWoE9^Z zzGU*k0%O6Who5HQ%!5-!m2(eI%_m>>yE{x4$0HuOK*)j|ndKnHzV~@=AXMV^*= zbiTMiQ}JNn`s%S)y*T8RjRzr24^-?;w7idx($FS=rMX2UL2>f~IQ+{ONH$Hm_=oLz zKu{!muKJ%nFBZueAfS0@Zk2Og9>rv(k%xk3=~}a=$Xw=j8fB_$_Jhuwn{1AUT=Re< zU5&b@TZl|+!Qw2k8rEFW_WTl=UC%e&-m;Fa9aLlFZ1pL_L)9*T7cEf2=TujVtVMce z#*sPRC;+92W|L*I1%yLlX=oYj72TfAOhKU;p)^`L>5EkX?a&LV+(!3PKV@T{SZxk@ z9Dp-5>qR72Mi1VsnKG$3$4&`iqNkdY^`HsWcJod4>0un_ zZ;1I3CC_TRUw9X58}X(DM{lzHu8!coYPMdBkM3thm|C63DEO@u9W8{pl3=ZXOl6e0 z@eRuxLXcZTB8zFOkE_+>Ro*E9q~zMgi%TP#L--3Ty2cj5D?Kk#U6BLZ9=sT>cM`i- zTQ_Dfm^+_W?s?holYx%Yj%+`gJ9Q?|K!WIyGfK9~dvz!~PSH=eycq2}{wMY0P%`0D zDy zn88rfbW8lzj`k*bPDja-h?0yFh6E7S)PRw5VyK!`bhm^}fOw*ouu8O6hY8_o-6MN4 zn*o|NtJ+AUgz*;_X(sYj$+3BN0OBss#gM)xW|A+qz% zGf$iz5fw;ilVLYfS$ z8LLu5W6N@RNMc$}5vS?3;f|Fb`N<}wOuf2qn+pXn!$Z;9u*(1Kn{{8v7OCHI|F$Jz zN$u4359kD~ArNwiwXm%e(;I?Sb*DJZ{jcXOwVeY>JT<(Y>+w%|g533nX*BkQDA>;y zwBo}*wSks!F>W!A7#uZ;1iG=XCg#<_a`Qvc?c>m~xjsL`OQ0y_xWUmsbkMi5$5DNi z26fq2Gj6f`ZmJbYt{1pHH_cxHT8TqTzjcG?DOi}1!k?}WzK z-ug=95x}FVqQkE=S-sdlA_=3O-++ajU8w;z8*$$jI?1Npbzvsov34G5a!E6+W^^%g zmI|C?4Ic3F(}J>h@AxU8n23yRIl>*1n|GA)uOz@yZM z9uZ!5kY`Rp({?(w>_glh6`?vL;^pNS^>bNzjj|Ll=XJ0E|J45Ob7`xsB>2{;M~AVm z<&HDFGH65I9Y3++_i4$oc9_iyHe$#M@i#phhEK8QPVn89&(NnG{PS^Sdo06KnvCdu zsAsyfzquH5q62jZDJoEWgAjHNw~go&w`C>cp$-JB@{XfY8SWMxG$ASzD7A|BC7#1I z8}-P`ohVv(JWcV%?gUo_GWXf`pT5fWT!*|xDL+TzBC@1XRWymJz<#BmK@T_li9#Kc z8%ucHs~SGUg;pCXNl@2bsxn{fff42CI_k>#bKxj}Kg>AU zG+(GFENru);-Ww?Hf;qG8P#Va|8YSD_PkCZDA`--O+w8gZ(MCiy>KzeaEz`w`@3z- zAZF|LQCTGckdM9jd1MB-M`ie0GH)O=B=@I~A38?yKxZV1luKSyp0=WZrM@&>jW%+Y zX2ATXTs;V?MCn@-oA%;vCm#n=>f1@j(~FN4BGl@i^daR@?@{|_+zb$~)mCnk!7q00 z0iAB5NM*RGHgD2RR|riXg5(RnT(Wl(Bi9 zh83U=%|Wzra;dv|a`>%JV*5LRw?+s5C9l_N&qQ=hy2U$jy~@1?CPND+fu&^biyf$iMOOv>)n_T_mj6^H{v9F@R+0} zlx*5@5M4h8Jz-;A4+S)X>b`Nz8WAS@XTFe6%qvK-Pnrf_u>!hZi1A%pkFJ>CzecOVndWuYZRHb z3rmvJ#*n2s>Jfk}qRU}_=u|lngRbrELFyhtq&#&xplXLCVek!4L;}7&I^a&yWyJ!} z??zp(Oko{YhOl8t&XWbz`rW4>F~-ryygd6;==v(pt@Jl3E0~+Q-rH7cbr1C!gEH4? zv6rz<0C4G$-Yfa%#AsJp36uTNQEtnm>aX?wOWWmNr3pOjgdlxF{-Y(dl$&Oycsv9k zVR-!{0S-AP`H=}}44Y}*iVSN0PufbVa;tG>|M<)yjwIy1yu~pDz)Tmn z##onxD)@lBLxs1HOX@lsV-bjwW<`!CW(J5N({@^uyIYMi zRa|^vNF9pN3oO*KjW2qg8aaz7jNpookaU{XC)f?y2qaEj<@ggg0bEgCSV&sM921k@ z$~eIK-;q*Xz=+|*laus>Cf{|(YOuT&`}k=BeRHz4*WG9fN<7Do=b8Y@~u z-|V5?g)%nuMrT-hMM6x$4O>-_vfN%csK5L$CIcbk7(Uc*kXe}P|NrgD*LUlh?l4M> zC~d9KW=F%SLi<8tdztpk7xG=g0&CaI@V;CG3G%O3?%&#$P9a89%ILLS2uq1noM)?2 z#Nr1HF_uN>zvN)oGoOumS83cB_-a>l?fl4Xh+|efo(`H5VlXv$j}|g$!oZS8^Nv zbI&%@q>Hb&(PthiKvD_qmAUfQB#SZeF$*=UGuS>?Q%9A~{R!Q}YxRz%-iAfHQ$l0B zP$>7BJb@?YLO7_Sq2e`shO5GO9F}aap?Utd+jCE!IW{&^#gt~lw!qzTsa`xM9;iU(esQ*t!oM78Vb>bs~&b~nS5Qy>3 zzpFZe;lLxL-{yN4O`AJrb2S>}pX@aJaS(DDkCA`~$A}5$!H@%Tprg`auF-{EP*VF0 zT%Nos?VFm?(b}Mi9w2XoET5)ppnU7u@Gxqejt$?T@@KKxVo^84!}dXu8bfjYRsin5 z1M*2`gFP}^Ur`SF!_z;uq0S^)vcKNC9tg%G8!0Ke{~wp3wUn+D#PAlc^q1RLVgK*w z##D48SHn>b5`*u6AU=YJJwWuiFR?|YyA*Qq!vQlsunT@j%g|jkv?80Px;xTL9Mc!i z1)f=UM$5}dI^wC63D6O!%63M`S5v0|P)j>%>ApPpnKlI^JBVzxz#_vsplt%6e75?v zN$=B{Q?1~ndI)`x*{}QXB2qf})U5DW2%irkci9BzaMwr4tsf&CRgATzFz`4C3M1E*JDp<_y<<;N8>;sMiglEbHGe<9P#bL3?r}kAdtX%cN*+J};3zdF zyr4d*JKh-{42~1dfe(T`oKQ%@^W$9=Tr&4IL&f_UC<{%xGV_%q4k&JDc!n<4=Fs584dWa$?c`IDzm78m?YHLdjheRU*x>=r)jtMJnUUZ6U z+&{a24hcrPYuWob0XQEpMPGa=h=BSU~(~dJi_&E{S?>ff)I$Svxky~3G8{cvX6CxoB$C)h2940mBIJ#@p;CCXcT5Qua=y4A zQ)F{1WA-r9S<#sGfry>u9bole(#Q7EVI0xcj*3&(9|2pxtGGyMACZs9)pNwa(-AdE zg9FtClj|iw#KpHX7N!8uRmQ7;!s%WXd5B(rSW}wv{sOzaz%7=JWQySZxK3E-hwN&d zS&f-VER(W^{lHHTWtJKAQDPZ&X_PPyBXAx*P4S+u2K7}lc7xCXgojegdGAV(7REey(0&V@MBdh-X)Ky zV2_nOARXx2vEP)*(mnyet_1eOlPPxj>_j#P?{g>|cz!{^K`p=!?E}@xx9z(&6^_Md z?D{FeO&b9B7*@U`(%!R@$TvUb{!c1S;JdGxs{GvN@k;N7WHah*`-m`~X%I)*o#t3# zj->&#zpdz!|Camofeh4|lxJrWnmDd~>>4648;KS6Xi>@`J0?FQqy{~U$}xMJ!bUAC zaN?NAE_E>>P>kcjkz6NnJ~7zR-}$Z0*SAJl?23jU(h{tE<2@3z2Mm_)fwG3=e!Lgj z7x@YLfX9K9q6ZA}@nZw52d0N0rGrTZ($URe?Xslyu=n#JKM!BAbJ~^ z3W!eF65cPptK`+QZQ4sV=AYe9iw(}_C^9k6DS`qh+ld^q?4bI0I0_EcUD z?t7%Q&HJY%MMgHI!b)vG2%MC<9IVhOj2Yz;P1-V~1F<~gA^gW@#)8t6YR&I+i-|&9 z{Azk<#xWWiu3(76OaP&FY7U|_5=gTb$ znSgS(XmojCc;FF93mv`mYD!gONTbuT+4<5Y3N^D&!FUWoy74CaeEq%Z!h6s@0_5;P z#nLQdw9VXla*URwm&(x-2;OI6?KHa*-!{%ebhyByH%hlaa%3)-t*X7D`|so{3!mQI?q6~;Lgp;M5SkJ? zb(S*SohCn-Iqym5T=*hrEkAw0Q9xtsqOn*E>;UBh1Aj zw;e04ZyD#*Q=bp;EXciq{eP%F(RVgG zeM2*F*~5bJ5B_*oR&{42wa$NaSf_Z*G;93~m_Sm0cXdQl_Hd@q?vN@7HxRwa=F%w) zl(ZJosvqKWBPV>oARK-Er*kgfo?Q$n06K+;)qZ@E)OEsK5x@fz9FKTW7}M8M$8r?4 z+!o)K?mZ_nKXya9?svaYnmTWah4Utud*)*QVSVw)|28yVozp?9^l|5RvDTStu`CIa z&cwi-`nTPAbU#_}n5H*(0g%60xga)CE(vFwp-IkI69vd9TfuJ;_0%H)J@1%U?Wi68 zvS21fp(T>+G=ZS2jC;PV^U|78_h0knI}lR*X~$&tWRbK!V7MtqUiOS%UvKGoS7Asw zl4OGI^!&3LI%<(BS^(P5f#4HUg0@`GL`xE5avKN7y2)^)hwY*p;w>=nt04*DGaO!! z<%6mXomo9aqeCnlDoL`__aHW*mUvF7gZ5REZgiVjUQV zHr^4ED~H`~vY&If>PL~ZnVROnv;Wqg>k>^U-@wZs zA9s?)Kr_WJ?ClX_96`rNdq~c$K}V}Lc~C9G>V@B}-jWv1oS$a{P6e^QPYZ3I#Q0SE zF2ry0{`;CPdNv)oE)Dq9>N>nPa&^0vf0zC{U5lO7FitIC`>*e3y&?*DWd((}aM-vb zr>)+ttIxk)IRG=T8WID&FtDFRIY|_E!WVY6m9DG1Nt04iF54vL4vgHO+Z6UALV6bCX$W0G;YZ`8_n_a3@`6LV1W51&IH4u)yRT)p<%9w#R%NP8x^TVPgFGTVHCBqb z@_N!CB-TePei+FX#W4#k#VMnQ*6+i}C$FyUgC-uqIg(NY0TN7ji2I(W786Qp@z$wm ze-CqUnojl^(pdLe{^Ip>%SHVOQzUHZWR<16ckY$%#T$W^LO_ifNI!3>L>BRD>{~aj zg`9lVbvW~IF>w74z~l@s+<{r>V;l6x>@EOs9tu3|wF+oVG`4`8c?V_LbkmWiC$tPd zeL1UAi}`iS!TU11hs>qJPtG{s`&{2sx*1Jw1&z7YR&Z*A-uA8cx0)v)xCf)z%_{G1 zW&d!A2m<`UFgj5xeRBNfkIvfAy4z#tsLgi)ro;Fkf>g_FlRk--t=zgJjV5kCBYbOz zr8=InJZHw52;Z8+lSCh)0b6Nq$FkL698X*I_-t%e-dFPmUdf;!yck&`%=*9;Q9KS? z>&Z<*t9R)y6N9 zJh|K26f^=a&caQGi~L2!VK=-Ja7*G!s#<>p-j_^WG);1PtPKt&-IkmTn-ZV3@VsPrmyvh+9BAR2 z=i;ieMy6`sO}N&bFJ5lY#I||j=h+KXvfk6?0YhXY)NF`hd^&J*A68QP zu5L4;dT4c6u(KeNst{NJ2bakgPm%4~TH-?=OfhrjMa$ZYa-N#1n&2Q1Uv9rG=PnIo zBX)kG9P6~sLUd$U7Gam(VN>?%q_HwII8#>^!8>l{=WiAJHd<%Lq4xBl1ytz&myV%^ zi+tGPECBaj`PnpZ2S4X?{z&;}+U@A6Ef7iiXHhm(B!9X zONty${f&UE>}_iuDS56P7gB`kHg(o5FGz646Yc8^MuU0e%ddL$^7rwVgVhx<~`4SQU|EP9+i zMK~j^XU4d%4=I5Lk-o?$5dVxGB#1Bz6KYY7lVAY${*le@sc&UpJZnBaK!uu3SWam< z*F22F43$=@Phi>c7F;>Wu!xbwuUw8)-KQDL@HwQR(wSQ zEh2I{3)uobFO7G-%9IxQ0S{!P&f-69WD?K0ZkLi?gPj$ttII?gSr$rgY#qvEkjOfi zNv_qO@FTytohZt0*UjP_#g&IxlEN z?J=bj%O3&{(kn1c$t>`JI&KX@3cYHz3SLj z`8eS@n(4^sdL_pKcoZ`dvF*cr0OMtF0*nN4LR`jLtNfZ_S2fUxY&Nss=Q&0uyFhnkL8S7xrnrJYcsF#UDFULJZ<9( z>!^u)(k5z29mkAU-Wvz()h|O|VH8TLJO^-fM|3n1kdC7XBwm36afqxq6Mjzr+kAh0 z2@oRZE#QsAe4ptjMxG%|^@G!+D34y)#_BwGS#nE-+66W2F2^m6bcgD2_gza8w||p~ z68-s+m?P$rD%kyE3$hIGY|1U@q-E3p5Dzs@X05P)xtrQgt9Ak8BE)8MVQpwg;?!oX zs@SM=E9Z?cZdNRTA!ovOlct8z1CLLvGnGp8P<4@u&OO8yMJ(vr#E-02=rGkB0McUi zcR!cTdH%h*vr0-rAMcem2N4-A5T|Fk0QHi$h*` zLi5~mFO>?SXQ>x;v)7&Zzr@nT)N}ZXHV+2SI1tv2YCFUF?05gA+GEwz<^9Fd(&6gI z*x_f9f`$MKU%{@XeJ@`q9;!99=Fe8;m=k4V#47UqwK#^#zU1j{UiF#2ETvIc4%qSg z3Rxh0wqZMfrn{~ce5}KKHiOuObsc=FyFR)Xq|hv5Y8x;rAjvje=|_xO#HO2)7F`Mh}n~lQ@}~ zgVKC0-V3CQd zFB5^(X~D$CXxaa55`2(;rLbdqCmY?cF7`i=dOCX^n4VU~Hfc-5QajZMjiIC{{J@0l zHM+^_jvLZ7LsMR{3IcO+(fhpHW_0{0QVS^9$PDHX^r7(V=z0QKE| zoFP};REY#DRHMs4tKi?QT=J`71LB9)yOrHjvc@m!2Hjb#^>Kv%9-yItde~*_%SX=; zQzK66Don-izkg{vU=Yng0x#A!xLQT1_zdSByo(NsI3&!v5ujmc;oe`2`_?i6L$nt$ zs3+c#SOuBvLBJ8F;3gyS`8}eVAWTPb8hWykX#hz;w!c(*131a|C%r+}X%b;)s`eK! z^K!e;Z_QuWv>AoD{|A!Ge~_3Y(_aO`DKcvbL^UP&pU`mC#o zo>mpccxaTLh%f-65`(No^~KC%Y->X~A-p5l+6(zQ%BmS1Zo%y<^F1SB^~_Q>N25L1 zgasc9t;ru)(uf5M{8X*&=}naQ+88?&wX9dIIOFm zp$MZ}4BVktIU+iYDxHzg1NsBlQ69=f9SNA(#87Efyoq-ayn$l?31)b+ANac;j$94S0GqnO4<(hT|`8gFW8{%B?Z1cItp` zKUVaK?cEg-^hhOq9Zbu3E6em|tb}%jyUXn})cTU-{`y?=o=>Ah`xjaK+pkV*<2hq= zMi!vTfEK9;wEuhGv4y_(Mx@iM7{%)^Un8wAFq^D7J!M1BrC>*TgHmGg!22%!B<#PHj~!uSF0XwKD1d@^oZGgy*-#``Y9 zwD$UDW^AWuL{Neg_Dq@(Tj2{ckuR19Mop0BtXHu)ei?3QlhP`?_h{U6Hg2dw5OsF= zV&fJ_lg|&?UM4@aLxByKDuCAr2%{EB2By3OZa)SpOE!04PC6z_fMvM<;WRVRa)3H{ zf_|^3_VJcGA{pw&C)q_l{dD&v9>EdfpDwT^Vfp#R;?j+Oj@=gNVNmfGu_Nj+pjG5w zwz7Sx_vyX+hcX7Kj-fy-Au-u~({u7v3<^x$>Xa2^N*cmS&Gk z14Xi3L3b-IgvD#aQ8TmOG425m+(KW%2RZgBBc??#j%+Cx&(0OG#>ej*Mmh%?DN$q^G}EyPem7nH=l%qJq352g2+XNQ3G5&X7q3J--%z3;-d~J_yN(UFBV9Fka%w0v`RlTwxOd-{;HsR~#SgC} zZmTqEr&{ijWA5pUAe6(RwjBsZps(E*mSk$o#&1`)t&XZ@%3yv{Y$o#D{n#R;i4x0X za`!fFcFVFa$zjBh%~PAZV^XPbpI}JOOGv&}AYhhl8nAt8a~4e}w_!p|)%27LeUh}b1E%c*NM z-^i&=i`7`jnyH>VVZ5dO>-c4#zKDeh?|*Hv4>0t1-`$J*XGUVUJvJr1K=iaF`OITa zaeI~pU*q}6YQxQPf7@`GOEuVW9ntJ!k>DRL^zSPgvacVdP9@?Brlgu{BJ=7oH$c*X z^Zf=H5It2m${wrYX*>z_<}lXvXGz7}xS6JluefMh^cH|?c{BzfD3>-qF4cyMInukU zQX1jS46I!r*O8Di7;)rPh|ztGr1_Z7avD@hS|x!qMJ$WCp~)B-O!L36jf@DBC1PRQ zCx~h3s8Tvtt3F?@jgHFHWmzl~H{TWxW`;Qm-x#RBej&)hAW>$UfR&qrK)w;g17_O| z$3_lwu-c8<>`s>}U2e3^aph0s1%aj%XKjw#4%h8$IulLhU44hRSkWttSP^&rwIy3f z46}GBkdnlxH;fVR;#{6J1VvH5GsS6?JsZ_s?U!uN+C#cKxKBvEM5R+MLr9`5>6~a+7#?*ia)50;ILD*ppztK`Rb!nB%Z(z3 z1!Uzh=@ZH{qBU{_{@D6Xx9Bm*!^{sW;Ab5n*HhReStqtXpJy>r|)xfbBF7t=H^-x4YI zuf3%k5zpr*MYB?Lm#G5Rx;yl0j@$S3H|FpY34;~CVlO!e_nIs=~&-kMNG=YoiMY|GtF* z*?6}ycL7qE1GT6cqJ=NGVL)&Vds%AA7MCb?g9x?TOEyWgpC!CIn$(_xCd+baUU-Vi zv&v1#V)1NTa@9Oh)+r6#Zukmr2{{CD&Pp5L$-so^iQClY2r6Y+@3<+i^A#<&PdBE|MET+E#n zJ=k3(#r8v&opX?lUfAH(*=HthC!a7lP1Qmi|v`BpX8 zoO_8cpI#T@T#@DX1!H4iv(yPtzY?BuptKVHKO}UK)(+)H3uMSTm*AnfMU#pzA{yN2 zj<7N=?VfnZ3j%h9%kpF#fB_ex1Cr4welSZcuus794GOy z3xQ8w?IsMeffS5*O@(q(+r}j~V{y@qaptXfLPooKsjENGVSlA~_6!%vDt3c3%{Kfn zpm$o7ZolOpoU&QlipRV0{DfuunmvPD|MWL!+x%B(F`}YN6>ynwP_Q*6`jHn5sQ2M* zmm>?-hg3kh;1K9K8HnS_BN@v=w$^Qjq187JvOydUdD|c#G}lRVbU3>&S`PYfxjUIY zFLZ}=QD<{)28{K6z%{$O+N(0fmW1#;OS4ME!|7&a6<3Rr1X~8B?v>_$j$t5a%!~c# zpy2_DNh~Cb7)XV}TZn$kC*>kx2eEcd`>wf@ne)h!U$M?II#Hi6mp8V7f+Aqfy<$ zc2S6eKMgJ^caR66T^~-$t`vMt#eZhGs-N}d^p8EXSdwEHt%+yYfV9fahoPKBe4&AF ze{vE~`tnT}NO@mO=ZD9;#0`j192ciMkpztbr=oeQDPIZU)=K%(q1jX9rR`9+kfa79 zwRTIZcSOS0f3(!K{JD8^!FVV`YCh@sS!_yAeHng~@-#U8R_~Qzf#K9IyzE<)SfJIk zpVnJ+l#sJN^Za~oPzp3239pvb94&}<5-3nY3L=@NtZbG0T6O*2Fo(~!jPFkc zGauYz*r-RUOkWevF0kL)Yk!`H9)RxQJ!7W|uUbodeZOXiOSRb5XIco|&-|=LY-h>1NIx^JW4mbCDu>e$GEqhPBEqR{oKbi4PXAb&%B zTP&;0nlhc1;_*QmU3};gqOxMFf){%6a&cvA>iDL_JAi_;5ZgYIRd6g>uM)P8NQEmH z_QaL7%3iL0e3ZjIM4SpM?`DVNmBbDV=%vG#=lXFQ{@f|4dai3CghrLa_w00si{1D% z;U&fT&}{#2cXbhphvwip4xl$?^3+FeR~2xyx24e1N`Pca&4`5JatxY40`xqTVUzJ$ z_cPg|T}!fCQeSlZc5^@2XC8u(PX{<|cMQT?9}J(|8v!x^p}Ia|h*gzweHkQ0hvl)l zo6Rs@?_8LM(+FCa$K*3UjLF?SQ3lCK=zj`u$ty#lCUGEfNuszhcK9$BC`0hK**L#f z=-f?3W<1=pG``Q?23l?+G6Az4DEdd35XCfqAcp)%mCG&*!byUQd1aama0xx%32~W5&DSjlsH>V5DPDvw*G2KW%{?S z@4xgA*b=r3%RFN=9)bu661q(B)VzAtQM}xe@TcjC5?0UenN+DGWsfKA zb*Lgmg6J>&>03YmTn8f?E+?6LUAk=9W|?B)lzBri-w8PO{uxpO7CPbfLX{1ajG7a~9lJ)yS zwrz-kbZ7jDO+xCNE!!B2bBpM_zj)nBUY6~JkEWE3x0T2n#kW+#PMJ<8mJQPny8=0D ze862|H>z1U9+EWbM?|}r9r+>eWb46H3%%}q!0OBACJk8Wsq$H^VvP0&_{w0zE|7|K zuOB^13cRejuBC6C&T)3(HujMIKb$BGUhtm$%T0|ADaKT>oFv=!^q_%bsQbH3Ou-!L z?sdsIY7^Ix`V}t?e+T^+p;bBtxz4DlNmY0=sr7@*`%pZf3i^-=J}|(ogOOpkgCE)n@e@Hp|1!uLYiuamQ9{O|vOEGvHoj9eMVfZAR@+d=I zj@oABW1a8RUsudUs1tqdCuu)_Wocw)f?V4Y(LNvjz-LipK(O?{plaS=ZpDHRK&TOi zQkQ<(v-B}uHuY$Uasxd#m3@KVFfx(-98PsF&-gz^xDetNR2Yn0JL%ROnBOGDi3%1W zCO0 zrZ&b9aKyfZ_bs!EJ&|UnsVMa-<4gdiPf>k)Q*g{Ko;ydh!X zh$`~K_aJDzza@+MET+%lSwaQDY8#CZ9WWihssJ==*BkqSb!QYh7q{Rne0W}_j^FW` ztA1X(ZivW7?Q#G5RnHgMQE=2vcloGAX3G)$n0!A=!A$jRQ2$TDF+o_d{hayyP6R{s zD;isDLTCnz8}llbpQMh32--agorO&A5IS{?KnPBqDIMra&%i}^Wj#aO502vw!6`N> zys1HUC%WH)rM{1?TC;toEbFcn-BDQGo%w)(c~^36@mMP@8lr(pbmY`3IY+elF)c^x4VXGosqp6^Z|;dR_Lx>zFRc1>((*N^ zl&R*7ea8CkMvn0juSC*DEhqMSNH9jiM3YMxF-rS}7|apJL^$%Ni3JN3ZJ1D5UR|Kf z#mLwEJ%X?w7WkU18f{*aFkiQcI5~gyLq1tZAN^7sXH*oganrh`~Lj z*8LC@3UAH&KduEV-idDUPn3!#1Q;^&%`20}s8;he0HT%d#2OJw=f?rjw ztdrME#TiU>X=pY6p=b0Hx;isF=*=$cBAbGRE*uIU3L7?}CjV)CDrv0CF&|`LDdQ6wVU5xeaAe3Up;DU6wAQ7s5+MdBh~M*O(Wj3Q4Z3Z6g8uh}d=)#vo3_ z8QJX_B#!mkIK;y4cC_~4E_2H=cAJm62F@N1#CHYjpH@y12Ij7M-}fcRTs8Wj=fG-> z2RPZWE$oSX*%$cpBNQu*MzNg;sGxj>MbfDOogJUDMjftx zvZ_Y>U2+5yQ@q)9dDx_cxF3&6NIqMx%B5$wf)>&8Ti%Hi zIzc&akRvJv&*hgNZ^)22W67DKhwB9tF$8kHr3KPl&0?kl(yEfx5iFimlqOtT)`~!G z=G^x9nJ0I4__@WgFTH#|SKSF23R#sJ1Nrs=I=>yK5*K&nHODv4LFaBkA|J$Jh((iE z=-4#4t$8<7>v6pww3`*NCc`kTN&fc=LCi>peMuL1D^x=Hz6{e!crTW^$h=G2h~m~) zE!*kNcoNX8%tRd}CLxjpYuI&0*cd7r(XgW)y?c#Bns?(_Z^-B+j)%#KcP{z&K(`4X zL@X*5U5yjIp&R3aT@A4@ zp=tvfP(;>fmR658|7LT=#p+x25}8h-;~V#(SwYp|pftFi_W@bLHYJt?VGmwirB`Ve zh>2S_)8fBO`U}B61O;6~zZ&HCL7zsYBCh5SV#tK_F$<7D}# zvJ!Al^e%|UeDo=P%h}tvSlK>R9tyh^&0v7wpE1_ z;k)i43f%J1c&Phb5dM}4qKsS-(m^G!`W@L^?Baa+udS5rEfa1eCuEReLEIFq@5ntf zf85edjlp)?>L!>;75hD%Mx%;_qky7{Tq?$q*zwAKO@{#0#T?#is-TKU=C{gLkSY9` z8eTZVw}BIp^Xoqc3$K{YuDpt^H2ul}>YX(vFQhdCyYMj|!uDRb2Oe%fNS%Qo5qlz}_ z@S&IhPBOD-8X|Q?v!@4xY2e!K(yBs5*gJ@pud~?7q;II51enGCkkQ3=5iiK5H<<$o zJZ<ZkNk9(L_hgN*fB<&EMveg9KMMk|_Vl%I z1OJ^x=4mV7%{P`~8!RUZ26Ig>5JLeQEV*$9i`4r!y1GhPF1>xPi|Ry08?(mImM6EY z+f@1Y+u+jn4oevjS_Xd&f$|NS=>kV%)!Hd{D=IuRrw5^JO{MV490Xk`_{KI?lDT`0{R9v*n)`eZH$h-FH%om zkZ-3%X_KM_BOf6hvh603GE=(CCVN@5tpJAu6xx&m`X$Rl@AbzF8;?;wc`?U=1!#f{ zYX~phv$6w+j!V5NtGpYa2l8w^z}$~lz+aLf;yN}Bj%{e_BMM1f2O234xgDoG z0|V^qD_&j29WJuHtbk|SH^Xy~CZ!F0^g2t3YsOmPK45VJPCPD;Be@NB3K zain##$vqKOQr@9=g<}{Oa^YdNeSI*b!@p{^_nZ6G|HrDZv-}t=dkw>HVI*>Hm<$D61TP41RLt>^x3_`PumzLqlpQnAZmVpTGh@s;k4Nh|r>ijmgZ ztp23stG^POH=}fgXVj|wJh9@r<~*I4o;pPmu4@n3s9tYa3g<6CGB$c)z3TgjR3@SM z8W8)aQuLcI_8K##mSuc@d}2N14DXRZ2xlf-z!NDolJRE&&h*CbONTS^aluVLd4c`# z3$Y+C3*LKuYMk61vpzAb9++!*%|u{c>f|Ch1R^(zjP-Xi=tPkFQ9?v2&xn^S5w8vy z5oh5VYy9*IoMr`f`8XS+8u>`9&&?_g|L==Y>pzQlkIfh!ikUmlcayCgN8`mqWP|@w zczMwY^?n+Uwve<&|5|!oC%B+q#=6bk%c0>?iDE~^o^Dtm|8ThHw5ry-Nk9)MmGUIi zKY2L`eF^XF-ouie?C?Z5HGMZwtZe+1D8!uk6_0=h%TaEDSlI-2Pq$U{l0)#>60bWz!PVHc+GaoT6zo{6Muiee6?3Oi*I`#9|rXK@> zA}3Q}c<`hpCe{EqI;=Ln@XbcBVTKZhY=+eh`LFHP7X*S74y*n2VAUM>HSE2Qk84j( zi-7|mL*?4YQ;!l}IoQ|`1d*a&$A9XV2i{#eW;}S2@fyE(v)dQ<%JxHYU2<1J! zC}W{Zk&5xh#$L2~6AB>9kQ2n#fcc0D&VhjxXS|gQM2rBzEV)O#I2BvS5xaMct*5z2 zO-URw>I73h@fh16>4S**9MO?Y`0=d{<-t2!vmbZhcF3t8jxZ7d77O==g<)j_O@Xe) zNyl*Re3ho3-SKJOEmsQDOoEb@ynF#cdBWDc33!9BjY2QGw;ilBO~(kj<$}c}K1#0% z)18qpgE5YIYvEROFrz|EjRlKn8MqUH=UNH)=w&eW2YGo7SdDHo;@!Q zWmC$Mt=-g1Co2vdR}c+>WkON-v1XVb9C)$vv0_jjFr$mAI_ZqZ|fljy1ZDT~P5&4^S3|HKZ~^fYT}aA?~jSgWi8 zIF)v3eu;hx2J?;uPBTNOy8kRQO)Ff7HTEE8-yt>(g(@kh3m&U;^!7_DFW22U>?%a( zndYcop@bpsK(~U)>3P)Qac2mJRS9its4oQ=-Jy_+`--|}32!i7*%5T?-%1e-Ip2T< zu4kCsATOYQ&12G$wLYgv2F&LAz!$Cs<=|OiKB%Gxio^?x>=LXyZce|*UzE<-AcS_c zLY6Xu*_uW8m?RgV+Ai!iRxSDzZ4)8g$n-2=r?1zMHo_A>4<^IlYq83EySLBS1@p(s zzp*<9ta{N>J4&<9W8OPOa0yh+@%YD8i{nUm znvW5#ig~S*e0a>YfHlvR0iDT8T5LT+d&bI2>wCkxNzH`BFFNKLw0iZA8W54HY`WRd&p|2Vpkw^cw#0*<(2L};{#5c!(o{FZx#X0@` zHYmotIyEqb3rhdNV1Um?bLmqh(-0vIRgNFiT3;5tdXWf|&M81~l=YMN(Z3kgo1A8i z@VLO|bq`EBOCLf)J%Mx31{q@be{A_5>DvVhd6J957Bn0heB6CE!1tU#P4mmQy)t*^ z5whfo;YTR0Q*w7~Ou$J@cpc(|rh}@T7{6e4yq2JG5)WaCbi+C}^S3deA2DHR>PGBu zmu|Yz!yH!eUY%}Ch$S^Q&T~|(O>UOX2`y^MJM5GuktTrh-AYV6qNX8PM$t|5x`=_h zb^wkR)C=EmKLw@@U$w9H|O z=HnTzhBeM(7Z=NeR>K0kjmqm*4v44(4E4#5R=)kP+MkdP4)zw-Ml6BT{@MsYQWDuj0~7ORyj-NQmYQT#>EnhXpG;(lY;K-wj9JWrxa z-$TZxYb=wxcpkVFafDTUGx|y-8?$!zeX^Hq*~CLBen0}Qch18c@Tq*ZgTJwB=D;op z$2Qh1nl*w7BGjmR6Za#x$s5y;iVyq}TC+2+(DF4Z*gZli8_-&|^h@e6G`*u?2TCrW zt7;JM=@DSB7NhQc%vj828knLl_NnjY?8LE39>*z6aZSp$f%>5GUW& z0I?0c(NQHT%lsF{(0iVgk-3~;tN_hwzF>?ho*@{2w*BdbUl)=@Mf61LWQYhd8Y>y% zBAYBUJspJ#r%B2hzY7G(d~{W_2i(7L2t!yO8$tv{*IrB-V1*Y&dNp7p?A6B(J7x2? zKQVf%cODTZvmuP4#{ZAFLFwP5NCEMDvDVg{d zgi!?@G~Oyz{7h#K=#Rz|M=15#JvRp4n*>*++W+d9zz@(1$;EJ@8a^U)eDPbBWDHk} z`in^~miC#t8TGQrw@r5+!AfU%oG>F~z!q6SLmUBg4#lN53c0)bXBYcsO6l=ERKiNQ z=}i7=)e+J|$GrajSOPwj%d0&->F?wA+YM0&{iym&k$RFj^vq0dKDHbh<|o5qCaL%l zlXj;Yc51PmXb#57J&6*yo4&k)~+Mp2i%f`%Te&^csMpR z{AMk~!~d_SaN_#Nc0-qc+E6tts>L#dQV%bzhxHgXL7@3XhS&e>d!6#>k;&(m%-J2p zM9T(1HKn->EXvX9il)&WLqbALtUbgPt(rBfV$V1A0|1v<9V^MvlH%UQ${4FyVJJOF z0dBc7jknkJ!?cM$U|53^=_$2%-I}gn3F5=+gItye?_^L{!79}54fx?T3Bo5{h$$Yi zib8qsh&_Q8kn|Qwwak~?0lIl_>hESFdKHq*JAJ_jp;{{4bgTn`Y4J~3qe5k=`- zkj0~O5%sb>r((t9h%(iHsZbH%=E6}K%tJ=5z)II{^vwS!Iu1-4!Y5Fe3XCK~b~j() zdqznzv;#hduWPJi+BwYWyW9~m&s35Hefv$)%@gXR3T`ld+=A*2p?vPNLGd45sm+Eg zGYoeuAQ-e%^+tWN@xu||Xd_}!Z?orRk`4VIHD2R+8R?VQva|UpKkXV3`XBqWpgwPm ze)wQH+(-Kb6N{b5{wmq)_+DRoeZ7V+Fh;~!g-e5VaGefGRSS32Mna#%d+B_X14Rd^ z=+}ylLktyHi*CuPu3aU(cze7*>W@!K4%?bRfu|)9I}qPn$I71wR&U#JEy#MN?8Q<9 z&ni0pAiSl=OL1q9k3fuXqX2v12(EXQjJ^uCjbjecIr9QVp8lBUQcQTY87n{6vWKSs z&#s^dto4}kYoXm8?k0(kjg7~%h2kH;w{F94!+ad>Mp19uhuxzUu>&{CP=tcQT#42q zu08C6ASA9H7ovhmM%Xs6L>NWX2@N_|xGMQCq4rB{_h7)AIx+ti`3In&qo{(~C|z*C zP;mWKrbKeOMpYy2Uh)tJ6X0{4G{-0tHzVBG^`rG6jBh5VH>I9Issu$5)jPoal!(ff zYXoPN;gBGhA=n$HavI|_O16-_@zJCu;O2)n=02m&><%zAJw~RUTzw%FOy^F`=Ft!j zT~cF5ld-hyi@ojxI|h-&t%*IXsDXNJ=N);66%wMFHzLs_8)h)M%m{574;L3!RyklY z#4m>BPSVUOTjVNIYo`>BiW0oiS1wo`|60Q_`hU4Dy)6Di2=wd>AB2| z;z?q!T-nDv=f7=54SAMgY6XC(@7=JOj}PErd)4;L$`ME1N{0+Mn1DZ#-SR-g=$!+e zo6_cDf_Q!5onw^!o3Y=c$ap(v5ywt>?kZ(xrqDxL!2UW%hiBE^79=TP+w97^{3j&=DK^>@`0 z2Xp8}LT&S^ZgYi{4MyotR8a30>>baf5=1EsxnsOq;g;iS{wUxp$CwK`fD zYQPHIN7-W}4Ox!CE2hn30Zgct+OwsW6v3Kkzl;oI@P^)-0;yr_3tU}W&YyF~^lW{r zcmsVJV_hgNtciJ?K@qF@q8@FsAD%eq@8iNY^=VvBrNU9g7c_smVe3`z#7I1MD z*00%auDd?+=!WA@9BxM4n(p`Lx8mO-zeDm;{m^NNub-R7B4wrgo#HkS?W{;uALUu= zcELVHL|eGn+u){El=~t|lxGw<*D4&4DTOFQCDU8KC?VYTE(Z>B4$5>L;aLGpQ#9c{ z9kRvSqr3`l(4sz_RbvVKhLA)g#LOh3Rbu>0))bCrtuk;PhqoZ{9e5P-CITE7s9GWyVD0m<*P;CnA&*DznTtnYyy&NakpWk4vGkU!l1&R? z{oj)qup>>a^QDZ`PgXQ#lM*81`H>1F4C#!PxvCnTW9!K89Jb$6fluj|#{+KW*Uwu$ zNq8V?S}ROo;r7K|=#iI}MuPf0dvKWj&I~Vsok+r;lPm10MC;$1c+;++lW^5=+G-ED zD#aJ@BIfXots;m~5-;5Hd(evno6|09Z?1cMhvO_HL|CFSYkbVQU%U_=X-Jy;*r&z{ zWBtn4HHyhPcRT|_frjV;7XuX=bMDNUhQI^+cWOd&f)k5{lJ)UPnfqP(syfI>Me1ly z7%dI#TVrpgg=6?g$G-n*PXAmN(Ai>M^e2(~D6+3aX%I4mQUgSdy{=YBJjY<*{fO!` zuW8F=w_Bh$G#>4F2^c%$DVf?E5uT8H*Q!M5yuJYolVQ-P$+R1f`OKe08q&o!^raNU&2R_^9F^j+JldiI;#1}prHwv`f~E%- z(3s82K4f;rY}8HNeDLUI&}=$awUjF0w<;%g0g3K+WbmB9RFy*^jF`$YG1bb>DkY4r@+xx$A>z9KpAK8boIX8 z8B8*Y6Ye8s^@Vo<;3Qi@_knCxBBZUS*Dcg1DXlFlGR}Q*Mq8*C^;(T9{mVPkgNQ8Z zDYoBFo&A=>#gkWc$QnXH8|$LUwME=4O*4qrU-@e~k%hatgoq9k5wH}5Z%a`-ktP^P z2PjU3`Ja>E9}qe8jyOV_snMSeoxvzxD8NS1a|gwhzGvJKXw+ER%QHNd2>V(vr%84LXqxjaz zz%;bE8d|X2TpQtUAguufy4R}YFFv^E%mWK3CKlWx(pfA%j^$G?o#EQ;-mz*Pafm71 zU2Yd%4L^MBMh8r(x5kM?olc!ImPH#@7RZEWVQR0k*x{=IT{De*`^5kGFL6$aD2S}Y zF$sa(lwb=M(i@>g)o3fvel=>aj9UQ$NTo1?~qM zb^wQ2(b>jff45S|j10@!siko&pS~nuPvDCMQ^mnxb~L1;bFCuxc&t;;x&E3TGmCKpphH<#7$~B8Ax^LN@YPIG^}G4S|5`c3pwl{t?VQ+5pJl$Htmk zs)zraC7a2wjOqb6@pPWB8W-l0OIf+@vZ6HLAdwKH7JC2y4uF9IjkryqhKlzQ33G|x zzIkQR^0PAA19e&p>{8Ib?A7eQgV{>Od2}x;k#Yi+%2b-p>3sEVt>-acTy@T@HgB=o zDcWKVrN(>PysqWTY$Z)vdi?vv3SHc4^uV=Il)T=AH2=$i38^Q|!sN}OW^DjlR@wqp>HfgJ%LUhL1k_da^MBI?C3z17Jt z5_RjJHRlP>9iHkk{0XXd(@hc-=3j9i;}*6pMy~=4cgLq5Ij?qPYN}2%=`>nY8c^)O zQC&+c5o|&;S^*s0cs%pb&``ODab3|tQTHQ94|Gu2V28lO$Ytys%2a;}HGvFYrN z)JH5l#061Xz*EkVS>;&lxK8!gudxbl8+b@E=~z_#5`UMq!KLnAvzs7G1!CEBdbP?j0@>&Pm#5byz{zH*4J=Pa9L2bgg$Q@#3Y+u_Ooa6!VAQ z==#;n$(u`sEe4>K)LDc>ro1ftX9#p`Zuj)q@qSRN6lO(a>7vn zJaB@0SFC$5mBC&hdMt-Vj~ee5GAF-Koah%DhKuE>QH;0A-rJL1$soqoSj2s$t`N)M zdf^qrQc6Fp_swa44$1YUOVtuIuy#D53pao@bq(Ti&=>F7BGY}!IY#~M%)i!7M#)^5 zM}g&#t5ho+M!V_G%?2%jn7m5`ohQ*WZ{USqTyfaL+S#NWl=&*NpGa29{7Xkkb~;Ff zU9Ftw8+&zr={}KG4W-Gb>t@>oowCW@-r&Fz)UHWnpy_zbYrEfePqmooVEFevM9u!U z1z!#amPQ(EF~7`3%O83jc{oH@?voH4OW_`W1G()tO91{++fO9i64ug;&;ih@eEkC5 zNM?kN!&Yt#B3s78N;!Yg?$v+;t+%5Ub_vMGKM0O1A?$7E!Ck5WUAd zBOu*(RC@tri&yiX>VO{3wWr1psd6uiZ>V(?8$>w_D-funTie@IL$>NGIsy_@JtwX( zB9H8!{wzcV1n>9Mxw;Y)L#9{z(^S$J?zej63yR-uJk*C?LP6;z%&v^ZBtuvv#CD!U zhwllE(0G<7c^u^$BiVRcrErhyM1P=m+Uq&~bdQ+C=TxHqy##&mCH;3{D_%KHp1|+= zGNv4A%YRU-F$7aH!i-NAlo$)YuxjND9KFU$lD9`fWsN1U^Bc`bD6n^pQ!j~!+79FD zqlC8CnL4!gJAepV!9VWvHYcKL0q44+!fsoZ>uf@!a))d+EEn->KWKK(r59L&`PY_x zdOaBV7oxeah$_<8K8pZYkW3PCUMq+z3J%1jq!x&kAt&?+T~j-Bp%2>Rhl{NZ7qRE` zVQkGpgU=j5@%Dbd{bzQhC_sM!La27n_49YeA?TbSD7NWQPT<}zC6<~Hv$9s(Jo zBvY0NeklF~CHLlnnsSX|!~`PysM=ES@Jq}zPkiQh{G?^6!t?f(Y0>O0?oPt)$f>l3 z3=HIpEA=1@X-Jk4OrNQ4T4y$|{AY%zSQ9`ke;KdxK*J#CJaC~|LWSnw&L_>@=5~#c zLEUt5l`h>gX>^usoKMF$PuRzcMwA<{HkkC)VW`=~N9t2ZOboiq;4}Y zwB?2>8?7)#iru2D8xFKej39g8%||NksULnX(O;#0DKRS>9r3!0tU!E!${_6K)wg37 z2ryUpa1;}0b)wlYC179~cV5gPnLz%$9H_F4#mcHT38Pk&1>(9Su{k}1-+|y-rx7l0 zs>dLMNu8do6eZaN$mS_U&i1jjB}j7`uC2LJM6jr#Z0zQB6h#LH1IA)}>)m^ChgU`j z8H3rj7t4&fXffh?N5_N?sdfh1s-*}=@5Z_P{rVeGs5sg(yZ_XBI06D1>nu}{zdwlE z2F!DP$ID@OZUUtz7s-??lH%y`6n8_xP^O8!9T`qj{)kRnVUANj-8w{Mtez`dOMw41 zQhCYYWLUBN=I_KOSrft5wAsbzHW~#u;40sTY8{xMn#Y?ck*D&|;io8$*0m0F3ZGN~hAwgBP7Yc9i`b9F4JVyJAX^qZC+gWujDCX|74W&9_FfeuRdwsv^apQDlPzOw|zNZ-^vI3P32P#1W ztsKrHO5kkFA?6sMgE+7d%YCe`n9Sm)nN2w$e^4sJE_2w>Bs8FCoWC4XY@KpO^v!KV z6E{yv#JWT-a!~ATpR+nyj()D-Vk#&E%bS$*;PQP?!C$5BW?t3ou%bof9qVQZ2h0ytIJ)^&*^+X&W#6j%xS zm8L;p!IN*DHjhtF!a=`bG_>T{mRDnQ_kTP(p^D&Bm0dVf+)THG- zA{L;(TQzUTJP9cltF$L2bOUg;E30PkGu_AaxE& zbcuOo9_F^ir#c+AG(x%37?5g6V(!nAzu9~!rX$P#&)NswA+uh?-FGMo)D(iuURzg( zuEln>{9B8}t5VFRoSmLW17Ka2s%Ra}UX`XK8}frymUcxz8nCqK`rOj@112XYJVuyX zVI_0#r@r|J#ys^ksEj=6(-nq2f*NPW;GBh>mAQj3b14tR9zN}8s#-yQvWi;+P7XpN zQ%gx8sy^m?@7-cU0{S+H$T> zf?=>L%!U4$0CJQ@MfXLC=>{wS_!-fGm!X1CeQerd^wMBX312{&i8H7pLUxPxkHRmnHw2GT&hDZzmXwk2E<4jB1hdPGinb_QLw4zyih(QcpWVc> zTz;Tbs{ zoK^oswtj-!krurw*cNrTVtI&t(7h6T{{4Mz`=_dMQ7i&24=Et6Tqc}4`>8s5LXZAE z`wbv*9U$rYFk!R`Il8pFMifUGnV84nnC?1_6I-O#O=L7xi`$lqLvvl>zh-4XI4h|`1{*IHJ=~s5X#6brw2nYdOv4AiiTUErLSYmai*hYCmZvlXP z!r*EDELdH-k1aYwV*o#6{ zJh0lZ7HMdqrF96Y!N6!5j#4E3YN2}eP{3l&BNO5EN1_cFl56lS0sC(DmGjDGM-WKHHAgM6F`YESlhlE`VF9 zmVka*Srpo&f4oq!squ;gT2F@4cl;t`8$-^~pkqLgFU}eieebyT4$y?{_Lz??1Ie@S z^E7DL73N2rU%WwO`qx9+K*ykeb3cJVx;48dABFX3Uo|TTNF9CI=Ad3T23Qbw&r;yb zSt<53-boXF^Fa8f~z&CJXabQdZmzfRJ);r_^x14)LSLN|#H0PSfwg5`Zrs zIaUC1Adl@I*3t#_{!WIMyG?;aRIrq&gyaBm{fpBq_k$-l;k+i4_mQ-U2NuhqtpyuTsrT z5f{lN{2a}IBHJ<);z__J@9II(-dU&LF zNIXUvkjELD*=4yh5FbBvq9Vp6*SflKSLYqE!W?K&#grs<0@AZ$p_Me5by76OD~X^^ zuJy@$qYk|;i_D32l62Gf_7LVEop^4N_)VEdS$HBv2zK30Vam38d2CH7F8%GdKb@Rs6dg0_;L5);K=EJv z2;PZqxd!T9Rs+Cf{5llWp@bjl#+OxNBq5W>6me5P%}D{7AwKp6Tse9tU~rqj@h1jl z7v2UowWeByv>JlDsFFdOxhcvsP^g)f{%Bb{o;M^iVgsglhqvCwB)kF381#xKr~HQI z^gwdz_JNWrzx})82#@v@B7{CzB(i`;KDshB9-JrDb0u%XaTTzNWZ#WU@aPjDZ;4U0 zM$>_*G!H$Qcue+tq2%iys`R30`#g%CB#f9g<@Y&(-7$5pOiusI)`x zC|mf9*fi^kO7fD&BE_|g(pTTM=+VV)50d~%!;!#9#f1mQg~aDn_8dAAL>mxsK3`hk zjn>k=_o%HGMY(8kEU)k>>mnwHj=^=DG@tNj7yTEzEqu>-q%YF7Z7dLC_!YPDZ!vnx zd8io_DW*kD1yHP+RCnXvyySqT<9nS8G7%LLuKyi)wjYT-zT66U`TMmquq8c89hZ0b`TCLU5&cGZx3cdm2P_OdO-60W`h&5l9nrS(LI~HkwD;iWs@at8KxwuYKI#JzD ze*ic8%r-j#wN&uw*27%zCvDAfJ2iCiEnMZU*R zE)!%2=Op?pq&;f6+>Dc8Z8^GbA>EZbYNb8Ysm9WC1wEXzXQJ&@obE>&3}_|kX}}ZcqrJr zuHS`Fho-O?Mcxb?@rJpAz<-O)wa*kUYOb`>_xLOQu=x8P%&M6q)oE4Y&Xz;KCbs9j zYlx1%+&ZOG-JHa^B!B(KR4zjRXwx*c)(_Y-?jh{3_{{s79$c0v~Y4K{ENoaPD-E5RGQ zH~ib6?b|`5ZbA16Qu@xT%Ygaju7H+m)!rLl0COSvc953*$H9_WqTPBW&B~yVPtJvC zi9d_h=;7-&y%kPu_d0l(q+{OSGa*(A9&|yU6Ci4c#J@-y@ZW~4RQ50=U=op6dMFU; z=FnkD1-tRRhZ+l}0n`n5FVx+=FXJNQ!1OrgDOSw9hPE;Ic26(yn)~O6&Hs zH(^yHp$%DafYNzQ zJ95JJRp|U__hCI$Ehx^PUh(25o03-htrYWLcNYI{EuaAZvAh)=@`a!J<8cA|8O@wK zqeM>i;22XRDP%oe%(@bBuYifDJmi`&1J*%qz=%q4vLEF+vP>f)Npk?|(th9FFpaP1 zA4}1*^o$CBf06N4-jD?B%vakdL*JQAuwUb|1DS`9SOzS>kue@Um`TFi$Zp!B+XymR zHJUHR#8ODtSKG<0aT` z%}|BiHy&0 z^?3U(#a%%30jSrrw()AD#=xkl_;uR$Lzbea!yX7d0+Re3YyNxMZ{VcFb8SX{g{Q4{&A4E*EMadC{5tfmj&;E)=?m3UGz#Yqn)2 z8}Rr?>-5ID2!MXCjr_?_S0u-t_`yDEc}V(WbMaWszNTEv(4mjz(l_-(D_v{BJCG9Q zj9xeIuD^6G3KNtD{Gg@Lcwn%&el(e$8S5pL^ss`sF}MA)zTw2`V|^c<*+uU zh4fxWUxk*ntvuT?sGj&-2P$)owB)6er9YGsM)HmwibfAGdMU%+&)P1kHNLE2)^BHR zvdLKw6ze8uEi2pBpS{K(sRwkJ$9-{EGxxtm0gpZYY%KVVONX)L@9a+PEX~J<(vGNB zV)@QCAC>)4?Y$jHv9sRU7+BDEo~RY@oc%BpgWe~aNlMLEoLoA$F1Q}N-n|ZOQ@z_@ z#qJ(O0#cBv0b4KWWTzW_6Bq4V(5{_BZ+%IOAJ^jqObf7Cs@~c@F&12(YV4cc`V&mj z_fbO)eT&fx9Gj&8qq2wvBE?bRmpbZ^Y_0Fo5*hane?<%)9J|AH?6u;=hiEXXl&j*$ zj=fHK%Iw&S4>=F;!`|SO;F+(LiP(GA}{^jGCie@?Qy7l{eZs=I1Nna-Nar{<5lna!c=H4&77FiM_w=j_K%#^8d(`C4PeCc{}PIx5mqGt&t( zZKSt*cbe#*kD3oFsf51?&-p1~-)I40|Bz~b`3L@yGUsZ1OCBZ+WtWo<230jDZ^+F! z{f9Qw3&gKZ+P^zhKh9w$C_(}Ag{HHh#Sq#8OnT+GJeHZMAhD7W{l78YE91Y{@!Yc6 zHsTGSzmNAxI3n9y`ezc=e}M|k?hGy?RM%V(&E?UStS-wwMqr## z)uI%YeSyEP37r12k}qgRd{g97d7aldD<$!i&1_(Y^E4YXa5tKLib~6RxrqW{!r!nz4Q3Pkk38GMV)hUu=cGQyEg!Kq=2>rerVU zEd-d!rY)9X^;|JRGlVSMull%~h`W^QK%hTD+qlF3a^?6ax8RnxR$Ce&{Ppuwhk{{)-q zd;ivM!B3P>BH`A8Dqo^vOAZ=NPc@9c$_z>xi9Mm}uo7$q(;8&U zA3~@S8sg!CsSu)2tu8BVr752;cBPdNdU_b^t|zMM8d8_%k2+}biJbOVxv-wF*%9nfHcTvFpzbK!{3;!oK}Hx z$SaWEVz5Q+z$MMfieJDs)!YvV%%N!j=?Q%pHu(lh%7 z1gr5ARXdGm%7UNFrVnC#oYlvdn%1vM1jNzBTJDS16O6Kp4LDYs*$$ql+~yUi@TqPv zQa1k3`JyoGmFww3VhiE%yG-%irFom1ugD+IW+-i?F!&Is)m?v;!u^(hH`apI_v{@f zC~G>kf3CTlKU83==^X?I=QF;!^|9$ZnY6MkfKh25CIvpF$NW>*0{z3mAgM1Yfhwh4 zult9qbcK555kVE}x+=7;q7E8W&G=^mSVOGS(b6^Ex}15QXNdI7L+)dFVwn7KM*Ko3 zW#c33Fv@U z2h4E%L!q_&{X#Skom=any$*QI8zq`Akmhwd2MX4iU!j|FMcM$73Wj?gK+mB%3kA(}5; z^;XHQ97gS2we>zlVd!xn9Dp?FQI2*Krj3VFS+id0QHw$d|CVtl{KH5k69wkb4z!2z zq?5q=yIE2K4@CJ zf6V?uc8Su-oe-MkBX3SP6zFVc*+78`;+sg_V4Tj#B9re+_t>d$+#*2Nl2bj^hhx|E zsmDu`;kK_IF-Z_FE?Z+T@0=P$F8F_O7$cH)^Pu#C@CtDuN6ZK$ZXCs{)*pc_%17XS zdz@dRt>!E~8*N0;UEXt1AraiEED;<)^I5lx` zOn>*}7rTPzJ4+7goett(5I}0OIoxfcJOni4W9C>LDau`8DG9Q)nCM>}JEBrPP@Eba zZb!-GCiva;eyDFc1E-RH#We&7LWmbOl2cjD;HO-~)lK4@kuAb(n9*ms!tZCm6u)@% zc5oYF5(E78ZGO*@ro4f#i^EUyrhD41@4K^7HL$wee&Ke@qHPJ4Zs%>`?m7nS~i z)VSC&S$Kvq%b!qS zWTUq_4k=1ZO3kS{F%$>|KJplpEG5#0G2vregDIMjgfu1&L#2l%chi9Sn9@)tB~R)UKZRLY8A&4p<9w%&u6C`N#?wue z@C^;-Xw74|xYFy#FvH7z-D<9GNHKKxU|>aAk~CHk#Ku4(k3Ol^nc}Du23oA0h8BE( z`?zy4Fy9PQ>9MEdD2IpgHHzmmChNm`o)R0;f8Vk!?0@u#hq3wGjAX{6SEn!tw`)76 zi!-Jvj9`J=q7NZ~gmELDt9gF*uuzp8Q(_i$8K5WBsWUHH^d2L`fiU{~@Q}stbs50m zEQzokF9IB6Xy|wwRo;L*c4YCWpEPHdpF__)r1NyvYl57w@w0odCkHvz3g!KERh6YtQdaCve;&%Q^ zD0UOZIg;6#p~amfjH^m*4C>tJd`!0^DA+TtJ-2MT=kM#5Ad`u{PjT(?J$|*8;(oqW zll0hkT%d7r=Ei=i$-!@$y1$Bhy_v>$l{r?6jw*Wf(xe^G=%*-r8;uQu_A`PbXDOXX zCH!mBnBpa2Y4LrIQOHRpn(BfJpSvM`;{*#3Kld${8!>8I`Xaw8K5#rkOtjrC&mMCp zS%6&pPhW&IQyW3;0@cD%Uy{M4=l)2 zR#(?$onNGh*Ae5q-)8WYz)7D?y~2_qr@Gx~*-RxR1-S55`Q0s~!}cJ23h{Wh(R&AE z*fd3k{=qG{Q}V3t&#!Cufx}GW-_%M3XTgh-v`0vtAFs?uOM5$RH|XZHmS|LMmY`9h zf|r52Z{yqLH)D&H^FVcQN=YG8WQ9=bV;kY*8^sB46CD?!FCHiHPb_~SS_I~J$TU%SBa-0SN(`T?anz94u7p|V0C z-6;fe(}S^?5UW=vNFrzI*gMf`ez|l&FWXj=un2U#hSTbWFK;H)QmDc-S~FjVPDqL? zr9Nfs_-7c>AIrd6U}uA2?#?M3+@O19k{Q<_rg@qj^{(T0k0g2xelf7^JE7$N+o{Qo zv;!?-*^$Dvsk?s1wa8WcsO&q0Cw$AFZnb!WOke`j2X!fY>8ig%QoC8|$G&h?U&n%Q zqe0&2Y~l(wY!DpD$x%wI=>m6HkeDbTu~u(fc6NvJ%B*3-Vwi1L>BOg;7Gy`a zABS`ZQInDQu@2xX$p?aHS0Xgozx2C2EC;_1J6RdPS_SD7Qi22y12!ccZEPne26*?g zpb8{?)PPT)Y(QINF#~I{O%)3d60nwG^PumU8BX;lH*<3V#z#h%a@o(yB4OC@zYk&> zL%E%J?B;a>=5$lDb>*hP#>88Txn?GbA{+ zvM&kZQ1`oQj2eGiPV+6-K~GOP8wiayvP;G5veZ2SIVF7hIT8V>gC%thy#|i9( zGw}$}Y%|i>c=zBZWRO(xi?8NISsvSDP(#5F*$HRUX5)R1U9wT=(FG~I??`;oYlH+9 zC0TXApmJYmm^AYQsEs?$LO?1xdKtAO%|tT$g(e<_nk!_1FHwgV+(2rN@8R`2_j2v; zkuy4{fFT)#=$!C#+e%^S#FsYP*}2IlGr<(u>VSQ#?~8BY!P;HmMI#u_N=F{KWcrXj4J;a6S3M#trw=oGVTlWkRH%5q?wNjX%AGDn<%HSY9Z==NfiAIJ z_diL1o3=}NB5$;4(qrrgEkWUHnFUUYOlE6FCCTpld`XTR*j)qStAJ5wD|oV*gVF8_ z>9A~Zr&W)xQMFUFv+jKIi9lnd#gb<7Xt)3A3X`VAlfdSP$5~4logSo&ZvkcktvZEH zfCX(ZpZQ^HD(60?ph})uCyMIXxA6H4qTi~g_-^lxGw7h4dCS<|#5y4<=KwhKBuCSl zLv%~gv|DRm7rRQAS2m?hf5X$w5S74$JcNrtOAq`cTsG!J0M2<7jRl~e8tdK6zMmmT z{*j|qebag@|NJl>I^Rn_?lZLj8^j5ch+B+zAN^#ZY5sxz;3$GB#7}o_?s$mR z?uZrbA)zh?uY0QLv$p??QO4lvoJpO3VZB?LH^5*VcF zRQW{=Hey>BS{?Xl#YtSUH#v zCc)NA;@WCuR3Mc+n0|+usNY5JpXg>;+89r{d@7^+2cx2>J*mFtN>EWO3~u&h3Rj5T zsk1v4_x2nLc@Fg;_h~gSfL2SGVFG=L(&L*u&dFy9L0V`}7=sovb^qJ~{5Mc0blFNU8)z#IK%PgWJhrItPN^vKA*Fgh=N_WMM4|4|R5 zW-8S#R#XaW76pc&4Dc$ZEw)@8uh;!wHJ`TI?ln>WZ+pM&EL#evnz|NMOAMwG%3!Gk z6~eQ6B5~*A8E82t0uo`Q{}sluNf{cR3xMWEv{jOBfwjY$fW1i+kcH^-l)H`ckT;U` z93!k8od4^#Zl5WryeU&#+Piu|i;E;syZPU!S5t+3IfNEx(24!|+4DXnN2x~?8s_~F zVzimz^L{xrXCZ6)gCl4mA<&^@!4AB#*)Wnl6VJb9zs>BL*Ih|*qO9#*uQm}(3Z z%6_u<+RbdXBNIh|e>!gLA)4rt-1-EP!_Yg6sc+`YYc&PjU&k$M3T(gGsvG$_mU5sjU$Jx~hDSS6kSoRJd=dq7 zl=t+Ys-QP`f8lNL_KbG0XOm+%&8k9@u&Is^&!Dre-G!(VT;81o&^7r_&6h3N$ZkMz zq#)cH(h>moKP&b){r6|0EwelFk^=z3+j1#G6KLw(kh3(Zcbn%9EbSisIO$o*QCHap zn;rE*Is<6ML{Wkar}j7Wztb+NUv!i)QV0lqu3%nWDq$v!l94x6W?Yb(Im*D#cY>VSxpS?fQ$DEZ=25aNZ|bjT$>S z8Uv#CRdU0`#qqnvuhQ$*CB4d;%SGU17E!tJb|j?hQyWb`B`-bIu@7N zDKm&GS+g=SOVULEJvuv1sPA#fhERc@bB(HtIJiD9DoXc1#R9d5aaGP+Co2`0LLUM6j z3(>n9;gBfU`U1Uxv9TOo&Y=aX;UJY6JOiouSmXR?By+z^Uo`K>Ujg`ksO#iY*mMTY zpNu4l=B?UE{)Qj`vG@X={wPrVXaZXYUy`VsJ^iREGkk>#Mb6bpH?m$upGswq^!pCQ8}!~_;M6W zBs5mI9<87i&2-2icDKy@j&+Ii3y4q{#Oz&mG=aIn3@T)HhmC)D1f5IR{5db5-+yMl znAt+=3pyy+G{lI^kpDpwSsi7jlH3ET%vea3Hne+T-V@Ek6#WvTRklx_`~oOEyIjU) zZBZ7rY%T%Rol>?6A|Rj|*jci0z`nS*g8h-WhoFtU@S0To@|OQgOxvgKrSFjj8S84- zXZd~Yk7Lm&RHn_HL^PIMBveo2Vsg&O#8*>eO`0G*`V=*AMU~#H8{$x7N2C?0wrTYXGTPTRlQroBX-V=9@?&+Uzi0Y1sf;FJ^85w-&17k4ak~5 zdouVVGyOQTJuaA->1i7Zh)wktv9A%O&))dsmF8)-{uOy_Sjzfgu@v>iAMEULY8Xk&5W021s^Ew@}NwpFwLsSH<=eF)#udwhk`wUFzUpzoyI#q z(QKHtQ8~Hoxe{q;h{N}a-H{yA)2Vki^E7@hlQ{*onKfmS6N`w6;3d@kO)v=teMA|e zabcHpI2$<9X0ruyZ;BkTvRa}tuQVA%=Cgb{6RwhD^HfzUv_mX@x0eQaW$ilz1YCx% zybqqKMPQ$b+p&YY;j)8CjY=70LqNHO%n)#dN>!Eyo=DAAUfcTrE8PBdz72bQhq_7- zSQdfG)w96+#j!<4B98!yvWdLwLzaA^;yLbY#8|L;z-Ca@gSs{9+JkSU62$nVi}eh{ zYIYnulZdF<{RvS>R6IZSK6)C3GSC{`lpMuMS_>%{TSoiN0>tZk5{OQ>V*6T{QyCSi}w)gz8&mutA5=1X$CbbJ)gx zd=xNZ&;tpOe{2E9Op-&QjePVPbM#4RAI#}?}{Pn0~%N;@u?R2w=(z%4eI*;?U*htqB&ocAJO4Rn>U>W&KjhIm3D zv^ueMK)kKB(%?zEPYwC8Tz;HHksl6G#HS#3KQgfEq$)X!9VT}TOz0XHq7qVvw?KCs zw|ljT(v_QAl3l#{=RGReIZ3LEh~hS5D)7Su&9_$|BD)-5-7WX9fr_IVbv#_Lf}QwOtQRt+^?9G^S6Sk%Ljmt1hBI3`kC}K!*}+tR$N~ z(W=HoENahoEi$7=!w^6(DDGfY&B6(YFX*}s+9F6D`^I}Yd6k<7tr8?}3^@YEP4$-M zJ*z-?&-T5(3<#H;n1zXxP$uqcN_Q$cONmMHVTgN|ks9q7D6xnG z4!mmVbDznqDv8iaN(jNb{Ce(-4~jxf2bIEi)gbqAeE%uTRoV$pDDd+`Lo;zq#x}Bm zd-v`2+wXX9KX&#_$sNOJc=)%S4Iato0CX23tq%gkAmIY_`6p@V1(pH2{KSz*>ZZivPG9n2;*8iemuT93F|Dt{>cPOFBZk zxoNfVL0;Xj-&PECF6*{j=Y>&)r*Y>KtR^%1n`H`Vz;NA|Sq!6h3$Js`!sfj#sC-o# z#B^GE+M;`vD-6}n)Rn$w9h&{jun4c(f$@!uV?rurOQzTM5s`UD#lDH=dP=K4QxH=w zi)WSghv}xmd9{EiRdstK9I^yAM83Pz5-4J9Hq$doetH3GPiV80G>2Zg2Q+2V zt3U1m++hH}Hte+N7U&Q$GnW*!QL1CEAcSNIG#?JS0=R%iQ3Y={^yHqXq3^15!!dp{ z3XK}sp0v8{=2m~UwDHAk=njsG0|`IT z@yp(jX@=)(^K6jI;KhD+KbQ(l*CX%bD=E>aq;sP*))@_N!F1h?xCPy*=6da{y!+K- zHW`;gumVkxbS-iiNCTR$l>s?$%8|KBtk*^{LFdkO9hLOEhbyn0i6pNd=^HQ&VGvjJ5C5y zm8j=-3#v(uN&;<_D=4GD=4jJnWoSTj^!D* zEcU&`h`BFPqYDhcvq~)Cfv|lT$x;c)Z>{vV#g~AN>~pVydU5CCW=%%v7A<+MH#Xp+ zfUwYk3xCDENK|%k?2XK{RYilmROJ9Bu znPT2LCjIW#oR2NgrRnh$R*szgNdC1C#77%2;rv^^ATd98#OG{hl`V^o5`|vC>D8)w znkuz`!|h8Z4f?YsdOo#c9aM5k%s)IYe0=-y%oj}N8S!I+k~yKZ`o}2K$s!MjFY)0^ zHa?|hRfCXbQ8?eqrb4j(2zOJQ>k4z1r~~s%oG?S$DM*^}YKmsYRi1gaL}ei3m5>uE zQVrA@W4p{Fc8zlCIx6a>zY*?(=&r2Y$DpHC2QUS_lc)Wwi8WL5RIvGG3kkQv73n-s z!qeQi2oCgk-isDuxuDbi54~Gqzya1*$%jYr4scPZLe~%iRXm+}XU_H-WtoU*N|3^JTG|A(0T;Nv1#WZwmOz#=aZLM zFXbc!JtHB-motpbC&@5yU#tHw}}Y)> zs-@UPq|39WfEvUtm6uV2y`x(-wEAFhLQF}$Cu0C*ut_}-H1g% zn7H1G27!J49LHla8Hx)EZ1p~dNMgFBW)ifP6>{cvA;tN96-wc`y#l{+L1qOI(zqBR zkJ80}OYM5OE;R=COxvd>=KAo{?8Qb5u2R=tg+L^e%*DcQf_vZ{@BpuO%XAOZ`-&NT z3B){eWnxcJrD-&5;{zMl&S-aR2@O-SSUfUHs}d zR=sEiNuz3mI(*YM9+j9tn!9{RV;4zN!#8kG|MhY6Y2~)z_(2>p|3TxXj=zQQ6qh^0 zWyrv!ww#ja)4lg5d&;Azsmu(pk?mJrEM#!3Dmn_*|NX znm`+o82NU7r_Xhquc4vWXQDcExLxI*N^~CJaF}n>CM4+O1dhrVHJ~^GTO+PskcLf z^k`y14`rrW>CiQ1z-^A z*}9xATMa-!A zQ|is7h)BAx3j|9~8bbc*F7~P=S*h0~JtA>jrOX_Fj+9gB&GeL6l3n8hwgx^Uu$v{w zgz3|8m#vNtTxu!@0Qa`obOoAA#A+n}TU z;0MNGzQ{_Y zN3Tk68z3J|>&iQ3{OvxjkS|UMH6>j74w4VJKMpD{;%%ZNg*xa$9X!q6an7A5S zV-QmrAi`>h{5Q4dsr<;^)Ub#ebyWHwO~*Vx9~e%zJ}9-?dM(X(Lo!Mem$o*&ftaY& zpE2aJ$o1A18te#>_}4<+1y>p6P1;X%$l=JeQ6E?hr9qz9d*=e!lfj?ScsoU zbbQb|K)+&^4^{tB910wpfFaFB`oikEX}T_YnCqr#wa~H3~@+f>E!Ikv-2)v%ZbbM%W9YdWWhl6@ztHN&# z5GS)%4(==az0d>51g$&Qx%nt$HVOv89Dt&pnb~2fd8HE;&C1I5Z{W5q0IK_BETsw& z(9oZos589EMO`fck)jEeP0^Z_H z%|DatZ3vGqI_Q+Qn{^`_(AT~!=Ercz1YY|{z8*>Kr~>4*w&=gEmGqQ>^vh9)!zvY@#5eK34{X9+~jWv362Og=G zk%moLqVgGA)oRNa=bGKw69J_%nQDRKjy(++URF(dq?DR{HOMn;*`Lqy$D@*WY*?L6 z{JqI-fNI>+k%EsXtMQP%s}79>MO%wNpKhudP|V+MnM;qAhlWQnF~=`$e%qcbc?aDI zlhoR2)-Y5gS)rhKZbO?`Bs_#I5r@^V&`q`66DUfp=Cn5l$;u9H;fL8DC1Nr7= z!|iyAOWN%Y$Ic2+MMjOd030S3MB#W5^-w=QZ`g)tJXy$h5Zr%Rq`~E~0gRbZw zNz{NC-bkEIk@a1V&_yg@Jmatemni3{;~#jKW`j|&EuF+Y;T1vU5jlSQ?Xx>c<+hUc zJG5OscgB!VmoOptZ+@QcJ18dX=;`sR*!k@tDZ>IwzF1TD`Z)Y+>b%{1MD_iA*~Pm^ z1;KmJP$6!QlvS>m0 zA*U5;2V0Yv--L=HVoZFSq!lW)j>;}Y8j1-gAr+ZKSF08v zO4F|3mVyfW>?%x^G}d3W77!Lap4gc>v_rP8WFMwh79`G`b`F?33iLxhy@mK0M%4-W zFVbzg%Q#cGB=lP(B)+RK^wDd0QbHQ);ORw}S}k?}n5E>3;FB7XL}^9;B(IUi6v80fja{zGwDP6#h)cru~$o8PbUfYaplms9P- zV!U@Pw8%yShx6Ai&?2cco)jct)` z0Qp&_CBZ2-nf|2n{iGhwC>j3!XUukT_eUSeYAaY&UM%q7Z5`IhA;=@ScDGdquF&)p zcyf&E2$!hK)I>Dm7GLmQc?^Qdbu8Xv5!R}y0@W6vanJGwuczzOc2Zk8?pa}v8)&R_ zma_5eq~cn-vm_@=EEk7Dd~S-Lcy6M8+KwqT%g4KMqbnS?K z+T&gkBuUb-b=k+}a)8ljASFOzkqAOaPM+FQD^N~}_7{)!*F{+3HBDVenviV3XWk$}rd3hDCA z5yEQ`om1Sgu?1<88>_Y)tkkM{A!mXcL7uKb7S7dba40w-z;fOYm732->OMvFk#=A_ z3~l3evqbDMt~Q~6YnE#mXLSdUC-g(h8J$;e@gwr)2*c&+&`U^W8rGScZT@>;gwi8! zW=GkIeyN>!%E4m;Hs4-nF{N=_nGEqP{3_7rx+m+4p-y>Y~Fu$WWNp_dounsjgB>f&m!=F zS^_^+L>Qx~X5$*BR>kKedSeiMdOsu43d4suD4YN_K+3Cl`>nw##K4fdTCl3 zvQQEY`?42v;v^?@I1APT#o+Q(dfxb}KXWH5I+j5^W3Sq_2_;r_+DQYdmZZ6u7rab* z=M8(p=SeN`gx39)OH`TwrbO{W{Tkb zkJ!v+jqbaxl%)NLe(<)_OwkiLr&Ubuo1?XuNYLtVskdREbT>6|;_&S@i5SoTorHie zKmlUDPrs>f)04(|Xkw@&L+-MBvYjfRr-@5aSLHUY^)fF0D$%XDH8I3kQT<8n2Vtco@(_F?AKJ-)%Z$LU(N;jop zMTPQ$RobEXR*F`_m{oyS5o;&j5-DcSKckYn-+=m=p>tzsZM?L?TaCwccrOEa6E5gU zl)ma!&P(A6`S+TN*l3nLlLe=E>|`EcpPEWJo9-3$Q_OK;CUBN`Wc(RcMyid&a=0&S z9m-L+L2fe>Fh4wYpnkbXl)3DtyW%)oh)>$6BPK@+7j<~3O9_pOWN zloQ_tXGO3otJ(`CmOgFlxb{bVkcUL$HO^aE5_{<6l=SkDO*kSl+71U)p5%g)j2|6{O$1^EK~ai@g1#R~;z1+YF*KET6ViV8-W3z0J52k`9WN1KuE5hl|8* zvOR8ONh^`<_aHFLMUKLxDybovPHGL>OumB{3`W4QlNGWH$*F-%2u~1()bUG>OsA1a zP-Pn(T`HRd(vk>384lD(EzPh!UzC=xM<@_mW5F1nW%;v^xvss8zckG7^CS#7`s_Vg zI(i}PxNF1-le{7g%s}XgcJwZPUS63E>I8Pb{p#W(NilLBLlEudY^7(>t3R5a zYX%DlPI`@tZM&~;vQvJ2lIv<^+4aaGcOc^HEvv=@i<+=pIo;ljaP#L*j(}iW`=|g( zX}4A)V?V1{kXMc15AJD)XI5*+EAi85Gy%(u*`yQ}?Ikdnt5I-mbL>OgP}E{R6<-HR z`vt8(gp#jEB!o=6m@An01n&@|?E-jfcIY@h9YG)R@vf-+N7b+ZD)X0QYyyhLo^L-Z zOoH_b6uh`bwIN=7vR5^B7}Q@z0o$&`nl3zLV}E*T7f#BQv-dc6Fj@`yjeod$2#qt9 za8wnOcqdkj0#`#(cgkyqv-v;xwb`%Je3bM-<XA6wd1?A^e2hisOvMxYtAHoBLHqX+cJb~N{?CmeOo>i;z@;gD zW}f92TJ$YwlKWNNa&zh9nc&vxjmz?)>stI8x!F;cr`l=aW-g?h(n)ZG?RUJOX#nP+ zJM==9+pguvD*!qzLrZjo6g7PWe2bdYB$;JLARhW%VI~Fx)Yl&)*^2u652nn>sS*h* z>~!T45t3Jb$y?6b)Mq`Q1kb}CNZdkxkPMQ@u{%Ue)1=VCqlLPwRIRh4*%vy`L#uE3 zgH>zc$%AE(Q_`n($2%dwM++n##B)a@0A|O(m z3AGNI77mwS2xKYr#2f@v1|J=OFNo}3w4A@>cZHIuP#+a;8MbwqvW+?~v(Sk)qXn1M zLLv}UJ51U6XnSAK&Wo^HhdZ$DPjPuujXsVEo*7Zn(#uw`8S3b=OYLS@OmeLN5F$aZ zn}K0Gb8oTrZP+*JbF|B)ju?*0&WogGJ29X!?KIHsU&Y^BhCOWFA7@AVw1P5Le|o<` z7_ojJ>+LV;o6+}{-PSx$BdjI4k!cd$)N7E6ie#?AH{BVGUD_PbUWlZ&?38o&d!=Id zt`9cy!j$cG9a!Rtm%dYA_8~%p921)Zmx3OVHQ38S1hL@E1b-IN9s=k(>U}O5Jxi4$ zLAhRKaTnn2m3Xzo3_Yd9k+dFk1(l-gn*?E(9Ko2C)I$GOCua6__Vf#hr;O)Fld!EL zrHhbgs*+L8-G5 zvI!&_YzjfTT12lYwG)&iCJZ;0g-~L2dwj%}eE#A3%wAjxd7kUDMi`h@iu*H!>c(~O z_E5uo3#m(wbXqr1;H*K>L*|z?iT;n^F=Q8nYH4D(q5~uz1pAi43@~jNUDkfF27tj6 z2KeCPOp~#9)h!jm-breCp5eg2im-Wl^xbv#@`$Y;bx_Gb-L> z6?t=#Bf&UYw2n?`A|{SoW3iBdE*_ojZ-xA)J47H7Q}*^7>oNsJAGLdZE84BxuzRGI z=oV$KWdlbM7v-$Zxj!MQMF~Xli)FU+sAi-x8%29%n5jJpZIm-J1U2zo{m~?7~Uc*hQB8NE=5qftdCr?;k$?njyz41(nIB?Lq# zF+|LhYN0K{%SqFZZ1Vy6pY5hxO!Z>XhD%zr{y0ad7&6!R?dg_yU}t1fB>LKuYJ11( zyQuT;Tkw|j5kvBXG@ieX?7d?ZZyR<3I7!Gl`85L@x@Uwu3SexQ?iJ4&!pHFK{nt4> zr16_RqVnLQiz@qb_tp?GS}iRaJ&F-_9i8=!-PYWfP_M>SIV!2u034X|JQZdq7%T^t zu;`%D?1c)*Mf7>Pmufu0H_jho2sC-fvbTac>O-y}ykHq{1^H@}d{leoV`w8{(RjVv;PQlK&jY(0Z z?!v#xI(@CuPRAsykQIL+rZ_NXC)TsFGraTG zhnjR`;{1gliZ#C$dUSM;kH_50COM$JL^V92jp_w&Pw7`BDefCi$$IKuw1gsb=hhkK zie=!Dwz$6RU)zzn@_Y}vuoPd8A=^Iyf5m{&onOxLT2IcsxO$U%Fg0bUx_58e#UT== zUM#a4X*{E~h0fw&l?y769aga_JAE_6??E^OV|8lJWxo6Ca3wO% z3(hVGJVQdf!xRAuuQsaGAZN5cIFZhQ#+2Z*uI?Qh49vh$Z zfZIuSLzveH>t_nDD&0d6f+O&-U?0{oCIS4<>V~s$r$y|@t?xt(GU}Kun1jTnNbpG; z)6-=iR_SR+QwdwuguCxxa~FD!3p&!LW3gP(H`pDK-N2v4MZ2M+loRlN>_gK+Cu>9k zcJbV8uNPl~e;$2of0(&&tyw#m_Xu4$m7ZzkU zgIwq2rewK)t1X;MQQya}iP77;DFNd{oxbG2$&aW&#LcFp7Jas!_g0V0e1yoH6qAIj zZs9yrY>zVxWIBg1qt{&1bPXws&-|C`^L(>0&yij5cs1@JK5 zp8y96wUn;sfd&@S5#KJDI-=K$v{6sR^=S6g}OdxF%O1<4Q+Ad#MX3rpX(yHbfN3=e0 zD5>!HMex~e97NE@nYGtm^B^yLXTh|RAq71^yrN$4Nbdu4+SrR`wctiv;66Wz2!Ki; zQ;NL*F-b=jDeXy5I?E;BjK|(?*g;<@Of-78^_)w#i5?h_!zL+9DtjN^cRp<4heWd` zY7PyP=xK1WjmT5#B#16i4N#HK{lwc8l3{jMoqq=}q79ctv-`KdIX!EbbAx$0p1d<_ z4w1T?kfVUu2o4vB86T60XW7nZkHY?p!|NfKMuT>hb~^ABZ7^N?0U7sFB?pdX9l2o~ z9lCua35kn&juS6g-+h0p7te)~*-~m9vA_B#)zB;fA_#l;GfX(5#;ZOwkl{--Atpz# zPv(K8=wmFE(nH#$R{Vf?L$1GVzr{hyhX#yBHGObXfp?`;Be+cwMw~ZD=mC*x9_`BE z(4jJb#rw+c{mfJxL28|~6VyG#`z8JS92tl6T98ChBYg)*pNE0`-y(NABQcoFIJ?c= zC}3;d;w4Z1WOp;My!_`7@EvHNsEe&yZm{;-eks+ZP6Q=yUj0t={ zgb9xr6haf?B9N==pF(FWe5n81&oMrGQ2yFhCdFD&c{CC7zKrv!0%pR!JeE`f^Z=UX zr@bhT3wIJgn&nP$j8%Zx8PtIgFHco4^+vR#-ae=X@S8ChXY!L#^_NkEz7R`&ZXTR^ zCh%fDOc|LdvoLzFzh#gl-Gm7@+(p*BzNn!OeKfS+0e9D{RW2w(uVcrz#ACRi{NoSh zH9rZ9D!>(37lpF_t+*1sYapa1&iL%8jWmeJ*(;-(i=VGD#hRAZc5}(1Jl=2P1FD`e z^g5-%5b`k!J#`6nK#w9D5}4SZ&KOb{0~RorW*-ngyW$3+@`StmhV$Rr1JGr`lBh~d z)R?ztG)0tD-+^85I|&z>{4F9~;c>T@xjCj#W-hB3%u~8f1XdS( z#|W1pZjbE>UK0fdZ8T(Rm3ywOO^oQBADJxa9->?p?mvy7g>w9%;MG;A5$CeG;q|mg zr~U1y7LecxqtBa#x)5BZK`VC%>7iB)u_AMCW+j9`OgEX{qNYTuPa`8}s6nNOc@E$* zV@gX{S8F&YoI`8xyCp2~*kg|aiYArtZm5C&AMZdW@g0EUt$Y4P()DON;V}LW-HzdG zXEtT*$oM~xW*qSM%gIKexZeJEM!u~=DoX`W2N@VnHcxjBRBN>SOv)+m zGIazF_JA&3#A1D6#^i9=`H`5>SX5N%YN5ZvBvEBt3<$!dzN;MR#vlfIR94q@mvq*X z@UK8Hn0<6Io5GNPX``LJ+){Ku7np($g)Q9Zn3%|E0bYbTy}y6H67AQ&2I~4r_SmOC zL;XllBd~K;WfvI4WR|W8wj{{?N?F;4zgwNE`$&&#L%~4WlEfrwq~v>#jrDT9W54syENTpzE#yk%nt2;TBJ|Th7fsPp0{~`i?fbDGZCcFB&$th#> zd(bLHw32ex^rQCyk;1^zAC=91kkn94-o0-%c5nI(J7nX@ng9-&J?|*}fMWq@)NIE8 z`0hj7u74f>dZnm;keI{nzYo-bXN`vu*+v)?o+cw-Ni@q3oG5BXrCCJTv@b&Z=te@? zGa|hCk@;+MT$^QMsR$m;&aO=(|3P}3`D1dbCq!?cswy7#t6VfAI@%v-{3uzq=jJHw zEoUqQR&5kDfi1wzFtYe7sMttI8s8}aA$;>N5?+7f;V^Xrf>W2T+}8y3pZu)uSRv8l zs#}x=W+IUO;rV2xwvHHIqjZhGq&C5PHgZ{`1r;_i6YT3wUeV032{L0PW-UIX+s^e@ zlY#R&XX8aZO&D<0pc{1vC~K(D-fr8xTMN*7fxhiFoNktvyH?ko$URF9x7IeQ9k3ZO^Fr zJ{aTw8MZ_=ZeV>v!TDY-bB>F_k#sXvV!RAD%YgBOSSP8B2kDkIE^9kw9s=O%Vnqf~ zf07M>c!q;PyOsZ669WBGnDg;@_l3?qtiv~f50#{gDVrVO?0kP9@Kb~M!44u8p*1!P zIUV&nvjrt9^qWj)dJ6z`G{V}Kyp96@;rO7s(UJ3#MwoF;C2w@Io}R;6(>Q`>Mk;rYN*N6 z`j|NR83gGvwByxD7e_Xrlc#bxMcfLp&?Z%ZpVrnzWyja4Dd?O4*n0VRX6ySAByPzh zv$HG~%lUuKl=2oNs2d`ZmHjk>TtyxNqUNqaVXtMcqua|`wJYw*>MZ9x7 z)0LpT1ezt)3vEM#xV1`!vdNM!*AtQVU1Sos;DVPfUABO<8UgegS*tbi?d}nKY^%6E zq|st)WDaUTS{?_ys0z1zzbb5S&u+$ir3`uXx?;c6;qM_WEgByr#6 z!Y8t!awE`6F$R|*MTj6BUCc}jm&t&%xHiQxGC;?ObN;)iHyjS(Xx(nRR~xE9tdoA8 zL=3JBzkbwp39!Hazz*st!_d@XnuRzN-#0Q;?(j@JXe-5uOwZZiqpv0Dga|J$7>e)tHKc-XLcLd1^LB2KS z`B~hsb?Qa}t?3Jnl(_?>!uFG%mkjOa)>ha9V`_o}Re!P85pI?4sexipD6bf{>syD^ zyA)t6^iLDVWr9HKQ%yLI8d^NxneNl})v8P02VNUV;;fEGQ_Nc+U;`#DsR0;NI)!Gt zCK<^h37Y4uAFpEb3sDa=xwoG~Q?Z@c%)KIvO*J*-zHb7TLa5lDxZ;bcg+C@?b$H)~ ziv9f7=Jz94?KEGQ=k%0J8b*iO0RxCd+^+z|G~e05iZZ~_!z%`{Lw3ZrW|im0lV)fI z_g7q3wIoUgP%8W6Peaz@J_V?z>IOa}vb6$DOU&auX1;Z3YeI%1+S((H)qydNyRsC2 zE#Nebzx7i8eN$PD=#v~tBgV7!TDP`8Io}keU|oXDj0YCFtu%RSmYQF)!*L-n+)ww9pQD9v7#Id6_{qcevN#(>_f>|a^__` zP=|5b48vI6R1mol-rpuj09ot`gDH4_`R;@B2Wwsom8_1aeqzApa^;fsT&Zv2-qYO( zxs9)vs)b6>F&)%NKk@5L?|8naD`C*s7Xmy5t`?vctv6Au(-H1F!AHy)Dn`@HlU^I(23A?+=w^%)3bk!&ie6+%M^ zB*N0ug}DBv=RL{c4*1>4l|^511^N=D&#;u@Q5RXWn9Oo4Uv6KfhYo>Ss*|CLu!ZWX zs6pk{4idcA2HbM7ZS#pVcHbK6i~c9>8wogX(SX`6yZiqSP(#V5^Y>%mx6C(t#d{LT z>~m()JOABDFp%bSx8*4?wuH%CAC77zNo)Cf>AHCgx=UPmX(k`dS?zOqYpZXB#mHo$ z?x7I`1Bh?+D?Rk=5NqpvW1JlR9gt$WI+wb>9V}wX6WLGE2cJ1zmoQ{bs)$!ax~pOu zc0XXl3xk#;oK2|-E9D~OMYHssFPm1WgS@P!a=b!snlaO`Qah-ldPr!au%JA;MwJ^* zpU`K6SMsanlwZXd?Q5jtB-+*BgB3e@4L}$(A)G)*H5X1$OI(UBxywtF_=BG0K6CZM zGhn-e2n6s*$hS7lcBSm&@BTJ0C=H(0U9oS=&L(it*n|kMlo)TrpM_b9j@y`63&~GT z0&HY5m_xWL(zM-N7?fq(eBJ>0drpCa7~o}a!oZBb3u%Nrl&MWMeLc`a8|Ir-OD3)e zq6$1&ld-T#NZ>%iHwV-az_Dt(_`3vnV_NDG2Z4AL5Hf!8VNFE`{_@h^xMI;iCP#Ed zQI&b2Hq9xAx323>P?j@vjEA6Tefv6PGK{$+P^LKZA7|DI_IrY$nk6!OPL+)^Jv}^ z4|H;Ew)C7JNb;Op5?FVsS%BGA9 zJjksfXl+AM6WSzyUS&oKh{G?fKtNVY5TwGUF8KJ7vjA#S29Nen(ampcf;h(~^{O5P zz^I%FUM0`e7zlc@Pf;GinpolY;p0cQ8 z-y9%Qo|e#3kZuM;>n5jb_7re5ZvJ-TDm?5BgRCjNcG-7(3>?f&W%Lvr*%sD(=k>g30W?mx}rR|Gl0gS2${8)}7 zFmKGyinL70?e~J7WTdz!FVbOxY&Tqd#sPk1tIppG)5mD);eRwVd7@h!tOUt2U%L+L z$Y6_AF^*m?sfQB7H1@Zb89|u@*{M69{!~&xz{Lr-z=CK^ik%!2yl9Nv1nH{$|6so- z*K%%o%UiWvFl;Art8cDQa5(~<+7%e)`@`yxk~jO@1-7{aB8C2xZ+OGG3$;mALzJ<~zQ{9#F|(_=f%~9D5ZIkZ`8~0(FZ@6o+N?le2W%t^$r#>khzps}Wx^c(fF1K6CGrEp| zz7YYVgFpPhO{h@UP*>NS^!si*%uYcW-N?AwK_$!{KBVyI=4{d;3j@TH_Bvpz13ZS9 zt>}fkWist3grI6M_N<~pJiIL{;n8`j;^PuUf_^wdm{;B-$_C1vfy!QP?z*8yRp|Fn z=+2fT7863>CJweSoWPG^&}_N?!TSYz*W#zh^JP#}uA8- zbS3I^`)dC2}m2YH1!h?j!BWNk&~rZKw{YTcgM#C0rKyMYkG+>MC92ZTvHCCwR1c z5p-&UaFQFa0p5-!zsybOI?iw5dZqt8?3lw~fL7@w1`X?P z7`&Y%VNKPmyIfv^7Ry^Q`=Unk{HqY^f-d_a5~ZDk49+{)viCLX|xyfaf_xuIeXE-5(jVhLq_ZQh+%lSJ+Iji5P+;Ybv)RMo^%A9?# zoj$WZANvV31(DYxLs*#uzvyae2NtJQrEetdkWaEXXvKZp|JO}IDK0?jt{%qh=N4`S zA-2nJ2rx8UzlEm|PTiA|${i3M6qQC8YY zX}oXs7iG2~QYRbanJgEuP8WK!%>bhiJ@BnvVXfBMnM}kr-=w{Ek}wv9$==-=2H>L+ zpXys(C|H&GcMeQv@|&Hv(^Q)E07^8dd0xr}$G#p)NsAy8wrzQ!7Su)cIR)4@hMe+F zeazqsC@*Om_LqduDuI`cg3{R#DH+i9{tb@kb+Cup*|u0}o?oX4FXh!R(-`GODVD3b znHE})icQ452is?R70zTPG1$%g;@+QDOA_=_>XUpXo}7sFPZs{2V9jC)VOroxE&Omw zl21umcG@<1Vh>S&lWRM?HgnsZ1>6(1;T1r-#B#Xw3VsJ?33JGgn?;4EA>fYi4^#ihsSF=rpk;`@ zVeA08*9bsG6$SH#=e&0Tl9J-j#UxL8DDLLEMC1u5MyOH=d@!;IzOV(NH1`Gv8I#on=DZH^(F2 z=Pl}phtRE3bI&6nvONxzlh!hB3&;IE-A!aJUAM`RNFjL43$R<_O8f`fyO$}&X?+sJ zir&FNl3fJsvFJ9vGa<*?KsTn|nGCxSpiD+Kp;)q=k1YUR%9(FMIOAXgHZmCkfAw$d zW*u3O{juq+vl5=%36GoeL2io@dbFr`-dOTy>X&A=1p{|O#0mpb4-J6<~?o}{}LeFK8O9| z*JKUm9JEv6K~_cy*#K-pDf31AcIQ}Uo*Y=~A5_~+PWl?0^5(-mu`aORCCXice#9?2 z%=jn=z-Fx2&-N&9wH9ll(=*?>`_v}N4BC0Gtk-R?p&PF}jMVSaEz{q)Fw1>Msd>=W z6O&$RZR3(xfNrmDt*me}?paK+D`yqX@?M6mnAhsFRepvc9+(}8@}R^e}) z?Lqd^VAp2~L&1)O6H`mn|K!n5g8#qH1RvJ~(qCR#-v5L<6j~FI*s}=XezqM{xm^D9 zw;(RtRIXEx8=e~2|Fdb$IO%5vqCpJ(?ss|!g$lROjl$p5)ZAOSY58}H2! z_PGD3M65H)I_LKdfhJnL@g7zJ*Dqe;23vO1S=2w~^YXMKy;A_>sD?G54GJA`X^iZB z=^diW;QT7iv0RW!n|H&Ww3OgeNW?M7et@8htxzDb8=3`!g0Z7Z2qWqFqx~m5K{1eP ziLya|1WPX`rZJPmQ0zVzA#4LHeg{ARNz5Yb8c6MQQqrrWqXcvb03wjQ|9Qs7uGAbV*F_!si}B^1eB7na2#d1cAJ|lXKP( zr0Z$Bv0NI@Hc9>%mG4TIXX_;&B)U&NpWQx{B?2l&MZzk131s2ISpOj`n(%w6h|liXjX)CViv z%g)KU{xGN>mR#zxP1(-JPs;X}deA4;wR)m6icV)Oa!9Qp6zEb8g5~Qul?n#M*L}i0 zMijXkBQG<(tOE;bdUt;4h- z5`gneL}NSHRf2qv&=t0`xpDTyG0SYb(Tszj+o^U5hTYS{E0Zk@vpO2(d%NF07T2xx zJ75-{alUMZ9Y{SQo*CQIb6lmgI1~qV_{(#I-^^SVl+^RJh6jih3CSwcKF0qN-E<_% z|Eq7Q!iwe*4Yr_C%NAH>iVxU=AYvY(Xb?fE^Zflr-MxAjzBPe%AM5*QV}SSZvzX&Q z1;d4-wMp`N{;R~wi$OS?l4Lp01@9K^wI}U3C2B!mKm9c28$X?LeYJu-kq@<`RWt_T zs;%t75L>THJVl0CG2ULFr6#u8qwA>IH@rKf?f9BsEM5pWp;HZy_`4-2%TjE<-ozv3B`ZSxf)SxOREp!ty0?a<=kBj2ANah@m0*sE(c%E9jF^luSz>HE8&l&co| z*;pzAgZZe1GO|)U>hzCvC2m@Pvy_gzy~swHwrTd?;I}T>5C-;pDe~T-3v07&DEMT@V0%QB>NCr+R@cvkPF|8WCH)Vc){iR=#vee)TXxbM>G})Q8VcO zl^T=?xdvExYUct?vbv7hHDTY*(l&)mO|VT?@adeCq?rg18w1`Ef&i;>v}D(Wsxx=M z{{Q4}*R-oky6Fad2mAv%zFTZJ$%fE6*@J+W+-Q<^$wctP_mT%hZ$n@gT2!>V06L|Z z<71fMW(jFs7O&pKgC9_kqh9xc^GTfN7iK~Wn#Jf#h}TH^K94y$Gof$x;^3a3&ev}; z@k9f*)gMBQJQn3B#QaVR+hvb&jBcphd?N#D7mbLgm<427@}B=v0$#`UVYdM+|93QW zDsO6UxtXrV)q<>4*rB3G=h~)AWTvN&$Xqj+w^a)EXT`amtDgT~Npezn#zk~K5@xeC z6`&oX4fNU9@a^&`xxbUIV5X671*==|L-*`>Je!bH2!ZrCXH|X9MwclMo?@!6BGa9$ z*K+aH|jPt#ui1ZTyW?=uM2+hMV;i;zd^Vl;7>^&!b}e+nt#%PY_tRCs=N+0;VH@V z(JTI|m_t+-Gyxa#PZKJvC}g!)gp;h$kx)ZPh?IFZ`@T*fsFk)JL<`_~0A-uEGdJE- z;vA1oUM^y^l1W&V_iUP<4#X};yRJ5YQ61t)GaE}p78L6pT3;4W&@{xktkNh(+p96v zTyo`ABXq438eky^K+)oq5Y2n+VHne&LuqNbr3cxFn=3|IA|N*=gttMy#~Fd ztobv|fYGPX=w&aLxd^j-ij#Zsi&beUGj-NP%qbNq8`tF2Sg$uQJzt`7=fmAiA25-E zdpRXk{I#64W9HSwgBKOu6 zv@Nl9U4cMEN06y7XK%J$ZmxWJdnvj+Jl`%0`Xo36-nf|u$M;Zjrq?xWd-O@(%ZApg z8DcmuMI6mL6@_Av=59(YtGRLb10m6xsWbVG9-QQaX&M2+HR@BH<9X@TXsXptvEd>50Gy1HO`|P)R94Ok! zl=H=fxv|~NeTX>+srrh0K5*IU?bQhwgRmVw_ru338x}4uWWw;MWNNeBz#|a5oOLUS zmP=$OZZ7B;wa7gW9`XC;IF1Q+jE4iYI#rY9BDiYZdPLs*q;14`vahNsJPbCY*KLIh zRm-h*@wIp))tU=FUOZT5V9hTIAHKR+r1z|_*4zL8483;`DeZM&aIScJfbi-`kblwN z15)J)xgp+>+@!CobxtKMXn5ZD-|AQzqTU4{(ilE2Ed%5IxL_mE)%s)I&{c3_&|?3W z>zS2jYuV|i@VJ8j5B={7l^o#wgQ5yrIz0%^hG6V@EGsaf>v4^#-_&NkSSjrv@!s|T zf6H;7H%cZTeUt@ppL@|`Xjg`3JTR5n>@|aI@zd42&To$`1%R(VxyF$HKDfP;rTNJ~S zlV^aDe?4ch64`-r$=Go9JLT(j01C*YBsW{)^16PcR~X?equPTFQq?{wMV7^1jjMZD zS0D-Ve))TLUX&X8xm~Z&xu6PKFc~!bjPf>JB6xBEq`;wX_74=E5Du3>y~s#`=&mRQ z*DZ8i*l7t8<3<~jXW04+morpusm^qB`U7Ryu}IolEh>HHJ;M=`lGAnVt%|PKvgRDr z9)U=anRKtcXii}8=8dGDD`~22B~8lPw^9qfkXej@Ogw3@^9NU0`HqJm>KR9^r>^AI z)`#+N(Y4=cJIi2rao-lrS5_`FcuoGqyw;oLdWv&hgotyYx!>Zi<%QSOYrS@~TnTj- zr`6}4QJWv}Ctdo<0oTa)KHqDz<>Nl{4pfC+tNt$-==|ncbIe|kk?!NQVo$rWNia2= zYze&@S#eIYd5nLc4n||>zp`kcBq88HKBGGq76~2T8xyzZZ!ix!b?;X6g=O@rTcYvJJvaF=<0>;p5{MhOM zc$YOdv0wD)weE#{mI%uighcu+4&%rKuTbS#XhJwJmSsT^lp z3MT#Pp>8Y#&d=vIS4>|bvBd=%wDoRth+)pADH)FGsOwH0yh3%JTwp=i!_|tKlt3tE zn41Bhm!_*usU;i1Kxm=*uZ9)m)ggx#G_@cb_vpwFMR`}95K52gcB?qfaxJQlkx6J{ z0{|ULEhAXWS5G-PTCc?Mq={L7(!t+Xit__nlF9UxSjy->-35r^7;teQPtfA!q>NngRDMQ+(VQ9=tU&uq8J`{MU|ZL zd9Od5Q{uzg+gODcc^*oU2d@@}^0N8HXRnKp5@?&EZ*cNz)&_jtkCAT?C|sD_Q0A8u z^3!oG{!ab^ZE6(+?(`%J1cmjkA++Uuqd)pJIYy}DHB8q7%$wgl!3`Hc=BLSt=2vCG+d+iuk)e zevkgnx0f%x^(ZIIcz|e22Z{>%wlP1b{eR1V(_*c3HKrH;5rqGU{oY2psFx zSOvEx@d{DD*#yy!P=kp&Do$%h5Kn3_mQf|!ee8b|Rgav-pTCgtyMx1ePw3rr+cQOHKcwce{d5LJQ=%ZYt4 zXik9KOwJcT}3p*t(L3Vtp_1aRSWPh41y_r(XAD&1!r%tw7Sae z=du8hbxgl~j|swKfm-F&4@+n!GP8PdTQOrN38ra;(;|K%zwi32=h%h@sY3INMRtt< z`v`Zjp{Bv6y*ClHv4yv1j-_E7pO$}29|!orj$mZ>wPYdn9q$8VKRPI|Mb094*avqt zWr2rP`K1fSeJnFj-Hj1*s0NPd)HQ1M6%;5fOh55p+B|N5?6Ni}*obtP@!)B_D~C5M z&3_prB9;(@kHQiZX)2ID zjI7&Ai-sy2hq~$5cfA89bl6^dSEh-Lrt(UJJu+y|Ojk=PLCapeKfcBMxA0b;7S z*_-pfFL?Qda|8K-`4*vy$Nl8hC!I4i1If?iB1u5>j=mCb^FD&juwbMaLH^zdDsomL zd)9QpL|~LMXT^cf%o-q>#G14_N^9I~e>54SZyR&+WsZ!h8K6YNjl@ZH$@2+d<7Q~n z<6~|ae-KcE!sEyLm!y>-jpXA^YFi+#2*ukf7Rnjk*>t0YmDIGM%WMHxxohKAi{23f zrDHl>CD&S1G4~xqO&*@_hM&BH(-ZDqFf}lyHSjfkOl>tRyF3+zSIA1{ZAY}+G=a^; zY$a7kLlHBfZfL*Kb%0Gl3Zh0A{3Nqf21_XtCkra?JfEx zO?H-$+KEUR2^9m=6R#Ds`pG~al8YiWYLX<;6S&>{&moK8SGs)wcKSI4@2#j!aV;*A zPu7u`2ItGs(w&DNE_tKIMy|;bNWhx)jqaX1zd_>i#hRtbM|=D)^ZO#KhUiA^4gz~I zJlDJtQd77L4VcbO9myNYQvFmEm`WT{I}yG^eu`-v6Q3aN0Qo46%CCr`t!~7L0{2=j zlXtqf7EMehELW$Run$4Hb@ zeTDeh)`i&%Hh02Q(lB!P(R0F4ZOD*U1(vN{I9C{Yc7%<>#QE8{Qe$tr z1{tdT(2lO0fA-CfB`e|SGjk!v>OAbn-R2M^y7MT^K=sse30#?pw6HrcQv-Sb!tTqF zWwhN^w!}YnpHd7hY%VWe!zq^T2FwnANpKYD*{F7~e%fI@=_Ch1U)RMPKQPyALs#7C zOvR9?L7jO=f}6g5UaYzl`#N!@*of6tK!|iGali<&$5xAw-%HB4GkipS@6=P?U}n8Z zlFH=tJCBS{NLKrn_>HtNZo(0|y4U;vpJAgJJpj!jza|F;)gIs@aL@JFy)bZa0{F{L z`g1wlUZ2XoWt-igKhBR%DbLs30?j+iQ}PRbS>D@R03b|aVBTI#4C-c_r*1(%V3O2` z?$YhXtx{}|`>BA?hKg6`Ub**h5#iny#D3gra_8}VwdXMtBCt06h~mk|EM})IBtD)% zJ9Q_2xD-T9W*hNlU2d)N0J!W+BNv!7=)|%pC9cU`IXk`+#SBz9G#vVD>lA$n7pf3u zev`1f=}pJ`ZGwA`rSvyD&Ls1N1~6~0nif<#L>SElV^l?SgmB@hZnZLE&U49jT(rtZ-|kL#!3eZfEZb>67C@QRrP7I z!2Y5bi6jcm`3V%fu=%{~{A0D)>&x-Ldff(@p|5?QU)pkJ4XM0`}!lGe2w z1_2$}n>dRn;xewZ5}y-t1?I|9ZDN=SvLzF0`=2IC>Ax-Qu^l^CknXZj#3i5t1QsMG zfZB|kVz*0@&q;Ub(-O4l#PL?1Ze}Vlch>MNn+6K_#Q;{XQIkB7mnIYs_i+mwl)FKe zBH*AV&>KYaJ8F{VKlE*FlL}UiMVq2vAnektYHWy2r2RQvQ@uKH069R$zeuwSDYpS@ zMggCoFQei?IB|K|6;btm(6PY*BZ^pTSV^uqyi1`o%B~#4K2GF}( zrp*y`!)8&aQXTebT%`DsQ2!Fm>?(%g9%<@U$6Gt9jP_DmJ565L{fXlIO$=V6aKxc z|2l!zVLDboIT?7n39qxF7dOQ0iv`L`z~sf}YRNSI@1UcrLztOic-@X)%A?4^j2MT3 zR#nFQ#hZ^Y*sAUn3J3w6Pyz_7Ip%`D*ag2b4jGRcxU zf5jS<;^_I-iih0Y0f#FtMr;EDy*)teB{VJH`uZG@5?9s5LYOGf_O1=PIcYs{F>&`+T$NqB7U9xP?26`Np{P1nPcVLinXYRE6~MLgG*cwVvBmHZJtXkh?FQVn zPY@8Wyl&7o{&)j(F(H0n!jAgpSKlT*v5M#O@)d$NNKEZ>2jU+8MV~l9;1&Hn@-jf| z;OB8(4rkOr$;%)0&bu~E!^glWE-B&ci{H^@#tAq9V2hPF#F+Zn3$DWDq2E@*=`cMt zQILPMFHq%1NQOMXyvNLwxcPVN4!=*VW`^Ud6wq1T!6L3zEa_PnI&$otpAW0`xNELh z_+%x*h#QO2Je#;8&Y2-6bW5~T7ufTXf?1`wCOZH?h&7+>%(1y?;$FDpo1h>O^MhJ+;n4$$YB6%fK*A_TIw_>|7-erX4Q9JgYTf6{>Oh9gBy2jv*^ z#R8p%h0*s2b*(}V$|Dtu?)wQtEW24tWjiz)a|pTIr9aw+zk$?5WO;wQd)c=+i74sT zI9+F7a*>?%ybbNv5FtlP?tf-~lz8RAmOYWZoG;$^%`*-~aEu5(U_04RCV19K$(7nq zfavFp^?G98x3?I0ogf@@`1;~QXKg`*hhCsukGJy1*)SE77Dp#xx`KV?uFzEo(F&E6 zFvm7d0um}&x$mqMr|?bH|CV!-ENu(sLy8E7Jr~!1^6pBAN8g(==Vq)@B+-ITA zKu<7?Q}?r#lxAj87w9ZfH@cHk@J+5L1x5-BFE{z-kW(!~*FbMaVbVRdd3k%; zhYlX^%Qv^X0F+bCy(rRrbLitvb_yoptxrBOn6o@%V3*Fsio&GtloZ{F2lrBAO z^N%SL&J7*w)W~raaD}jx#g2jM!8bLDW7Mi{A19FJ6x)2+JAfBmB#J}XOM`(I-67)z1bB(->j!MG zuEAv3?VgPp)=#^39RI8s-GlNC#2{JJkzc{h4WKpf0a+(XovomtH{D5#o@9-K1W98f z>f2O3lljt3+C6C4gqZ&-W8Ph?9O{%kr&T(WWS&l z9ro3=1kY+99OFeZx{orV0DYSH@dCJsxXuBPc-NIU3}QX{`}j`8cOJ#0%**0kO)=QW z*3dEM{@RQ9kSbVQzB6K{)@yl5{3AT~+Z=oyAOX{sXsWfHM{%1V+l`vhpjep@$k(?6!fp&C5FbXu^YD$$DH}LM3{SiSrp5Gp;6=S7VV0plM(}rhDWrI8&=0NWRJ#w*Kj}xF+Uc(y zTbdTo2hiwGFc0h?uyG9*2z0S&*2@`KVoTE&w4_0TDF@BB%~kdT&e6)Wt+q~c*5B{V zQYcdghp?G}0bUgVf4C%fTnK5_&H0r-Z&;f18Uzp?4m4C>A&0o5C-_}VeC7KnV(ypu zJE$D6U|^?eD5(f!{`fEdXjs;0?-|A5mHDxbp|G-i#*+wxuFlOUW zreiJ5RwU31opGlz=&+y4^_NNXjl4o2uTIGi^k%T%P9-XHIJxDCz0N8L#)P*-l?oN@GEJ*mgsa$DQrJuF|+-3VBH2@cRb9q`$RyFT8BOrSM&V7k?A!I3OcN8754TKG0 z|0`<*LY7Nu|De=3Af&;K`fS}rHt>L!TMKgIW2Gu6&kJypdh2_%JM+BV{>J`bed9;9 zGDDw=g5+*{TYP#%B$N2<=Vw8U@nsS;xB7%y0A^{0k47f!pOFnD@OqASS)dYXC>tV( zI)Dftamy|}6<<}yJoijA6nU(*pBrE2@wdzsSwn)oAv7#4lX7b@1wvJT4eNbj_)baZ zv1^eC*;sEWS3Aa$pm~w;EHr7*oCyunBbDKkPGae!T(`V9b;@Iku7x@AE%D2A)bnb8 z{qGB5B3$M{^2#)8;rdR z+0xo(Vf6<5u$C!=n7mn^&5xv<(&C_dkOqzK450-;BV)4*&CG4o8{BSFH_#j+QUR`qVK$rd8leOcMUXl7FYMm+rHJ5?L%=UFW>rBxfk z3zw^Mi~YbaD-NT8(Yg@egSzSNTby&V$0y=>#Cp~Fe`k%6RRri&s%=o{U7ZF|tsPld z$$O-b*;HTj4*uq-_c8S;wCfB9kK4r7N!H(lpslP=dYyCvX4XSaYduYl@ho)>tR2nIuvD8K!% z=>p@48f1-oivI=W5OBo=ly*R@CtCd1;e`sCCiGeqP(MKI(sTRNfey^RotK|7$>4r; zRli3xWY_52(#ZP?9Z!n;=0TZ6WZT^3UIrYNHg%?A^4_$6w~lEZ3sR?GG5Fn6oaoDT zsbO>pXMDpxc5La)(oaQ+zn6O@HWEsQa*zZbQC3zKeH66vR)1y!3_!`sX(Sg^|Ipyo zF-_x&)%+pWQfxR5D0K(6!rLuxxwzKka<*LhLbM=$?QHQ6AdDbH5Fa4%>WDpPxI}v# zp~4@8gX?UMz9_WJZs+1LuT*fkfU$ZZd*u^2CDAqZ3|J_591t&3ejma1xVwPZ0!{#) zd2cqr@0wbDb03ve;pyBl@O(3}PZR)u{^*H32fjy0Biwp#NP;7iNx>Z><~wl?eW2T} zBv0mH;UhQ{v9Jv3r@K&e{Q9fLlk~CdIL51srg>_LCW-6j#30UKi6as9G+^A!QqRgB z4kLF)$9qnmn=vmtLyh{bufbt2bN=w-#4>PC$i_3gnNcD&i$nNw<6Rpch6YN#S_3kO zYybXyC0(7=Ax6x;If5Pxna)hJjryLemVOcO0u)W&Btc?KddD<=LIk$Qh;*?SQS6Po z(Nf_q^DB^0{k2{s!z{#fZOb8Wp`t2`JQup?MR_e$`M$oD;vLcA6tC0!$>-&3ry-k^ z9Ls2*s`l$Vp+&0q-R5j<3=?5LwJljHadzxn6TxAGYe_Js{4iA0gkIBG{GEjG zk>VIvP!HU5scC`9l+%g~D6W>HpyAe<&B)~#(*e-kx~%bynfAnb)oSa@cboFofT&=6Ht`O&4vE2G;F4s1af1fFt~EzlQ6vHUFapL7YuqSb0rqFpP+9+EIf9FE*GtW4+ zPok6==6EB^%$54!h@uUj9X(}qIazZVBOsLti)<1VhmdPS^OXh4tZ zF6AKO2nrMYsqR+Bf*+p zOF`m`0>@T495UXL?5&GX5r1-Ch6-JL!}xuna3u2lQ#_OTFnt;f0R05i;9&mUu6Z?h zO><|f-9)D$cBS%}Je0ypfZ^}F;;A1de7)-%{sFxLxyUA3WVtt+Fk)r)g0b>s&tEAs zH@60&HT&e_Mn#7w209jp{{==gB;*SDvLIu*KnOb}ZAmJ(hY`-N zQy+KdQ;HhJh&9z9K3%<})RuOfbp&Xz&33=(9(Kh9dldJr(x!+hdzmWN>2s$ZHru35 z*^)*-U5TFKD&^WG`QuNdTVc)B>G7vr5FrzQ0#K=1wT;*mD2XK|8F?p--vFS~bh zBf!4j0~%JyeMH2nguzGSVZ%hkl=Y??<^+lm@lohkZCXgO7eYW4y-ff+oTHAu6a6q+5L>U!1I^B5vd$o0B@=X|7 z_sU9IcQgG}(XDmD-zp!h9u-W=EyT<4oVvBPImBsK_W=BCDrE!L)OU@S9 zbwVvEk!ngt*{8`DnxC}LhA&p8X6dN^MkX~fBq8y}5-jHF9$X7o?gx2Mea>jdeiE}- ziPMn8Q!%^Xfte~pY2R(k@yGOF_lYOyh+D=@|J^q;sxjOIro>Y}jt-!kl_+&OD3p4R z8Z*~VJy*(Pg&7xfXB$OFwVXzu{^Vmkks$Hu@BnRdc>?>})JCZegR#y4uZgKJ2d!p7 z8|Ot^u)K?av5uABlT<;WEZ+yxpTDhs)H_1daC9sNa;(N?<4rj?aJ2KOo2o{aHX-Rq zHnS{y#TFS$21O*~%g>EC6IoG*W~cYRGNRbP9XVx9bGpPba&woY<>;kh-hMwqh-uGM zE_ebA8r0;tu;B9UKo1h>7(*|W$KHwapfYPl>)Rc)_G-=Dd<%d&DKTI8Mxro|-0Sbr zLlr>uG(xC=KiL%+qd?C}3vv`Nf_(JKkkRl`s-;5z9u#;pCP23Rp4K$N@2loQ!Ith8 z%c~?0EkK-<|Ir7+vF(Sgjk)QC>bp7#5@AwmiS7a!MYG%LRD~1czClXXqZCM`Tv#zd z@jX*Uz1nt_=7rSM(N4y^$T-Li#i=yY#+S``Ew(iV7beH88Vvb3Q&3-$L%cq$AanL{ zZ+U7YVAAM49Igg_s^RpjbC|Nx7rAeR_9x#H47t+|McaC(#Reh6o|R)x=`N@oWdL>A zYa{PP1`kjem{|)Qf6rCx!)AsR^$;mn>PEO9Pz!IlPj5wL)pLQ=1-xNBub(}%_>JzG z$4?O{i<#`qIiX+~&gV~joX)EE*oxp-=zH8GJ(431Z zQJA3G4diI%^{A#~cV)^v^c;}D>;LX-b623zwBq$>@X4lCA9=V`T(q8{#DdHS0| z$=>i?TJwoio)vx9_wVIMK?WNQlsLC74|<^#s= zl_`K^v!~6Xdkk?#IZJk5z5ye235&nZ5v8rk9ZugVn^?^m>th0ZY3?>mRjUWSCAxu< zku-e7V5_0h1xoT(V(B)XN*6`rpjMFDewTzI(zm&^&8EoC9m#fe;bo>eDO}d*bt!|K z0X8Ai1uFn=b`Rwb`|x&X1EN0V7EcSJ+{(~QbiV3{kYk(BD5=-?C1bklZ3H+oiDw;5 zqzMy;h}Je|f~TA247+*C1I;PTRksLifO?3on7O4nnjQ#;qUu^DqDnPn029h?-ER{C zgV+^KpmKS@K=_VGJbYxxoRN4HrVqS|Q^jjQ0rLIjLP<25kQ+VF#b9p~c8|7+O`qhNJ4iG<9_cY84E=Hju4s8wmuMRMb9CZ+>L=MN z0ZQ;x1+~5iL1l&vF=Z-=n-DZee&-u_u%Q-D+O5 z7F~N64Oj21cc`h);fbIC8Oz{QM;~33g3XMw=v^T-iXv=AU+B%*7$grWjqnil)Va%G zX)1(i9N*o6_K&XwOM#)};rOCfvMC6dF$ysEDXQIf*@Dm{~WzjNOGVQ-=s5rB&>nA&gqEm)M^9_rz_eH3p!|Cs!K$ME%u)L1JZwXr5qqFI%5<5gocn+%LdkTVmu3gZTY z_EpC`oa1a2ubDkM?LDgw5pFO}W+y8c!7&^`oGUI|#)=}!Lt^?KG?u61kNQ5$rZmwE&b z+IaIG9M%uKR>7BDw%V^eAWBo1Q-_j^L6M-&KS3N}6ci;XWfQ>MFx<$7Q$yStk}DL( zDUc)o5mrr0DWH zidcmoH-?6kbXm{Wg>OtO&5Y_}<@M>lI^bFpQp4(lO=BaXaQ`U$~xNzg$ zZIK6X0^`Zzy3m_R&vK&0UTM#!(xg;_^=Mi}|c zDUCRML{3D+K9pTdG=q@K+ zZKXW}>#|W8q?;0zveM@U5oI1g~l$V?hkbIJU^yT4NbulUJ8 z5RNtU<^-x)dCJ!%9_+(X#DNkg$$FLJX7jBSL}W$r^bjmPY1$z9zLgF(e8x{HOR6Hn z6hJq@DXtXyZilSE^ktsV=ZWsh5p;}P> z;TX&we>tsYwE>QNt?tC{nIxCXb=ujEa8yGWkIxqbWCbX7ck-7i7C;NdYhZ~s43ROa zkl7IQfPV7L2`$Oap2b@9eR|L9a8%Kx(Fpx($LUhdTfYaUlN89IEVtLKU(erQ%OFj%QW8oXtvReOcc&8Wp{u|@9_)ZXY>_2Lg&ZMyC* zZ?yUcY>81uuy+V?#+{PTVEjkv)v|WwAfP9z+aTvq4ukF<>Vjhbwe=E+J-SMV%{$mQ z!w6&b=AOvJj=Xgv3D?w>KszOq0L|nW_@u9;p?hv3^YOil8 ztyh1X5q{#T-uh}Ge@uMqaoUs!Ixv4J0n1!0uHIMqQHnJSxscmHwp3*Z;9HPaf)~1Z z8m|X6=TX5v7|Ee?w>Jh9@B8~r!nTU(`PDrM50j$|x|ISW^d~xI_YK3wsF%i5r0sr? z-gkyI#<*ihWAX}$fa@#;I9m{`)tyGMAj^|R(sxCg&Ot7a;uK1s76dLtn6Z-Fq7PQ( z^-w!RYl&upY9M0ck5iNP`KAdhY&GR*QFAq~Qo0C2laMm=!;g`VS7I43^~VaO20APq z;A!X#yqbfK7pq6y7lRDdpz@CcgYt4fmsF(}T$AUb;!Iv;TEFnIrP_bTw829$eng?h>V8VK=^wB zP;ShLlh$oXujd{!ewLhyNqI7vaL^4tl0aL?FW>0QXo}Fh^vMDAgLqo5P}WiG{5;si z!>DATQpJIN0=nx0%`37q=Vl{IrO`3KAkS;mEpI>!v*H#}sV|I)VT~dnTD5UZYwQh3d6Ko`$pA;gR z$NU7wDTv$he(!`KA4XAJ1_=pG`#cH+@0}j-QeGrIwA0}_17qkr#h#C{$8-}%c%CR* zN;cjDIaCO`ACE1cV(U@9zYKTlqL%?6Dlre&;AdHgqR%s5+(G3Dve~8~Hzj%TgO=#+ z&ZRT|*EE6h+M2F#&MKt?0W*i{=?eEevfwz^PDf13)^8anH@l4A0OMW zL4fSxNG2NzpB93E!k_c4IwQ zlU~KxG!2tsd+u`u6J!#*XD;n>-b_>8iVTpa=>msAtp_)VicTMqMr8ZW<`mYXX_R9Q zh+<+dg7+ySm9~;SxV^f#Fcj(c2c9{}%>>sea?3gl4B z7|d24>NBWr4Yv0hAZlorRtc;5k5&7Gr3WT_T5S?v!=r&~3yRH|@X zC&AH&WTEd~7vc(Uw-*`KD3L_y+;U+cC$)fvhZ-2zos(HAis_V+e^&$tW>bE~_M=u> zXH3Q3k=QLPt(*4##5OaO@(o>ktnQ=9J3!E6O#XeFV~13V^p_pf$~_8OA&rLIu~xbo zLrhYL5AB)*#>aY*XU2s{h^CTg_=T1Kot4t!h!Hv>n_Rs?OhX@*BL4l92ATjnvA}xG zo2=fScZe@%jKY39o0kyqV6{E@$UviK8!TmPjI@uW4j@k&B~ zyR1HUoy=A$8&KilMy#%+I9H(W+LrSZO=U)K{*28^NIhmbz582mvDx`xTzga@G5s&cKSrUJs^Y-#Vq8q2T|aDxoiQWi`ijfL1Q<;NsbaE)ZEjzv`m z;EAapr2BgOUMxad=i$6l-U56jCbr$I7|F*GI4ebmbxN<-F=3m%v(!55fQ!uS=4x;3 z^z z;w%X=h#x5k9roKTk$~(?MabvFk4@}AE`Qh`RMhSb&*HNhh@)(?V1;&=pAD*?o~q}K zBzXuOicGIRvRH6e!sp(=^{T}t=2|fqLqEt<{jv30zQSd^bPa~)w0Kb$&_f50lp%77 z<`GR>0+^IqE}uz=4=-N4BymT9M6`7TQ(KIO_1|pRN*$ad`kzD3l0jG|Ln3IQDi)hU zPJh)w{+GpAsf1eR*mc>B7=^=0;n0$VIxClGT@7*{ucU+rba@3^E1W#ZH zKJITMnzCr%fI0d=cM9UhCE{5Q8(is4FNXSllt>BfQvK$p#2wb=kz9C8Z5!eXt%lO> z9UUUcfkHsNE}Dw71=0f~&2QV?B9C%z|JMryAlx`V)c+`26@1Oir&jmGmVb16Le_P* zIzUigeir66l2nOa>j)Fy?StY5o(Bahq_d)OY5f*5A&?{-Z~kcneEHoP>_T%Dt!cf| z4{S7iJ)kqVi)1p!(2pQPgW-7<05PgZRMcUn2i_WZ*_L(hNA|w2>r~Y)g+B#^xLN8R zC);E}Mfd>!FZe_e;%#YRF4sKA<~{CcEcCGJu!$G6I2rpJp>!D|PggndB;3C8ODmld zvE67S*mrQ4-y+5q6h9t*L$=so@m#Y~Vy_0(e_gLdd@oTn{K*Xq;y}0HX~)m^x?4_# zcz>H|iZw*3Nhz|9S&7jT(f;V5JGxRoS1@IV<^t%HiCev8yFsT8{!CQ5!s(1Hsf~B6 zYPFQUc&mw497O?gYCkAj5GHn?sC6Jwh>_LYuMv^DmBy)Av#YMBK|rcsF#Hdool$08 za0Y$>PURwTP1KLzl@vJhzmt~!2d~71Wjg>;lrWB1C@PtCY3&%482N=6R-wOGe@PR_ z#F8tlnD>I(ph!0{>93;1zEUiRQA#2FsdcM?fPG>a21-&F@G@;%?^KQQ&tI6I`%V`{2tp&fPUNGYFgfa+v zaB;37U~Yh^^@N0%bS5M_i~@lqUZ@8DNE2M-Du22ERBRs;m^^_K)*NV^IJ5)t%s4H) zW_e~4j{v5EI(W;BW!OcWbX!(X0*d2($OO{NA5eU#`7WT+X21!i>8`+ZttCP8_T7n( zobE?+FloO^s{~l@kF)TTqVM=*+SNv#dg}=-4U=*(jfNltq}9)wd(J408{T80(%d<8 zkc!j{1;+2Cy&UD}=gJ#jqUG0l(7cCBt^XB!goddM=5c@g>9~+D!i&T+`XKkyU_g^_ zCKpKPraIfFU;zAJEpRvyGuxIp9V-^lGWistW4E=TkS~(}1Ql`L*(siKwbrbmDI~X} zzW&A!5#suC%<7ntz_Pwuz&n|?nW1A)0ub(R4KH!=rp(E}y+#Y${W2LnZp|RHJoc!H! z${Hgt@Zs48i9#z!QO5Mw4nXn|^LsY^7=8G@P>sz7dwQVAi>9;e6)X61`FZq=stMR? zDPNjp{6fp9ph6Y%EhY&xVmIQ~E1L~GQpJD45>%`7SI0dp|H5sjeu@Rb%71`Z{<~n9 zVsr_~Q-uaLmyb(Zr7F)M)x%9M-9uYuyx*MfHY*qIXlC>=!8FaZvF_nUdpG=K!4~<$ zUQ=!FoFRufeMdqiCS^}m^2Qf%YCzff=u0Nsy-E5=c7U<{5inL+Sugf}$^ zLC>TlH345b%zEXzE=juPlH|&(>ZK<5eTmVn(HkD8e~$OM*?!wl1v1@|66A&HA1cgy zDF@gSD#znR!rwJ+HZZ90{H^QOicW$F@8yq({3Y($<(3+t(p}9kc1mSE1>XfrFH?}l zIi9KC+BVwzT1)_=){TjKpIPKm3ja;{Y14b`CJR1^ktf z#%InQ6D#caBB4WZR)6|gHI|qauudmyN^~d7%PUXk=r;A(+(Efdp|0qK^CQCwO$U(! z3WOhMjO2jjqDnFV_`Cmw11rQef7(xMxh3t_B`pHl!3!C%l+&-J|3K#D{4hpE&b&+$ zV>~fYt?GlX>^+_`=_5Y-54v0nGGyN1jXt1oDIFv-^0l3SC#m86&z>9x@)nR-t2I4j^3c&P&_aZ8Kod;yKo}V`0~CpY~o3Ay;sLItRf7`J1O-{y7&saK>71 zks@MjEagQi6rB7-Z}ZT58uSbBD+^#FpMxvgg_JLnafO*sY_~?jQ2Ae;fw_LWgEPO@ zM%k9W$^&8s!8WUN@PGLlvo*z9hH>zIr)B$ry+z4S?M+0;D~dhe^dQ#L3;BtvKM;eeKi9$xw@ zLAodr18OG)lUymzuYs;*@tu{L{}lePJ>4z))%2kVtPsdwwboQ=&_%zZpa*heY<%{y zdK(SG&U|})`vZ0TH`0)v|E8;4h zP@lBhBWm&~b$QeW;_>%H1;~{STYUQQu58WFAzW5_!?6sb-y{`q5`6>O0C`=GAgc>A z?0Tv*x-veB5U=3il;)GZW>VY4J3ub+CAJ03uw)eu??B&AvWPkP{<&{Q&zQE%ykRdW zBM_@$saY);Fok?TKaZ=IT3>-{Wa9qXNpc-*0&>~)GHO9O_FwQL6$gyUsz!HeUOC61W&cg84LK1Dtr1>+X9R&4svjTZqKC}=0?#e+4(dyP8C0(&>Zc6+1aN?s@b z7g?XsDYp)w$9xuhF`HmZ?}m zuj&d#a|t4WOn-e2l?K{btkz5jM}~n-!5RWzrYxz%%M`vEpgC=q%BS8kWMZb8Nu!bu`Jakqc@KCkB5J0p6+s<6L~y zowWxJPBh*lSt`aP*xNo?SFP|FFMyG~#(dZe|E%;6H`uXT$p;b~v;Jp9acNg*ea54` z!us78Gy$e=MH%O#e#RvM#aTwIi|3i?(>J{J5nt28x_6pI1h)D1r@82a{ zh9Ovy9fOV82S^Z}jp+UdW*}u8PLFH(q+9$1rnZmOuXA7cvNn3AW0i$&gXRtiTiS5< zwKLILjBaiI(A8;;!beI1uH80vTfQ$rhs6a)WVC*dO~7j5Xb+BS?g^6G+yhww z?19YE9atMCVhJXQ-zYtx8&`}uG`16vxrp8#naqcGGz+C($T#u4J^{89sPA{u>Z?y` z!i1D5Dyc9WLEEr;%<$CC5>hX=LrCE^rCSYzjs~WrfPtETdORBx(m7Fb+D<11gsnCox@6F91Ch z4aydwV6t1J!aeZVa>k>7oqyJQx!bvZB)jj?Bbk$TxJKuPH#*jfpz$6 zcXkEpbvmPZS;&_z_*wv7Nv4Vnz>Y@;>nKb zk2v$O!2E2{X2+)gr-u&g2fzs7u#{~Vims~r_%jw`PT*A z@@{u>2=jwNC8z%*{1-)jWeK5fEsaFH>Sf3IETdm92&dO**%GTg{1QxLHWeb!MTgiG zyE@+J%X(z2+f6Fslh&Z#!hLV~s$hKn%zmmjZr*%z+@<8ePFxerI-`gSOWP|11gqew zF6&@9JO=Z+F4|_3;A*_Gy_eWL?=^~TeXt!t(5s30USBCuo=A5n7`uni+t*gvEv|f! zFgf=a`;1Ww?X7a76-Y-`)tu8PDL>dO3L)4N-+;ErH3vJjnL;QRPom*`y#q3N)vt6D zp^zG^Df#h2(+R6`C5fq3h`Ci88yC%R@*w-JwPc=%17d1@{H^PNYr1!3BXuY{QyA(z zD>8u%nrz%Runk&Hrkj#b&KE^Qz8hY$g{`^q%CoUfiha)YcFVI`oBe(E8_Zq)Q0YFL zmGDa=8ntwwFg;fKy{OR|JBIe=v~o`WkE37kxM}kprS!a1koT3~9nIywv5?`y07saN zWJ|oZsb{EDaAZuZzOGNiv^!m%2Q?u5FmTA%N$1&-Pz`wViZ)RSS)-(1=EvT9JdK9I zTuhte$vIVJeQ4kO(ONaIwHu=~oZuzIpw*jlycV{nbwC-7lze5Z!HI;J0twe+kl|pp zZCG6Hso+9E+D-Bit;qmI?nZ7eW~oZ>wq?2W0L9y|LDO!c#2myJez{RtRt5hN1F0^j@ZRTL- ziVGe$m7gdXlxa67q`C*Iu)Kg z751O(g;Z8gjjiWOv+Th}V%$mfy1?`@EJP*@tv%3s@T4JfRMwkrI*(!uOGsf)gK5*! z(&(`P-!L;tnKvlP(Ux)@y4{|p+PNOn`Df9zx;bCk(uptE zoi_g;RQYKwrbVN`b`q*=uJ>NtNmk4Y<%3p_l75lLA)SzbW$zM0h2AIq7of)hr zd}+NV_T?Rn0)Z$@oHDw5o~Ry710ayE_1f&ea7)SLCR%;|`uSv00?t)KWE>!|@h6B= zxz`lRe1nkD23Of&$L${6Z8bzF%^}()(Ax`nezn4_#yR>L;x@U{)Z4)f3D>**Q>NqC z@2){pKP4411-mRXxSyHnynp@poprU35D+eQOzPmp)4oFoq7SR!?o+|3og?POP#s5z zfzURVLV=ME`ECUSiZh4x(q5?U`Ia-36t{o^f2~)jN7La2HVmrGFlP~IEL|7aTiH7U z-Fp*^j)9`^6(f708*_J9eKs_5t+sZT2)+ zIg4m+UgI~fOqg|6E0DlKf)#WSNGYObTJ=)WhlP0h08)Uo|>}p&+=@TQg zwc!Gk>(34>)Bh3dvlFk=RxK>{Fe!4P{|fHLM`^xZue0Uf%$tZNwB*Fl$AJgxUN1z! z#Ik6eo)Qx!jHDx1El+Tovtcz`Wn0U(_cj$0=nDi;zr zJLc1IwvAodS268^WB}tjd>jAFS1}lp;QQG=3@$%18NVV&xL34VS(hcF&^EW;giw1P z25a)}Ty))goLf81_u%@^@F*~-9cFoVz88Io5wr(xD}5k%0(1deB|49Tiq8(T-@KKC zG6@|4g)8`ZbtZzUx}l1L@5a)!9O*O)@SS!6=myo~HYk5eH^mhldZZ(P+a+nE z6|%vNp4Ya6WA?O>+;gdKF^4H72s@#pEP}&@XrPRIeoT=3J_~hO0sp?a)x&Nx!jB&g zIF?Q{0~tR)A!?&DyJm(iYrEpO+E}lzFT|8@N`6{!=EbL{{Xg&a0=z-aPOVWPfttl0 zzTlHZ7wJNs@im1be;AzFk=D9_IjZsEE;tO|xym`Gps()Jb_SYz{~x|+@4o2skf~co zo+u$3Na7OP|JNoYDL-eGze1sd9vOb##`VSk*9d`Az?U4E^YS3;2ppmYIv%&2_vTX% zYj6NVK)k=$j7?|MK#F>@i0-j)naDcU^|ch?5J0i6M#lv0AyO~16Vkz5J}s#X%e+C{ zy=3T90X8Kbs3GgH)v6H) zqLMIY)ECOEq?Y1a+K8o=Eih@P9a50oXxh8J+tK8UABaUH8LLQ{Wv>~FoJMHV^jc39 z)keRxIcs1qhRaX^PePX)q*nT`TO|5zL|6jsryYtU4OjUe&B5Yi3tin4bN7P$^lW4R z!x*l6ZxXR||l8xTb$oJ!1M)`ys{j6ENi;y9XvD_A%{!9MDv`QoS1;o zNrXMOb9lsZ?a0o-y_Sn*^TKg_>2J)ubts`8s%$qbNKgfCyK4|+MtRQbOdfiL7EaXr zi^U!RMfxaRv-`3SPU)7i`SfqOGv0ddhf~ydRsXx2)nK)tgO2;#%tEXW7gNQiJyr>0 zWw>wh7?T;7!nLM*2{_MHRHvK(hW7mS3FAY?8=#!U^(Db&{rHanCTBdcEoYb}wTcaDnf% zh0#GhzAQlPTezjl(EFX@7s@L z_`T?`_#_TA>mW+{f^G{*JKWH`OQa0Gp(xTAgc84_e4uer?Uups_y|16_3ngDX{4Ao zFJF@ZqrU!<2FDSzt(*HU2NCQEhszJ4{CG7@zx!{ILT>T|uqvyqHFeV6ae-_y>LtF> z89El8gyf@|S;3(`?}Mc5>cM9h{g)bG+rFh~&J!cEpHIAT7BvJrS>*q2v+$2$$cmM2 zNjUcoKV)T17X=lsYz=uc@4Z%!Pnn6t9yFdBo7&e~#sH8i05?qMOVz%^9HhH}0+_RN zy$X3$Q>kOpgk#}#KroDH)qpC56k%zjOR?(0XD}WT2!|nS7JxUyVe$I>D>$f@ufcau z+3ft>ku^j4w?97D!z`3|`#|>>Z&EW8|M2J~vuvr9FCEmee|DK5xmjeT`^|wbJn^Gz zVDy~&(cbgU`sQ<)-V;MgNkBt)G3E$d2cmc|8`-!KY<*QD$!%Q8dGnXQXPGGKNpfvy ziO3&R|0zQMCcrK@1ZlEDF7<5bq5MjPP|qqHgNq#%RfqI7$SU_024JqK5p{E;E7Bs% zhp;$6Z)hbe1%_oYNAXQ*KD|x#uGwypECOa_GR#Zbxb?=Qs(8KS9t?@eKfku^izGyE zF)M+2<0F3%uMcKqO&=$G@$0nJQFAflV(juNcPZ_wY(z9`m717_tSl=0uI0P*LfM47 zy@m%i;n3q4xo0g9wG^=a4igiezanqw)E(Yezh_22zq9Nj^NkUIy$|PRwP$k%?^TW; z6y#mIhOEKRIMg!xMG87!M~TQre-siCJoX1!{v zKPi#9!_f4}s5q@-%HKj89mVTyz7GD!@qf-sh<~ZZ>2ON#3{~{Fh{u~SD!HY% zVUf}fXHP`O`;}F7!C+w%S==@ld7d$l6WYa~Stl}#7iRmaz=|GYyz$Uih1V$2P>I-% zkPP6U(f0s#gxsgk3{IUXyJFa%lO-K`M_-Ll**Ia}4SBtbLED=}bhOUL-P_rvrk9J< zfGW#;vxlWoOh(#1R=se}Hy!+@&9(Mf%AeZ%Dv!Y!!XS;ImWsrEUO379Cu#f_mTkA> zi{gwk_H6*5!&|8|nGUk-Dlp}?tdi*Bcwj*@@W!#~*X?KP9!vnDO-AazDjG)o{@dJW zj(ywc0;I6UOTV^#j0Idptni!adbP*_I5FUrU9OHxLI|$OY-mP9Zq+pja;}zZ-)HTo z{ED)8;?z8pe<-uE>}GKTc)?@PGa}2%zmd}we(Mw{fV~DN>V#OzY5;Tj_{CF^w-`kX zYPY+mD2MGSyZV467%w{b{&TXC0VvooJz>LlC}mVq6Du~2yF~6qL##(n$Pv#bqd3|l zv!$q;c62xV0{yD+;mo^I&G~nANc{(}Hak2^CxWRKaF9whttk4`yEJ0h;nU4dN7@A= z_HKYPhm}lO=u(94V~}8BR#rS(?J`LwuqrJ8uoB}RGm^*DQeSdRv-^w1msG0hM5aG(`QK}ECMsS+0X)hmk> z)-F02IqnQS(>GPDm}CuqvSikCn}`ulRH7-_sMYhUP+xC-l$o7UP=Xze(zvp8$}+qj z2oNwJP_UnZVrS!V!agW@rp|RtYf%vIMQk?JRG5aQ&FGxB;zV^M5m?5JNCUvgq8%`Wxh3ixCA2DG*N=``r=JRqbq zB7WOwa)S(?rx*;$zs=4Hvcc8dj^53xFLCu9m#s?3^1ROEw{W8N1+QVToe~Io^tJ1C zM{S5VX$9jH5-0k==d)~aW)^{@ZI1K|u#l!_^<&0TMp#8NhHT<$HtEDhOrbFky{o)f zwl4XT(1z{E?Y2|>vSj;^Q$Vi~tF(+%4_1>ekcR{e#uB&8`gk*%WVGd&6GFF4sP2cV zJc81bPznvl=eD|1zy;txAWCP9{-~BU<2(~*mCeMG6KZBV*sHj#Q~Zs!(w)$qqys~z z`ISepX5~>gO97_-YhW7U8U=3&m{J|?<)UJa$^9c4@B&ds$(V}*p6{Xqy7UK4;)eDp z1J304u|>#8(Tr=6giJ5+$EU1W<(xXqN;rJ<%BjLkU7Z@PKXCN=c9~3&YLaMiq^upb zLCK#!z05sUhG-gfFK)LWdp~;aMClyqt}<;F{zjjT_@-NK0UIh=xwhT)DTD|TN)qn%!1kVDL{iPvl#{BxCWjB z@6TnImCYs85gY2{d&;ljl(lYu3DAH#8pS&7Y$BX%d%^Fw$JlsdwA*bEE@UieGn!p~ z7Au>l+Xr`2#bGfajcnX{Q&&0WDShQz6uJxGvxswz!a0HXquT z27q4Fo4;E`oa{wh36y|87=!;AUqqYe6((mYXL7RXjIS~P1w@2x96pEAwwPh9h-RP@ z4~?S@bXO@?p(8GVu`kO+ZFSH+lrBFmFXKoH*y}@C&Zk-TMo(P<@$IdIkE#bla`h;g zq2s0DYkVy$=<}844)B`+1yAdNq;q9t>6^$94VNT(a>vV^S{?UCgO;@5i*H$+f&pwk z?gXH92pg0IheftiT}}jyFtb-PMJh#~3HcDaq~q~qS`wSO?fLGXH&Y0K9Q-f?{lOeX zS&wJ9?Zo}t))w>b+4BI;9Zl=9GPN0XWQr%SAk;0CRe0b)(xdvLq zNP=?G^Af$wl0$Mw0lLJB_pfQktxbMQJjB#BK9J+^V z9j3Lt^HID?)%YYT{{1BW;G8)D{CQkH z_}^h)=Hc`41_P^b)aEPO*cPt1icDNMeG0R3y5u{-S$GlU!oXc#BI~$XPv-3& z+5*5Dm4k4J#<;X8-P<}ph#}8Li~E5g{eWqTlFTTAiuO~cHJ7#zClI*zfD6|+UjO%* z{^as(oF1rEIxt#bwakW7GTq2eELjwW zhg_c>?d>u57#WY(50UEbO3T$Qv>x**bV!!rul=0gUr7F>BqVlTV-KZHvCV4FXvnCd z2asA7# z!8ezJPjn=+#;N__z&)YjQ)#%t#!Xn(!9>$;V{;?o?GYn**XQ$aT__ghI?Xk`mBe2k-k+ZHpMNJjZ$T=VztoeO0Faj{;Z858gT$0@H6iW6Kk7)2my!jvWjpiZN zR*T}F{%b;zQ#(%|7DGfmR+uR<&y&4I56sj3lcLLM6>BM)VB5P#KRdNfg+en^ILEmb zon6mTzS8(&TV#yYpY+9-lSp<++H0&q|nT zqr)fK6!4me>p2U*l)ChXCCHAS*Y2Y)7cwNeyiqsG+p3=@3euBL`%EAAr1Y?tY6m^_ zxOt3V5r1c0b2-ixA?Z1vUu6FsdG%^}^}ydJ>9$+LhMU@Ka~QxpBm_Heo#A{rwNprg z;&wT6QNxWan2V#$D$X0*Mf9}k7jozStl;1eQclW}Jy%iIFlqoRVPWD~q!k&g<3E0E ztlbwScaQ^NIDM~lAF>*mrz`i-?rP0_623w!K=tP8b&!3ciLrzH-0q_2bNuj#lNz7iz(~Glq*wI$)MpM0?3qO#7)L0bqqtyu%G`1-6 z;Yq2gMZsdFH%@~mn4~YxCuia4vK6uViTo_ZN}t!M-IwOkEN`Vj-KjbR9!DhA!h~~o zGJXy&8EF}~B4?(O=BSwdJ|qQiXo32#`04T%6F(L-NP3hL`+|7({Dq;YxH(Kv4rvz) zq{rv1=%X`_zr$acbarMq?3WfCin6@xa-+&h6g&?lQAUxZFpk-r9QG_yXka3dx8P}T z@x)t9^9}2&K&&nRbdXClaXY~zd!r`G+-zkjDlX*Rk~GPaXxMiQWA<#l>&+nxk|86? z!u5CbSjy8(*;DYo64TQ22RI~6VSe9eA&@p*^_C9H3N{s@Mrr=i#S19Ya2+EbdaRTT zlh9lVi$j!A^~*fcyHQ`1ItUd@ogo9YCDL3H-@w*k4P$Id2Dec%e5E_B2rjj{jt_v_ z^rUd%k|I2%p#8lsBJMO2R&3&qcSIoGMY6_%Zd3my$&K^rnC1;sEb@A|2#uxOh+mju zt1W?_Y1Zt4_AK`Lp2>>ncTL`_#R_Yq5#rRxVkuwbcyckOaEulmKLRN7WczHG@e1p~ zeoA^gLx(J=sVs?KpN>F zZWd(~H1w(b_888~g6;Jmc6et3xOFwk;W@GX{Lu@g=kwGjAZnzVA>3idqTW%;dvVS{ zV*ro@a%!sa?N$sX2cV#ERG_$841mF|8$!llq1t__39LH|9v*bK{AbQ> z*<2QVN8U2V7PZotH?0`VDF#drGaQ5#hP&lsD88pEe1%Ms6L4@kcs_{LY1bvl zF6ue*6Y(V#Yey+TV_*!htp)x+)~qNma-$(g#+^-f+f+e37J!5;iheJUWSv0xThdRJ z`JWCr$%WJGtA}g8)3I=~VuF}qR2BccpM-f;Y2!g?*FMjM?KDAEWgpyXGP7)`f0hwA zu53511P1r=^2h~&TYY*B!-N;o5LiY*0TtcBL>=H;rtW4sLos|>b`3~V*UJhYpf#+r zK%vd7@U3JIT&t;p5>Z6We{Gnel!hK#OLr(f%M^A{7sXD2XQOxW^q0w86c7)+0O)mE zH^#~c|6UHvith8ze5&@^Y;GqZ>1-c-CfD7kpJ&0WCFY|P*YNSlj%5ID(GaSk^uwS< z^BOu+7l8uRT+!^s*Wl!xB`-V2SWxzhk9MnjkGm}^%)??vp6@suFcJf{in@!PXFsM> zyVRGjY{#TXTxEjRuX6NI9yHPSR^R697ivQ6Qz8yJMx0o{q3*1q;4c}2TOzDpWb@X1=ip6 zB}-e*_Oii7zN6`35)vd|I#+9^%Etp(tHZT|L=<3Occ*7GGwc5SztMxdmwUs{wazyP zOu}pkjYYJf*JERL4}4GaR?#855-Or+6%xZCjU{}824K;$Mh&)sZP*Jk@p7P%2T0#X zwrnL*edXM2Vr$598WDmvZtE7FunPi)C|JtaQCiV-#4gyrX}X1aG>e{Xzopog)D5z4 zc`sVZiSlcFFD@}Y!>^oZN&EFO?%Xx|MbjjKcia3Kg*<49C-ApRQ)Ti?WPThSU=C5> zGIiXGWkn)@=cBBHsQXLiT{|3%b{xs(m(a^zsGoK;+F;xhT%j$0pS)>99JIAfx&QM7 z574EOr_cO*&ax0cyk57TEG+QS@>^m`|EiI_0%PM$Ia~crVmO zF9v1ZB}`)GAZc8b{m#sW$fF(jv6Y9Jr~sFv@Dyeiv1Ej(OZmxIW=<`EL?$#*I&2P^ zM=Us>02a{XIr-of&;ADzM3fpOFuE>`!Jl0pGlH8C*Je0_qUj@%@ zl5;BXN_ZV$v!t;ujJn0(q4JO~kH%YJbRq5^mLD7sE#KD7eJ5o^`$&Lr?8 z7Uqj{usp=~5(pw1KDATsP={~;&EIv%4t&^J>6S=AQ2tP>!@1pZn-x_!my5J}>o7BG z!j&Ek%*mqd%Kwt`z)$5E*Tj%}4NzL?CEbK?G-ptrlLZ-8gJLObd26#BsuQ^sby*c` z*bbl)UP4Dbl?SliX5DKryS&bgpDmL_QPSMHMVs5Ps_Tl}PPo;5;zxE_3uDiya!IDx z=F9vHZ~AFU9oZ=s08pI?7ka4<0 z^m^ledZZ4@81HIdQ*mUAg1E4{tIMdqtdnL+q0NPhO+_&Q+du=W;2!9~Rhyu1&~J7K zHcX0+{(A$wDz}*&@`+-qc0wYgqzKG$({vd6V1Kt}gT0vncP%XN|L{@rDcS_z?#L%R z=^;>*Mc9xcu&*24-7j@wo@_s9lj#B=Z08NB{Wro%eE3~fLNbG_W_Fgbnq+WyDE0op zi45hf=woa*Z@*iIa_*65{-SPb7Umt%Q{;Ird_pscC88PrI?-1>&m?~Id~h&o+{MJRh;tNW z*A+{bSN=7xh-ZoRDT)tRAz(G^U8d^2AO!*A2qWZx=93j7ODJ z%pFIuRjH&BM?cb!jvaAAyk3AZ5kQgUJZ~CJKvItj$($BmB(l_?hEloe*o?3+`igRX zbZG-g`daJ|Q)E{};Pjqh!1n7UjN&si(9C|>9W4;6l3fKDzlSwzb);{=Sw(3_;90Tf z(~nZVfwD%&2OYJEGw6o(#$pX8Ls!wJ9|RyP*-m)J-#Za>uHRbW<6NqhRCBW+mB?~* zTXE(`0>wlTQ~dKM;}dwcTsx8()g0Ad4GRiz)06wf4wGSM$7|zYkF-~X7bcC~rb2c% zIwvTF>lD@Y5CJ&QGf;gq!b~ga2k^*EmJt^7Xbo)2*cfL&pg4=l`xb+VQJN^DCY4&f zWus^O4H%CFV(9Dac-#iHUyI^x`|&$6i;jUK7K_hqftiv`^BYbSdeNppyFx{fRqXRD zP%&<8nr+1T!dP+gg5-W{5{xqyD1BQ*BYYnDiOJi_TJAX<`(t@dAGV&`LN+D2@I0-9 z5l*w{l1HGT4WlF`9GIR>u41FQXd5C(kr>WJ$&HM23Q8jRPiw8UJ9976#NRXY0&k07 zF#VuTTa>iNEy=QN58V?NPzLzv1OP0+t!VQ7+Wv2A*T;hsal8b=zHPP2^bN49vjCUJ ztTCcfdgGifKh_OooAdX;OB$LXW^y|Dw3TCTRBr8Pa_z92d`-vMfoap)*l!XIz5Z=B zd%g`tWvvb_S3gg_$-)Zu@IvF;D6-26)_4Z=uTHKK$fV7Fb9;9cVZ#uM!PvN-q`@u% z|17MidaVv4;Taa!ZY~hn**OAGW&RtUDRS`=co?&CL8ZZdd(zpfXhJbZ6 z6is53zY!Y=PavS^m}ZAIe-33>vjT9ixoBv2z17E*Zy}(&JU+0yNM`M zr<5RXv0B>!W;az*GDjZ4Trrp9tvzawLUL;BQvJoIpy$iE%?UhfD(rhZh-5qK=2Squ zu=S8GT84Ms0ki7-3A4)vEbTL>T``7boi#?IMiS!A3b^mHd>CNS>wRl&V{*szym?&4 zMIlwO)DdG0Ir#cqN>J0fhfvi(4R*c9t97AEt>0OX`{|gAuPnf~%L>n*K zC75DxYLh62Kl6^t_YH!24pxJ;7+^w#$4kjb?9ObNEKSL8Jl&2&Zzo9Ao-7Xx-kM)KAy#m)p534F40EIZl+t*hd=WdYWnfA7UnM zaY!@-_W|KWTXc%n$0R%de0Fn=GW+#YbFE6DJOm(>TA;(ca9W-A9*mqg_wus<;ixUT z13VY8jHhA39pRyH&jaqJ!I&0wi?X>lxwjpJ`!N$82CDfI5^w$sYgllFgy1*=6We4J zHrv)`H?WK3S4N}`6D{5;cmJu<4WQ2B;gEQ}$-}h%?yEsIW2kY>wUs^xHid*2AZg=H z&AJ$V!di00hSa@jy@StWLU^farS}+m|0&o%rV4-k<8WXF^t+QN$6p7sD5J6kb84a7 zJ75B$0Nx?pajgkcbqf2o(d#-@pEI`d@Ln=l?tkbX1$g-RI6B=txB1aA=6G5wP$4ou zpQBmhhrv?b|x#+!A{l=~pBeo2?Z`3h|pmYpG}^E6d+Z(62!vy#WEi zckEX(ik#Fsf+x%RW`tmP{v6QOOHg3SD@a}`RLiTq()*r~GCX)7lxlF!D zTGqNull2E(Wx+jJ8hBH*O&809?6b2kuV9>2fyDyZ8J#}TD4T&J@9C3cVH$_i%=}4Mj0YSGU>Q)Hs;Jnel#rH^&J5%BhF!| zhxTNAaA)S}K1x%(paSa~c>b5S)b|B=s?NtU?0$uw2R!@qKl<#OHX+yC$Oh;wy{&G7 z^))GpN7*8JH%K*>d_71^G&8I5`jKX2o{J>+vFK}{qWAlgy6+v*|WSV9r%wVfnA=vNKD z4~pz%0W^w>u-(a0^_Xlt>PqN2`kRu`bDnXi@TecvN_tSaBTV~b*dg7wjDdgQKXlR` zh{p+E!)?c56Asg_DH`UOE0RB0eFQk&*8Ei=@E_gBMl#_pMhl{;4VeTLE3l@eQ#4aj z#-~$NX5WQ3d)1z*a~Js5$e`iVqsn^~V{;0VsbC(LT#;tLN2ii1yD7X>z)zp%(@3^{ z^#`{&hKZI)+QqSY3+J?b57Wj&_WZ^^U@^(YM6%T6M2HDP%%C;w+Dk6QwyTDu&@tdP zM1l|2smUDl&~(ChE55OndTPYZ4-YxTI02B)x&IASkZ=f5Y21Wal74^CaMDZ&33_VJ zEOeLZb0D?tJU8xE^n5+d6oP9>thRS2IQrA{Lnl*0Smo7B`W@EPI}G{CVJtx$3HfyD zGvAwE(&URLePiRl_+a4)NG3 z_@<+#tJMV9rFr9KTnD{ zeiVHtfBP!eD_W^MZ{xi2wfelMBnd;r{u0WNAsnFSKPHpbID86cU0{j&sM3Mq0$dz8 z2oeT`5`+M6LoQva)!}t4XE!P|-7}7lq}GP8->oWylk^O8M#Qc3k4O|7%`Q*;oR}Xk z<(NlD*mt~1dhRtpDl?yYkp0rZ#dGgfSJy|NKumbvo$?C7BRWKh6JjR?T%E91;0myY ziLbw;h39frh&%ALKG|K@W({_M)<@KCfg)a0qsidUnhvLFI`WYs`3_QojI{GxRNF64 zJqb6T_0Ls6uXsdsmo||ZuxH+)IW&fu%7#7z*lE~MH}^fX78J!GU%PoW(6SQstT)a# zwKd~K*gz>nqfE*_-2@pZ@C@Hxb8HCs37t>Q5OyRMj)&+hM0ogKE}c;&Wr1!fgmB2N zM0_5>U8z84Bo}ZcN;T!_NV0AinW@x+L-tPBW0_8`$@f_-dn4TPR?sd)x($nes(g;b zAFh*N!l|dtbk#kZ%wy$({Y&F(m_Oio;lW4>Cfvlb>)+ue0}3gF8y+3oyjtj>wLtF? zZIL04`x}1B`{iU`cRy_LXOq5`mQdO{?7Cs<>gG$-_p-UbJ&o?0;cPe`YCtgIgB3t_ z@`X2FMyVjg&=}@ckvh?nb<+ZObaP*ko@Q3!4=+sMJ-edG7C<6>S8tKMA} zL_Vb+cOm>N$;&PP=aMpwr%)-{4QQ$ceGSbGAY_CpPvHaTD*opUX?z@;X)qUCNR-`= z;)PaK8O!EGIhAL0aSC(ND**SbXgvAb_Z{^R>$W7=jo2KPrACx}42#t#j0rI|q<|x( zOgIVc4TSRP>_UZ8N&wS>2}RdkGfd?>Cby*ZOuw9_Aw!yf$4iglnfT9Gc10H&O)9E{ zzNeMEHWDF;K7(luXw)hhP@{2cD=vCH$PjH!uJX@ zeM?P6QQ-32SOkLRM&3&p@Z2vLGUuL+K33w{3mL0)Uu_;s=A;RSj>J?Hm#-!gXu+_R zkODwUaJM67PqH+*JucifF481;NCER# z0>bVpw-Rjx;a_=uvOq9s*@WA!^$GFkn~ke95PP~nAldEzHRqE%K$HX}cv=jo2A zwjyjR=do{dO3)(D%4MKBLij5D z9*UV|G%5PSqtBSb{8)3yBi^Jt@gaB>=6|cezsERRaOa1bSsb}i_C2xi4z94;8J+jI zPlPyC4I?pklf|YVqpj10V3jfm!Smg`>7eFar`M?_>y#19R0lo*ooZ5B;8U&$BxGRf zMnrdAG|R>q{`DU17pie2*wy2`gWz+H={V`7RYmb%iw-PoG##8-K{mZST*}Eb;ijZ% z;QHjHeQ7#6y}$X+Kr9V)y!{b7g${i^boV%e5h_JPnAoDprp$aG_uyHdOC&LpnZl_0 z;!y&?W8o6WlE2}Eje8*bqJb3O)>cvS1dBKT+vKJ;)To*7Q%DN;F7(#K3V2si%kaWS zG#mAwrRy~fB_-2zHP5|D%8OBIRZ%~dB9COiz?`57z;?}A3v}|k#xEI0ZH%8}Hii98 zNxy$flPx7c-jN(4kY6z!UWrCV1U#WOu(}%9F^!ayf$Gg=HZc6Z@Iu!4hxtf@RP!Dw z^r*4tYXrGVG`KS&UudaVz%J`Z#Hyk_(5KtMUs1yg_o{aa92ny&>(ioaxLoL@fW^~t zu@(2s_A2#NPNz%2Tj@xfbh_b|Gi6`*@=zp08mMC-OSd~*LPBJ(W#x+0MBPm71fhG+ zCezJiaVQoYLZgUw1Ep@$+I%|@I~UX2^lcFQ?-rUAA-Ohg5ldR|T3RQ935D@xJ7q0n z;SkW5Rg5s%Jd9B*wkBEP?NI?F((WSOuE{(g-oDyULqn0Bw2PE z@RZ1E(tB3I@f^GIOF>6nP36C$E0OYzbLKh!BpAjPTqLKGd54Y^^_}0V=fp8$M#872 zthB~LM_bJdV1|CAEgLDnAz2(G)H$qh<5v97fq|_--1!Rpq{QB)?sy0v1v6*^!?Tr}!@~zpRAFopwwrKI>cwUN=#-7AI3x?*MNf;3P}~&KO$srdC>@HNgOHqB+3&? zfY>!|&=I>^bpo3b@ONACQ1vzthW?~2MQwi-GDY{OK9ucd5&~$q=^&G+2;IydElcE+ z$j8k31FXlp3g;kp(~Zmq_@qoyhOsv`WERNf1%dhrHqSDL!f+WJ{Ic;|Oyej}ZnaX8 zIK6LLVyYfsXutc-v~#S=T)|1bB!^>sqb9*HtwGv#^on%UBJh%7?tBMN#5)pWL-=|A zl$TU$oNV_5Zi-yY6Q<7~wR|O^DZ-q)D3lrC@qLg}{&=j0AH1jaQtjDM4v-A@sO^59 zM&luWfKoYm51~P#5{G7q(i|368bg(y4uQBJWfD!*D3&>lvzPR5>vf{8ycvw!sC&2{ z(EnKLhZ%UDk2Rpbt_iB8=W?&eN=Kd8|( z+Yjo1S?4cVSxpMED-j^Kq@+3~&(7X{AR(ZGSPgkjAFs!j5#5l*MRu2>lxw2DcZj6xI`%kcrPAX(nH1EN(J`7Ytt1CaER10N(MYuH-3iiyeN-06d3(v{SXXr6o=!OhktK}tDN{eYt=t%r| zm|~`f#cbA6j4dMH*8+JyMabJ)EG3)24?ns`rVq^i z`@=8#{dUqetzo%H24uTq3&r4WB&PuW7x@r}xczV=F(V3OgWPeoOm~IHtOYH(m9b|G zQU(F=aIb`x{3Dx$fe$j4Dq^G>)Rf;}p9P^|N~(JBWR;1OoYv;JHofGP)d)?H>{Yf2 zIXzr%2)Fnm0e6@t>pEO5@X4*G_y>2eR`J=YczD+eB25+JnNwG$=$I$GxD#54`-4yPMuGJ0_dHbbKov{!$)LO@v5${p>vvUr;3cGRIOur0ud;`uvZ~lzlZjh zNCG&NAONPqDH{L-WU`#FD^kqtAv&~t8f<*wC3n?VJCo}UGs8Pa5Wn6Sqk?IFmUb|G zNEs0I(z_wcvr7KIpc-$bcN}ZT7Ia-Rz&_?o@H{HKmI(Zg!s;Qjpp67VN9wAtpK~8> zqdNgCwveNcW&MadP`7%EbLZOS{R;|^K;V~}043ksM^Np+Sn3Nx`xHBqNyqpGHCmIS zI$_dOErv3O0qB7Ls4Y@S0^b`1RMbI(z_n41{|J1fge@V~${5JzQZrYseNCaCDj^9C zrIa{Qn+gQ;C4FW{7e5icAii%z_l%`FKUbBXVeMTa0&o za0NPrCx6}DS{DYT!$w#EePQgQG6s^~BUaRdwP<^CLpu49)VK%vkbqPoE6${#d@BdBaHz zQ|mb@j=+e?dF7n+=$v#}{-$f;tm0_SEAV(Jb>;NhxGT7lRCog&`ZM#E)w*$}(>ITv z$>0f*Nh?%wXLTL8)$Y*cB!#PpLN9A+n-LKmN}S|hb}M?dHmq`VbdCW{8dAFVf$*PF zLCYva2DYd?sw-g3UT&3ADcDC@0_yugwec%rcvMIpmZ%OieD5J>84aDjQ0&9xUtu{) zIwT{BCr>D~x}SOX>G@4jTpRsgge?@Ddx3H&XKc30`l!vIeR{5c_3rmDaMf6rdj?6- z9%&(Xc5OVbstx$Qc!~D48E0+%fE4f!?z?(hH^l{++B~4-u;Uge8N)2~nWgbb(vOqN z>H|lCTT-*}gUEQ-&ssxzrqQ3Lw@CPjjb-ot0JFsoy+JSXK8k;90A|ITuP^847H(&# zW|N;=^a-`w5gM$2e-)Z(Vh7;;ZR4fhfUwjYfrR*Uu9ywLwvWT=9 z#NUItF+C(6vv!~Z)feJ3&?C%V_NOBhB+7(qMK@;f?FMi~2ir;>wPZ{;ZD5UkJ01)8 zngF=UmW7gC6w6mSLvMLj-iT{AGZOH!X!Z>#Mk&=9MG^>yOVhm}Z@j+2EWQtLX?oLv z+?OI&Eh=ZZw8J?l&H=R?kfr@YPciJJ(g0@yCQpqY6y>K^az zA-e&bGrfl|Bj!P0)tz)HLI`8Q;!M)+>&|74IzF_ame16vRcB%=e{Gz*))CBLW+zbL zRkou3Zv))yR~lKY1Np{hF*ZlFB$%AsK!y3DsKysjo??bJAX*s9$Eo!c=+n68e`2G~PX$krHNLJGgL?bRo+K3DQ|kTV72<>Hn>>|mx#8tD8nF;^ z!5i0<8KmE1gl>Mr#;7KuXL`3UQhTzVNXx46z3=$W(!;WDhNTui|engdycVA?& zhSW@XbnxO8yj4YNEteaRdC}lGZ>m2n&fi9LKb5HV+sPZy`HzcGCI>3j3@z*tCPJ$k zDX(#ocvMf1d60`qY{rzm7amrixjdKbvSP;AQDC?I0iH}q{RS4a>(dE1#{fhdM&~S} zyXaWD{0O0+`tb$89WNAEh@@f>?8tnZ*##)K9TWSGkV!y-yPm%qJru@Q|Y${rPAyxV`S~K@7M-5IiJ6BFF$ja9Tz!$x9Gg9 zqac^`VM-V~GMW43?L-F^Em>_d!4;m0b2& z7HSD(RV`&zPzpVkYfx{}>t4oLa54<99VF1r@FRgctPoft)zuY}s(_Y1xL!Jx7+M3( z&IAE-pt)RmL2Nlv3`@pjVCW?pN`I6LmDMlzoqK1pt$e}led z#oud&zWMaVCJsM7?YlzgB4Tj?t&*lR4^w&Z)F{91-poFoMmx*(o@kfG)o^7^eHcCx z8RdpT)7fvua$gg*2o9LT4H=IB=BWp9oe=bGPPiXQ#OFRkflA?ipd+%SRUT<(q}4aa zD$8Su(ak}hUYn4N*y&p{#bR4XL(-`S<6T6y9|oGmbNZH{L7~|2)8y5p!{nK({UZ7p z9fqn8@jxXrte~8aLHMxfpB4%h7^l1_&_h9x&9H&VZhSktknPpLZfgx2AR)EM3LC8n z+Rg5VH82(in@OE`K!|>Ag1}@WH2LsmQw}?gLQ^<@u?Dq$@7-muAs|=3+Z0Ef7Ag8?(cR6xQl`YdU3dKTp z*BjEOat5x2!Vcva-K#{#NMVNMs=j^!cmN6SY7kxGMv|#?d}UmKGPh9#zv)D_%l^-6 z6%#-DOqgjoUy-e!qev^O(3Rl5>uZBevZGGm20o>S`UKf+R!)P3L`16eloy>32@5+^ zBH`#8x=JM4KyBi3E+cc9DAdx6?ynu5|MNb30WlhiR*(YtqA{ao-}(7J>@S|E7MrG-2)((rn<|Tcel1yPZ-FZP z?gg!)EIA!KYrI3LS!q{yl$^KW=ozv(*JU9>#{i|zq+jLc&j50*`jwYrzcIWP@Et zvHF{`5ceYW4425yExkd1oje}Ek{9AES$fwdFU@)KTih@;xojczb~^P2Weh?sl}tCa z_Ll8_8n}R@QpQA+ES~CT7R+*unntBSR4%aTR7N75o%GrB&?05u*H!EQ*3?(Hmls!7 za*6D`r5DEWEA{xWhOQH@(MeEs7q`V^h)hdUg}&&H|0u6jf@03c9_W$+&a3m>FP)4C zIwU8mJz`KBRT_4 z;T<;J)Vd*)4jC;{inWZ<;(5u$IIi|A(&Hs}ovW)QS2saVJWXitQXKxsI`!SmGwbl_1Db}}3lh$> z&c=bNFLlMEBe4<9;p#*?Y}K?9wMf6{#mi=-*T1flgAAbY|rZ!b zEr5FlCTY1gcfL4^bP#JkV9D}9l(D{%0~;Aa00nKwP*tXo|Dw>`2*NRF$=7LxQa&J$ zcT_=+HY#j=Gp=7S&^JUA)e#b!zivH0w9phqU{hcQ?R*V}i{Ns$XagA%PJXv9I#o7t zaE&5;q%kH}xRU461b-c7^WUEJ*{()G=f{s*sL+ioAX}Nj12D^sR*HM1`&!}b|9V4e z%noQ+hTCv52Ah|||IN_|6XWL4poY6ZEV)HmRRQ&PD8&_PZhPv)DN1|IJA-@fwiRm^ zYAIc^Y!G}-N;}XR9g1i=3c3li)pb(J)t3MzK-#~6fR$IK@pt*ti5lPiE`iFDc@u0E z{Oo1|5*_uurbh-%DyYhLbc3iW5B5T zka=d;-XhJGws_Y4*N{KFdM_NN=y&}C#A&p-lW4?GdqD+V^BV`REX7lm7}Wc{p8R%5 z{%UROUej;T?*-S6{(wTr9lc3Q9(S<&6$S&s zjv#`IZBPDEptjxWmHHC5{IJO#z0z$)-E&&!I|g&rxPR^_@@T%k0@vD3p3YT zmJxKSL=Q#H&*t8tO;B;fh05tILpA(J7VLRC1`~yvY#QV$f@mzg4I9!)^8R?iOTqQh z01<=mJJ=*yq}+~}InV>jwq{S|odQ#`+!d%#n#tU!fg; z`x^cCh~u3bAVVef?6~4DFz6l#?}}t{w_3vDO>2r2b%s^v0bvS@e)>u}>(%{IMXcKB zIz#Ts1fKEcj|8L2d^M$yuB;$|G0kZmgjRqPb@{3U&LvAoWl!F+<`XB&Nze_PPR2um~cLKotHL!+yt~(F3lTh6}zAJi*gf z>ErVErJ;p;H;g;$PEl#uKs;WjAH}u}LHZ3=kD6oVExhH7vcmhsn$xG!7j+$a=X2b+)Sv}^lu4;3BADavX>VTV@Nzs~C zWc7x0U!oo!{hN{MNn4Kcd@Si#c5(Rf%CzJM6e~yraG&FS*7;|Z&u&QPS}z|pI<@CSYIb)lveI7iAR)?NT+6A)Q9fSbdE3h^wtVr#|nvGe)J z)GHsk5_KL}pCNM(){*7TKWbMH6s2+my{c24dj-O>)tHCY+5KM_R>{8x5>HeMtYMSh zCB3YfC@!GPGaD61v|xrtl|XFPjgO(C(Z$z13pWtNg{>hTp>0}dL{RR(!EE+Xyw|An zP!ULB%-XbO9}(_13?8;+YPkNU#ZkPsogI*`sQmzKowGE5DBMlC#EGyiSlQulrLB5< z>ol_WTa75o9;f;ks;g)@@8pxqw3GfR!6cq*4NcKj@NGxgiXq>#>vtAN->lE{{5rdW zWblTI+tAfvPI=iQc)^-Xik;E#luI~&S@W=lNrkMb9(`oA$WMa?69teo&~23v8ZI9% zGzP>M=0bZ1S@F0s^F9!DEO2nMn6|mkKH$K?c_RP|LCQ25)kw*xW)kE zd1!!DBv|0;oo%`9^a_xK219(cZDW`d@5ey%WLL`;#{V8L;H{Shf1RMbWR2v+-l_?-tf?s`@p+6mItkMC3 zJU*zl9)7bE7LysQL^s49Dm_oCZumT%2dQ}MEk&KT#ZSMmh?xgJ0vaS&GSlGVuuE`{ zyTL0GhJAGoYzw z!k!ND&%}QY$=v3zkW;U*V|H%WqW5*j4zr39&_@&f9t*J;9+%QdQ!3ysO*S@?`#r%p z@=ut8C26SIF(?wa^BKOSYZ3_mbnrF$eXl)vg**siAMy7QR%;MttFhT?$P;I3CaVK@ zlE5p7oZZqZD^3ZbR+!KaH3f?72zan7RJlkE`T=v3LL&rEH-AML<^11F*c13SW>{gM z+m|;g1H74KmQwkp2AAK-Qu(xQK53nKwxh)$x=met892DID+PvM9LUc@hhH#UV>N6 zwk~37^ch2BDth@5>Pk2OKiEU(513~;b%`R-LV*wmt;iU&M5NP7!Ck%mh@Plzf8u!^ z0&B$;Bh@d|f8c0!D(CWS&12}4N8jk50T~FoFgM~^Z9sjNuc`{kSb0rOn@S4wdnIB^ zCsGyemrsawWMJ)BUXm+r#>49VhS%76l2yQlx3B1*ElFgFnd+w$^SCQj;y9N8I8HedI>|We&b?Yzpmu7nM7XvX{zS5jX<}f_d+6n`_=;h5xiIgXj zrM^^6-bp|(-u?Y+eNL73nEsRfe8KnyW2ll(-Y{pYl?BmJ z{`kn{I}JgT3K_V-GPKABD3FlV?pSP-PswFhvYKRbJVeO0cG=Td;hNXj$T`D^|1a47 z?ai#f1c@tDzLlpobu=Y<73Z?}+k!IL;Fm?1iw7u8<)i0-F&M?vpt%h$c?pHx{w#BZNq=IvM2InHBIg&>G;rU2`MC!Z2`u8= znngIp!>3l5h7kK8_7g~lr@wi(sE`S$Hk)8kB*Kl&;VorSujhgoEAP&k(j{$hJ9l9DZ(_X1ksRAobubXsPREZ@35G5yS>I&UnvD(az|Jdbpb zBF+RaYV4qt^+4U6gFRt&v_m)AF9Yf)Tk6w`K;!dn z)JYbx1rm6>o~RBm1$)WK+fipBn5e&T0sl{4?~oK0WG0HMA6g}#8Q|)=PpOS%#5 zlb~l~k0=NWOH>k;P^iR_#nXsg(Y*)OF3{vn;gKe%>s#A_u17$XRcH<1O*MHr?TQg2 zqv9^9S3nh8LxK)g6J1PPpVL5BUs$W3=cA6ZO6-1Q>VCDB=#JHH`@S4*t*dR`Eb#y) zi03P)X`-;P=wqtcP*vV$<7-l6XwQEPR_evt9q6)qfBS>P^P7#ex^^P{BYmXjIEbkz zX!M6+P6Nsn$e7dYh^fQaAecUs%H}If(On7QcB+_1UI;|YF#4w(~iVfNW=wMNV5?zzB-9OfZrCiv*_9D=>nMB*g zE)#5G71F9BAwbD144Yd>;+CW8=-r`bpdQts0eN*s`&~jh7ku+7^C=T{pFjk^cQ=X# zmr)8*m%G1~HmF@}Mb@QB8PQR{OM!O8YN@&i{bSFc*B=Iuq#SwNVG zf|ROI=opJm?FMDtV^7I!0uK1)y+W101EMRq4lG0QZs{#Q?Q5q7n9{Q#$xi7(MQ4<9 z%cB^60rsx{i^fWkk%`Fye^I=E8sO#DwCjZ|Tc)7#>W;)8<^nxgvXjbUY;uy#6uNA1XtjcJqH&l2Q3&#$$BNDJP6CGWnkQ-wW3&`Nq z!QQE*1Kl!XXM#Y^7~FlrSM;_#r~mWK=>4Z=-PiMCY{qfxc`0+U1)p#4D783EjAr2m zRQb!$w~Ei$#S#MO=wvZRyk1!?rzhJi$eMy)gpURsgTbV%ZQPdO-T8W=3wv*#7vwXz zRGGw09=Iu|?AV?g0^_oVTma03)L*rtZn#Crz&x55ZR73tH z6asY~q(Zy7`P2JNm<@FySr1!PYz$MVys6b%VAWPr{qH>mnmS`UvQILV5)0As5Q`_mW zic}edZTC#znh)KRGG-f%d4IRq$yp_6b#H3@mkjhT7w-+jnQP`Bkj=woLn0R`(;F`t z{uT{IuFy}$Elcqd0oH1``}SX)fUaDX%x>dg==eJ#V$-OO4Fx9V4xV&FJg-_=gD&S2 z0^-haB4CiS{&gf?kYRrXSnV+ENeFMEDjG{}5^iI@^5f;sN`0`^Yh#5LNwjvfuWY3* zk(>|b{E|6kx=&*nx)Gu(F^A>`a~oaOJqsNxta0!Ev7t41jl>_Tyki61)B9+|a5-;M z!T4pajSiWbj?yZ^Y~AE6;N`78NuTisXJqMlC9gyIAI_~JI#LKLeJni*t9mP$A*Mt zE-@{hXV;=D^`Zw^q%&24R|;38cnn)A)Iqj>js^Lj=djxtK&CFG*lH>8SmDAyT>)r0 z9!3bu7;ryTl{?%;Rt$9(O+yaGzYTwM)8dtyP%>IcR@aQ(7$Zlbk&t7)TkI^v)(26} zg52sjbC{X<)hK)0=-OX=c2d#CxWZMQu>@f4;}0wAh8Fqsw%n zgmrfYGVhLqy{j@-mRO&A#@l>(cye60BGVYoS+aFKk5TaXSX`wP!9QCA`*WDa5%EB_ zapNZ&@D~29UEY!3j&xP%sr%|7xAhOTijlVIZXRH-1EAe7(vL0UR|(0=Ntt^3G)^QR zN1I)u_o$rUt^uceb166euJ#_lF+p=p5Y>>TYfzt3MmP{miMI8nUP}4an;=ea4Z3h@_*X5U1Pf&-R z$ttw(M6{}f<5MWLf4PJ7Dj44wf8ia6ThvViR>uvRvjDv6Aw{43!OMh9wFw>IF@LPc z6^7Tn>g@$qMptq{Sgf0UY)K^o zW*q=9nrDTI>38J@9TfAJF~=xPqkkRiF$`ZCJ7TMiHZ8hqk5{qHiU)fGA|Pxmmz`>@ zn3(x2u#TC)GX}N;x)J9_O_BGpqXAlSQ5ts|NN-<{z0tC1 z$t=ws`Ljuw-mGksECs)iZI;qkUTy_~HrJir8-5ZWy&$Yf66mW`Yybf0LifiYWLZ>f zPd;N3UVMKSf#lk0WLm3Xwrs^Uj|fsX-BEDa_ku(gaeTUDvDCZQ95uN#mjVMF^Hhkw z)^6Bu66_B@QhG9)z;!}@D)AmSQxIk)lS#$cV5B6|Uo6jO`|v~ z(cSeNTAIfYBOdJ8lIihokXE96VOr zG$h0VMTm`=cQF)qEH@gLqa*`imvye(H9`@U|_aWicxoWCCLkPfftV?y%G=13f=AZGdoY3?} zQVC}*vX~M@*q+SzctJe6i*I3RsdN>aCgNOV^*iM>dNw-Oya`pejF3&jV{`~KYQ5$s zgN`TGDIT#Z`S*+-4lq$qTaiob34XQ_+Kr89A%M&N%f$=$6}I{2KE~LV4Ep7B$YPiT z@M7t%^2`O#HxZw0+A<$F{^2?cHcUc2%y-u(J2M@uaiaYhRBaHLXEw#Cjr@Hz$vt@6 znGOWdghjnRnPE`zUIvAcw_;NsP>DVfnLWyE&#cWq1n4Y^D1X2JW%Hw4)`7A?*|3j( zxjyQC{*bt`&%;Vc7;tEs;EH^W39AvAVKsXvQ+6et9?Ft_oMv?qRCtg%+Yq32K{$8G z4l;}5(W?n)b|73!0$Cq>5*9F+iD&h?8%LUjTX5yGD~l#sRtPX zJo;bT-c5Ixz!qs#pzV=k$ID(t+1m<0)6)zZP$OigK#b- zxOX_6iYY-4fd#4A3)%zZT2iUceY0l{C#}Pd2ZC*BEK7wZD?tJk^|g`pB`Nq+@TzjB zTc2O9`dfDT2NG(sY0h+Yw12=VmwMQ74mYoTYK;70Mo8w%&VM z``)k$tg{U9gbZpw?t)I9bgM2?v=n=CXiF!nhM7wlB(y&xBK0eG88$a+)F*6w7S#-2 z()OdhS6*A$T~FO9LPtV1g=;^h4m2+kTRn6J!ulVW;)-G?!;>lvXXrx*oRsH*dP~WJ^ncBg~Rx$n_9%8 zEI5g>gUTtPk9aVWTI5=a4kr;^YS%~+&F@vvU`7W*K3tN>ODXCSi(gX5oup#65&7jn zJqH;?y(X|u=1Q_xSssBm-*q`xr8JUvKRLntm_q`E7%;^==?CM!VxRRXD-;aJ4QeJr zVUzrZC>T!o9a5-VX?(D1CB`QA*xHRIT7D#7>UmJoK!NVBdz~#PR1P_ev3_y1`DJVX z|4NH)@-M8#h3k=f-&wvXxm$%I^*Wt5nY{%%3=bdKn))+d7uW0=552^Z;Azs&NV|1K z%L$86if<=JeJ{AB)r?7e-pQu7cyI#}V~f^HvaP|YTJ%){dDlP^=P`yYxiBNDN#4BV z7#=i$EW(K!ZzqKGbZ5|~mVQRC@Z&VWg?15M?W$ng>rGxyq%u7pXY^ggPZz0@e|N~n zb_J77?bhr75Z`af=*I&&eJ%v2DzYVbvNF9L^w$156R|(P%d!geXqHPbSh5gL|v=3QYu}8 z!_wPlsPZ9&=*2sv3>~|0q`R&9txzYpBLZXB-OVSJr#VqmQmA`BnNjEgFBS9aO(m&v ze{Ip(|DuaJbz)wo2Q%+-b@r7@6*oH~|6=X@d~EjdZtbh|6F1srO&D{M58%fu z8@7j)6E?}V?=T~TaFpXiNq5rdXe6LohuT}%0`*pANPA0#-4v4v3;6hkfwg}6a7_kwEipbdRY3D=Bg*e|0tr+7JSpp zc(xMR)~mJZ5$39DASr&%NStZ#^!TK(GAua{^$fUkc%9NB;xBqZYGgSnv9BWZJEiTX zd`4p*YOJ%BR2g>we>f(DtVg*Wm&8G~h9@zTRL^DiP~?zqJ*PWpS640}Z`ayNP|A1_ z0i#1-<|`jVDy?}QQav&W0r5tPh8~iUq%rEjc~pV(yvn<2`5q#&Z|L8=1X!x4E1T$K zUT5W~o*1cGE8x!FP==56m+A$S`?13@#oy}Mdz+;uMX}inu*@(24XL`7j;+hgQN2k! zI$p0$1N+fnvpMO9^ba7Zxc=z5dG-R{N zJMx7kuRaK?mQE%`AQcShJ9@HY$D|RY=4tyVs@HrnHQRdEn5Zbmm0xaF9;NWNub9QZ zUFvl^ql~IkL6fM~!(K@}GVCDVri-q130rvP>@_Ly`>fM37guT&A3{o`gj=luKUPPx zUABHFxN>L=-%K}ivsFv=F~jJcmU{J%JMx{^(bP&w>}9bc?L`25`Og2@Xjo&2cUQ_Q z7g4>kxO2C=+|mvy(e&I30k0Yhpin060?1=idxa8Jx~VU*>*R`H1b@72Hn|2ehbYUu!4to9B*)iXb}CU`IDC(g6pE6lCabT1aEQ9uIa~-5&~fKNS1Fc zo`dPP6`?7jQWLD`Wx9Yvw;~+*Ih9uRuX%Ne!RI3#^&ua}sC7HCzL}O5`C=C$63toSKe+a}V?ufC3h4cUG{#+IywC>dSvq2>saZe~v}i9y-maqDsq`e}1;ME)tzWqpc~3ORaKdlV*H@ z6Bm@>vm4_lNQanc&l{`gdAUgf!hymm1aSt%g0k9hIlyC~0O*9CB=&+x+=O<=lt))> zhd6G2J(X}bJD`DxzzkA}Ciod8_$;pbi?J#acFXh2XPLlH6{O)=#M)}^rg#-b=nIvy zzMN1~#lI{Wt@YDm1K!oRh3w~AD<*VxedGIfcm=HTgnU=ny_ctTT$SBHB9IBZp2^~* z+pso+a2;Z9I)pSePElGLqdJ<5!;fm{kgl|IM_(G`6BiQwY>U*MQ75<&K1Uz9WrtJ`l7) zdPLNSsKi3v&2KP6qU{`QuepEw2dD;KZ!m$>5Rd{akpKmwg0h}4;e@uq4aoc%_s6xm z$_DVivUR+=6o`MLTBqG^Qh)8=@beSNxP;pXVKZILjTuL40K?(BmJ0C-u`khlt`@$m z?~(Lx=(6)tZ)smBFimp*_DggT(XLc ztkaDKfC}vY-|upQ*F#ReprdTdjyqSyl-q4!QK~^+*FHy&FC`aoBO(c(bPz4-b8slcqgRMjr zx?qu%-blxK@jz8G6mvV25bwZ7u2BoyApv5SYKXH}W1VncSgZi_K)ud%P(!M$JDuO( zZP>W1ry7Diw5;fpd`)4V{kN2tYV4E+Le1zhqEFYoS0b8EmJ>Mi0nQ|A94(^1*2-msN$~o}lZ?x3>gynqk7~$=`w7#!;q3`6uK!qub|APUI5uT7 z{?ZDvK4ziXYgo%?lrvN@I!R5uAj=#9{}11Fw-s=oC=PaMk=O>^b_5GplT9rHO?Wv` zmc7EYi&nTugBn3Eiv9P^8kb(V^XhoLCvyx?knYXGZ@*H-tZ5n*V&+he z&b&!N1iO-r*#Yg$>*C}Y9a7sl*+m-C?4vXZM7Ng@=vNmZ3Ti zj9}>x>p%b0Pk3Cio2p8hpI4p`WymFJ}Pp0R})+#A`P9*rBD*(Ns9maPytP_P>vMixBD zb_l#OET=E+6zC!96w|431&Uc0>e0}%<(C1O@{K~MEbPFXZ81{Z7#cdd&^Co&AOL5n z$Afj3cpij&sY|n;I|B0mk?rA^AeFymvsEP1OS<&p% z#Oc**m#G(UN@UvUEaC>PJviSB6viQ>sTZ^_BH2f z)qp%?d%<|F#!^>{@I$nBJ#|4p`@a2%`R7P4iIm1aanHWMwcJ>6@ag=(8 z73zpxWXcSXo^8^nz?HPadY11`D&XymRL!`=kPIdANn+V(EBsCeG@;lcmXZt1jlXE& z2M4RJAq}>JIUl-8SF6}Fk;yQ>qbqIaahtoftHZ3buDta|2S~pwOjYc^Tc}f6vso~r zL3pWI)b4dZsTvSRYKOqN{g>kESpsHAnw}%@=EYjUJHC>U9&SE(!Qzu7C!-`Jj=D)T zUqz9MvA|ItP;xx6u~g&gX>J{%x!<&}yb8yL-hJx<1YtA5o->yZ&_X?|@p9Bf^)vV$ z*xwSUTiVxNfD*7^>y_ibp%&Ng&tm{3D`o-XYR-^rZj1rIl#h#6E9G~tUBo=N0aUlp zD5c4e0luEP>#^3wr0nrVd)$>0jCtGNfI$ zH?vpSLRm+*&n%&e1zRoWb8UkB8~f>F$ucpC5$6F|AJ@ow#@5*)kL8tG*Q45>U1TN{ z7flVptL`X`+F7@^O+wzu4Tl4#;@NkVTi5unoV=`)YgOne-82nBWsHDdL1WdR7glx2 zfA%~_Q^w;c7~tlzZ8s^VU=X|l)p?BQKcDdHeQsrkb`ERmp%eyk`2-%?vacmv^*-R$ zOdCP%gmCJx0euh{(9^y*d-?j{21I}$mC(jMvP$fAH$X52bDTl`qj$^JR`rlx3^){h z9DyF|uBV6!{c@C=(K{$uTYV+`tY-qX!QHwl>v;%?W!T1c99W(rpAU+{KR>0>K_RqM zSAa0kgIb*veYspb8p_Nx`Jps<^FRx0(9>lOG8kJXo$7|KNQHvhNY80UPJo?2zdEek zkW8{X+WHsV!c$oe0t5MQY{@B$1~&==1Cy7WE5wnfxSeU*&cd)`Ua5A#ft~y!DbyT= zX{v~h!QA`^BXbpVjtY!F{rU$JhDMJu?bngXd71;=ypB1GMx=!T%3dk%vEy`sMW^mH zI(WWq?5y{O_%ulCiM|S9B3vn7rgf)C!9g6K4J^}AxFy9!J~qxVU%O(GeuOM{o*{dU z31r|Os!rSGcGmPT(t!5A`k9VDFc>}5^w}@q|yRH`dawZ%Jk5(`VQcs0?+_f-3JkJn4Fh_ERG!qaEyX;jid=pd%=ua8UfWwi2JI`5#&~2;3 z7&H%U4Xx+c7PBw(NJML!Ya^HG(jn0@PyzK|6UjR{RVJkps^>R=)E?pn>HXjML}HEN ze^?F7MCWy{P00sKf2q)drcE^enHzUSapw5YKb$_~By37^vQjb<85n0HN5t>Wx;Mvu zyUapEE>-Z&e#QTyjBlTXfFFI z*8e6)&Zvc#OA$Qt6I55Xg4$$0rI(I{-=w!GvcCF{A}SG43}+nzM{Izc2ll+<>gWUD zMdvT-{(Bp{T$=PEZIn7gYN1=$<*ZhiSYXFjJcV>4X2*??q?+60y1 z+;#E_?PQi^iqW~|M_Dd5>M>JhfgB1Hnogd*VU>(vEq}N8q;1IY^!Go73IYG=Qr}P+ zqk`HI;8vCfm@wW0Ub13Yo6u5cVhiCDN=(N;vcLY$B5FEZpqI)}+aL?-Zp4exNzVoX zDN6+`XnO}%c|@J3Ol<1dB=+YMV5gQod0_N;`DF3Wd{JUAwPrLk-ux9#1oOE)_`zfz zr-%!ZOe{CJ=>T-Kjv5MyJdB}7Tm!J{-0!fDHnOkZbB0+=_MA`yR^cz?e});rD%v{+ zrsebp@|sWAY16!MFP*1$*1ynY8@!~S_CO8zT)Z`70_xj$4E;1sM9I^}+2gq-={u&R zaa5$DX~xeu&%_w58K$@*ZxcgP{A44^+$Kvhw{`?KzoKNzkZv52IqFph8JNUvGs&Pr z3_GXgo4$PODJJ0exC2Xj?UfnQSOs`kIQ0d8qg{BAMqr7s(nvdY5TqKi8Xp>c^+Ns7 zc+!p6(%@&^B$D_BI4Yir(!5F+(9+zN-ibnL?&naN$oxq~njh*$D5}DWKze-B*wtgE z{rY0&@?ZpjZbw-T&AUEUnu=8LP(-zt9aCbwugdIKc`eo(u0Txui98(NsKgNBr{n~F zpB5lU>)e5efOElK(Mf4gmpiV@cp`A{bQKXzy%W$c$qkI0Bgx7NqBiRUTH#=Q7z>M3 z9hZ%6^_QYhg5(5u!sO5vqSTanKL(O(I7Wxv$^uP5JQxpi{+tB;VzdjD>{(WrhpL^x z)th|NOf~`!Uoe;8(u_>G%}ESmeqeU2B3KA0LNRAJ4sbzmq(<5dUdvRA4ctsroH2Io zGG4R~d5}WOQ#@rmQo;Zp(aU!FJ{cBBg6Ktwi*?sU%t;C6)c>0H9zZu3#YZT9r%c?X zUn(e8vft3ECGVspX2&2m1g;znfw0`qE^!H{7+a`!Ne6YL zSrLgu@aMZCYK?1ft55r4mxMFP^uV1g34I*bU05aWW@dqSp*N?6e4Z1|`;qFK2ksD4 z5>E>t9r(WHTg~KAK!H0p53j1gakrER@(X1!UxvaknqH> zz5hvOE&1E;G6!gXjfB_%;2G;FXn5eYs_hE5)grh1y76trLUU^QO9VgPxqcV4{IVx0 z9zf4tKQHnwgj$av^?* z9Z9+g2Mesp6~pt&i*4JMA+uNYb@7=8ZmH1Px@X3n&_EFey~QQ$&qx{Kfa>WSZRV!o zaPz{s_ywz2j()XUWXE>}ZJ6^<7PQHAim~BRV98pKQ-1xm-}sPFIy{xSK8Yan%1g;iZLvEK8N}6dHh6yvJM#DX(@t*hU+gVP5hJM}8mF?|>!q8-zh5n2;jCfx*!7*|oiK#4 zY1s(^;4rdtfp^>%k*I=B(XgUoyZ;56wM}GD=-d)}n26U^&p?XMP=tk z{?_Mkwc`f3W!-v0;>UzR$J_u#zVyP^<|Zn|s}MKgvc8bbm$}jN^+@8SV%(zR#l6Gn za4^^0co}zbwzU;^kE)iII2^kbrxp4Up5_rhXW-~|Bt? zxJFnu>@7Lsw0Uis{QmC`XdZSpH}=!vV@Xr;O`$(?CP>c&Fzs_CW&txm0oJ{S(c8vX z0~+2j7MP7@IWm^?Ls%1yFAtK@Rf;R~wkM{2q>ABJl@9z#^W;tGiM6VR3`$4TA2h1= z;e?lh(hallXj-jkH+u@UWc_s_rxdcZX#Y&@h7pxWCuSq1NpFN7Ot6KS40@D>iK~Tj zK={H@7jgj+r^=3QB?#HCaFv4uq>IJVp6)q`Y6f8Z!)2InNK&~8=;vUBufQNFKl*CL zKa<6Tk&^5wxNvo z1SV|yY%?o5LAef8*829A0F2w7A_Nc26Ucd78OJ%Y4u?zV{xRxrW7c#0y6bscLgWp4 z?{Nd|eA|Kf#=HLi7cqa7kj5Mi!=*=QjEKf08bY@e{ut?&9-) zBj8&KYvoO1#L3j+wO1>yIUXU4e3-2Zl$0+4{S_gI$V|C1y8%IPUxAb7q+$+3bfhz? z)v_An0Q1+t_BomF!H`vb<`&Xnc2rX`fu?%&*bJ1Fd5W{6SU~a$7$AVitm_;t?QR#h zL8Qnvc|UnzC?y2wL`DJY=(PYSkH{o$obzA|aB;w6Pne`2Ss`*eii3I-4Cy6) zFijf}JJcdtQ)$aUbyghgP+i-#vB8~6gG1t)La#DK=Jd%}>W5OWLVxq3*Z zM&r$+p(9wR(Bt}(H%z#?XiDw0u5KA0cx?PnkURQ6bU~7BkvgT??MMU-<+r-4fL#5n$ey2{0yy7frbz%epCyG@?8kF0Z$w7f8&@j+ zbkMCK0^#g;)L-gbbaF+7))I>;P501Ne)(l_bTDsIs^sCE~>Hx6o>ZRpfQO z(*bATIZU{Cr`A{w!WO^#w0zx?noDL2td)ea(bTbxWbAAq_ho&T+uu@0s@e<+I>yOh+9IHiF6-?1l@@n4;-}|e}iPP=9 zK3SVc>CX{}gsqURtV5&d9!{(gF6>qu#9x+SB(j6z=-qvw$wDX{Uf})_A}9uHpBl_PNN7GL zW3>XG`44kmvwHxBcui*n$qfraAa>l5$0W*^b1A2UbS1uZ)I7w9V9n%J+7(R2N>#W; z^*bMZV_NirQ~uC^#f)PmMm_kNon_C|ioF0lTyR}0c@paG$z%;5MA7)lFCsTDTzpqS!X06Q(gW2oy+7g2zGQti+1WjExQIjw2WHgXK0vPx zJBBZYNrp1B@VC&cH#FnG!jIQK!D_--vI5F6&1GH&V>=xO&WT{RNdBu>ur9>kqX~R6wj(b* zy$a#5t%SLm%q`_C|8_R&kIh(*)+q=4iFAh`hQon#h{>%yf9qfKFkDS~c!{VWz6MeH z>J3OtooJ05pK%LBU#=)tL`|?#?Fyh(3@{5CiGH~;6^4Wb5=z5SXV0AO1B6Ql!{43j z1!V48Vs9ts7Q$j-kpbSdbx9UyCj#7EiJiiP`Jz>u5Co`0KI73vdQfc-1HVo#nf#^E zB-%w#`dla~GT`j1CbF=0taPyr3@|T6LgcoMC0(c8$8GX63BZf0Xw$BRlmQ3I-0d0Z zswWNgrf*BA)z2JJ&8fAJ`9vN*ZyOL$&uE!ose=q?pM*X-UrnuIx-3{0X^el>F56pi zt+4)8U=r~)#SLxqPt~2y%f=bVJ|6^RH)I8xKO3r48|4yjop}UBGO%e6cyQpgL-ycbS=_I~Xzpo~;Vjp_sVy))NXD4va@6fOht6F%mDV0G+ zw=*Y&kcK~KBK~joO!6YoQv@~jOFZ<8dK0xhcT2X+6Bx9Zo{*J5sG{K$z0yNkadgWQ?Yb4HsTueJ&OSPto$!F@jv}kV|Uf|oNWb6Fs@vLBM*lWLfpIDhv5cZp&HFzkbMAVb^#*SK%Ir~gLwBRJD0wzg}+~i z0w@sm0v3Bf&rJ;sL$7j&(j9-^1xO9RFm?FUj?N|T^$jY3J)J(RY`wdG8Y~O@A1+dX z&PM978ROGcqfY7ddyu&NSO}=OM^wYyRTK2%*_NW|o2~)nCt}+EtbGzV(ao%v-SF8P zVQKiL%eQhnQ#k|FrtHU8x9Ll@=~|=O!aFb9V6Ah2}=AZsHT@nKDWX3U_ad%v8AkFcV@L+Uk6hT1ST zC^c9euZPrr+8Tbl2iba80H5S;42Pk_M#X z@D3?$hiH@cl6+ZkiU%?itF#+4bh+NHL4PK&cYpDs9fXkF@d>i5kWh2x$qU{crkmLN zn}DKew<_REYM-XyJ`c-gi*-FKLz#nDSI&e~M!9CezQTj~{DTuOAGQHW6@wLXX`%*4 z#atQCy5UPk1a;O34G?`h^nXT$05?F$zpLb@Ndf9Eug#40BHYw1ONz}(!;#oh)E4_B z-6i&ShwEULL!f{JW}3i=Qpk+!fI@J$NX|-azcq z1+VsQH}EndmvFXb+Ra@m$^)_1`9a;}>fmlUJ6cS{hwemqLf9XX&T?-6 z)6Rm5UV>@rdaplJ`>XPnSjTVVhvvHP&QF6HA7_v=Wv$ zQ*XZ=rtYDDGBn~I3Y75c3F(yNI-YpGZVF!0slA_MVj$IE#tfxeXj5i9|J+{ zq`{P2328fL1hL)MyiVBFd>Uk6Kw!AZnDplEa9`D|fse9NXLrL2AvC03?=O-Q%5i>G z(Nlf-XWr_WeCu5NM#oWaQjfi0R$@Z&z~|qJah0aRgdZO~goR5ydrz;_I6wWx8c(o3 zk>z~LC)k0Ax^w2e8W($8M-<%v%b=4;^?Jb7HWAP8imva(ru~qR5FaGsZb{AMA)&31 z&WS9a09TJr0-Jz4O`b#RryGchLuH)m|GH0#1@FrTeZ0#8I^~uV49~R#jwH$~H*Q|> z?dN>WIlp^bLX3rYR4{yp*LLjG8w3Xy$C$||196@zXWTP3?_P1aAn+J*CX(|jNRs+{Z7p&QM*6q1nv*Q6t!GYuU?gc?BoRZWElbG$bNGQR9 z|7p!Q*iUIyej+jZvK#A&%GL8zBOs)jo4fJd*%IvWh1T8sPU+5T51#5&rs7N8;QEX& zEz1b0TUjEVlBB6umS38-Rqq*%a%1?IJ<@I%ZOa@S$Er7@g|gezpjyeNlHe|t?ZSN0 zaSjeF>-@aOu%|rfN9BIFDlK}i%tnb$PIKq6ZT&*?=w1QKQ$An<_OX>fGk0JH^jK|i z8nCg9!SeoSjzdeF`dxJ?26q?X@Sr3Fq)**dxOO_Y!4kRkP$)j78wiMJ3_5!$#G-3P zrsHwZb*%q7CU6u3$|L%ZG^Mj}g~Q-#*fo5BVuyAvQSSL(!stQ7trpjW)4yzLE0ghj z<}p_FiIfS<9Z?2(li%v701~8FlpwMT-rrdjwSCB80rA$fu*Wnc(# zUh*-C^NfBij`fAKe9>>L_@>d$;+jAl6K@w1-}_k~qsKQ(3O_eg&#YMw7|$Q+@oS zI0RNp`xdBXxKxqzB!+`zDU{oFg?rFYWG3$WX#HI3llWK7N=PVJxXLbx$0ON9bH$tpz(I$i2=FGK)VY zpPCYYvMlYg{QYr&)H~LIH=fmd}7HhDxDp~VL=RvrF z;P{BAr(EM%xL`ksax;-lbgX?i;Hcjs>f{%((3I9G=?<3cx!+fMt!kN$f}0Kv<3wB$ zGzF+YNC^=^YUjHfr;?h>$7pxt`?T&FmAW~R$l0Ir7|K~F>l7@X2?9B`A z8Z49FfrHcUVyPD{&)MiGF?IWUC__er&dl81pAud_Z~Y!HrZdI&Cu5*NDS?+oZ0u9eqTKH~BCUn4k414?ebu`jFa!gxU*BWS4S>)$@DTr1% zZ)In93v6Bkzj0*vL^tdS{KrnIn9C&dJ2*l55;I=9%-WaARV1vVB08l<=O^3T;p8t} zzwCZ`CHZE52YGE+M?vc*XIOxD#x8P^pfX1Kz?Q4X9=3U+HQS}H*n-Fq;V$35b#`D^ z;%il1@5Fo81{!Zya9=B#Y`n}fO%C5>KLsd7U}3D;op5wj*eWl)6=jQs({BN{Wl^&x zs*3kGg@sO3ugN=zQESaHvG8m+(Dmqjk_6ChlfwzN_(+9PQ7=d*tn6 zV%UUjh4*FU+Z)v9(RLAl(R-y8feeTBqJowDT!)v_BJWYvqg%kt)KBepBZ?q^1?D{x zC3?*n2uK?axGFsU$ijd#+^skfm`5-Ju}*i9Ziv{NT42~+zjP>QJ=LR*^GdqxtD6Zi z6jCY$%-F_8{c+gzE`WBo9%eXZZe>%1&^b!{(YH_tSq+jf#c z+|NzcKfW;kE6KO3a=IXcJr5zbX?%V|(GY|z+m%2jtkA!*Uoes7dX%*K3m)}9a@{;{ z&uh@97L5E1UN-X##m0<4#yWdK_|R_JTv3wMIXWBGh_LQwET`d)q$&woH=$MYJCSg_juOvU>#*(nGzL>VmbvGdHL8- zc|)@wvuvsbMQHQcM8kF(snzDHzlF@55aa&(@kxczAE_B8Hb)T|UDyQ0J`7nahA?!z zPQf%md`VDtnRh%5SeQG3O<~Zf;fogek&@fV7TIbL>L}{x>~!g8YT&}nFbHbwJS>4# z=$R}~<%q;_snv&MKjVp1S~PiPTqm{d!+;Ctv9&{_-GJ1R2Is=0Woe`yC1nEArCsZb zC=}J&+FJlM`C_A*#2y0!>^n$6dc~>T9TN40LwUlxE2i4KB@q^G^Y`qEYvvemKTq^8 z7HI)jYh@Lkh8A**CCno$L1?+b>?!^yF&%VV7Afl0OjO_7r=r>#uC*!LoPwb^{KqDs zhiDdp3Gt7tJ>pMSC2~k5G=Z!eZZy9W{#0J=kXwRxr|Ki2tyQJFq?rR`ob||s+ONy} z^%Gs-@|%0VXcgW5LO2Jzy`6wfpSDE%dqbB1Jlt5NT|PHJ={T%*iSnDY3gH$^$hXh9 zf3;7bUaX`GIc6)r;m-BBdSXt!*v7Z-xn|g>cl7MlVZjhy=e!c@q;SQR^J*nh#m@9= ztJ4X2fM!sC{9(wsDAIm!V0VhF43l3~!(+>&f|h)`>#f%HAl-ya1+1Dsx7ND?zj{wm za{GH@xmF1o&c848T2pWCn%FOD$Qo6~r+XcX=iYE09kml+Nkc@r)m!OXGMZ*WotVGgfR z;g8lGKw@s;C7D9Hc6HNhHlb=jMikOP4d_^OR8M%Q)ZqE*5l(opgVT7-^q94*CLH7C0|N$hoWsGLvAZqT|6^>Hj%y139E3$Et0Q1jkj zHma~|EPIFBOlD1mJwKZ`VllB5>nB)b=4JeFb8#f#0KNO8FP}}}p=gkg4b;!mm!_s} zW+2>5B8g;su$RRkLH};mf&8kEA9d0P0ym*HZB3!|MnP^+KGl}?FwyGqPvSiqiVC}W@!0C~o4)2@&rCibsdr**neV|+KM=nzsQ{q8aRKA=3* z3JwzAWieh-u7;srhw2e1w6LgciIUc)|AOuV7-9&9X8D)H-AnD7MV5(MHV7MtZ_~-| zsV({$uW9o>?(+-LW;7(o7>?R?w^QkP^jT*`r@oN}z?h2z%@f74Ey3~v16{8aZQoLY5rINHA>8Fa zB(X5#26ECO=tKby)(>wQrvRw^&p%cZt%eGiJzU7L{?q57Jpjxs*H|E)&YSkigcMFI zH^I~Ei@_DTFxu#wTSA}-zq5FsImOCNwE8-S_`e$d)khTy{DC8-vs8G49kpk;kW1E` z+L)CDXOcIj#HmeDML7>R zH@(~)C``tzsWUQaS%WFBf#lK3(EZUDn~WpDLkM|>dXf6|DEBi@mZbUY7qdHvx!Mlu z6zP&X7k|&w)RbfnC%xL8?EFgQ0*Si^QH+22<{Nkli*9=7B`TP%rI{*!P?=F)=yUoX z>1ZlL#iElFlwYHXEv>J$SFScSqZ{E$l>8W?1fnOePUXT;HDptZYZ#H?x_`QgrGuGz z)1RSNm$nxD5Qrz1xLj@vp%@g-z^82-?M$7={|5xYU6D_d^q)fVKP-*Yus^qXHMus% znhmTli{EaLue4Au9z74MG&qL+ahw`B|F6Z$Fc3-C(=GpzG($QYy=uxw(kx_O>pXr` zx|Y8b`9@Qk$7Ugi^nid{7VxCcgiB<=`|{j`CZy01`<^Xjvfjv4pC+g$!8?^Hwv&50 zaTGOUG=DB6tF44rqcFse(=0O>yeDfpW@GStF2AYO*ID{)?>-1>ePzso?TEDKge=}4 zwzJ zos85>HU>KGi!=vYy$s|v{h!K3kHxUM$<}dpF;H1IZ5;YrE5rsNwBkS)66ZjYY9FPC z_GFJcYW1Hds;-CFb6fFQQqk}^wuu~~rCouK=@WW^m1$pOv?I}s8H zz9dR~d%eiHx^DV|S6t+P<0&^Uq{ek#5@zmORTmOkPVDIAY8x}iYFb68qcnPUiDCM} zr1E;4+1#lJi&OGa1~2v%b`=B}V9|m68`)QrU_SLxP*0Kl$&zc->F;bT9vI0Y|F!yq zV7zFZc8(aN(5f~2^riZ4Q1GxHS!;#FY&c8ao{cM&GVZvuS36>JBNj;3`84m^ zzX5nrr$n;pY*-n9%pVJorI{-q+^fI!~y&N1n+>HSx> zr~#GiG_oyZMp1GsKDdR9@O2ZS@2W-02Y&a_2O{J9i3SnNRc!Qb-|%UF<8ai7?i812 zyEqw2S*hJX(3~E>m|Ron8d7B~8fh+8k0p9Wc6UriB~26s*Y7K3X9jT+a@EHN+xH=K zq3+VHLtBG?szEkNUGp5SpK4H@hCjaGwd5p>ih6Edh>|$!#b54RkY3HA7q{l)z#i^G z?pJ7JNqU|^Wqb`;0-(%o3*@oPhU>l~K_VsszS%n=@ZCEA?J3|_Ii_UNqbDv%5uqnJanQYp{|3+*SO#C)WoCK5YykBR8w>Ooe;w6O`Sgz1{0Z+ z|B@j7+=>CO0L2yS@aX8!E7HraJmx}x>g)62gW&dRWsvfK7DvO2Od_u6hf7W3>GZwG zrx{BBz2KJaQ&PcxluJMc&IDNN)Ks{^nWD;*(+c;S1dqhXkKbXX+eFz}Q&SX?ocXA=550DT+N@rfWiZkoQ5&^Umz5)DlO%P)Ky}Q8C zv>_vg$;Ar0wi;Lg?bDzFro9_wRod8L@XP5PsE^xPC)(Lc7#CbzDcPi^r0XGLnScYm zZMS}wFU9-Wz6Kk$Wf5xD5{oNz>X*EAeSrDeFs`E6mrg!8dGOA!2T)Re*UoX2)xya% zVl*frx(=QQa;8r3(0h{lBQd~6cvrj8Vi-dpNjSUpbl`4^zE{1fF1D9CpCIL~LkHfS zsN$`rF&AHVv#Y<{xTI9T-xF_#%UmS_=MlN4)2&Q1LgYyEt@~hXJ2zC3ypRZ z)K7vkkB)mu_YLhZF_pti>l**}&8Rlna~6HLTIBoz=%09ND^%-VkqacS3Ygy2?BqPY z3bCub7mF^={iIzUFOEYcHT?aqG}pj6AYi|^`h<5ovMC7xV+E2Z6JEYxApZOpQp-GC`9@q|II|%*sJsEuisJ{?f1ph4DeM&q9&*M z;yB%C1c$~p>%y34Nh#$P4(O5HHO&KqYbnE$tA@l#;!S#8t+M%eQF!br;)Jeq(kI=x zm-hQ_RSz8`f2ETPK9*?r-#SgJ>1-B4hAZ@^_)_(i#Hu#~SlCZZAMQiu^>EwaJ_Cf9 ziqLAxjz`Sq?MIP7vbVmD6r3m~k0A*ND>;Lqx0HbNV9<#7U zO4!bvQHw^E4Fm?w9Srb2EkLlUw0cFkQhu1#8 zbwwWSSEd!6 zVWuw!vK|FyBI%2T)u?f2()i+T4kytsaS<& zncD(=SIS*czIE8XoXs=vp$%G~xa>u{KyitJu{gDz1Y6f;BY9@GI%gK0| z)056rHAFph3V~969DTo=Kb~tnLj9ofgF@)jX*v~$t_R)%Yg+a%UlikKBZI40{hkIG z(+P}e??rz)6VJWL9!4UekLbkM{ilQBLPB-m8cde+RkyU<+!Hb6V<>WFl=0o5SWywCU`L(LVLc&O3TVp*de}Qzs zH3BXHU7v9|;m8GMM=$Vh-bQ#vGwKTpOw0+ZM2-SKeA+T5Zn)C?t{e8wC4adz?q*9o zVy@hUa-+^tT;`npk4~2wB^Wy;Yr!hX-z4H97?gs1Q<09Xy!Uo@Jn>t40LC2{ohljZ zaz5_Q4&7Qz3e?{Tg($P3fm_Z=4zCwd{)>$=f-yDBSTu^3DS>Q_>w~XCERh~DrTa=X zp3#7zcQcO!C_8;JG^$xxPopnI(rQ&|rhUC`OD+w+5HBGuV%|fg=-)gE4+^6tJ5BL# z=>ok!o$MOn&mNx#Qs(o)%6Gz#%(4zg3qSp?0cB`eqXx2%KCzft9Jc}5nw@@+`6Tqu zeU_@2C%qtqW-92;a8W<5naQnDfwGN`Jn436K3Eg_#_tZWf6G2ewBla&bSICbO6U=H zhkCz8o$dplM3FB3BhFkUI1yXw0TJPUboZcSfN+m(iE3=)$Vh&>^Qz_w!q<52G@^uL zyWA}%c7^Ld zgYBx$>-+&ucDF_C)~}~IkuJ`K|N4{ycvh#5k5`{?R1tB07YjraWj)b70=UB#^S(s= zHi8KJfu==IgwmkKZGrbc&2qs36qg?se2Q9Hy z!#%f9m{g0-2R%+gI@6v93>s_Q&INxodjMH&PD^;Ti(_j1=T6j)oaV&;6sA;nL0<`)Y7ly2FKV%h(x-19=0Hd@!3~gO9JxC&FNK;QY z3WmVa{0!p+zSDx%De8u!XH)pZz7u;nQw@DFrg;K-E%IAZfLZxU$ z^TL=3V?MuhIvwI5Kg3d$njMBW2$1Jd2!EIAmTRATU!xl!;g^DI5vd#_D`>mXEPv?U zy@9kuO^KGF)2q|P9BwRMe&^Ss>7MEgK2ZqJ_MI`5^w49?YJY6en;J*Osnm>F z6WMJhTrb%I)q}eSq=1+jEE$DA5P#{IdVw;lQvK@?>}Luw>Sw331^Ab$#6Mk}W3M2YpI}n02{VG-|8t&;?gkfl90ILiq=XxpR^g}=jWAK?1nF@o!R$jRuYnG@;rw|9& zUnBQhIt&#_U>zX7%g|MMx@i$v?El(6!dMXOi!m@M-LfFip_E8iI`cQfKp&YdtS;cj z3cDY5HNO5{pdy);=H`myq{#NphDO4l-1_m+rIZEaY|oWFdXyqM~|9!IYOueZ)E(&5=n- zR;!Xpaw15p=~PpWNlo1UN$0fcjVE@BNv{216RT{6&RQ4_t3){~sx2xP z1aNx^-&B7KdNYxaH3OX_5TG&aOsDePuM|&7m2i{@z7(HK-(X|p00#Z_q4F@}DioE4 zKd`PSnx=Pz0Y-ak^Nc*uhPA)z2+bFe1<#sbEfDR_jsEeg>6i|;3erJzccTkzf>)ev zGBO(wfN)xEu1rz{7EU8;j;vG9{#j$J9A5)QmQr?HwEei!7_K_rl~m440QT_k|1hoo z=pM`ji+OmgW`cf59N54u(*6>V&66ulVIer200~1XekT)Nl1uq)C({&@0PQK+HI6hw z$7Yc6M0QYLo$Ot#E9cYel*8-Hgl}dy(w)rH`a0nw`iJ&e8!2!%zG_V?>zSp>XF!@7 zrIP$^2=UO#fZ#2B*RWvo5Yd3!19nD8Vy%94rrFS8gnS~HNl+S>KooMZXnSTeojt&4 zC*fWZR0>}-x9{w7QgK=k33<@irggVrhBjlD1!1kTAHust4v@}Z-Zt|pAmXT%aFM<} zXF{qAWlH)ZPR7o+m=!B`NVW|8yU~yVY%RWuP#4-5=dr$YZs+Ap0^+$sqe(d7v*_~Ll7E;&P ztdnz93&!Qj-cpR_h>Yc_*^S>=gB29TQPv{#k!CMED)DD}4cLDYL!8F$$XMGw^qh0G z@RzzYhNt;6$|Jy|O&2hoW438LJlSl{04eK@#64!CfFnYk4!@2Sbe<}6hdZa%=`%Eh za~xtGJMkZlW0}`Mp|`df&xnIT5thl*oIQak&{)85mZw^gcGA2)6!1rLQ5?zZxS1SBwEQ6AuR6mCkvLOJ;PiLusdq%+M z6C8pT?TmL%KJ*p5RiFOHDb&SPKX7+hYenb@rF{D<;$@5TM%j^n895{x!FnHo^NNqo z#Jb}yYUVwQf^gtcjJs3j7vN*D67zeL@jFsGhj(Vey==V5;%;8tgtdpA)BnmHh;)b0 zN9Y~%E3sj`oF*OYz}b8sK3TI+RQDh?4}j#SHN{5~9W}C2)JTTgGKd8F?zx}C_OAyc zG*^ywW!`=yUPwJ!-c?An;WBVHXEDIC>MI~Of*WxZ+&v?k5sx4zdiY;bHu~7?DaXL* zofVel1JBhwO~^DGfN(46C@F-_u8Qw$NA^I;Zh0dg%jC$Hyt@j)ZiC0&blWdjV)SIh z^6KIgdLQEJ56k)lbpig!k_gw)ZegyyrNcppu_j0_;oD=`gvv^lBF$DsLl)5;EWCiXqxCwL6-aB zck7)+&XRVg^&GFtan}sQxiVksE3?KV=5jZ246uL)VR`)4uO3st{WmD8at}wZtJA>x z@_F<^K3t3w0CsV>GV2acj|ZsfzN3+2eO#L8>tLNz_K9;Dg-28$)7oL;l-RMFljtF_ zvZsm1Nz7zDoM+hN|IQ=Km%(`fNXIt(e17$S>Xib##z_03oue5bTqWfMRRRkdk%jg) z20wu4;mb>|0fjxSE{pY8FhQHNoi?biQ3B0Ww%e~_#IhzIYa9a7095SdGP$BB#kLof z(IZH!!9M%Pn~ZYrnq2LL)7YAK4E)w|RF_`}riT<&TTgdPE4{b&@I(h503YcVU>}+b zu>y5iZaL*Kvn7G4c80t^;i%C?0HCgnzSQkd<$-0zF=jOwlJ^H4d$T)agoKvrITApY zWJOe^&kx&~oar64_-=-Y9z)na6b5>NDcNtk0Ee(!cDCCAGk9;A+fa9%e($7|)IdWc zDd*_f2g!-kAxqaX#ZO;>t&}uqjYykMn}75u9Hs=DcB8ZTFk~MH4D~uxxQ#B`J(22f z6BDh2r3ppY;K(^HUie==Jw^0Q75f36%Ozd)tw^WjYKJD|=cr0xP;agi%^J9%oGYMoTaFt=c+rbR^qv1USEAmH z)`63^=jZvIjrO_{0}cX@9;A)8=+8OI8Bm1qm_Ia%(z6n&`EBhh$rj=Oy3ubCcb>L? z#vm>Xw=&iva07y}vPX50cFY8}?V;(Mm2QO4kg8HH=OGKc-12NvM(q^zY+=%M-;&3Y zf$>{_EWK=%gO*vxh9pxkvhMVFwW7Y3sgwG3rdDT8w1xPo0kfu~^Y&%{*&WhXq2Dp8 zpP3Thqcw-ti+6rh<5d|MM?k@LbGl&OWRvKJkUecD2{86FD^N)t`f0;VCYw5@m3 z(N^1@0Ck9Op?#BHx{&_YyM`sjY?n!HZcp7!{w1&E}K6kS_(5kHZxeDoxO+n;=-lP*tX&X#Z;B1B&{;VQxpp0if11<4?s0$~z4<)NQl&`vOoc(z##9uH zN}E3#k?oV#u?cp2loop|oDEjeG+E6SH$(%95$o~rNV8`~gS-}9pwjTq9s7#6r>VIA z30~_(>Uv(y34Sm;ticR;U~rME9AE)cYN8x|54w)7xyj=_uXX9=<{K2?ObBm%{epOj z$cx4I)nE{ZuIb6}b6_D*9$cs6fWFD}$3W>RhV z8#Bjh+%>0lFX^^9N)hx# zRO;Nus0F6(K+;Q@SOEvwvf#n^N7SJlA4*pt7$xHK{ru6`yvB{P(v?~H`*HFwH5nrjdgPy% z3>a5U@_eTCPZGgX>+b8&gMk6Wl$-|8s*?jn7YnxHG%*;ZMGMU>&1EaTx23q7MQ&m^ z;}9NeGFKPh^fz>+w`Ao2A1=9r5}~Kl+}xxfG66+E>yUJUdz;MiFXPOEJ)yXA_{WSF z_3V5ojgBDQK)TS=tfeY(U__~0&_&w}NZ(}cQ1Offbrxc01|d-!S+%QC{a5dFV_@H$Vev2yjo^O@(9T32kXgF6QKex>s>;EMb^ z)**Gt_8_fSeUmyuE48)JJcb5M6?(@kA|$EnpmVJVlSz#VQ)uZ-p_W6Y6!A z#&@~prL8P=TIqd$7Dmd_CSb%2?KIkX1aK?M&2>ej<)c=AgL;pYcJnGO&F2bHK(AF& zg}&uLrJBA1!C{_%-_e^WPUDW+#AgDpMMXVk)4ouKxkS zzzVcmSh!Ylx7iO^O3rfs2qWr)8A}#!zj;)f0&<|^9hkcU?)shJ;!>|j;=Kuq?dMI1 z0;(DLE?A1~*O6DEewsTwoh(~xdWSt>#H|j0Spjr7&;N#fYk(M4{&y3dpgkP$;<&T6 z0$i?U4rv+iSg=qZNwZwyA|P(vrAbsnRq;j27X^i6t-(D(5kA#2yeP^~ zSXqv0)e2oYG?P{FiJT_yjN{L?xGW}cn`kPb)l&{kP|*plrP+)N4l{_a8>;$dG8tT# z(|~<(;d+DEp>c& zO**i$mywDcXE3dbGD=iay?aPpn}sTwo2h*U8gnH}>xPg}c~P z=YKiS-Aj2(gggNg*#k**Sv)jljS1z7qj$EeUpu|Dcjm&B=<7~G>69=5-WKrATt0SS z%6(pF504eZ8(ovK_O%L{^Tppf^F9$VzhXhR;l6)ZY%%r;dTujLI!t}Fd%4nv@MyjS z0Shb-vJ-V)D5$)Tl-_>tjb;sH;S9&G+~oT;uuA zO<~IaUk{2y{cbw9<3HYy*aQA|4^k-faf!(5mCy2B2ab=&!p3XcLzP=Hg0#;rDa0!NkU)!O9Y;d<&E!wiJq zl_wZ(DCy^&>`H#<(8Vg|MQ0~U=~S>d2|xFc=W3jf_>#-7XTOlH)W;ay6h|MHuSRAE zeA1*_<-#!J94puln;BjBY#>?JJX8m!5N$rEI#3cQtBsqD@tM?8IdG5ccfF=7m949J z_zF3A%&%o=XTjMM{Dv`Zi^f>8kdNeck7i0Q11K$CLqAS0i6;M8N9?vW!2m{3TvvL2 zH?q1lY1ZZ-Gorc8Ke3-I)ftg|YpiUtUNN<^uJVC!v{_k_?p}mu*evAd z*tpS^+mZ8E-KccZ0i7hT&dcB2tOo}a(xm69mfkKbtClcj`PaH@+SFa^6EBmD40WC@ za~V+-G5W}b?xU>UM%jE^%2I|Tb{RZ<*%kpl(s0?K#q4%VXFHs@lpdws4R2fmP>t^m zEw}CDaHCm3sjtIP_|Z26;vHe!0q+)rpqtl3E2>9N5P%`GJ2cJc2ghy!rTLiR&^rVZ zkcf9`=-Z3R?&j*T?9Lv`2&)QLHVSNbfn73DbeyYC5Ct6w!Yf2Bq9k+@XgO## z%=g8{A=rT!Fj4L|%oP6mdc@8V{KJ<2pM(Mn8Syi&Apus3379E^m}#*1vINdsIYyuo z3%L55-T%a}pIorhU;QSs;gfXO-oClOzJZO2FK|TGqjh4}h)cAd`9JmKV6;il@i#8l zg16pBVW8#)VGtt^f5$nt$q%S~AdO=p($5U}4GYk=92y0&qoZKN?NUdEB9Y1b<(}`{#E}C6sax`_wEwq2lSE!YUWS~=3;oJGzXp?xX1~PvkIlN!@^;GMdxr~jnA8pnSa2%Ji zK5;f+LZ%1b`GE8vRKmjXwLN<}4bGcK!nR$7YfuAiqYVYurFEqZ6IcWJ&j5p>CyDt( zZr~Cn6i9=sEr#wH0;>S&Ttlketa}Coz3y_N1%xrNv+^L2@}wX|HECSR8febTO$}n^*n+6^WN6+7bA`ah@_R|x5v!M z6o)Kh8Y0oSq9zDbanC(tCrg#ngu_C%m+4OBQ#^I~V3XVbGkwk~zdVQLF;3iF$$fEi zCSc8#`mG)1<;HZ;&w~H`gv8)%LAbg+Cz>Ig0@hi7QOPtM?pg>UYOVM*{^K9hLn|2j zPKaL2uCw;z&yI7hB18BswYw7Q%D0Q8|I;*55Ov{*lXqZl2P1MTgMiRi7#%|z)*bmN zDAE7wvh>!7Vza(5IzSI(qXX1#@LB#3_gGM%k5VuZAM_*fI)6njD zR|95lw69G0C?l7K=dwCx6g{wL?<$$u);@z3Q}XvLRVzu4eEPX$sRN@%{#9DH zV^aZtJ5*UfNA)QE5JIZMqhW^C@yRj(n!(qLKed2RN1vlY>HZzSE&JeIHI7etWQhkX zDU|6&+Z{)Y+B#5=j94b3!$Cf0>67g184^!Sbphu8A7A0dHvzvjx`=3 zuuBT8l34e|i6g~(tt-djUy`-!kUS>35LzK_rR7#=PoAkIo>0VP&q5LoJy|doWgXXC zj=|pj`Gwsgh-%(3MNYiXRFX=tA5Mdf@9%33^Ebqk7b~CU2kBd`E_zdtkUWO!DIkZ@ zQp(=y1>7{UV{FZ-mGQJo{cnMM^q> zXgp4bL+|cnK6}ls50m3f-)6q`I$({*Tf!qCLN|nF2u6p)V)>^$oOU2A(t}0)K=&50 zW}2*qNKlXvC-hEH4}=;qRA>u`+nbz9_JumCBU7~y1XCSmE$s7)R>*{vLpD48yZ&2$ zB1M1)Xv?!H;$yJPr5+OZ!{`!48d9!Z;W5$VmjC^`BXIo> zC7|-jWasaYK)i+Pr<(fZoZ5 z8>>dSx_I*?MZtru{9X(#y%KUb;Rww_!2g)qVgtQ^mmtDb`^Md=UU20zdcXn<6fyy) z%fuQi^Fj#k3&eo-$Qfi#vCDk>FeKM>TcC$G@S&FEU zX&74!Dn`JWV4N5p2SSJs&{N@}@G#<0^{~@+cZzP~U;DMyyZL|>AbyhpNA@E0==o_* zf-MWWbT2eo#^!rd@7t*@hdBL2sh_g@2LR9BbZxuL3& zWeBU@&7mz}nWUauew{i}1WSN{ph)P~hX0M`Nml(4@_MsN?F>Ud$dZv4z^el$0yzqY zNZRWhJ-Pbula5?kapjZ0*Z9L!vNMKB{wg*>zipbbpCCjj0hI$K#&yjU*STIx4XCin zTRcPwrX$FMZX=K$+R~O6`uw7e(mMHU*nn!rh*+dVI_L*DlO+a zoVxCAvCXpjTz~L4Td>paijuqKio<0>SGKGZ+I_)?9?icn>1rn2H9Glh0O|L6E-W^M zsA(2KX^EQ8*M|@VHPOT`;I1y$_n^TWBQ(42c|-LKBj-o=0xz1vP!zxapD1IqyEz1W z0T|+_yvGLh-nI*A?n4V7S;0wBu`++-93C+_i|)O_B&2N?atXH4JYwtbLVVQNpZEUE zVq}*?BJ}Sq6lXdc%=M=n9w7zZ9# z>WX&ZV95mcEBxy?*cHx;aiTT@(@K{8)khTaA?Bfasl413g;h1`fSEtpg_=8?W{+Ap zG3TAlR^%_}oQ4;odIS9U^%Y=$@@%P3%@1<5$?A*G6_J+ShHu0bn}wv`HIU}AifpMmUN#ON~SPJx#!oZv_F> z!eQmFd5qt9--5wXR3eQ$q$W{k^II&$G&BVT!72;IQh7e?EgP!@jOu#<>Y-OS`|9A- z-zlP2!xYS(50rYeZ3im1*i2ZJ%*n?S@J;RY;oLur05d?$zf3iFSm0fKIY4k@_D$;d zCI&tG!pEL4m?SYF2(=JGjRg}6zKzO247q7t>*XGU+Ic5npNL{+Q{f2k&c}7wP><_s zmGhVyNqr`+g`Gd^g;>kPCalwFF(6d|r{5AE%ELIc0{wkJ7`H%N2rAM|#!=XC8`b+0 zb{b!f87#)Rkr_{ui2-vNk}2~Me(G+IaQ_f{C%fpePI*b*J`FBR{tK*5AlNa!=5B8{ zFWRaDa3BwJLN#e-r%_ysBNb18fx1ZRjO0-hE62Qo1j^@h0ui9HSoHiF3{78;8X)no zsQD@w4Ft?0|_fNP?VuN-=1rr#l?@HAy?3r9YaX?XQE5U6HgokZV=pX2I$@F z_`Np8wlfBEf*=*x$2tkCXn?UwB%q4JN|WS$n%D!$h#t!6>!FuLLW-$CM=)#D#SmzC zT&b?zxW?~YT;>g!CwCh0X6mv^i*+}VggOr=4un78^9>dQPFfi+9s=5+0y>YRa+cTpJzZcjUz-G*3@vh?r@5ZQ ztt4$U(?Q#+6`A}B*g)#kI$}+n_YKP+G*l|dTFjL!FvEI|7}3&~u^C>u2#r6m(qfe( zu^V+N7%CGya28>{$?~o!e8Jf-^x+X=b}-?a?cVtMZkkGm@QoUSTHHHo(w;1f*s6iV z9A8w9wc6#)VJy)*kb90P#SpJh@qJ-uKiSJqYnrC@J(;{)5;}e^kCeGzwNC{N-$c}j zULsqKWMpcGPFf=(hM7P1d(uuDbj?qDUW_s~EYgf|gTdA{|x*Da}TXvmR>W}u-nuY(JewH_+&d9X=V>)V)vrs9yEx7K+ zeeGxcX+>^M69`}gp1X@^R!(!ZIxEDq$aC29c8Is!xX;{U_oeKFSQ$`x9~m2hR2LSG z?sY}{OnYc6(%nED40CM`s_S%iyIR|~EOxrJCq$c}`Is23TB)PN9SOc1|0_R-%e6z6 z2dF}eUdaDvP2(+k_tou<_i;9ebDflA;BwD+k(~`xtZw*L@!0l>alE&k_kA1?@*7bZ zajb;c79c9v&%X(KsYDOeWPfwEHiil>cc%Z(jinQ#4@|DTonGvKZtiH~S{c)*O0S5N zG)r1Zd(Kt9(&)PsI2Ok}99xoBxW*GU$@P-0>2tte*6R$6Kl2!JHt9Wd^+ixQPC6JD zaxL6=zW$l$=P(@@7dT48^gmX8kPkF&kmznA7l#a+Y0lD9rM#0T&an012Va_U2mGXjjd8v%pIYq<22B zgJ6fFgWgDk0gULdhkB4BJ4w&bgDBLJ76?)dIR?X3mb--)$Z}}RKpgFT#^95DwJZ3* z>L1eLm<9P``cdx!;km@|P;Vap2?;g%73=9>76dbZw4`=S%ejc4D-2T}1_x$*fhqTq zsGxt~+7Jnmgcc*CzW80zR=G}LA|xI{y}#$T;9)h4knBq@*y&aq-9JZC1-zcBl&9rt zT0l&DE)ja8f3-B3PBH%2Y{hq}WMwpd-ygg4k*rk((@QThf}WIGe_E^_wGRGZC#y5p zSPcvgR~vk=?j0YUB2pm_AT|%cqvfp_HdMTT&fO9pJ!9~umg0rjcix_v5Uq5o(_^~z zyUVy1u*S6Nr6-H}0`W_f&zz8%>{x_DK*dFKPOZg|AW1T1#BfI6Ax$js-ZzuY!`$TY z^y(Ct09;1}Ey{D1<=A|0gFyG`?R~Zp-U|H|&hvr#0BQ#(mMhjWLNYI8;v$sjhUOl~ zZyX0pz3TDqLO^G0<$u0!{J9e#wWDcnEjJt-=VJ-|o$xLrP#(j{XB3D*<{vW8<|?i& z{TiT2ep?vK(%S|iz0YK1!pqRkwy-qV_KdHk3QT{9(|9pGZbXdm+O}PF)O!tXE@^{) zQxJ&WCYmxm+W5jr+6o)`?fyMT$a!%jk<4nd0Vf4pe%kvZFSH$bFuM>sj;#+0IgA(+ zMqa$sV%=V2vKa5^`_vg1rlcPI*c@9mLTLS9NbSy26l;4uOt<_#G2LPFV5DVSN{fFI zrn-Hk?RH3~W~V6#y{jm&LYjYbQc}OxWN5ehA7UIFXaW3S-8I*V8y-_0W z-M$9jwFO6y&NS!#bw)WtO-LV4@B0~;l5P~d@~aRUDvS8%>ciUBEMcsaAu>lBXe}hU z7pGr^;K4~`m%h^Kdd#xmH=~#%Ki(N%4o20CcGBX#rv{;338c-r2Bt88cp_&c_C`ud zzaZSIm9ZY>-2|LxV_z3#JnXuJKYvOK3L!YA@i;}vJKe;6*jw9V8t}5GKxbDVu&x&r zP0DyB@8U-pJ~iX|x2?#uPijSV!2SE!Hq|up;ATTRE1zpGWU`)g7H6lE9J_XGpUMMy z?Qz%RK~t$%#ch6+NN8kvPe_w^lr?q4TLveB#X3Do{mjk$VnQF2IGN(89|pkAs;?4P zdOa}dw1b@wot5e@U- zW>Xir|O6GjnC2RJnEE(%@SSrj$;yowNXzBpG`Sl9OxTxBJfY8e3H|MmU;r6iRsv z$g7i2sDaK&J2vD4W*5tf-baPTaoi=&T(STgZb$q03nj3UMDcq%=9^&5=}FOwu(Ihlu0&X1Io+Y)SD@E21^=F z888|~Z70tzQEGQi{e%4Ucxgkr5il$X=8?Y5<68KilCr*`dFI~&@cC~a+IrgF%ew0m z&%iH}e6XVke;j8OH-4H13w1`JWrxukOVught(CcXOB+s>23LytUuRl+i=_BE{b5SvIhI&zqVPd9EUG*lli z=XrdD48lUo!<2lSzySoWxhgJtv0VBcx9j}_a$+ejPjXhE9q`Qv& zNdGE?*~;LZTAcLejjP)%&%;QbHplB@fUFp6uA-Yft|iYC_thS9F^1DA1P2G4$bkw$h`VH+*^#J=Oee>^C=D6xb#b3wWx2_0XrUW<4AE*!ftr$Ez3Pm?~6H>8^1I+kgRs{U-=R%g*{yh*j4jdm){^jo~Q98fjS!Nr5)>=D_W#| zwMt{!#+3uI`V{`7Sf{Uac=2Y-cWm*qV7m=K1Q9EO(=(N_`9?hS>E-0ENo+5tw4gj&lol%Dj_9~pV`^xv_ zFS(U;0-491_E~f-9m7eZ1&bMGPTrfBjT4LD!icXMTBf7I#pJYBbqJkLvbzMK)IPUe zemP*(vNHms;&IgJL{7&`IHvNh7rLN`D~M`0miQd(nTAC0q#z(z3J=k`H(4?WdF;c- z6>e+5V|SHVRFyx#jEU(Q!s>WvCh>=d-X5@6C9w~=p(Gkjv;&&YF>4%B)hHaA#GL8b!eOZ@PKU@3 z?3B-3e}y`Kj&eu=cG`iE+K2H#vWG+P-f_JJz)7ohx>B^lj(Ezo7EByNCk9q43Lgf^_ zST@>{9D$r|1SuVTo%=o#pb1;n=}ep%825dxOU+28w={JKZEEgGK!q_^Gb8?;n9Exo z$&$3#s`m8*Ry%qU@7PH@bP;ibI+gigE<>aT`UCZo)W3cBQ5ZwcvA6VAOv?T${lR9A z*j7OcAc62nzcdG_ax4ML2ewv=kcziq1%ybdi+z)r$9yB)Du}GEQFC$d6uAbMbew}M zdoE`4kCZB?9*P}19bEb^AqQj85~)w{06Y)paX&qgC8Q_k?~3r&p4d^KD)StC!sNSuO6i7Mi%G@dhu+i3Gi8wTYfzzrj01Y(`_q1JV>E*E@Ic@n7 zDL%kTk>)3B5jjsh_|;5+CKX6SR=3$e6S_+0YrSg%EK_WO%5#`KkM}X!d3fUuj+Jsv z$XScOX{i>B)7*DudtHNykit!{bnxI0c4s z(~imU>Xoot>RV^LNCSIHD4h3%?&|uG7(H|~dxNLXm3O|7z>WEbP?T~7LXw*V+>*_E zH_)5X4bWo!aR@%;(5XG;`!ARaXf#yd=E?A@@*(~ggs3djZ31Uh2YOrER^=quq*0_oZ(aj~65ylBz9;tp|t(r5W z|4r#6XjocJ3SJa7K8TUm%av`_2*IOQm7Pj`&|v)Tt(r#hT}%2cqmKxeWNC4-jZfeq zd^DdDVz0?f-oowucybUGjP^%Tc{q_mf^R92{MGtmnobhs;1}*|>xo*Kp~w+${}DGS zdRVtWM>*TA?zoa1clgx(cW#O_J`D-RKaxwVv5hRZfHyQadG8MV#`d9s|%!X8((#<*HUM{ zm?vO#%zX|TQB!FRXbK^gHa+%(o4z7hPZ{ZdEn2NMcfY43>N_~`;^5K<5rmnue@HK? z=JO&*{<%Hw!=ezpk1b{>50*TuPG)3BF;d9!K02B76x@yOu{Szd4X>uz2mu) zrjs&+QH>weM_ZvgF|EpO3oiFOFxvFFNZ$Ek9UJ9B8OCJBVgx1CIF$fqPzMp$(fbC= z;r@+keUVASX5Czi{A8UR>GqNpGa&wgoX+V{LYni82yPd?`!jz zi9Ab~Ck^g{fuQL2SggqcQY%HAwsh>d^56lTp{eclPs5i_J+Im2=5X_0D^i#l+_pX^9r86IBT`|OZG)D&w$RO`9mtsW9=9& z2Z0xL4@ow!daFyUK|lD!OEw031)c{iJ>-r zQQqb+P;e=@R7BT;rj(8VrPs*-C|}SNL&_@o?Lv0_#_oKfn@zu&&>o8Buc}rwVSkIr ziC17|Z=7f1B-bitBHL zI0;&o&hrBjw`d}qVJ|1$^6IJCLQ_$`LV?fMPO_houMN2OVhq=yFfE{_7rc&3;#u)^ zk~XK4z2;Cc3$Nx)1Ct(P6Q0@w1B#Zz^8f>ewnMPEasbSu*jGmtlYpTd`6KSjg}#b^ zn1X8)CI$Ciw#A~Yy)y5NB}A6wLx@`&@l`*W`W1VBB;LyH$fX$V5o+;eMac2ODX$8Ion*rbPUo zx**=jlOOYEEPP?RnHFX2(wIAP+y4+!X*M*|vcp*yI?}2m;FM2-f}*J@4cXvnCde+O z?MS(xMD)$}&vPNV!WPM0$Z(2H{WZ#>l43HPxCL`!F*f7^Q~I38cH7Zg%NrLZvgH_Gi!J_UD<&Ow5v z5-?@Q85`hqtA}dmkIh0!r5oTsnv<6@X&CxY?VgH|YY|4oJu(G5-AVbM>Q!eiy=oQvAU0w6(xCSrZqbcYdh57A1 zyGTGD;R8XLm)dW?a@i-ObWO0a!ZqfHW^yuTr;*t>X#G|~Ndc{Wu-s#-3{zTM=}sHJ z<+{$La3gs@C%T&AJM76x2#BDEi5I#H%9TU8Fd5^jyEhQk>gNfT6Z+a!K(b~RlJc`j zyPNk23n}a7TxJ|e9W5u;mNso8n+Uff*Fulq<0Yajodjy8l()Gj2Xm#pV`s}Mf zG}Xp^aoYK#1Di4bcS&m?acB(7lWxCVl)ipAF=m5uQvOb3QHdm7i8*R85A%`8VMsgxQh`w&5~-BsDjNco3sSPyg8F7c1q zxk8L>!mr|wZga(>mMdM7I!y*T4yU-+)&F=ZOT=nE> zM65nbucLI*+EiMN4p_guhB3}K4caJMNPhs&A}^9(%Zh;{D&<-4$t%HTl*mE4lu$M!B4)Fu zHMR=-J!yBHo>OMs67kT=1P6o`{Q8{jRf6K4At;w&ksj{iL(G7o16DR3;c2P`xcx zudbIl*>}yommceF`ivvLX9p(*TUBh=T z-ePzyIjI|P)FE)vzCa?{iCJ|qu9RFW^x=z1S9Ux?dVA!|Y#HomAKgx5$5F3Z`V{(Y z>n#@|6PG<-?NK6wMOPR6n$52Bygen^{AoY@*I|X!lgklA%FP#5DX4Tx)=zoyqyFNx zC;nXBjPhV5|44E9ncl`I2_pb98&hO4x>7yxHltwIFt^kdny0zX1nFM&2GR+5QC|v! zQ5UA?K)yMMhre8h2xeM#3=>3{bu_;S-%z{9b2KxF+SV{BeQ0bfh9$g2Z5|{}*!D8& zuT}l8Q{T55rk#M0h;Y}louaC}N6Xjm*dqJ`+)Xuzo@W65ab)8MC^k8-v#s7DT8BN3 z86@Cc|M@;0HWtid{5_`x6jb%s5t#ikd(DVx>efI;$uF8VxEh$<6js+*fclpbiK_`b zz?)3Fe=+Qoj&KS?Xek({!RM>_2h{@A!b6eeN3lR)G9H_#%3HKJ58MoHdyFdo_-vbF z0yMaBQ8j@ytJ^iKFDy+gry_B&*Pc^RE2cJJGZk*6HUsO&vV2Z`&S42fZUBHPHH0TF z1c|(&5`)14luE@Sj&M1vPrCT8+IIU~QE)}~hg@N`dQJJNpUgSNsS`6+4Fa?0oJ=+( zHo)m?5sBz-TA9$1Ou5e17JuA^$4!p}<4ZItUKViaeXsYuw3t-Y4(=E6-8x>7+pZb| z7GBBKPmxyeR%^xigwIZx!)x+l5dMI&iSk36e znr`|Ba>k)5{9M6(gQK50S$O!lacpCAlEPlcishlnf>JEv+`@JMw`TA)rDVAR4Yx<{ zrS8D&?d2^b?qDB06Nur90fYsy^$vNAqr8xQ=!4P@AF*tt#riS+ES61}Q?dNkQ4HZD z#0W4meV-WxAyA9yA>YNUtQsn|gQkn_J)_klFfU*Cum{s>YrEcE%VrV1oQM?J(2+5K zx{OM6=U;zycx5U93yE_u(Lg}B$mP0vn%Bh^;g(y5PPHZ4vLVo3&F7pf%F4{9m^Gn< zhvAOyB6?;ckUJc0kjr;u1?na=st|fQ;22<>cIO`4O`O@mUM ze#3qn>RPEEH$uS#Dmk5%0yayBSGBNBK(H@C)x@$CSt`MGGN5OgHz|W6CR6ovg1I}64&eE3Ha)f)lO28j zBdUcsZ}!A341$8uW4Qlz@qDaLq*u`#w-gl;^reijMZ?tikfd@ubP#J~)B|ZMp?Zdy z^;lGE^^EI~3Rnfbqr=k-ewhYCXmwfh8arO=UhxqI6Q%QT)5DqJ}tH=aNhFA0=;xm|2 z@!5A&V~{Y`Mi1H^(l|5&&CFLS^%EZ|U>y`udH?*NcOGb3B~-uF9@T4uE1XQl(xjEq z5VMym>%j$IXN_G9MI2@zOuBgn!!-@(pSIN!!eTNZ9USips5+@VCaxRkCm6+gqO(21 zLEJVIfRC#DZQFZb=otZhRvS@D&OJ6Zl`HT#YUH#3fPhf%o z@a=MBZzn}a(oo|0QF`*m@xjpTry%$qi(>Dk-ezcg-nXv+RIbm(iwg}c=}8L>|7{NF zLE1Qm7+HNFb~<5u@^$%zkVHrU9mB~e}~KwaU;@nxu?-RjQ|+5cg{RhZ{N zmQ*r6SO_T^6^=j~WajkHXH_L}OA$j31!Sqq$Zv%4`N;;;{UaRL;j{YOL;W<~8FuI< zrlf1@5%U&DZ^jkCPqLK{UU-V=f*Wp4VSE3mKZ<7P6(8bmotB9yR&5`Q+InZ6(-gt>1j-TR!?Q1f#rIE4imp( z#tbl+Do>PMrwD|sFJsx*o8XxxA&6eRG_j{SZi26+cI2bx7k%T081qaYq+j04&@C%l z>w1s0i31o2u074>P-$4!e0OCoircWQ$sqPV2nwF<@p&BDnS6?sV&aGRk83-=ktAwW z^yZPDnQs)-t8Yy5(+&0f_TxANGm}A?8RP|C&ez-<+c4B;@BbU+7}^8WyVV@(JSB3x z5eAgyo$px$xfcD$<$@zqded{6IXf8 zBjiWwwbhE?io=ZsP;;SxFFkI#Rs+_mHzJUAm>sHZ`FYylpnmt_YJWq-%`{|6ZqS~M zD;LQ*GH&j&3rV>VwNP+JGJ~NNJv%gty%B=5c0eX|fAD3wTjy=*H)<0XOxEAL5ynI2 zCFi#F+TYqrCgu_f>`k6tYzY=4>9U8y4@V^+NqyEXdonCfE)NRzL}%YPp6B%88bv+w zqu2G}dSlUd_bP_1hU#aB9KkY3}Hv#xnIpxkChfn6hFJy&rO3 zz?9xMN}Zq2=mNo*_^c>Hd0Ymh5GT^k<<6_rkl;jMoh0Uy5NXzVn+$PH8L#aRK4acwtjzjfLbxe6_98u`WXH5SMMEe8*wI?iUe$oiN1Y}jKi zd=&V7iz;SCMGg2_qdNtYDU{+@ z^d4qG`zpRR104Nnb6Ci;25dVVMVMmIs4@xD79oWiGee)+#{3N6a;99yVc$@x1CL4? z>`>6;ev^-*DQ=rOpov*%9)pt8cS7Qb$Bv0j1U%Oo5I zlxx@o(0pnX`1H#NxJq+Gu^F2<^rH*P3Bz0a)N!drg?)LO}dBf z*nXX(fu^upEJFEe44*v2UP9t(OKX2iJX0#~9`>Q<&&JYU764MlpGxfP*H^`8FH`52W4NuflTatE8;JO+nEcx%?02ZfmzYY)BFNJ)jBxZWJR zLOtP~lb`I~cYQV>&~??{8KbZymz9o*;rDkx3G7zecp*rz7WIWIy7*0|#M-m&jhkWR zmI-kG*u3|bP}4tG$oQTLDNX&7D61Czw&%H4k_>48 z0xAS`pR7ZM$^R$dB@ast>AX1`m`V`~d1GWrZPi;sTeYz3NyN$vyRhdN5?>hn=7BI2 zR?o-Q)Ra+?B-f0HYnX<7`>`|wZjpw`w0Z)wCb6V0%-Ee?&Bp%wS99}8RHj{f3;?|5 zq!$3G_3z6lSobwzMj@B^+1Bnaaowkmqjop)TshYtvJ3WmmO76I6czX?!r*`j1VAIg z6irvWAj>gh!?QKR$)kf-+{PRi7MaxzoE`@*w+pHzvP=zsbBCELK?~bn-G1 zl-9P6inA0sDmn%$b+@JbKt3yKm}yEjDFOwfitBy5Dm~Oxl;~PDnNz8JkV}xr^&xYT z?tU^I=wTqGuiP@bZJFsAe8?tppA@pIQ9Q4cS%miwiEr=xQ_9P4h7}73z=A4ZbS53O zO-jL@s?NyU???E8JC0oTcSEN4g%ARMP96~&c+$&5v@$C`@jdd0i%zQd>n(_WLe2ds4k^{%Kfa|795|S zLOOT~35x9W_6 zz~hGbw@41Hl_t9{CS1(%(3iW^)M+PZyDOQiZ<~@4CB0Er@g0vsn9C2ct$uhyXt75Huy_@; zh-y%;`d}glyv3DGya?&ML9d)5Pz3wQD8>O$;DQ6M4tH6B_l`HjcQ26K2pSbL?kzs= z3-qbkWq`Pe@jD2ny=Of!;W}w%V7eGeQA`r$A2-BkFW%Ovo1=)&oko>&toq^BOOH7U zOMfkxiT^PzuAUoB@1t{oGr1!vt6&nuH!x5BjX-n(>}%6K)6=xu?nlA^*5DI_-?Mr! zt5^&-t8l9BAUx+t@V4oKP1QLmn1<4OT<>_FA=iiV3RA+Gx3mdLC^KU z&ir5oE%?)@O z;Ljjw(9-sV$Yq>+scH-VA=tQ6Pg^3wXlgrnXvbZts+88`yl}s3p1d&$d7WwUXdfW! ze}HLh+o_s~^FTM%PgEeP&v)d?Kg-j)BAlV`|! zN;5CrJQS$ZMXh~0fT(&AX=(a^@FmJW?+j66s_8+z+9BK?9bi&T3pXF+ znKsS}Q)$D4avSKSN;({T8+*`^OSnuA?35wyLBl!~jbpeD<*7HXzF4pwRlA^UvekR+2RP9s|0?<%KEGAB~xr*b$z<2^0 zZ)8bK&#pY*oD0pHY5H8Lv(}6y|h7Em=j$6xmKP?z-mK5=wb)VWWO(( z?`{FaR!{J)tv=BOt6!H-If$-LwfYW=>7Y#w{3W?uMlmq=S^z-TlBaDNCW~J|ST_ZF zcK>}iecj`)-(fEB6WaqZ;lV)cd4kPlkex{-w50MROsRwp?w{(QcAaItf=Yf|9~3!` z6kA16XLiVi2468SAy2XE&ahY?eCy&yb;zy4Pbdf}vP|^wj|&@RFAWs{NC2Pl`O!OY zRY8cvwP4O9IjTsEhUzh#vm^rjmZx zXdZy&7aH3Eu2YN7=$X0-4wxWR6pK*pzurT;&|>?V>{rBLh3C#<)$0o@-TW=_?{;y@w3@S7=NmZA5-Z;fQ{A74E!x`*XNHf9j%V3tucocpp{AO29@(Kh= zv{pMLX*53WYx2?~(nXSS){gfYyD4wo5h+_wo+XBRadTC7!-% z5gpC3CWi1h?<5G^$~rr2-0!`n!zIz=g`T6Z{*)y9xBSP!l)JA#KHadWVbrYNe|6BvNKfY@e!_H=agSpxKU9 z?_*R_lU<7W*8CZL1t?0pKprKB;sd|oeXh$kLD#T{r33pKGZ{8b&wW2YndQ!Xs7%r~ ztwiz}&2ZZQFAeMhL^W!Yz6TZqP|JlR* zK{9r7W)R-7J`wxC@q8ZRq3#_`6=;rfqAo{v%ex~X9XH0cp6i&4u*7`CS$Xhv%cbeS?QlK4T^s>)v5^HUqdr=}O7t@z`QlS#23Sah%`U{{!$ni}l^ z*hdPiO`6#QX4k9ns>UN;f^(3p+bn%wmp;q^ErbIC{eL2!@D&t#g0a61f8I%^-ZZ zB9!~vzBqzdREOC=Vz zrt(JCxV>Hi(C|_+ZHgtxvY_NhF)W6aQk5T5bnxy2=;VgwI%HU4`rkCI{8*uYkI$Bg z^FhfhV!>-D4k>cRG>faVod zo+cYlsHDw45bxFR|FXo`1#MQq2F$QasQZqQI0C%3wQ6<1Al~_pQvku2+D~WGC+Vb` z0ko^{AIE#cMCo70r{Mvwc#N=Wo@-cn1@-Fn*D5SzBtGnLywYAOAGl$9o*ag0n@_Mv z&tg$%p1z&5I9hFHh_>?x_3ST+38<8!)%baV&{!a8c|tg;8C7?4xd&^(`7Qz8)yuQV z0RCroFll8JR%P})YW+Yk{L{RbL?;CUJ<)8ml{pAG^t{O==;ZwcFk!sqIb&$unrG}~ z`Xkv#Uns0|6lfm1$CYF~Kqi{k84xDwS~s(UGsTY{-z6AqqQMD-==(h(xjbq=uiwD@ z9L-||0-q(D|8Mra_L&5Q0Wiw12WAkvT*)qH`O{jSS^6EuHLn5(1pDXsfh9)mr~rU%1aY3>T4|*=vFKsb_*n z0(f%P5HR&Guz_RCut7(NkJ^0D^1EToM+7w3!>{A-+4fV#ky_zQAKSA3S6p?H&)O}0g+cN5W9&PUbH^=;@OucpmRb~96QQ2t!^ zVeknreZ^@A&hbn?t$9y&#}2UnavEYSo27WewSw#xn`BR%=m~FUk|wBMWj4wR67-lR zs0Jn`(^_51hm zwrZx{<3M&oYRMeQoROpCg8bueLmjU=00eJ}{5sO63b2GW*2^Tg(f9jr50>aQC}?Wb z0a}wSQYtEpHvjTXnhYH6Az+W{d_6bi9eYfVBe|CC^yn+8g`?WoU%(hD~2ot}BVC1llWZPxaVSM%kXnPZfO+O6yDK z)B@r*=i^wxbp`#JikfOczxc-O;BADa^84RiNdMli2W|Z&_vD6U>b|txib6g8|1sy7 za7t=wT|8JD%(N2MYo}IoH2hI(A@uH&l(ccg;@ zw@pLhj?dWU{GT1gNL!u0`k%@*{mEgDhL$jcGwNM6r{ZU}4X+xM!=9o6``aA5$rvs3 zhIm$HO^kJbZF=h!gE^zSTZT7;)!qxf8lVx&@*Iu>5-Mdi_3JxHS>rB*E?dpw%;t-* zPYx(z{oS1VMDBa_Zx*+LY0rvl??sJqj3aOBzfCUYM40@T zfwAV>R$1|IbibFLuNDjZpxe*%KUzsqykuto*tj#OL=mJDe_sx(UjrgMlob5NBrcn#0UF>j%#G3*Q(EFCWxf%y1&N1&G78*H77+u!QlU8Z5r(8cuFXmF{ zNItFQhN2gclbsscmh+r4%0W;kJmnbQIFg#h$Bz#}i$zbS4DxdSXY~2H@XK_#FI_y^ zMlW`O}hSB(tH(US=&u@`MYI9<@r6SLm5P+}&+(0ljm& z$;WBREk#g0wtaxkx$a-$J{D{<=6Di+h!+mTA7m_P&)|>$__u0_6!^Aq#>JMY+h(%q zkHZaP9ULb9)3;BP#Ady65|vdlW)^IB%scht(DMSHat4TP2{r>BxW+9R3%YW;9pryfCaTqBen(o zOzJT(PM3r|j(%CGtGYzVbM{UHOwJ%vV)oN8#hXf4=-7b!kWjy-Qr^uqmcZKNLJRPem&@Kvf^%fVK1of143)*x({Re9=+m!~ zPMFk{OwX1Yj$+_J6@xV`n7ddj&%ms~20VzLwVefq3p^iTVNlYk(c<5CiG{~H$a%PI z+|PqSotW}nZm$_kqz8FREWp!u2Leu-z^fr^9)~MO`*MY59RjCh3hsIntB;)398fMY zrf0^kGidSPI6Ng*GaI%CY62#ltOR=Yry|v?0k8IKqeXVfqY+P^fq>t-X!pa@xqV*T z)a2D(D?IU8Bqr7(wrMvU9IVd>a_)K*TNwPvsmvKIf@;74n>*4MR*tRMNn0d0Mf|2?DUPjHKv2oe?5X&v62iD0QWj@Bz-| zT$o!!onNGP6@o{_k)ONu!g2+uhiV$bjd-gxytcOJJoi0q=TV=iaV$0!T$JH^0FkXY ziy3r(2-Dmgsss3@oKHFb}wFh0?3{oP0+Xh@j{WWf%vIXRAG?+`xn z;i*UyP8V4v7BaL#Lmth#4OEVDU$ar4K*UF7fA3}UuTB(rn0z2E3mfK$zYvxEq3Y53 z?gO7aY5kt)-|Wd9M_t;bfeiFjs{noyuxn;6tle(p68h zugI7zo`R@H7lebZyqxQE=?7Z++RN%ohJL=+e8)05i5`OrO*I7+C#~GY1aJNRZ+&Ca8`C8!LJF0lR!!&O_Z3?W>BT`s4TWnizNt5#!?fgs9DK&GdK;IIF z7W=Gd6(N&)C6g5JrgBcV8f;Uvg9h%ib1z$4pMcx7t!hCa`%mL7}VbhA(Q?Gw!b-f6~^3aiu3#08zxy!m-D*v@#~kJI#kC_$KN74x%*K>g;T^m0u(0qyU7UvR zeODs+OYXn2O&bN~@K1Y3+yiY@VvAhR{9Qw!wxkxyeeP;aaO1o2UtfCflBSTCN4O69 zv3e@XAWzTb5Hb#8!9Ew_e@YG-Miuh2jMH0SfWym`5#mm>rj6OR2wo0;^DT8Wx-?d4x|S|&2Zo?e7`A>zNzoCg2hCcf!%is*hXBu<1xw9w>yr9LY|-q2f)h_3tj4_MSS>5r5d$D}FY%hB^!5kefAxjP7r(G(mo4t zx9H#_90Bw=Wjz z&t1@yTX=SF5#-a^C^DYT(F7neDCE+T6yg=*-IOZs&LfHM6woyh$Jk*ogM$(V-uXnh z3m-ix%<^atybO*ra8t?>NBZ2@Fl@|eHz!qcE093hgD`O`*Lr|Xt_;Gr*cCzV+|5bn zsK&SMXD}<=qoxS%!xKktxR8vcjOD^H_b~0rij7n9rX5FpROiDT-Ya}Ldzy){B}pBB zD2ij!r=zD&ER8Xf4tSnexAr(8{s(AZ8Kvl|)e`$`Z3~v@(D-c^#K9VJh-Zdn-jUaa z_rYr`30$&&xBg&n`lX8B^I2$C5`S32Uz|4)jNBBMw>9DzPfR>XY&BN>T!mSso3x!4 zpM@rk_>h~dV7Fwfz<7q;b|-?@2fO3(S^;>-&F_ElV3`GS7jM9%T%a3zj>z@6O_C`p zB4>UoU}!uax%bd44tJap2Kcb|uozbKwheY#TP@bNYiEyRmNU&b(H#XxK`7;A*8R*Zfg#U$@e7W21i z#LvCVZcL5{#Fw8b;pKXaZ9Il7^LoDWPK7|YIK(o$f}w!;qoEcZm+GjuVpyz_M`R%A zMQ(WhF@!-|;Y(_k-J9Vjt-Q&atqS~p$zQkCgV6p;jcH*`oqxoa$3d25cc3PkbywK$ zp}ntrVXd$+I`{dzlF@>8b=#I0dbg}^tA5bVfASQhDRKmI~@7~h)pfXe_&q_R1uu%s^U1NK1!YylSt#l9HF^3^}E@g6J}b zet5ipNSG=)f;B@Hg|nV>Tlb{B{8CD4E-iY(3qDJiI}uB~d{bP9(O5K3x0T*@)sqpu zlS~eU-Pa$WVOlIR{1LpSxB~uMcb*}A4phI5sX+eU)|BV+K8@71GEf?~YZD$XIX=wf zihc;{sV?-pPk9BS9QFnUjub7tCN3TL%)$j%v;g6SoRA8u!fHn9oxA~h$mkkFVicK( z#=fAX?NJ@>>v*^7DNmg@=Is$;^*Jq-82@U+9e6-wH@EZjKXiDW)^~%{sh3$>9LU$v zpkD%q(d<0`W{4vo7A_Qs$v~~3Wxo>EgPo;gn%Bz$@oHtiVb3km#nq;kwgah#9*+e! zr{#f}%q+yrv^c1VZWXxzgtY)Yz%1h#g~+8K2}Pn0)fReWV zeeSBsK^7<@tq6qd$CU7ktWaw5)YQPzYa9)re8!0&>G(PFiqbq`-A<(=gW44Zx!ohC z74rWNv8iYi?Bv}J?509NyLk&b`sLH2GH{ecx0Am2{+v{m8`Fkj)N{(oM}I;o&V2~I@j(8b_!YG=DP`1FY?c$X7CmWragfbJn5U0 zXhnTd5yuvuI5Z)P)TzR@*NUa8Fz`Z4ABi=NP)!$m7-)<=3BrmU=bgvj8G3Ajb!Xqc zEjAE@M`b0!TwYIK4maliR8W{vU1xqTzlT+VM9*NbLy)$sR|S-unbY13hfHa!6XmTz zF_Y`uDnP3%(@!@ie`9BLAA331%AE`^p^Le)2lA<`glrW$)L4laf+1nA_!FqE~}lD;Bg)anLkjNB+bMLhs$n3GCq{tX%_ zr#V9FoWJuUb&0J|Zc@ggKrdfNNFHVjcu~WVB-Xm6f~-htKX0Z57Dwr6KP(UbfhCOr z5^%nTRFJ^QnEO>x{E>nwUj3?0P4V5&=NOqt-*h@QA3_c_x##&5j}h?}{{AC7M>s9K z08#&r47+$I<^7Kg{S65F09>WL-}VarAN@Z7HiE>vO*&Mco^A~k^(*K2a^rwe39#1* zKVkI8)3|GFhi8x5w4-RpGUePwAlE2|t;ce)-&u=&fX~&IJ<+ZEh&4?Q*=ux92Oih% zvL)?+igWT*jZ@THM+GHhR1}+ezL$|IbjU%}{gr&fusv#+i)hEyw5b^MP?6x()ZOR^ zmzR)OH0L!ZIeBssRIofR_!MD=oV1>h;XsZ+_7th8{X{suQJJ?hngK=;N=}u*=5s4k zEy{f0xN#5am)W-VywiQLIIu;0Lc1zvjLT)M(l~{@1fuW*;qnEoOV;H)c4rl$Ch5Ra z4=GKKiTcz!B%QBjY{wyJrdiKhPztOL96gxYF*KXr(`M}XY@NYIQz>a5Z0#gf(j^}X znH8K8-SBnA-ZxLc}SAyvAL#RgJ@z0*aR*>rFO2BH-sjsz1 zAW)}<$U@#~q1UoG5W;BDakzR;iZcN6rF!oTzKGxpS4_ebkI&wXTO|9n3t{Os)3^{% zqjZ#LeU}3_z0j#LAIgTf4>|*{umc81Ke_lYt0iWjpu2;M>wfori@Cigz`g|YNYYPp zVSCdDrmzvcDxstAg|mbA(aJ0b_Y#ad*Q( zhAV} z@f#-1_+>T{p`UrLdt_4Mvv)`%zxUmvg{hs~1a&mSiEOzNzJT*SMU7=vA81K&9h&KyGvAa45_J6cvyc>5MAp~Wc;(KQ8pXa)KRo2QxmMc^GcFZs4$ z(1&5iTgK-QY6}sGHS#@QFtegibZ4tB+EZj5?-xVoJRcq{*(2>CbEzY98 zx2y=Jm$2p}vK;7)9(tVvwh@?SYgZEN61esJX|O{r3V7v}JKD@h`pt=wLJ#B1dK{bv z5Z=Vga-4>`W3ULE=pB_lTWY{6yGs588iagne z0rT8Nlqw77F;3XpJ~kU>V}1rd=L!$eh_QOg?ac3?_W&FdM}};$rW5s=n7(GYMuQ$E z$Msq7?kF@|1zFZ@a=s2hf6)^RS;1{Zfk^7XBRQ9^*gc(TjRP%24D|=X`$l9P#y#7mn&Ej zA@7zK2bE%y=m)J%sO58xIyCk=HTxg>{7}vjED|cO|P2{ovj^+UFVvZ)t zq71uiwwSFty2?aY2nDU50ut!09lhkMB_>l*Sh`mN2fKg@ZMxAtbhn*75|2#I_llbS zPj(4|Rsb+h4HWMg*PB(n^Z8VUrkfx%ZH1N@hOw+J)toe6!@sVHNE0d=v{h-o6p}e! z3s>!KVflT8X#}RBN9*Hjt#ceeaQCjZJq+CoFIkJ9p zl4+fBC+c)JER1NMh`(&?LmHSjrKg&+EiPDtc~sFi+%Fk|xDbLiApilZ+QJz!_VS`+ zjSL8}A4Sb(=N*I%B-Zi6)fkw4Y2FQIJU_>&Y5sejU37Og`{8Ee`ZgKVGk!ucfctM) zTrA9^Nm&U*&7)gHX^r9!f?#l>qOP|sS9Fp9+74Ebnhu;$z@cC)@Phjqt?Hh5q0%9e^a7zj`2H;iF zsR;jgL;&XoQ-w}%a|vdD+ROuyECT*=H`v?I_k=mefXgw86#) z61Hdiaj5vK3CXmsN?%G82h4hC_vjhNt5&dwY)I&fN!rL!XvP^Q95h+IJ62he+fr~j z^!@F{@&L|Zf4;ygo6z5)|4OF|Fkm?Kn+Q34Gm;|$p z!$9lgz|1Hz#cdn&IF%6T@;L(m(EEk4?cU)30@(%KFSXG?_ElW&YNB@37sW4N7ora` zqD0l#U)3#hN8h(8O&E$j0>HWPV0<>Wda3gHf(U094Ub=(A(ln~9ie3(E5KyXv^A}S zlJ%$(Z@Dx5vCIlT+lzd@`5l?ZNdBGg$-J!WG*m0x(+;6c-r+!E&d@2<1JS&h2_5k) zrWGKYu!_T_QRpzw?3?e-+1*mI8yWg)>D|1`ke`0_*ey>L@p0_V9w-htyD`Hq-|G&E z0*QAZ#;;RL^-`!8~o$6uM^#IxmV>h!X*`4DY#b)3Mo<5<0k68 zBS`1f>h~iMIL<5z7d_ky5ed_!p$of97|EV->**#sC>~$AjG26Vdw<)kiR8X_FDwc~ zl=K%+o*yy19-92k9M3j69_6sK~;%{i0iGe&>|y66C^odSTDM6 z5Y=AEyk^6Bc2+2K1(@(s%}hFY$DE>sDps-LY2mt1BKj~F9S`ol#!dx=V;#4JT_P3AW5CvQF(=@|?18&*i z_){mmnt{uW9LdEk{0G+{`OOy&c>-45%*N4K`Mwi}KddcDfgMi+mVZ=em(f3=3bX~@aM4lX~p)UcfBnnFQ}xi{6N`~--dZ9$7rEI z7YE4bxownk)bfP_e;+Fr7vcc>d@)LmaRtBm(~>rIs4zxc7I-SVf)gj!;e)$4v7cmd zvc*Op|8n&!H0KUbZ(4nz7hj=J;C#ltl^HTttOS*y4yJ%r6?c>*rhavcHmXoLLin&r zaX&!9edLJ$6yEMg=$Lp&v003?-8ppqub=Y|vgt0{*PZ%x?DXEG;0G7ltgE0%+*+J*5ftrAB@%6}keIG66mBzFlVr7jSZ9^I zL&G@C-9vG0)W`#Ee!jKH@A{ zC+cp=R8-hHE>MqPNJ1H=p}D8f-JMnCxj1XQmj3o!<2HP%4Y-Wj$Ky5Tk4Xg(eK{Wf z8|`-|DQnG;9>fc#29xlW#4^3q@hiPUHNm2#LF8klKVWY{6WRCvHI+}2$R8k);;;bY zu$EkU>cEGwc*&6&Rq69BBT&$aF^6^{#rCzOjfRnQUxNDb_6u7Z`MAKm27RbwvociI zk*~nN#lmf}VSphg^KHr- zY5MrlYFfNN(c3U_sKn8AquW!+@(~tS(-C!dmdGGHG8g$~A@xsiEx2$$!2w_|5syT( zgP6YXc(yK|$khhfs5sj9<@dmKLJn7?daB!7)I2xsBAfe7b6z4Yp>J_o}EIU+tXF(v&|5tegJn5s&uFL?< zTFY4d)^0LLIOAciF3eEE{VG*N*?kWFnCIfNh2POzx6C(!K$=d5nhHO+$n_Ranndp+ zg^(LcO1r+s1+Pb#UyQZ|{#4~CmWNAfl#8C5H!V0s4oTJ^e&(wmuTF8RlwffmYD{K7 zOb+w0tum%pc0~ECMo!9du)U9mYMBjec{< zVb2E^Ah`N3o@1`@AI_5D8qiIO^C7lUYon3|lzhv%;9^vVb+L1rv(!k!}~=Zi4xD1812mJ!xCBgEJ^p^ z!glGj74XW&b9a=K`#?~F!E#eM$#ffVRoWM#0_x~@FBnHlrqj3|4^QM4Znp<9 zR%QQTQFbs=i^BmK=kJq1Cdt>@5$EMWs7=@Y>F>k#_7MLciY1pJ%}}eztXrAlm^e3V z$jv_}xK&BO6G0joBe4lj$?Gs9_i)`l^0l_9*|8Om$&3z0M`Pg1bGq=6=?YkFUp&D? z%?~5l+t@`?V!)CEA~F(oJYgF%h1sBrl$q}`5;A&a^vt6Wgi_I(#x>u^g z!E;D&sY|^aKli&mUL?r2Jo%zX&04T1uImF|4CaQMwtTrBDt87MT@Dl{;esp14^Kd1 z;ea#}v=>G>`F#CZ>>^2~YyVI!t0sj2z}qGV^@D#$e?om;!H1(7Fd#05Z6{b-k*6$x`BlMrj_c|aKc2_W^gD&lq;z;2YZD?+sKH5~>SJGLi}qq?C`$jG zI+AvB2fc;e#d)$~P6^@_RvH(9^FOIOaq#h{yNCV9iGHbyMu`18bOgk1@;J${?+ zw)3P9YA=sn$tA+3pq}rxq?PWUl^@_5egH3%AvWW2ihmCEPP|J59gx&jfwe@SBOb7G zmyTTGL-igYjUQuj#mb=x%&73 zUPkdrMuW07+|)&r6jgopMVZ*~-=BeUKqk2Z#@zt7%(*noKY6g*QaV*0r1^7%#<@cI zE=QM7C6R#8y!SpB1G6}{{O=>qd1D-Ze>e3w3S4Ay#d57MCv7O5U!^e(KDEIx0lVuD zy-XjoGEvrvn^b6x)ewVh1;33hwP(+9Skr!eYu|~+NN5|J(TWM~%Ox+M+6s-G_YAbA zY&!x;uB#gWNS~Jf%5RO0=5=<2q@{&HXS;ZadrBwPoBMRYTcpaT7xq0m2(~4pilHy7 zO&RO!r2-gz9bAB^iY%UeHJpj6R0Te#<`^3~F3L{Vj+nj65r3LA!ZQeg%3ES&6hyv1c;HA%oLiRvv zB}FtphX6kiodd^mAI3qGMy;7t2{V|+EoX(ye2@dVxe_vZT%5=*(s(2)1wCEYe{$#a ztg7@j*iKKlq6L-4!4~)v9kLml0v4K?#KvX54};F0*+Zw={ez6{nYSHC0dTi;NK!mF z9=p(BO5DYeYNBMkwUz+47NSA?I-vKORhf=oM(@O!%Zm9-u;g+lT&>{o-*#Zl|AiT8 zuOXKg4>l`_t&y4#@DQ}uPC@;=@YS1>mUj9ZA8+T7oqn*rhK7SbApCqIBP>?LxWnrY zXJ>`oMN4MOjn=70lhN;4^=<;Z&)+H(_Pa_lF%F$|!~s=9(vVx>BKaD$^%arZ8~}H_ zPnd0=kDIQEq`UID>u>)hIVC*JQA^jrXb&VPW8Xm0a$j(l&t$SoqK(GWVCDH?4C?oz z(QdheX&8;ovGui|1e!nho(9&>w>U>3AeT4<)`V_3x~&Yr=_UwZ|1i~H{bz~ytv^&R zk=$qc*yd$w6X_({$VoW($>4;l=>Ew{7V+tlc7NUmWH8k4f{ziLm& zEqC!H3=U(huR9*S&Sm9yfbaT{C@;6Tfg}*=dbN%16tz!k18XE`Ba8c=pIAu|J*lr3 zT_Q#{WmaEqg|6xE(#de874(YQz?xJc-UVbobsv*CbwXB5zjLz52rXaM18sEeaD@1v% zRu3)=;7HDSnPeT}qZAw_X56#Q$iBP6iS?GP^kB+pjSR0_^^CZ0UOgKUAG8Y)5950m zt^I#iM;ZUc6DBg{3+|p-y8KK8`=|XS&x}DZJwmTa&6LAwx=!?2v-B9RXUmL)vZnf5 z89Q^S9{&4KkfQ7^FBtGzDTebUdDT-t;rWAMIfd>+!>d9;e>T7;{#yl~x!3iFywoPH zm7ww%g^ac;@^RE%3|fPDjzf8MdtY(8NSm`BNOBJ2F?V|N9##o$x6m9#f_W(eP)aC0 z0Pg0b#SD){6ON|rqM17jH#8(X=%$bn#>#SJsdqFwPghHeShdEQ zjubEt?B-^D)H8m^o5nT%uBt~Q%;~iFk}pG|v!FD66~^F|xvk>f=2k+=bBVgcc(aCm z!RNGI8Dy&H*%iM2Zd7A&4{wYz2T@Sm!M$gB0-GK$vJef_Z^{T^T0n4O*A%qXL&PDo zOK;l46Att0#2x1%ZfR1UP-o;`0_V&+PFOjfpo{`x_v#d4`u8ib`tBa={f@`j&{lVJ zW%Eg;+@RGMUJ+SUNX&8Y&$}_*0lrDDtBZaK0N-It1h}k^#9Fg_PzOO)MYcWB%1pz` zMhl7`Bkxf1{==4`6BV0itT6qjuMePj;oX+>8+%+3oIpZ;)^Qe&^KkEQtHEn~FZhL70!jl%d5_N06os^ukj(5mRnlOlE z9L#N-ugT&Nfxv*+49?ync^+|>gDv+zg$gQg{IkU}TClu(UMqINW9cZJWqLR54ucJB#^LT*8DSBMRs%uuc#VBJ^NP=6Hx zno1i)!@HW6t3BleUA%KXi@DlcbS5@x)AgiPMK=-M<)$}Jm##2m7 ztuU(3-+V@?Vlr7s&3qcDo{VwJGDmhgG{2nAX zg;Cu&h82(|12U}I3m|G!L3m)W%j8bd$p}5#Q5N<}a7)~Ssl;!U$HZ_V8xAL74Ed(| zhUf2Fla%!{1`$E+!Xk*Qn&@Ag{{%23chihMuS!vXk24*$Vqx6)aV?4mgTpG<+E75) zwkL48i{gZ7Z+DA9tXeMg>@=6kJbQ+YmTcNM$YJUWR7z?^zu|)x#qPiTNg2Y$Vz`61 z0R;3G2ER#)+B$dE&G3F6XN@N6%u4KY3JTx{_h)};P;SFo2bljIN{%mxZzkhTnshiS z5G;0C93?4JeJSR#+OEZ9#0@p_l6<`Yk=NudJdKUv*nR&ECbky8;tGMAdSnQ7eCuIB z6rWt^3%0eprbBjy0$ivQwxKT4(#1+%R!?K}kHvGgtiMLj;u1LBC9XFhdW%GTxoS$= z;dN~^ci^W#oK*%kW8p;kpjb(NX!RSohF%uf z-duJZ=13GCBYo|fL|4mu^cJP|mps&$Yz33smGffh07m&&-)tvW@QRZfW!`U0ZE6AH zr4QQ4>j4*){xXkh2keMoX)2!^pCiH*f+sTk;ip zVH;LJeJ#ad3VHyb(DVwtvEuNos;`}bZ7zMMFid! zH&BhCUPl>t1dwJLgVV|t0*^X^VHtXq+%VP%x$O}~qSgxC(iV~LPFn}U*=4qP7xr}y zfWj5hVG2H^`>E0dhW94`G2QJ@0aqrE)_92 zU>u@FGwp!D!?dP;{RI$Tgc2$3yzjU0+vv+gz_l3mfCWrVl9=tFg;r5_In4GVJ1|Th ztPZi%rB8`W8wL|tw{u+w#|{B~fXpI+=>ihPLgQd-RB8Zjy|K$-GGQO1*i2qEf_(h- zUFNsEW!Au>b0J5wkkQsfo$)XqYBJ+yyB)+#D-wJi56k%O>-iwLOb+bU4c5&|3Y0X`xzVq3=S_#M9C98rg7gO};NhK<|&j{#Bl29st0pME5p-9Q*48w5sMxuIlg4GE? z$KGQ|?o-rxDCT)Jv_Mk+XI_4sl(H9%wS`8TFOqulbFn=H>YBta95@+c)S>9R7<;C5 z5zR;0@c-aG)@4JdKe}K5;#4nPfFdiT9AXjn1yS465u4e=mqVi-0O3H+!L%q^xKpz%(?XYZiHoc;bK4NmGeSZAiSgSM7IL*z}kTL)J#{;HRjn z2u=6qJ)N-E{jH-rM=#H{Sy;VbG0rxHT3CW+>6dx4my!e8%n?Q8DAG*}BbrXItK&EdeEpwWL5x)YjKyNpD_d&FO1*bj7QqP4i$0CaAADHxI`>+?BO|gf_7^ zJEKL;?P{`seQ5*%s`z|jo|l^gq~>76mvF5m?CkfOnn2T8Cx~I8Yy2xLrfxdVq{#=r z0sqZx)D4((X%pa!oW2w<8>Y}PQJDW51ycr5?T0SafY6`rA}ma zq2RQkljoS`aB*rSiBKi^u)Ga{G0MKjq1&L^MxZ%_H5U;u(IXQam7DsgKxjg(&)wN1vsIfY9VIU!+5-`dow_o5t4%&z) z1XIDt@2n?V9P^f6k#vakW!!6pFvbvadMiEdU&g}l>l84b-M#RG|1m6sPmj%YwYb}I zS#b>yJ!tK%(B~18>9{RQV-ZCfIvchZOYG}K7yK)rR&JxpLW7$;s4FCFm`9rxkQIbZ zxzfVA_dUsA`y$FE272OL2pNin$W8_UFPiFs^pgo3*?!p%mE9|v=L-o587qceKiJ1L z)S1)O$M+o6?a-LrXGjhnftO#qTJ2Y>T!&^}wolEe`O{Y;Nkc&Z6 zi1ZVlhv$2ntrA1&lcL0g5fe0`)=h@6FcluA30im`K6qAig>PO=3 zfMdogmEJfR9}4mXYsVhpfrqFIE0(1gdDzB6^bDiN%}8h5_~y-Id#{P&!eutMNl3S( zHGMXB3l|N|lB29YBcbc9C7**dlGf9>>TRIUtD!VfphdmYa!FWIN0h6W_sHz7?thqd z2o>&~K9>&yz9Ov=PNiCa=e)3@ph%9bC=36ak5f>rP}3Y<4FGKE3vD~&`zY;6tyKYj zHLiN|tjb5Db{&`cjfv)Hlg}mY6}qF0AoSWmzpN1$n2e|%*B($p`9CT}?!6l)kIrm% zG~A^#z5Yl6m;2VgHlldEY7ELm|5z{&Y}AA%J(A=N4HU^mv1_cZ^Su~B2$k1MpsVBB zmjWs#9*?L-=3%KrE;0wPzCxc+g+NyC$V~dUxd1?>V@m-j}>Xon&WZ z5>f2_+ex7UGZo<6VgK_oqJhlRD1W}GyC@(J=JQ$&C+m_+&5Q|T#BRo}RBN;UVtx7IV+YvW@rx={MK$$LFxs6-AvLw-I92`_78$;C!U#6A5*H0cBlB%V2C3v@abWQ(phWsscn2V@N= z0?`wN1M)7?Oa*q1zdLI6Cj~!=bU2=|w|20=65CVwVaZ$awK}4xEr3R+reYVPJHkA8 zQ^r8e$Mr=a!LL7)S zIu#l0swuCfS@djpZ%h!Nt$e8tq+>in*A-HyZTF11L4pLsc*f+O zoQAR&rXd)o6~iWSF=6Zll+I+z%+5-oPuCck)A{v>-_u7*rhS1@A1x*-#(#O5)S~fY zXy^fgq5lY69!A#Yv;yuQh3ysSlueYr>+N`1MzN$FRp-XttsFo9DiyB?9yj~42h#0e zj#3@ciCnyGWUAWD;npo0+Z5C(tO?frkWd8Qr+t8sN_i(VMNhY7QwwvHI-_DOq?yu= zgw+0g#KL=F(_M0lK;2z>jZ|rfV+39&7wf(8H@MO<$?WZmUh=v&%bC!ZfUFjY-(FO4mk<8f{xg2toZ z`QR;`*vVHjy=Dn2c4c%Qo&LIWsjjD26_9vjp6(7Fa8J7bZ#74=;}ZirOG%l_;5lkF zDBs5V2ETxw0gLf(w$%awxX<95ER^C0=20w1s)= zD<@@=H(faTu2S;2=qUOeh3pQr2cCVl6PGueAi67)C+m2Mz!rgh&O#RIUt7n_V-#zX z8->*_6pQJYu@0=r=ZU9Xxt&_r=|FIjg#|b&hxl{K7Z5wW1OU9j(e1dVfUqvNXY>A|DmG3%D<{@8o+}>P`5v_dAXQ)aeLdV-5Est)GbAWd`=Vf}$->|V+hx8_h8@Y--Gl2)pE zPCu}bqhX}WyC^{>9=(Lx{j;Ou{&l;n?H2Q{tGz(XCVz%PIhrSZ^_6C@j|$khCbGcS zPs_#3%$emSnd^Cr^B|S0qM*aRd$`uqJZ#-teD`(;?%$FJn-Lv8f8Lw!I|<+fIsi(n zA}$;wMA5w*i0|P7uIxm(YHULxG{G1CBdqRr+Fy7H-#pv;{89p=xBE(aOGz|$54qpA zUHJAr@UqKQQ%r0xxzVF%6Ag!1&U5inGb8zBD5ft-7M;p^>!SeLY+Vju&O}XNZo>Ea za##n#@r~{+pRfd$QQqNcsfo67 zr;^{jVuxG%XA`~UX9)&yPexpox`E!APu1e59*!6Y#O+or&-E+IctYgqLY7DX!?KnE zS;lo(`3kXw``EXlbZa`8n@5wy5l%SA7km6Jx?zDq6LhU$$Wd|xW z!MFoQZ^{E^-Pr@vw%;{FQvE)FQ^o!qrdmx+u7y2J5ujPwPCB$+AE};O6??1nIe%nJ ztBDE-c&2(mPCw0e&{-)1(|Nb)gH#g0NnaqTSAGn&-v+vw|9ka+r)y0P?Db`!u2XlR zB$U~(qv|3B&{G-;Xja||b1|=m1$58vQ_q76Ew@)ga*Y1aRXc%=#66^y1=sw{B-%Cf z@{-=`!rqMdXu2~McPJidyUR;KCm+hp1&TOI;_WA32~gA~mA0*_$uot8l7$gi9$V+C zc3^`6G+_9abkii1kNbrb1ImR)jyGax$71D2E(a2NTeXHo3Tj4xO5sXr#-lrWqg5M| zBf0}<$?SnuZi9faD{|GPxe9+00@Gm8`8}WjnK|9XA-R$@%pcL*0#ywB+;+RrTH$^d z5)^@-fEPN|JKJ9h5eZql|7D>t|Mi2@B)~9HY#^%fCFE(d8BrrPQTTyvpytY~gE`?H z_Go*AIp_$JJ&|cS6)W(U7J)VUM1vM}W!$w=Ri63HL`sWTV@nlhqSpvU=Cy zmYMkDj!HB`Bz-3*`|%tS+rACA7ouH`U?b7g42lL}GKWZ^<16K?q7p>cXQ^678vkrr z&3A*R|FiDw5=FZ$7cPpQX5>k7qQ8_bw<%}MiI1`Fe+0^K3swoNEP=)4&VxuAy4<5t z-J)9@rtTyKNCl)O=xyff1Yfn>x)C%Y><8*8?q@L8PaFiP_!4WkmXqVu_L-+Pim+TEwUAoro85f|BDw=TATLIM4fpj zCoygxMuipLg@QEn_#FK|9^BiZ<1LS{AWQD7O!FIoAyW;&QMv#;5h|Up#fFmqW$3n7 z00g&W09FufLL}=`Rer(fN!`y;*!0tz$5UqSd9JG?U9RlV8*5gJC|H?5!jX0QZN7g= z7>tK5L=1glH_zh&9sbMpWX2nx`J%Y{QTM907|zYla@x^ylJM6VvoqhB)>huf#G~{+ zysn>U1~wsm;pNZSJK-gJ47e`PJZeMPK`~XufR1+))+x?PH5U;gPHzmC8cKF@{>BLoqo+Y={45r{3xX2X@qPBjk3ZwS5Ne+U-Xw&3(K;6$OPs*9)@$KK!gYN zpULDY{S}~2#})Dk5*p6+VQ_VwqPKFTp>|D{qWAS+qhTv@wmULEEuK#DDFg1b=#yZb+TJoGGiY@Q<JF{iyvr|Kxnr~b zeIeD*PoKjZM(Z8(^D(ZC@lV~Yu^y4zDT)j4a@3{u=JpsckS~iJM}d{U z@mnr64$U%*-!+7jSuG$(xOzjH7ptN%YR-ZDwE4KH)%O2Z59T>mBe&`I z)jxjsxt&Jjg&APkh8%zQK*E0|$G4bnJk})qizq9zpo7kECq z>}jPIr&+!A+Q(qz!5T^BZ>UP{5`-Zac8h@)^+#FzDo){Ru{&~WL-Z>%z*YonHg5?A zl3Ho-?_^R4=jg%6W>Pw|h0<4VF0QFr`qRCbNaMCEjo~nsEU{HI1J0I_U*ZEWgEE52 zvbrH897g7g>5H-bNk=Yb-v^C;!dyq#%CT2YCsZHea3fz?0@qR(%{fnlXDe&s(!L88 z{3K^fGw>pVrRfsTJ<+Nv?*>Y(R zo&qVVSLA&z{~AsA1D|Rm`kn(963~8s?H?FpO%*W_aLx(f2@-1v!W`Su{l87wKv=NX z)tDeH168$pNPYk_K+M1MjM{H{^emtMvDeX7W0v|mbTtYByuCP|GqtC!nr*mv`vA3j z*}&!{5c;>j8~BE)SxbMGuieeM zKFd?^kkSWFB^9boHb<1m)8mQZ>^c&Cm##{oj|fC1rZBcKQB-Tic(GRS_S>5tU{&hI z<@N>E*0oE4BaQW8OOklw6%X)USk*HTBav}8DNHt}x=q33?+FLGGte|Dnt$~?vwOT+ zSne3t+^J>$;vW{Z;3GD{4ZJh#8hx%AK2#@xM5`R@4D$koSW2lJzDi|obF2G$6R;>N zs_4}0rNeIm=;AeTCqxsBc`ivAyGHuyJ~P2;^1cN%j@}UUR-WNok{@+bFQ_6#&fn}G zo|-)%YRVNWE6flbcECRZ!-m6_fHbEu#>_pZKg~jll3iaXwd%OQC21UF?YE8z(LI%d ztAMQMy94E^w*e+uNT}5+k*H{Z8)vJ6M7z(;&CMEI7Xa9SQ)SQl)=fVOklw&7@2{_P zp9Xby6EdT%k!2b7=v5>8Ew%R#v76yUBQ-A3@3P4K6`46We_WV2enL>VJtBCX%>Gli zbv(d#D*MZQHO)Ee|23xo0P?`cTtbekstEw)xI-^4&93ZJ&C#M8C z>`aOpopilkM?zN(LOwd(%KYjm3fDct3x=eQv-pU0#%Z>jIuzs}_-rVIr)UgF1O0A>%z!t7P+>QD8qKeBIMW)HgQc$QhpaLvQ2tHp}r7-lN zL1t>>n$Qo22VZO?bf;H1n#*Dy4{{w|(vp(nB;x3|FTZ4VTH*oYQ z&U#yo2LKspnVfv>={#T9*h1{o?tb&TOQ?4Mz^d9qZvj}{q;X`Ui(D=&-ANe#6>rs$ z*Q9t&-%ZMq1@kN_P6+e4>t#?^KlNSglu{hsHFMHyKQj0b17IsVKKTgxzDqgEZb17B z)9y@jPW{!%1(OK$T7{NThHU;Or8h%2s$HS{MB;ao&ygr>v4l{64g?gGqrPR3UGNDo zPRhiyhg z=wtbcsN3(yU&&O|g6$IMp`#(?dPP(PLQ1s#EaS^2CBCt?)4KN$Ro_m#-V&80^f~|Y zKD|$v^=_m9YePQUK|Eu?RRo%1Sm{8LKMBkooscHMmg9^+Niv!!N|5-MC}*y@oKW9$ zHR}w;l--6I1Kf5qRrHrkMwi$>I^-%N#j>rAE2zA-+U!{5xuEhDJ!ue=W(20L$H{Uw z;{bB%lW5Y!WO74LHv7UeQ3#T7+wpbV+KAR!FTdOF06TUgi1U&->Ec5Dx;zucQ`>^F z8Td8+ol}g&VyM*U`(02LM|Zeop^N z=aT6gulf=6!FeYF? zgu)8(k;mi*I7|ESo=BLyIGJl;(3s5bp@kjmt|xpL74TB1O!V-bm~qw+lYgx+Ti+|R zNQV@4yRHFq{pxa7c=AXP?7@|izzdEzRBYH3>;k|XfD}!#iX%IE*2Mz&HW~n+aLpLm zJ?VgA!UTUhwm>0}+3o8ki?C^Ur8sP^?QB_biN<8u z3JA{>C_=8Efi9x$*_gQ@=kvg*Wbs_Hww7*`i9%4*yi+rBL@<959<`?z5!EP49|Da? z5s8AYCWDIe&<(@c#Qv|iedqpK2bSo}LEL;^>KLAPvg z3uG|dTjf$0n>o={1n1q9V3Z5#G!nUtD>C^NNlw`0NrV2IFFvjXZQgdiG%Yk0t~01E z0%Pj0HHsZI+hL||LFUdiv!-?37QGZyl_uu-s(sksMVUtEJA)vW*n&G-Q{PoexbBUv zOYff?PK~3ypgtq6FMhF{z%A7JbPICJJKDzbtHTGE5K|9l_bF`nrkz7Az_?b#dYAyu z_%mT+g74y!&BeDy%wDn)Ss1lPuP0IYnqtR?E#osmN71M8eI)prF0+OQt1hdteJ549 zx4sV<#+%U18Fuf6H?o64SFl15DC6~ceSX0sGee^Qm8OM45GJuu@z0Ql-%tp z+GAV%m0F#{yDu^Mbd##8O!qa0gW0d@)dAlsf6IgzFR06YyItcU9yr4ehvanLMNIXa`3Cju zM4Cu@!+;YM8%FfpJAG5Nten%Lc3D@6lsyfZ2uqlH!~?%5+c(sdLu9qX8{G+Mt10*g zRO&PzD|qZ~zXa$;^{JFgW8$Je)*g;YAT!rtSdp2{JIzic!~kk{xkx+b@9=QqB%;Z?{tT@=7vuIR3Y%)DD8dDstwG zN=1B6RVp9DqyBb(lLLi*PE+^LXuf9TTH;djb)bg!`@7Ma)t0u_U|YbI?}3)J2t~yfxwM6Km zKVbm0at@c!`cY?#gf^;gZ%fO4m8Hb5EIAg|3{;8e8{sP@WKnG3a5YN&71oLPHIpt! zcopHMfha}}@8;hG>NSHzXPE3RQ>a6X+3V;krZX_fmDoDJGdyR!bq32Qay2M?7HFW( zShIb4MnWz~oQX_KFd{~8NTPmlktWkwul+c<2~n71)GT7DRRmGrZwYqAq*O51W2+-L_M0X>fe8w_DCaxr5yvqmJU zQTCj!U?8g9NtQ1DR8S=3{)z{?as5TlJ=A|963CY?zOD>=mJlsB4WTF~s;%cQ%&27m zE0m}St=Z$<&<@K*y^GEqB+=Xhnb^^4Xk*6p=@%J61D4#HvL>{N6L;4p#fxB*e|(6- zN)_JU3PT_Em*+~L)m=A?*evlRM{g88h%H7Q>6M-H^0s9Lsj)$R|K}Vh3Vw33H6z4Yw9U1qq;p^Qf7;N zq`(5%AQ|||aj3es7;RMg+-W^CX;+O)IJjXscM1?2YmObpTMfXU5Q%U06|(D$&Qbm2fA&|4znCBt=Y zLPA(g-(w?EiAm?hoUK6+8o-0R7VFOG*F`g<2)~ugqXP!yIboA;zQ< zhJyt2gM43S{R)a-3fu;Zhr#?}6WxjBi$mJ}!vMvJ2?J9}-(RM+2e@n|k@k7V0Zr8z z#1vIOSrgpq?;*$gWWSP~)aZ&MB2p-ECK>c?LqJSbn#c94<(6-O1G&Q79LV;lB=`)b(haC>bdQHM6O`2Sk6|5&4fskg z0?g8C`SFlvyW&@ESJhWv;>$h)ga?($##y{ftCt~NGG$Us7(n|!Rg<|GX;1WF6Woia zp^np{)far{L`i@I@NVRdxjAyOoka}=!2j!H&Fk#ib)_rRoG;)>ZC0=>b(>%NUK>x! z0oWzC_o{dtBh2PYYxZuWyU*cS^LE~vA*AVzfPGD6a{KV`yr8q~1D6R#ngqQQ8zOM_C_E~WYT{Em1{c?)9+rB;lw6&n;bL?1JGNkM{yn6&1j3aYxj&M3X{bE z&R$NyR|(RFi9>AZKhQ>qvYj+{@t}%gr%}9Onk0l>?QfHxpj-C}HFZZ`aiLTEQ zI<7N1-S&tGMn;R)mWdO({7YVv1`tslXEf}Zph%S(Dr$(XEe#Q-e?X555RUjC1Je#lSZqK=3<~!4_F@bLeX^RFxaZk={Gqi!jm7`sCjiH8cOU z=@dHHoH)p6iMFRl5yT-Jg`BUgZJ!YjKR}YGFN^^byQgf9_sc^1)e4U2_xqlb|T#q+@w1Ncg4ZNA|c zfr1YvwO>GjQpr8x1Q#vC2rEy@s#cx!NH6#QgYo;l^+U;_H3ENCJ<^)eGEcUWSUq>k z2`%B)s9;DA4bZDF&eiI=no)!gkTU`dvK4v13{5}_u1j3|6^1;Rj=doKfgD%VE@J-I=!r$O|CkFtp&zfhGWyQhN!MQD!mhq=5no;qDEH+t4j=e-fFu;bikGT4JSLS0 zT=0;S*EAw>&>9SCrkJRX&O%tdkBQv4{-7asV~_nlRiEb5>>6I`346~{tQO=n&o%A! zIbCFF+`)n~yNzgy-jot)Q;$%?!@+wQV^^tL2fuuIt~#Ip2WxI<1f*mx1oB7x&wv+w z`TiJ^y+@-B7MsES);T5HW~3+gIrfFH86hG04L=;gMfK~6{^yW#my)o_n8-ZVEVKvItXSe;w3B`o+GZdZDfytgIjGsbno(7 zCrN3tA)c11lq;1>dE_X+tPW3LLtMR9yVEYY#ptwPNbRL({% z%WTT5#|iw=&W_PH(73R}<9<%y9KC7iT-lp6rYDbBs$j> z-uC*4Qu|Z0dH-1HL(QRVru4cJ$Il+P{D50$N3W1QjkT{F%)~<=T$`B}hVUQDGUhZ( zj(6f>-QXM1$|q!iH&i5meC?~06}qGe8uvRuZ^!fPt|hrX#Ecp2tp_9N$aA5R33O+i zmW1>G_dtSo{}&HsyuKvT$dGn&@goNdu8^f)ARnrCF^`32oG}?V9YcHnbJrxayiroT zcmhJ-tVw$xxG@H|U7fYsH{LxMZ2uP-m!yD_&0VJUh2v@9vUxTTjj63du{*!FQqE8I z{~U_g;d8DelW9)e=&V&$kJ8hd{G6^?K7_Yd~S@q{of_(NOo*k&aHKU7# zjtxQoF87<&7cVUtB>L%74+M!js+X_!?6vqxMq3C-`I+qe#;J-?1}8MKsPIhEIc(Wk z88HG>D~BZY?CV-D8AKy?s3+Dgux6-*aj9t;zp_EMTOn$4pX_Q?YK{empBWO01^eI6@s1rNQ1CRM#O!?y-9w>Icwp+Q}raf~!+!=s5;kH~t(2Uuq3MgjrTfdI&wEdaX4sVQ=YW__Fmv9brRv zHdQaSx@V-&URz*H6SJgKIG9zDBIT=lq^EjMr8dz98s6#iV$-l!1l68)%cuOwhU?(9E#LDtY z83ocidT>OI1V!p&*UL;eIMd@;EzB!iEX9`*^(kaUIF_v8)u9Yg>kFWvC*8nwiSo;1x!D7izxVI#DQ}D+rqqk2ExZwYN@^u=Wr;S!4$bvZ4wY+UO$-L!PD-pia#|l2AL$kl0`wsSFLQ zc53tKoTb9mTe~ZK1Z$iCCPknVG+c_M9>ATtPm$&K{QtXE^LE`BhMUIiDG!D~18z;$PyDvrNECr-0peWpsnb7-St-MsK@AbHst)LJ2W zKT&^Hj2+A87-uf0b4Ne**PwkMNBf(dCxV_zTL9^Lj`+?A?1`;MvdLQK%2-{Xg}*L;e{p`wA!Ch{?3@y z|Lb?(ipH(f?Jx#vCjiO%@H)@QAccrjk-}Lc7D^I^u*^KVP+9)7_ z?)IaDhOf?wq)fslD)B>)5oeeep^>X#&aBxh2059A_|`EHMdsL@YNw2DQYBZ}Q- zRCTsG+7-Qae(r&xWmGs?RUx+vVG?C7+arF!g{Q8evpd~U&bKM@aG{;C##oiZXqv6{ zj2Tg$^icm)wrf^ohr>QKEA!A4joG>rc0fe>3NP1wxg-g>boyYHzVh4r=5i4bxTK!a zNsw9Re;f2cQj_SG=R^iXgb}?%2$ykW_F+V~9la&=42s7^V!xH>A%~_7m5cjGU@m^s z^tHbf=8lo|+M`GkIhZY8G0bQVFdWN#rqAlT-?mvM2mCxuBQw{Dvncb_CxK27>mO#& zP(u%MizY^F{=9DnfV;X+?&?X9tp6GLLXN|^-pQ<_(SRl!Uos0+uP_<_b-+c7bRK{n}@^h=-l)qe{3TwE{;bX4Mht7gkl|IL_#I}r!M;{fqjrXl2g=d z)cJasC+7wR^EyJ3zDNJ+Og+AawSEdptiz=8dB87;FNX9&BIX}zQmGSCQ=Pkhzb8dV zJ~g$ABeIbdW9#@P0^7W)wix~70GtRd%=0=eG06vwK+W@*Ccdy(T)k`&smXK>(S*96 zc2x}fWayCf{Hi|k|0i=0GiC!b(1i((5pKW+yQ~8Q2dtLl`^+1824SbJOhgvB$}NVVe^7-{zO&$*j6y7Lo|Kt z0m(ovW0oXTn@@>;)`Xf7hKzk6^kDA_W2d3@s1`pJ zQ62S8gWE`~y6FC)-7Bf8J>yV)0ULi)a&>V|!?F{(RFZEDu(%K#e2JT{*W8}~D6One z_FbESkK0<(gF8nAA%8yrf?nurd7d##mxuV18nBC-{q|Lazgs1eYI>KyZ=^|o1-af{7qX1@BS%Ko(n@$uatRQm>nN^Hk={?*)jebR^PG|UN+WtG{@lG$iUn} zo4{FTT$C1iv#=>;&F5b_o6dzVy=Y~|;n+5O35Nk3SO%~Y&8n~c?B86!(m?XTlb@8b zcn=9SN0v`mjdbdlKS$!*#di|I!|1-r{|W(EV;-&FR-2?Ei?n#rWx``lPV>V`^UoIG zSR)cMZpE;hDuWaBIEIC3t{w3_S&bIO?iEooV(xeS8}4^=XS;cEvU84h>`ck(`}Kt% zsL~7kOz=L3!(;$X8~=b_d(=1eGK*{96jA2vD56%#GxHRo+sIgyYS_ZucUpITkG!%v z3E1QLgyCtvqi5WcDT*B(LP}@I6Pon03Kt8@3Y!n~tq<88a4SL}8`6MM-l$!P1c?OY zyL=zSOvYbASg)rnwV_Qnq4IcuD~h#8DIe5rvE3X((&JZxbQIeZII$eQTX4&HXG;k& zWo(RU+i$7?wf20;K`7-y!S}^>X6|p|+OZp(e(0KU*TUH2WnODTG-70@R8WE!HTc6W z2%HOzvQZl0i%G+LbXjk={wv0Dz4QDy^{io4>CfzGWDb9kF%^-^Um`WXdl8P9wn{_qhW0EE|X)hY#7x9(cK0yfzkqd zath00OfUB^Np!O)+cXamX8&jD@cM&J2LmpC0C2(=P{96%S;B2M7ZsqGCsrNN`KK7d|lM^+f9bjF*TquG)K7 z<$!JNNixBS(#4f9*pjR&qFvfC+;^}i{CIs8k@c8@j^_dMynRo(Q8hdAPF#7rr5tt~ zx5-INwH=8Jsh9BfmQpt>AosP!<3lrmeYixb`QoJH&Egne-VKK>(p}4yP&$!j)Lqog zW?~5E=vakT86V`4i#WUGB<;k{3w4Sjd~vY(y4kXygD$La2>oVpQ3O;*>N$<0!#a8y zWJGAu1>)iYb3~4)D8YH7W=EWKn2;N}fYL5_@hdbUx$dA; zgv*H&!4oKjY~>iQdoGPb{Ticv(vy4vDRM86W;|p8EAid_j1p`XVC}pouk&&`Iwj|3 zrp2LR#BXExG68~a%O{dpe82q~{&Di1jh9-nwu4S7Rzl1U0avzbI0}R=z7*y720_NV z#eRX@&g~OkY+tX9GNZngOoAwWQIms$+7M=170LsNsX%%CZjNfg@QJ-LlfSAYs~(dG zOmh-e;O)D*iN>~r>+omjO(S~uPh9__i{@o^WicxtTNt=t-bgDMh+hc<;C^WQt{=cJ z`cKcetNcyBZ+Ar*Ytlw(ax9<}M!R!M=G7>Zm~LZQeL++N<#`&iLWdhQ;-03tFNEU# zrSKf`$eshlJPjCbnC&A+1c1cRfpB+Ad;#`s=*UIL*0m5yo!mc{3RDpTfq>kGTI@1& zE4bU+G%{w?UtvQ}VA$m1GDa_KN#+Ky_d6%)+M`UnQ>35KBF3wT&TtKVqkmcQB;O9p zEd16}8+$jSx8yzS0tZ}x+C*au=|^GKv8`Sae0;unsQ1TkQ=<04EF7n3-(s2!L*HiL zK{Xyxfry6{)mD2a5%?ZBV>P|g-L&M{LWG_6w5>2y89Bp{L9}2rhSbnp27vp%A#j(O zGVsUkQx)y+qI4F*IV4_r7^i$J+O2*Pjic90q0G(ccB1SP+Y2W5p-h2uD<NW2S{_T3*NL@CEnAO(U9`%X>B z0iYQBc|LeQCiZ*d(G1Bay0Ix4Cx2Ni-q+}1dymr;ZA1mS)Y0RDLmuM)iZyGlf(jJ z$Wlmo&%lCxPr@R0(0t!-drMeRh8A zmb!ekH>qI$c=zjtIYK}RJvULV*8=msJpy-t$)l#k#+r6z1i&UjLSHO^YVd3p(j*Ah z3t@eb=#|}3$9ofC90U=T)5rA1SbezMX?}`H%V*m;np_8DGVaapI^K|$eR-f2P===r zt=4)S(&CIEcTw8D9iHeAujmkbV?YjWQQ-DVGZF}Cn50Jr%M46P%7dB$j=J~RV$(n0 z#!#uJUBUoS(x%M!05`x+NI^$i;cAzOTR>gaq3~QgPJ&U)SU%W0N5GBg1c{LM#n9&k zF*DlNiQBwOy}R#)^*n2mzc{UGVMZR_X=QU5*yOOv(gs?!9pB2`MxbS#%eroMO;}l~ zLMq-7G7Q5?I$B~1*faOx-h*8l%%7U1&BjlJ+w`5|7%@OWbZP|0GL$=+4ucxr$2^CR z)JLcfFi5SRe-OhLGD(*QBuNOaRpF5*k?qboyhbj#tNotw*-b3XvcFsokC7 zFEPuX(-{AyEZQP&;nH~Bj<9&y$)|A%`m$eU7F~VjdBPkRU6=p0>TiBy1)3y+=|&pU z=}ufQ{5RtIj9clVLsV-f;ckaIcW{OuQxT+zvF*Y392riQ0kb0)LFp=r+Zv#kU^dLA z2T&*qR;SnaF(gpL>;XG5ThP$x94-CAR3g>yahfSkoKQ(`O9;OtS-Aqhnxf1QnCqP0nFt-r| zE73!`4r=g(ikykJJWTNysU>W3ORL2XC_be*gn=&1w2WW?Z33@vu1lGU1nlK|krX42 zE?38mz=EtdKmu_MrPutbc6M|ApkpJ{*X+E_H6922`b{$423C0Mxt|{a5UImb(07B0 z-w$B6y? zlNJzc)>?>Cd!=paDjCgq#Kf@12||}Qb>?Xmaf4wMIQhl=uJ@M`+Xb2UG zZN~9%6ksczhW!to6Bd_l^O}g7==Y0DtAXll!n8|w?0q5ly8gFt5Oa(KhUey8KVx6V zgbfT}RR9h1YX(W)yy3Qz$}5Nli1?3Z1qj(5c;WHXv6~541$O?Xj#tspK9P9Lp?ehi zsiy61p=&8U^!3!~bU(CY;sEo?QrTy7SZIi1%h#<~EeWdho1n*Y!cx8i;6Mm7ex&km zNbAaL#g;gY^u>rqYftx;4I|R7Lxhz`p9ov)x$QqJlG;c~wGL_`hp#8{l!ahHQKQy(C} zQMJyXmVr{=E&4;8*S^A44(Q4VSg}b=Tc2|(J!*mt^tH02!8<*kaa>J&s zY0zLk)jZ03$!3B*F&+qZqO8!7vUW%7ku6yaQxQHsMNyaq5G)jV`3I&-3E}MI-!r(B zd)X#kwZH_d_$M-P#E1pq}13#7)7KJ`+&!16v?>)yUZ z9OVT@WzT_y0RY`&U@~`d(dS?g#6fXeL@>b$!WBWl4H|E;s4hKq!%zUqJi!8%tg)_+ zy$^O03=h){XnF6Nm3#iLNvA)#!jsd|ai+~!AoyIhsAH7EM!o7UtT=gu2L76@NYA8g z%EwG6ME9E}h@5#H`8=Tk3-2_MP?^sd1r?-gNODBEtbuY&QCLP5E*VajRKN#qWZf*M z@Stkh%-O4fL`TK?Ce=**j;$atV1M$eS`h~3Rm|n8Sh+(re_$o-%mTw)G5BJ1b%w^h zRi5P&t`wguXiSFgxOpfDm$()0Yd+QeMY_*8D44`A_< zKJflB$G_~g|LSF`yqA1LqyC3-GeK?e(~wudFvdTy>Iz5~I+GyO`Wx zjcXoY&HOB8NxRa7oVWsP--L`K(W!R@eAU!AFihG#QOeZIP$6;`0F%a@!Fmt~fk)+a z7-nkpq;Yp=Lf&MCHtl*Do0~^M35sXu)XOHG^Fkyf76Z+^ z`pPv0T~j0-^*LhlcxDIpPg}m?D#Z^?yLqoS=P)$a$D>UJa&IunEV|uU!%})I2%V6+ zf~wh*KUpQB1NO9*ql&iNsufpYG!+kYnmV+pjfcXbEFotKQGNoMu5xuXPazNa^o#^=*{m ziS;Rau?oBf^BKxZ^KBM21`LE!f5+P0XBveZGwAh-G`+8Lg7}>cB=>=4!=w@@iyE(zLssj$5UpWhZu~rod!zuPf4?X!Wb1}S7;!Ul%k@TJ8kX{4o?Ckh z2G|oQj5sGy_^wS_X!F$l{EEb=$hyOBIL#%|okL%UDK68#)JHQMKc2?iz%ZM7swgAo z=fi^4JmkHscc8&!{YEA7O8{FVq;>OAv!RZ|^~H1QJ4@TU*NY)Q?bI8oe&Z^e7HsPE zl}2G!voP%E6~?F?nH_v7GRCzpcft$u3za7$th&?JK{J9>Li3m~c>o1&L#KtT&U~i1)8k%_#P+exSQyDI zI?-Bl`m+VcY8rHjptt_?rcbir<=P_S^3-omRYvrd5o+ESj+%{~Fzp&_ujoRNqN9^+ z3`=YT$d#Ki!FEFTTjx&!IPG;7zkXS9vTeP2TE)%n4vuPUS3_82i*#oxUA;w1EZpG+ zo77k(8UE&ARJor8%v2Iw)wm`XrXFEew`Tpv))ltTM}E1F#XMdsIVIKX?revXQBfg# zWbWmD)l+&|zH>FBAf67{75jg0Ge>t3DaJgVce{l0VHU0=t#PE?aPKnQ(%`BzI_qZ= z5|CAY%u>AzE_Krn3D-mByHevIQa+S7=1n=TV8G%thQuq(HmJx7cHd4OhNgwQkq2;m zL@*z72^lkL2igs`JuR}lhU3}j#|yGJQD9bLlI2&@?jj-WODgW&!n>#~sop|vf*l@a zShxbEk1xP>IvOXW(o^)GR5JY*oJxC7S%Xn9Dgi?NMapE6n-s4=1oK>k} z)<*7g?#Ay0zpU&bi7e@ujB0^3wp%Qs(%oCvW&1^3N5|mxz^2?O+D#YFI_J8oIT>VC zD|9)liA5jFq3dGD|>`?BzWos!inBpXe?0ZL>VLyyVzV^CYvWKamABUK`$JeI;1HHk^%z(U};f(Y>@%o$8Q z4YpgyryS24g& zmH@&KIO&E5!o9R586X0lQTqW=x}5CqYl}7w)H`WEFp-oMo>r6Rf$j@}n5g9d^DmMP zIhY>*8TM8xjq83Z?+ws1EaT;VHBBcvT}io3T5bT5w6hXQ8_`dVDE`c_rNN89a-T<@ zSk0ycKmuM2KcOX>NLkZXQC_E-Lt7Hzm0 zs5PO4iS5yO>$t@zLYlqdmw`6@@T20Kq?Z%z^jRf)4LUdTNa>t%*}Y z6TSOr3PHIV6Uftutk~~T{rkGJFs{XLvZe;_Ch;H{`KPj}4=yEako&QV%AW$Y0WLM_ z<@Jb|pbv~#qM!$*G#W2TJr`vNJ&G;xTn9bO zKUS~Stv1tqLBhm)%#I>#8<&IBQ<8gjU_&EQJK2Jw(dDJgJNfUTF;d@bX{*@{NI{M5walUYK z+sL_x7P_nb{$m)n*elnfRaeNu?Qz-Gb^~IxlUK@YMGEM2C|N|6y-Ekxu;iMSuYlSf zkP#Dsv0?Du4)JHu{;|#5<=R zxbm-h`7tldmA7H|GS*=_yJbxxEZ>k74BKHdws&3csUDlFoWdTtsoWs!T7r1Ltfs1} zp*y3f8O~Zby(XA%cVy^W!q*Ra6}dJ~HSLYaXCAF4p6HvFp?;_rKf-QcPaW^)!#esX z@Xh~Az}-$00Rm;%E>q6Fa8_X`w-!V-{EKLuR3f#PbCpE`Sv$j4FTofp*aMh>H~va3 z$i$$GXpqHeC+1?o;sTr8Q^@=>oz&+J{mMc0dmcLwJ2a^G za|4XsVtfKXck=XKqnan?*)#?{wZq_(SwwqHaU%}fv=k{~dR_Ko>Wz!@3Uon~HS~4A zC;Move-6Z@kvp_1eM2KTs^crG`ELt&2f(UHI>w zXk;jq*JP5nulw?G%vchZAaZx%aa(>AD86+=p9HY}g#*6^9{c_t_Fy`*Q}cS|ofU65 z){}5^k_m45X#4b(u1m=nvGWBXZOSeZ=<63emOwdkj#mihpN3KHwv$|Z4Rlx4+aQ~h z`op1^H8KlDkH)&b!Bnz}Ds0_1YM^pM_h=-EkFO%NwV>K7Cl#~0v>slQ_6MM`wlDO{ z6}!ZMGvi?t7i+mz)tzoSLw0`Lk*v~t-c;OSP0UQo&cyU%2dO+EaMnL~uPI`mGFgl? zc?!I)+L2PgO2F-vtjy=DRxUggJX5NN)zoFsX)2iPTYdH@n5EDExgY1gig50-+kj_k z(~0Kl9?_|k2a}j~MMu|OzzEDi6bv+`iUNwn$s2EUp3y3r&Jnsd`e!{UYg7eW|NF46U#}|O7ovyRV$0>ow~R0_deR{jJ9ep~KJnDAuS|1TcP4Td8NiprelVE$!N?1~kfQ55>YS2KsC=nm)Z zY%a7&%u0wN{4ENr)C5GD4?Fm6K62#OTJCA_xMn1s!_xXw)nzsov#q5rw)2FKd{Oat z^)-EC3BPU+tWKnxXBeGx3bO(D6kEP@l?eixe(OCfWnj-Dd{e^p4W`&iX681XSPH$M zM9hiT%2b2S6Nm3h5^$IfLPh{JK+36FFVxAq@Z=rzpGs%+u?azWCLkVljAHM$mkTtyZaYaWV4401aYPbx|sh{Scmte zl+*JVLNIvbVcQ9mvd;ALwBR;>G+W39g6W@aYp!+Iw_2qvO7~OjrY}>VR5@o|?q>6L zqB$r{67bhZfe{2#JSvn6c(=8&?zl+i)pmFlpjjqbo9^J@Z;R@PtgB-_z&bj1=mynl zW7JbOuuyXkj!-CcS4Bo62zLKW$_!1K4vu1dIxjafwL>%#H`&L|MSjoEMT?Bv3gU=* zo;_)+OV2SDQN^Yn{-mz08bU+4ZJ;_v;KnEvQCaeWsSao4)*0x$dYrhQyIsC_y?I|! zmvkY3@CJEME6`WP;sn#}k;=i@>d112=6Hoz)K4}LQR0uZlxG>mg+(vQkFDp-I0tp& z`bn#jw!!&0e1bN8;m?G6FEP=BfER3(j8MH7AfCB+K))sHUz-NYJn##K4Vfez_hggcy17Hd3`u57;d?sH>5f%lGW?yQvwVIz12}QEA(~zK`TN#Ej ztjl{dHies}Wt|t=S6A%9+kO1$sUhv1g0|aiR%I6-n(CRz8ceR)dwZGdI9vzBjoN1l ztipCT;sW;tFLA`}=MOJ+Vc_@T%!PF#OVI_eZ#d)2v;?mD>dRH3+TS$VE@*~Ir5bHz zC`3IUA$s5%-M7bPpop8bZ6aGgV%SN0z?mSHk!lt@G6y1SXLzF4b{Ph4-_svY+|2q= z>68U-c9q~w!~U75c*Zu>X~qu%!jH&2qfY%bdjHT(uY|Jt5bLzI62=rcUY%-sBF?R# z2JF-2WoT@C zCDj`VB!~bjA%pvnTiCRc(X5O#38=sT$0Rj+-3@v@7= z!ZDRvpppx}-jb_$oSzovS4Fw0R4A8*!g@b|um(|R zCuM>~ASQ3bgEG}+&(~mQjI> z#*r6 z?T^n7Br6Wn=kt%eABcvlUF$j>L9)8VOXSSYogBS&RIaS)S%7_M_c=HMoJ(kK*x8bA z5{-{j67V^BByfOmq2HuIAz9W|EDz)w$4?44)sF6zwMX(aA0c7A)57 z>Uj>w#;X^{NsDWNNshNRINJAKg}X;*3&?ZMjwuJp;^hyC%|t z!aEfgjRA=AbVe?h?2|R0a|&%&eO8Mk^j1j&)8C=~yaCxJ+5^G~Q{wWmweQW4BUuyP z2o>t=e*t6e&-d|~5d4hN1*&m0-=tHv5dfmY(GE&H*Fw*KNJ@mBX(@eI{uyEmhRaSJ zMJs*OhpC^gfz`-D87&ObS|bPab8*@uU&R2qUQ&o81hC%2FJXI{LUx_rB#=jZDE;kvTqc;r#0v~8mQ@_)H z_rYW-Z?8H&@un+hySA^(j1uQl=f$w{-9}c#N}GFz0$QLe2^*Ta-j_q{Y(O94f7x4OJ8(a=k=Qm z{lZoh>#&!dlmSr=Q5xbLr|N6$xfuL@O>yW;sLETPE$s!QeEQ%Ie*3VfOKY0GIL{|! z2}LQmf;31(KBmdcIgsVX1>DF&SfAiDtPE!%{y@LRQ^i96vb zkKELJBR1&KXA=*56p6?})#Lx4c(E-(jgk*72AuTTB=dqL&bz;XquuIWJF*;?_2$#G zBDGVNTo#6=vXa``3@aaje|*40Qx}^(sE;!U?cCJAoi_LWmamgzJN2L*Vo4@?%TD^f z*b_~IK_&iC`W4xY(LFnRhR!{3@&hi7F~xZ#SB6qGm|YI-1s((>O&TX<0A-a@5BOp? z)h*afAj*dv2Qw$`5}JK^T(%(YP)YW%wND|kgMAIvYADZ3;e^5y&m&pF6pdkKk+(hR z3R5h5IXHH=y~go$NWAf->IDlXlG(!BHmCn?-|D*Sar5#Vx)OnS`haV?gRwciFf{r+ zNp?zPMY8TROo`B;OOP7X(|As;1 z1>*6QK>_$mD@bOyaOr|0QDz2dP!>>-9$j&ovmO8XWxMp%hkDfG4Mxut*s9uJO*@z4 zZ8I}BIe@EuC-!K>r4pkm_Ab(m2#}Gf^lo4mxdQ##l zM4bF~@6Z8<1P5$wHIr&XLLKtihBjrf9JGW2Lu76BVX z(uB#%dxooDxW+z_GitHc@2aV2iX-x_k_a+Vw!G669-2es#l>r(`x$Rs9k6JSs~2` zaulM+LEr4GuQjUGw40C*$>9~U@&EWoRb?tNqs|M(R`czI7ovRKJqcz}Ho+tB%%iTd zSvn?fy%}$#ch#twc)P`4-a6$?FPq)hm*~Z${IG4V2cIsZ_hD8HQ* z95W1cjTaO_oF1@uzK7v!`DnVEO3WWR>s7&h2Bg+7Q&0a6s;i0b&x;iFXiBOv#sYk- z;+X7EaF9R-#@o;GfeK(G3ac;N>aY3pEqHIvLV0DCWQC z#@q!K^o*dw;ypo7BcO4ui=Y|RNU?q_EqA80MYMSj|B)%B=1CBC9~-M{G*OoqzeP+a z!E{ycHCo*#u=hbb#D!qmzM-CXfEeT90%Jq_LI@~1^4;yVHu@@kmx68iPf6PNE08B( zM;hC(il)EZQf?Yaq)C_0zHIF|+M0%q6{?(8D{&VSB#LCx2`XN$+?1s!`2)@WGp8&3 zo^Q1^YcY?m#W#Dd;6WS_6GOL03c?GA_W4xE zx+H;`^9!utA>X_iwJwWt_X6=#(ez@$Vt1XumaFZ>W^~jf1OV^;>qTNY*Fy<8>4E|E zS5Tqyr^+3onsZ7%OLjpLYk<0}3Z8n4y`R>gVwcxz%bw+gvOf2OQRvEc`f8l-LJE@gr=%vxKwiPXB!zN}lHR&+~7V#D4ES2%ib_*Nz^EWuPd zJP85Y4*%(^rl&?-$I!1A6!~?oiYqDrgtt(Gp%{Y6B6mP{!sa1DZ?}Q(}ITMSsMIDj&nlFrFgo!yq?RGD4!Vxw`*W^>tI)IIg+r#c~bY;C^;L* z3Zlt9%KiQ{<^rl?z~nnNVj@@V26i5>jRT*l2o^kWuwSOMjf~}~s6MdPuSk^ndy~DUhg_eS z!bzhm70HF9;h<`R_l^U}4ozoH;$QW``c zgbdHksb!PbI{@rpsf!MD@D-MlG0RVZXy%Y0m)n5!0cO=>>kN4xfk9p7M~SO8gIjf( zmBFv>uQq$pOAABh5v_n0AY73X&cK7O$$7Y0O9gvKu7yGfH)~QfLUO}WT}ZNz#?(Bd zf6p-O%oNJRt#wfDUQF3+X68;nzOGCF!Uv%XH19FHp~1>0a8NQ(w*~-Eh(p z8GyfB^`pfVs`*}?Y;gM;BFHdUThQdksi9&E1>`;oOhX0VQN+_#X`cfyz3?Budu?=; zprsHbINV-h9?vs)!*AVBJMhYJ7KHjq@i=!0BvLTY*QjFIzCW&JH|bo!XFu>#q0M? zFR{?sSlKi*U7i>via3tMmm(d*F%51P78|j&U%$5VsPQQ+MH;qNpivH6Djo+9&Um>7 z4`Ss~x4a9@@C}!qz#IDwBKCf8UvBWiR^UHHJniy!-kB2Os@;nkTSYV+E6ZBVd@j)S zxwKFrL(NT^UF$=SSBW3#1>!P#SYDsd zh4c!!-s`d)WcMPs9-7VEL)0+ZtwarKg=B+gm$HM6k{c#X(zGISe6Aba6b*fgAGb+@ zTaf*WFz({6t$iC?qAb~Jrrk8@W%$XouJ5C6;&%qti+57XR9vk^J$Hrhlc|d|#tu;? zr;^$X4PDn2ksr^Xo59Efd6}iOmQi`Y@J##zhfqth!C$95_n^@=x_$HpA#|DGSlMwl zfMF@l(iUJw?AJn7|1m*RYZQ(wr%QNJYw+js-B0)7fW)sHfsCS2q9HlPWnKM=I;Y5h zKXaulXGDjaJDYR!Tx-1;zOYBkhDB-_3;dNrPDLQugq-VQIpXkj80?6 zraNf<)U759{3x>AFSIe^&CI=B6-P9!+Wf(&TNQE5rVZ;F5h;`#tk8GMTF;vf)g3vn zC$qO0%jH@b^0MJZQGfC<p&!-fa5hjK1U*&N~^M_zZ>|!(3Dc<2n{|rI}X|vLP(}J#A|3I`%(M*|&PnATjkg z_&{k7Gr>9DS)pnWtzzUIL7Uv^+4=U=@zG3=6Sdf2i}@JH!eiT}FZCsIbOFDD zyE$2+`dwpuw#&7s@b8yF%qOl2NI=twP+so<<<>_tYnZ&YxuurobML(Ow0-E~eSysb zorTzQb0KlXb#GKX!os@(*wGW$zx$V$!h~FCEf_s60t12svV2yKV9D0bJJadHFc!d@Ta?|TOHX${_qUWf=|D*@<2I#a;%b$vPhpbZyc z_;_3;x_lu4mX7>6z@}p5_Icn+c2Hy)u+ozzva3Hipa-l>TGSi|FgU> z?g3~In$Xnhjs?|2oU9D*`VVF##wZ{*CzOT!#lc0s0U6x#j0WCM7ILXSywlk;X@aif zrs9p7VNOMS_WW|(CABf#A@^Sl@y^KH7KY9ZxZKHR2MxU-mY!Zc^rQ?M1s7 z?fGL`F;7fxlNxA3U~-lr?^357NxCcQpJSXZpR~Xu0^r@@$H4Q7|B*k7Ha;x^uE8k{ z!V8&9D$Rz5MO+w#3&@^C7?tv{F{udN$lcN;AJi~x<+<8o&Up(lGqTDkt2!pWn4H&4 zl(_tVtdL-Q-lNpgt`Z@=N>znuFu@t`j1BV(f&ACW<(cDF{y$$n6Tt0U2{>qvtnjs) zhrjyfm5)xyIK$G3F2(+HGUPk79?e>I23eX`(?=IhLCy%;Y>TuIa9t$KsH|t#9y<-v z|NTzP^zn?^`esLFiGTH!OXsTdsE1?n!McZ}25zX;AWW-_$01~X234M)mQf8LYX1qR`HUq?Et}7x~S9hYAXki2~t>HkiE^$y8El>gvl=4Bzq47Sd3-`#?ithMQbTMb+riT zBkKU~#^dZo$*-NFbzejRV@$$%z9bX9X6B<))4MO;?36tu!r%SCnjaL82Cm3&zbjK| zKCXzXIN<1Z$Lb0Mg$J5S4ezL6)757y5dV;!e(u1m75d8pxEp{oi1cs3{7l2$V*Jd$L4au=;pi0gxR-5p-xKQs=94|LA8|jZ)1)O=% z;+4$Mpzjk}rX4QR_+bq!^IFz*_7VxcI)}u_Vt=LOff6V1X+zf;Oug_xnmANd`~pSU z0tZd(SlFkNnl`o<#yViopSZ?Lhka7kSf;Sw8 zqufIVwT3BmeQI1_l5%^F>(pKB_tw#M4(Y6Q4!>2w8Ixc1`i_>HjR=+6G^YHGC;9Ze zUl1+bn?vG(WdK?T4ASM-dP3a}ZT#R&FD9`MBtI)cqJ^ikJ(G(&k%|*}4PvjJpkF|gRymWxwbE1HIK}XRDsQZKvBYlSP{KpN3M5*p*@{FR;mU#{X0ZJF-Z%; zp&19!Z+N%^MO^pV{?V*}9=hrmePAL$pF)gK^=T7{O;Nq0(RoSqUVdK}m_?@fem4|l zt-Hd1fBeyIx~__4hmY*RU14tX$xfXB1CTBU9WMNWHv(Zj_q^%Q4hvNZ(Q)6{Yn73{Foi0 z7x7JhtS@MY-dDe4C&W(yMbvPHiLpNhM|Fqqv&RwqL?v^qkRg0BUxB^I1SS2^q#8ewrP6Vze&NDN?(mXvflEd}t?P+Ca1X^uBp&;ev< z9RDh2eIG9KdsT4O{S<_jmljF|`<0*3WN&8`^?O++CjwS?*}pLjrXj)uJ{dsXfx1XJ8Dd;LA1RSKL=*$ec`#pj zG2HuzG8=n8h_Ia1@(>iV246*$v(#QqF_p4WlknRqajemllRpMUo{J6QKM9F~>f#KN zUZYSuFN-Uthp@d>-m$X2e8j6)&n9B8nFc*}0mOLL8BCd=lKQIB983|7xh>C_;av_q zztI3oL4S*RRz;)L0`V_db-q#Nx1kU(0^GxX=GUOQZ z1jyBZI&3wHVR(tdnBb+I;iRqqc?-}2p9yyK(6Z^ncO`)vUrnN@>{F`J(?}8OIq>oR zg_g->{~vWIE+2ak=1-w!PFm30N`WV5_C4?NQb=wR1IZfw;z+)z*G)ak3?jT@NcQ=XjueRUyc;N2M7?y20_B{`)-=GA0?Y+np zG=bPy>#|FsNbn*+d6gu~1efCYOZb4mR9MFp_^lIkZsHsdp&2DO)78(gNVLg``;UR} zBjBcL+_-yOsP}k!P9xA3YC5Bt=>f1udl9=+$RO#f8(9ZOYAA7_6JtrKXzEm%v7umV zw+rHLX)nf%xd)lD+W$TJ9$78doK>J-gK_t+6z`8m1^_n&>_F6g;Hy_`=(~QAJE?Oq zRfL{lU+m^9ARjHB-<%SHuj>T&tpa1o*p~aysB18}4WzJhcwh%N`$Bma-oIKcDyj6; z3Uiv+8e1D>DTkZD5y;97TFngCoY25w9j=l1YVoFE&yp4+^1kO%$upI*Ka|*4dMdu+gvT1AF#3yLjIS`HGn0jPb-=+h(}LS8@i_T{a*D=oJNI5 zkE35F#zSt%^PwQ$L zx0h9NA7HA(hTd+ubhi`toV_u^Zzc-uGEE$L$6mRRZs@>fFk%=!0i}vojzn$^?Py>k ziYv|$OK#@Rt@m&@hIi5ipmbDp;tfN%>)T$r?wDB(0UCYh(PgTj6(5%*Onz}x7d$WL zc~>Y$GKkjnJ`VFXh~ZWTwGtgC(zj;nGR}ULSV+wLj3V~H0aVPNG)SVYvBRjkT`FdL zmORd*-TQgeBXPC82~7>Qg(w7ju~alFkfzSsBW?t87-Y5t}^C>iCs&+n@6Q z^<<25K~Ryh<+&TiJp_9~gm;i)WmVY5&IEu?+hjA1*)S_lVwS;?SDCsJ*gAaL zq0iAC$z^C-JU!7a+Xd3BZz8RiMPcH4!nYbZF4L9B(ArqZ$^%#Hcv2T-AA$s|u$C6- zohqjQu`dF_9)}wTf;VGwr40|&)#3ydJ-ebul%>)?tlQX5GXxM8avMxCWzP zV#Ua^>Klie>vgRiZB9=Eu-h&4Gixp9hIkSUhk$`tBs3jy3;8h&L&hc1|>_*PH+?)oGn&GE%ZQ-l{_&yCgA~L6E;jBne7oq8L4`3`+ zID6&>j5M11{`N_h)B^aSeXI6f-BEg`jT30(1)TO+AITq~1SXxn`a=OAB)&W302Fl$~ZK<@WE(b=y`$)F3mdS#|E3YT>uuH367Xeq$kwxGSG9WYNF?9e-F}Z#% zmDBn)ra4k4E4WbZyIrZARGta8s@D_?W1!n$_lQi{*rI+ixLL7l$nFlghopLTldK5@ zuR_YNdrvu$GwUmTNWJ*@$ojC`UjOT70U|w-Ms_T7*ftU#l<^1H@|{%V50%I1em199 z*Kv>PP_P>{zV%1YO+j!I@geBu5TM_1x`3&fx^65nNPdGE`yR}6R)R6S`eNl&{=-<@ zq6y5upINV_;;UUxih}|Yp|h?t+x3sO?(gvT27jUj3F2Slb*gm{`v)T^-okgYq_b~h zzentwCTbUw?%*L+uKDN7E$#GDxB4R8&pgK0T^IELhm&kYN+-U@+bJAoORs3{ur83Y zu=2+tN^IvhVxtUH6T$(9Ukgm;rN&QA9X?Q@DI`eiX_M(mL#M`i5c@Z{ zjzh8%{0b;(I6%yf>5+7@sFpVEakNGzz8Q!CtaGlSd-Nd<0;_^W!$KrlWjedIxoI1} z-(nm|&#XmVzdU!zdtEFZiY}1&gANlf3O>7D3-7+p6bCr*emO7)cp+Rn~a@USP=2T z)xA~yikgpW-HEcX6Wy5lj1oMxEg8&we_l9dpm?e?4$^+LQm^K;Hyx5Q^IN@|@6q%? zPiM=fRUz7mJnR&wKsooe8&xRqD^9|0ki6ka^`B6$!mw0= z%+Qz2*sYy8&*x1h21a(8+~neyu*#?VyQ7*TD*?+xvd=hh2y^EH2cUSds$A8K`Q($G zilT4`R^t{~Vi8mECjTZ;OCd0~(uXvTR7h>-1ZV+6TFubGvR(H?Sl#vXbJg{WBcXPh zw;QjOdFi;!m=*pSs|vKEq1A;3O@8u74&yBR;?PH1TpIaL2W3qZX1#FiV~t_IKa0f@iDRj*~YHOTvbyKTnASq1{QHb^nSTvkx`&Uh>^SDI!6+F~HG&)}V=o`U7ld>Ii zJ6BgeG2)K>I$#fJx=o=dhJAvZ`^QETfT__WrDAF9r80%uH)+hH{Fe1xxP(~Us$xQO zW`n%O_Y2>id=W?!@3UVn_peP~kkBAE&YZRo4G*=HfOeiNz9{)MVbPa%Q*UfbU}prUYAjoWpsTkh8*x<9*V z4C>E$@9lhb1&{{n4Cf34K&uAyEo*ZihwF6#JDKfNjrX4n-i@>RgveQpf}U9CaWOx^ zyOkizO9ja4R7Fhg-vzC7G|D6xlXZsVZm3 ztg_-_kT`YF(A>AnU3x#aJ34w|Q|a1RHHP_XGGf<@HfrcEX|m+;^z`>_b#&L93;U+u zbDt{``&?EC(hys`O%*=hvT8DTl&+EJDZ%}eFIBw_bONH~uQGs~=z6L|H1-{ZPROo_ z@T5MVG=WJ))k6h}qrr)PE^|Y!H3%V=9nL6FXX*BQQkI#I;?yaB;#=%Y z8C{5f%HYP=s_e(hLbJ)wTc9B^qQ!>K6@tvuaOit3q4Uuk5}4f?4}3i4n;Gr4Yh|n? z<%(}P3v6#C-T);WWm&l>8l@#UfgVi>j9dK$%(v@zhnz1lm?yZ-HXFPTo_z=Mt9cnR zro6+-V#(m-{<%XJ37cOyZ6X*qDDBL~g%3jVk+n;)iIE%Gzz>sG^>OAF%$cI_YuK^= zR!FA+PCA-lj0V8Q!SmB~@)bA!`wGC!@!j-KBXymC*7nts7C13E6Z@@KNg56TVj3=aABL{*}>E$I5}oo zWK6T_mu|AgY%`?no3#dER!-@}wm_!>Wb=VdwpN(!WET8?ui+XDbFi~a`E7ymoXiy0 zYHCY?x7xMq8bN;c5RrM2kn6t3g;;#j{tMKs!m!aICGx+3Y!_CEbh>q_!oUjqK%P+t z{#=n$h|V$$6$=w=LQ5d4Up-;5K4BVBR0Hw+D2XiV(V+`hLSJy^Am;xkJ46)$#FDEJ zE5_80&SCGXu|ORt*#SRg;3`Bkb#0Og{9Yo3+9-%S2}sNJmza27;6ZrfynfVOl}Q@S zyx|3A=(hM#BzwQKr?kEk7f<|)1jE;NsZ`@Y_NI8bQZrj1VT9L9j=H|y`UBymTDKLJ z(;6&U@7}*qu9SAGPESVzW9<3Lz(hpfhAQY6EEi>|U`2s&*iXyhfJO)#edlE=)Fl$T zmah!B3~CID2EzI?YDsdhu;a~8(}r@S*$Vi-y9fcq9#MpirglKIZIjzU1}~qRV`_47 zKPTq8*{Pf867rZ3)`hw4lh2ks4J-6ueA?p>kt8h;{j`=TkP1g823Qks0J?Hi*cc8M zxJu>g4>BACdA^BV$A(TngJ{%Mq%Z-eyDa6*55PuV4Kg&uE^x*HGXkqnsv?i)PtQz7 zeYs6=H5l%S`qspv)-kxEk@%;2d|Y}#!Mz^*4R!+D(0j#_&h1@k!SoRXiHsyVZ4V}c z&Nm$9g2kvQnPQ3?>Gr~wQSu-8#J4#IoZ2IC!#0_+%=GCgd5hd{%;Br+yW&$-p8cd*WpR6_uY)C=Ye z5ccAqf2e~Q+=se&NTl7)F7ph-8m_Drng#aP##&a_MZ|P4N&EF)#0pLGYoOT!5#O zOs7(vdV-GANlvo^2^T)i*~3vDDx)|H(XF%N0=p!G-$L2!Qp>mp6Mi~>!IYKW)J-n^ zAIT>?3DBFH>X^=yY_p07SB-c^E=z#}Bp*fcUa4B^Y874S?!X%e8ErTFt)dxjN=@Y% znlj~oiQ}P`w8>(XuU^Sd^!(4*WYCo6%!p;Fv!y1#ypFiFxl6mk!PS}0rD;o+uoO=E zjl*bokQKJ=Y8vP4?>^}G;% z7@XMM9!W_Q{2I?>0g7LZs}PspRU(CI*lg<9Nt8NH^i&4s1T-}U1;Aeb)5H+}P1Ca+JF_ibdzM;F5Xp`gl!L^NlH`ohgq<&##MBu0v% z-Jenu*2()c4q0Wz)`#Kbr)Dk+AAVOB18XMNOx~XNK~!$v3tlA)#hByjmJbf*ECfym zCbRBhMR&l0jZEm28M`9k-PR(X&J=Q?fMm0f83a>d3JBOSfeu05e(TV!kuU!8xx|YM zlG&)BrR`9WW^UX1dYvFp+NEVSNCeMFUc;T+qM(LUAxUpkrmMeoV(OoT+akc;v{o%5 zEl$5}^98P1KiXJycYzny8#mH-A-Pd_xy+bmed{)7(KA!4bRHEb;RxJ#W}fTx6*U9p z-}ZQBY08PFjoSva1dPC?_rFVGcA8<57xwW;inzTg*rctR-l03Ea4ZqKv7*v@M|IZ- z(emftNx`b;+>NFq0LeG*PWJ%Z9oRv|*NB^Xt>ZNy^LHpf{#bgi>^3I{DE`LSEjdlugXD8 z3EdK5RuLXuSSlV?DcQc~s8xYz4rMj$b59vLhTb$zN5mmfLubjcpx&eVbt9Vky`_-L zRSORyN!_nTDLa!}DuaVAES57=0^dtLH2e{mq6Lx~W!BEayo%Y4xOSV&l;U#VV*voJzcm=q`xW0eMq$?jQQ;?W0*22!I^jlKP^6U>z_9exYL7p^}rl(AmL_zjct7}4Fs08tb>H(zBklWbyhyZ30y-}tM&W# z?fX;_NZrb(m*Bg5j#a|Inoi%POm!oH66cq;f{ghTVRsW5r_D}wXVOA1QwSn@8RNXo z;#=uDTPcSTxBx4$TsrGm#-}H}^zq#uAg_B9f;Qhy@qAoI?+e>P zWdUO}ACAt$iz3SxF#awK)Ll0duCvYSdIql-v>x*stx+V>?wi*yGK(k^@Lov)S+PgE z1vAATa83P8)WXAGXwbF>j|gtBPFsHm*3DR<>6HCugt(eChd)oFQNSumjFHbL2nD&e zcmdPhp8J?x32 z0uHygU_h?xb7z0Ymu_1!iY<11DzxAiqqAXpCq{=AJ|W7qCi1?ikx07M^${kXs5@p4ZN}FwWEX8 zYCH(h)Eo?H%cC4yuIWtdXGs0-m}w_T#(0xFK9{-3ACi=?PeW0pu6la3de;B`b<#|> zHBWr5I<9cfH@H=}@{#5YDCgb%KrWj@C%MCjC87L5#rPoS=;br0C!Z0H`xrKCLwTC< zJjM`dyWw0&i0fMo@Ua)JhyY=XS%ye%tXdyy{#a`9q9d(B zoYjrcOsxw0osry1nG|53FcW1v_)cg1PHqIJoG44ac{hHe!*O`zZsu9G9)~VXqrJWs1*K-dM+dIIIeYqNu6@K9!GD zSC=V0k*J`EO=5XD;XdS0=+sn2~$7?UWiiBRcwUMPeAZ=X7L+)wVD+(1sM&)3Zuxe zop8TkR-P2j`UW zEvZGxi(fExLETs`==tJp%A=0Bu?m&f{Gk@A*10r3v6!*A8Ri+~dKy++G!O27Y5cFVm1%2sR}8 zZh6dCb53-1AJkH0u&#bO0wT7xBc?mV;AAv|)+np=i9}*Y8H^Bqo(Q?holUD7(3-n7 z4Gpu#95MJw@csP(IK1I#gSWF_JucA?TzvX5Du$_V@CSG9*;~V!|G0?!eT??(Z=B^- zNcyWfDv;68hoG-iq<07UYZk;0;~P_Xw3@JHz89{$!Ie)9i>ASP?Z_PjhOLY<+P(lX zpz=?BY?*p{CbP3ac>X_)R6#>?#I(s&rnpCW{Fuv>f}A$2j^^+{1*iQhau!6&B~wU` zgBoO9LO|6JpgL=Af7^BIgpZBzv2()zfZB!4=KLBfV4%X-?i1t@EiH9adwm$MyQCml z`gQ%XamCTT?P-y+A1-eHODVMfyvM4*8Cc4`pE#Z!yGfQ-rotl1(z74(aW z>X?#Yyu`?#OyfS_LNiAI1;*Xk%AS5MYN}eO+%Uf$$_Q}5m~~T}M${;ydljio<_oB^ zAXm>d>%S*>7p)LwWofrqW-v@AH)cfncZjNgIdF*3%F?*5(ZfmF2HOM&J3;Y%Ru_Q% zj`-^_9I3qKOM^*=HalYoLpOZ;!w8OyuD%{Rxw<9QO5E-WfE1WK{_+?q#C2L>9q-gHMHpt_%-Ut`nOWu1xoJ zi)Wu#Y;o!YugvdPjx@IKQ@m^Q#_0)$_mqk)GNA!8)JjtLxT&}&q#{%|FPkay0Gtvh z5X-Wf)_<8*#b0jKMs^chT1X~WIF)@2v^aD{Jr6r5H!`jki6I{l`}Ild?Y3CFT=~&C zH?klL_o?5lF&@{SQrPJ>u=uWq_@ULlm3p^k)HG|zN8_Yg-znWH+|t=m0LJcB+3O3~PThYK-(RU4*T)H09kjab~LMU88O_30~liC{=qIjRb?q-rk9gaRJ@6 zZzu-$|Ng1>jp&h ze{%7j6li`kP_*%63pe7lWb^&p3>_?8$6XE8FE z|HL$#)6%}Se~OWks_+I#?0L$Z2psi4s|QrP$$Y0J)0tnevsp_XM$00*C})R92-9D^ z_((q@FyQ})SRRP=$^jXpAFeJCG?lw@VpH1o9P+DssfSH}i_ELm6irBSq2+4Fzfn2`hk9$eic5b_2 zba3ad-HWuCDP`Sys0YpdYpwNPb6lLg`UDxPjy>5M<3&p$csOl`WIz-^MQs!IVG5bl zM|MjTXpmt#KqS!RGTL2kI?Y`aZQ>837v!x6dM0M-`Z~BR6T>A)9IL<+ed~F=8TgYE z{z(bjj%<0c1h5{XXnpbY$Jm%K?i5GAfBG(u!~V)Pd+6wK58#XcAF4C=Y{u_YFA}@W zd3B+5wAr?5cK#q{3oIgeGpY4Ng)R0i*)Q3gYa2olvgU`BPBbC$_umyrSyhQtWbn`E zV#}IE{-y7-PU0g$#ia+q;Ip9uk1TjunU(6&moC3X;&$cMogQF3%Gc?^6NQjjgk`!%4`>w&%EveAfB3f##e! zP0w7?5aR1B;rgu<+BAR7(wRCtp599|=+6!53d8CwJ+=ZBsOmbfGNO3xw@FsQ*=v#0 z`#vK2gCD=tnY;>Ue7XFFJ)|45f<3(khyWPK|Fh5-UY`}EgYLtEXxfm0*^0`3XMt$A zmiuLIQkY}rWt3@Oc(5TCzDm$vAar(e0;!YQlMWoHVp6qavFp)Rg-{KfzDb#_R2T=_ zH*hzqt>T`)kLlZC8dLH##@MOc+fGFDB^kw_rNJ^iS!`2cQTQ#(0dvuxGjeekbgI>j zKlLojGTGR`|IYNq!zdIS4ux>O(^o5PVcy+f=r)2zZ#?QMvv-dT&UMUyM2IiP04}H; zp=N@?Ha?(8fFu@w$kWVEmQU%k7+6`ndmL*b8P=_H$H>(_|1&dh^Sucn+Mc_#kYrNE zb${V_4!02YGaE)ll)!K$v%0;FDZqrM6A-SQ&iq8ptV!jQd_7mNCR-!Dig;C|9s=22|OZ+te%+y<3LY3kao0_1iM}?2J9Aj|mlB@p{V? zxEvRnqE4c}g+tp7XW%#-i&!f~kr^>Xm+?I{L!LVz_c_~CoUx~S2MVI(+9xai#u7n+ z46?ly$AZ7`7$sP8$8j2t#aq3o{NPN8ikb^eQB9DHx&MqlUt6s?b4~&G!>4}rlobIl zXYcT5euVRDYvep8hV+FLL3BEDb#k1T2F$U?S8T`^Cu1C@2Z{_;3 zessybXDphnBlRPrw<^~&bNJL8E|nM-KhdG;>qd@I*tRF)>;C6Sl!ZEpl74HtUS<`c z4U~juJ}psyOK)pdq)t2)=$H&h%DGD?Q^6n2Tnb|aFW)Av6o}MeB0>5BC0@8Kr}sY4 zW&y0{tfg$zmqntckHS?fp=s}Sl2di-W*qW z;--Dg0NymXN_|t(o7U>nbdeI>LhvL}uMk4zrc_f$U9pJ+>a)lhxxZD7lqdT83Fmrc zu%VDvROdJAW?brM)xJDW#pB~MF4zlcG6i-4C>zT(NxuM&y3|sDjPCyDSam5e0@@l? zb|Pq~263{LAU%zuyO@HM4_g0EnnOfB6se7%nVc%!-D=K}*@U2G8>uA(c=r3ZnLW`ee*<7~`=3L9tUaXu^)K&>s!6JbOgpr6>y zhc2R>TuLg;omNOH7s~UUQW~g2$-8qrpAe{;i5sFl-y>7}zhpDi*M&*!?1|56{hr=4 zKI@=Tz(Cl|NS##RgI>2jMu14vn~wVRA`90}>Zk}qVqu(8gum-$EHjRWAy(s3Vz}_z zFBwk%UCoN3zmAd)nu`^;249a56_Q(n_#%UOiHPMuYEz%%ZXjo~03YRGJw( zG5=wc{iroP^kyVY>3yB3f#PGY!z1XWRG zQq&b_J_^=E?LdHUb<35lZG`asFi=@XXi|UVtU-|@xki2MYZ$)^D0=xD%VTFdUrh!i zFTKD>bpggDzzj$HK^Lbr_PWoLQjq>(N9#Xh>A5;lX%s+Ki{+wq$OEXO(5ysiI1beH z@g+S(Tp#CPOSTUzU|h|m3=JVXyC97&snwOZW~iG`Y+FaG`McpvgMCUjcfscJWAZJ| z6jU9=B+15yG(7Sa!dL|^(OnN9jsEa;41Q*=UlxStKA&)PF#cx@4!dWHx&Sw^M|e%6 z?{-|*(OnX^IZxA54KVa$dFB&=zC@;J0ktLhj%RFF7!A+I?0k z8Wp18-7~6T4TFYJ>hK}k(1896L_o{j;2msz%n9IV(_{;F!OdUHnVKrWTk942Zx0*> z9@xgiWpiyVYuPI*_}DhD7x%SfNdFr*Dp~mM=hZ{q>_D!Gc0!{IZ>rk@dXZ$CZ?Q%g zRaZzuhMrT**U`ZjF)pvQA{DC39Y4r99YqQ-y;>8vZ$wxvoXr2MW0{Z}orOc8+}Ukb zd#i|{b;b1CkTEN!n5V7b#lBK6n{OZJ#=31^qDQ1_lNqRRyP13;J*Tyie?E=a6;g;r zRmth;(a^ zq1b55bPO5%PRAdjC{>$)ShHobtKy?f29}8U`x@(T0eOe-OxL#~qZnY=+KDw-sz?iOPRQ+_dK{X_cs13|XR? zd7b?MS^`wK)_;xc`!Z`~z?k_SAL!~Qb-h@HXA{!d{ARQIYYcB;gtbgO!AE_gnCY|KWt|QXsBME;F3DFpIJg@c&a_XH{Ww)_Hw( zGLm!@D)!YcrK_={Gt&a%Nf8xV7_Hm~5Y`c{i*B>(6zN9C5w(vo)`Ub=MJb5TIdkx0 z>EeG2R|X7ona$cekYZwh6}U1{BGyF@7q5%w>>8RBcSS-Y?leTY)*x~c^(6P_zd($MAU%y~MLxrMvZ zBP2S1&o@-3IzBFZUU?4;3&ED$U=XLDM_+Zotz~_*1}@DNJR8%&q3QY zP2j8gkBybEc4qw7S5q9+7rc-|R~)-uc3J_e=a|L6(b;QeLM(v+b*gtAkWgQSl|_nF zUYLm$)nhjnuOwx49aCdOy9uq4K2{FxI56iSk9=c__8B4hj~HHzNqO+M3#-KmsAhD( zb^nQfP#*P2SJ_cqdHIw~Kb3F-k~>jGaNqeIjYuZs;<^P>B9|_gUuvJw1T~F|b)J;( zRx_e0nuNn>>9Xh2?LoS$G`cxCPA32_7ErWxFVLl!BokW$XEk1@q3UKAB&IpeNgwS8 zc$qUYVK<}lJ-_yV#!$wrHfDqqFvEMBHuxw?DyCg7K&+~h{NT0(OR^8=s8I=qRl^4@ zs#%F{AYe&I^9m@8@uX1F_oI`4suC|N!61$z$JH514CP~+Q0(ePDl;Li#+f01bIt|n zTIKtc8a@H*Bk?rESh6=5XNp^2h*`a&SIUm9#XZLb=6*60tC<8MOKH=qK3Wz->m9e| z@S3T`oJs{wau90yWZQs>7-L9+C!kfrp})$~wT^CT^1l7HNLc;rFm}93z~m++wu1cQ z2>Z>Z#GQiyP~_wMWSla-9j0EamaIzU|rch9U6BGF;9mnTtW$q zDaZLc00F0s2B9%SHo?vLpPZcO7^?G%6in|LUL*6$k+9Q=I6Yv8sx7ohk+Ecd$?Yvk zE*qYWBD`yx&K-fBW)`(b4kwMxN?`)Y-AF!`CmM3XAoCOChtIy$pj4ulCmB%9dZLRtS@sw9cdw!(tAL_E=eCtFLdLfMO!@_tQDC?uRdgcRD})h-1rUgeAU8Y~xKdz(H?Yt)}oE;hDli2GhW#slH7 zKzMVp_z!F9!6wODz|w~ih#S~xQ)JUBOR2S+DP$#v&IARoZ2PY9s}@!hX3B6I$1xUu zE(oPOpToZw2{v3gxV44M;2VVpJ+y1EO>om)4~+FtYE->X(m@XdExC|htBx((`&#f` z!#jUCLnTFXTP6(pN-o8w4*=^3FR1FL%H8|uJ|{j%7N`BXh@xtP*w= zPhE2pApq(ke`-19Q=($&V(jOM%P5qx-|cpcGE9xbCHH);i{oQO_diF4jE>H|N@B!= zF6~mq_upl%JbjNIQ5%z}y3U?Sp9>mbjb{#PL9cO}=P~r1U&}%cS4GBz=I(s9o&)>7 zTI*v{M)ZRU1R;$@P8JFFY9h}xaFJZmcr$#wWQ$Wu#Sge8i@I2%-b*Os)E@>k?#)7^ zuq!Pw0R4x}y%{5tNqq7fAqe)fk-iIxqDmY@tO8jj6M22hda=3+VDqkyq0s9dQ>tN> zq};H|th<;CIabba=B7pOCZej&%}`GVNdy=quJFYe54d@35-$hJq;pC3vULmjJ?9F+ zU6@0Hz52c%A)S*v)sZF@h;#`#3j7&VkAY7Ex zxFF0$?|wYtK&VQTfTK#RbJ&KcKS-z0Yx+6YQ>CgE;DD5|zAP&xiCNt9?dZ{eZjq5c zR~E%@a*=n%h%0u$0S?8-ZoL3+Tnm0WL< z0(OAwT$%KTDU{;?UD4G7k16jmzIA>$24WbFf6VM8U8Ob0v0l%l<&POkAXNjq>t?n} zZX@=FShFV2T#o6cID!I%`4GqG_d7CgX{rMu93T_Q{&g7oD|&BScB^E#q1{Oya*_%Pz{($& zRs#?XH2@7D8g=;wh}y4gzJ~%K$GhFjBSXRU8$ws~_}E{RAg_T&n~QztGH7>L0oocq zTy+5L*vl9qA{G{lY(*s;?maA!M-NSzT3Eg&{0N zxd?+NKtsT}ORJ!;`6Bo%2vw}f0i(c8(|h}Z=yo!drsL^Sb&(?5VdN zaQ9-4tteqo)5z34^1f}x0=_*5x6Xa4Z#aeqsJWwk&C-zjg+{hr3Wzik0&vJ~D}!Yv zC_Bjt7VYXkx0Xz>hpeekiq)%POFH7d;ZJH25~-dItf(kIer z<~A*?GYm2=WTJA!`HAWn(5(UuT3ovU7bKhvc?Vap+%Y8ptt$=f0Io%^VJi z|AQ^5ia1kPhQf8&U;7F34hLTNlxyvLsT4$CMQI;EjX}s_7_OaKRS(mxKBuuBTgLpJ_PoRMft8r+IZF`oq8VrG-1*KNaN#WOy8NL)d< z0L#hFw35^b#C$|tn_vXY@r}Om+jX=#M7mqo?frfP*;_*TUc$BFR1c!`1UN!e`WgY` zY}~2u0!H+4`Ymiu=|G-c7e&M^!7YwLvk8Qex)d#wb@T5cVweE!*n~p3nY6}>D*J|Q zJwrk`p+(6@QM&#&O_3fc-dHww80f1Lvl4Izc>EjZV#6Lvoe;@UDCCCgkV7I9Z~<(~ zlEeU^VqefqS-1~(uilo?5&zit{5!d17cwdfWL9$L*vmCRkwai6YJkv~Y`m%B+FEBX zsPWI>m9nIo#EDr{M1EbpQ=IAqaE*PTXqM+JNE@*QaO@x;O=CuUyf8Ko;tI1jf@Jdt zqrlWogSs#>t1lOsL|H%#m_OqGk1!6Pd)&2d=VyQ#gnF6R@0K}!GJWo6#Or7J()Bw*KQLK%jbp1 z>$8DB&sk1|_tvFw0#fZIFyS+`j5?_Md5^GLimcd zOv#Bay?v>x&bW&Si8;ks!2zNI@p>=1SweHLG=HUuJW79%Q(VgLKoFQa{%=<@00UALizaB|4k z&su*ysJzx3T9AAUZe^A@sEIax%#}k{VOW>g^aWBS~nJ1)B>-WirJET z)C>D=4|!|7Wm!E-t*_*JxR4&%FX0S|T}uq-;w3Y-!o?&H20c@U<1piK7tU~w-sM>o zP~*k$>$EM{b!s8-jzDxEDQ;>9l1)NC5Md(w{LN!xEH=7=`esHHmaSJHmmlatYnFE} zwt{8dFv;Co^I92kEM(3R{FM!kb2fJ<^Hac_sEBN0;j^AnC!8!iOWYuce|uI3YKd#> zha{+~j@JpFJ%+DnDEPH-56hZ^uZ}L3yLB;{V_irX!uh? zZaHCxm%C)0FP}Z>raOeTn6hIhzEYS3x=g5itCNzKECo(F*`;9j7lOit7;>0eEwLJj z>D3^`pF4`+UnN%DOFunDxMwZdSSqN&Z3sY9ftfdUhDTzZVeN=uCOU3abAD#8N5=KB zra9ugV57$540fhx+EAlh8kwg{iX`4qSJ}>NA^o356sY?2vl8mV2ID-N#DC1E*g(0o z%hoVVvebC6>|<;Bni_z{T6y_I)CcD>$X|~D*=Nv>jOQ*HH^+&RMflB;Ho0Ni0$aR< zn~pSU5e)BVJWS#xWft5}Rgr&Ay zTCPoWiS^sB}4l}hS zZnH_pxW6mX4)l5ZtEKwk%@yI^v;1`^^J;3-WVN^hcyq(}XBo$T?kI+zTyV#DBQo4p zJsMwOT+L!LwA}zUgus*OG_Xgvbv4>)&5moE4!~=}$u7N$uX8aV%aY*zJ=Upq_h6;U z4LF6SF|d_vUXWi?PITEF)%wL0Bv?`cNOI}Wm&lvgwzN|285;}>^sy|94}H3DGu1rT zH%r1?9MPfuyHiy={7H@TcpjITfL@YBPRkE804aFatG@tq^B4|ZRr4PR=rYc)iJ?KR4nN|u2Nrfvv| zgLMnca#sqt$(F}GDe8_w4`0pZdOhXn+`n}j`Ao(TZV01klwzoXL;Mw z5`bc$JTmvs0UW(uErt4%aKtIgz4nL+7(=Akd09~ezbkZh2HQzX+{hV znBO(Ek23MQ^0Hpq0_>{_uK%oxU2 z%Dl-=rdgC471#^dMxW8UWhykW+(flhJ}lyX&08jtzjjP2Podr=4%Hp$(PIx3wJwG9 zY`&tDP4G2{^#XcUa)P18BT28OLm@Ttfuayi!j$o!p1*K{2h^xRHnpx@-GHBSTT{wh zedV3($766BR~=@JZRpZuPts1E7H{V@L>Ybh!RD$Ff=Sd0eg-gtJgDx@zy8Dud~*;& zy&Ol&aVt}{Ljw^ImjR$#-QxXgkDixOlbR&jar~dzAXv#y?|+N{KOFgXOi$*&Fy=N* zgvn%Wcu-;kSva0vdZa0tr_5%Py3C*?nww*12yYD34ei~PD|Whgb&?jI-Bno2x5{Ls z{Em&PvCEJWXa+ZdD{JUxQp!xEOPu-U{?4d;K-^+fg~A!D?7$sDYH@d-*F{55QpJ{Eap>u?jT)r;mF= z)QvH->Z+Beh0;okvO-N#qU?bK?$TRJ;or1q>z~AQBt7T@o>BGMhIF>C{6dKjf}eg^ z18;48@y966md6q=8PN55pm3MO#qPBQApG`@WragXFr5dSs^DTMiCCIpcKU%2`?2!| zDp5z-Ru1>^tIW2Ex^DDMQK(^D+5nx+3WFXlm!V>5*wOIbK@KfWv$RBf5KzhL-6+K7Ms><8 zvd0;~moG-)%E7EL(zN#v5RvPgh2`lm2Yj!058D4?Hs6ztP9I4k9c1$pJ(-}%l2J+u z-Px4#;f9UVa(M6OSO~s=F}60APe$JUuwwNp%#>4dv0{$!K*pD|`qeKP1xaM^9)=M9 z$`YEQ>okS)7kA(Ns-ZC;(0C0&F@oa1$dhrr^B5s)8Eus`mXL4cG`}f>DdF%)T!MeU?D5V@^d?~XN&(Nvuiyga%uL@ z4CL-~_aMlxz}cp&pFs6t5<^%eX;vPSvSq52YL@n>*(wyqLPrBtaGE{ZXKi^y%h@`I zG~I8x5#O-U4a^k}I4yLO#X7jEp1EpmH9sCK6xM&p?J+H;nj~|wb^JUnjiK40JL(S8 z7)4qxZES!VagVPu8H0IY92wbxsX2y*RmGKxTlIf#$Av8TN_Om zLR2Tl@FO5Qa-AAizM2#|=w14GNbh^o;`L=k0J0xSlPcfyC>435CJy^vQF|aReW36@ z9U}BOo_Q+E_PbgY3j>d1C(;e?g%B_rlW`o+43ZA3Iqe2Nd^E47mLwXYUfNl6Vc_Q% zepFg3GPo*-9ciP+ks1-NR{RDf1aB%Q&F1ZQb>~BIb6fehh@HP`LK7tuwm^WSj*HWl z(Y_p4q@IfKN|NM*Yj7!Y68IjAeAFp9wp^$9erQlDhGHqk8te7K1KzE0+rLbP0Oh++ zezOhA+d=Rbz_dMs&IfoGEVV5qnrqyq_sjFqhk(mWyHLPJkMDjXV$}yVj%O#FawW=X z2&g`LU59nP<`WnN>;=q!DO*r^%MV?S&k)gHHLyc{1L=Jnrv~T z8=d5*wYE_w%4ZycwGpO?=|Yl-xaH&?&liu(R)OCQ1V*U(dVQQ&fVxLvv@!>jrV^+nb-y5e`*Or5y zwljX*h72WLAAXcHeEz4(Fuz{-qTRJt^as{$!1NZKsIxR<>3=tsgm(&zbmnTyNmm=n ziO-C|cB&$QQQP_@CKe9tghh)Y6}UG=a0X}W+veP1Dt3-XYd|TfmYI}S$;<)T7y!P(8FJ1^AnNzW zS1EW^R>*F{{%Z6uB<>X16SF^Erm)C?D?e)1oC2*WJ2iqH1X1cRH7n zSIcYI={*HEB32HE8fC z5Yo`pm~uiZ+6dU}2GpQZ1vZ*pwDBuq@=*PrVhQe}k%3)dS+H+?RS!spyxi+Jnn0W| zhJC-meI8s|mChOwMU&{o2J9Z;6r$^p2m&fjCg0qn`~%VlLE~XW*WBibL0am1Z=a({ z@2^F9Es7!L^YL<+cQc?YP`0^fkE{RCP!_!7?O< zZadY@psUM#ka8pp*|%Je!SN4?Omz)ZMc=q0IF(zt>)VUd~~{Fgwm^JBRt_a>5&Vw~aw$OMKmh`E<$1 zs%vFcN_6I;KqGQ!ISo2mHh3Fi+j3x!DB*g#E&K7_-;u;>y4vxs8n~vOW}|QaA&4Ii z^au3YLQrBzkQ*!eIzCcS(flOty3MwanhXtnJQ;BndeXSw>a>fDj;L!qLd+gx!& z5YRi#y9X|kCvx9|GxwSivjs$rIwf5A)`3T10QKvoa&+E!HE{N1!uUyM0L?^B<|XfM zuXp`6~Dv0+k?RX)S$D3S8EX?kXWN=w$k0vdEHsyL(nHS)t3kjY3sZa40 z=Gt+phjf6JLC%g$ig(nMm)O3enyZ1&h|KaOu`&X((0;Q=tZ^ z*daOlLdx!L2xrN-A?84eBe?_7DYb|FLpn>`mlSdan_~VXc2RwgP?7b7Y#bgknyM5b z<*hmK)CH~UKrH$OIFh_XkntTF{kqYi&fb(RzBhOZPLGw8cHT`l(B>>4d4T~hkVpdkc zWeVNVWeMwuFyl$Pf=|K~pa2UNqk+wqLjum_G0vQoM~AxIvN(w2^bLE-ZQO}zEvPpl zxpp2)eq-5GR9}5+Pq6HXulZZN#H^)2M?|XCL42#Tqsd&5KgOAYT?RJ*CFEKC;A+>) zPzvP#qL2LCNpWz<>{R>4-2Jt9`u1JJ1vA2IEd#MSl^H@wmJ(+o&=TpOio9;22Jmil zgu+)i#rKI!ok!fbHt7IyiEE%dZsyy83nU1YL|aWyuZEdwmuw+hwURblC8vuTJ3yW? z)Ms!k&nLo@-=9MXq|B^?p6lsz{4hIQh9%I8wVxE%@RFvr7+F6BkEiCMH@5?kf@Jc1 zB5w~P4cMOnzh7|viYSbtl0QuP1HEoJznZ-vSzT-e5Z*oE;FaJOI>&AiT2+Xi0t17A zl0SC2z#KRnwTeW4?y@>ZH7v(5#0F}Uc$l%JLdNMk)c&0F=D7$F5G*X7vz73&xkL7t zOj@ltLiv|Ee!4v!c=AR7ytt753_ON>@b8v15cQ;7>83DSj#boi00k@P2t8gdh*M;{ z7!1;*A&BORNSWMfkBg$G4|6EEi_yRjDqNQYS_8quhw2*^Momb8vS>PC(|a!95Kh7g z*IlrG3>!lGfO?uU3Y+2qD{j_LZ{yQxO!|CfRZAbxiE*6H{{`bq`;%&;D2g$(fo{0c zx-~}K4n5!5l+1z_yQ2S#3DG{wvD|hrsk006sM(9(uMl6t8@?3gUlXXMq)mALWUMRr z9O1|nBpqU51Hakc&s(~jxaxOP;y3eMlm%eFt{E@(i}#LfBnD$_ug6hHJ*S}la1r@% zF>09oN!6zr1CI|Zz;!dy@MD`rJipx2oV0|*H>GUubPjMCv@&WJ$;qFF)s!5;oV)J< zbj@_Bg=n+j|W^omp4^IeW@Z-55n{Pf%{HB!t zbKlHkbC#d0g?+9bzh)}R;w))CwM)GG-TXvI)b%8jRTcRd%4EH({TsMKk2vRQN@q_I z;_*>rPD|UKAB7Tfc*z|mQjhA7!5etHFlzadboTgVj%E7&edlL+_^vhuju$AEgkO{+ zZpc)R0)keETD>{QWQ7bgA8g~Qy{sESn6g|{t#Umj)C4|i%`^Fkr3AXi_!7c=Lcuu- zd7N%RZaH~Yr|nodIMk@$WUcvF#z2Se34 zYW12R|H>}x(3BX;Y&&52i%h*3#r~DVh6FY7D^i$I*m#>0(n3KSXAwXOJ>de|Vsa~g zIa$z|SE3}fBB$a}uuU))W6QD!7btqUKv_fwzkVxYZ`QJRe{gin(gS*3L)PgYv=_2W z-s3pKoTqZ1UVvm3f%uc4HojX3KAiWKm~GDFDrN>l`rdfWw_cWNWSpqh5bkRssL*8b zh#eB1NHj``qA(8_Jg?Fm`Jd&l8hrABVAd{z6$qj_Q(I3F&7DL6<#q3HK_%8@iTJO!WBrxMoN$;@Z2c@#_Z7`LiAME^TR7RrNYZ}R ze80P}(<$VmeW73SK|Wl*STQ6`Grn~LFr`AI8uI!@N64I^qLmsIwthi~2;Rr?{7UK= z&({uvH*zH%ST3l{tGz4fi!_IM<3_R`+VVt$OEF_A!GS%%=iJcn+_E?p>BVB}cOZb* z+5u?E6D$7fJ`gH_kN}DoMp&#nezLrzHdLQ5IY%hT!a};p2^?JD8G67QUb7A^rZDejKD!U#We!wYqS`v?6SI-y^-RU6 zWED|kWPyOK?-U;R&c#OL7G9jC_+?d&dER<- z;V#|nSd#Fs=RNj=nvSz=$t4raqKMMC0(Pu}SRCYijeW%ui5Cbk+7OMD;5{3d2aLG$ ztLCQ1@qjkm)+*XiawfGCW)h>S#^1qHI~Og$1!ZQ}jJJ=Z@iN1%lrQ zKN4GVZgwGHC}^@MuA`o|kAnVBX)S`~>4!uVSfsOkTXxc?VCS)%w-hU4QhFIjlv7M2 zjJe*etg;V&9C_}?35MVENL{g11QE>fE#V-OGX;%gR@hkd!SC+>ea05ZC~5~|;Rs2F z1(1;;Ga9amBa@3<^#RtL;s#CU)xVClEHYBzF6QteO1=#m8po#~{?U8PwyOCwZW9HZ zh3ABj_s@lJkWefP7T=S*VRYJMv30J!=@Lue6HcL3W8a<7-s_+Da8xxWoCXS4 zUb|#*5iEueE|d-eO4iYO9pj$74*d#N-%p()dC?V#Bs`dp3meoCmc{>shKK}ef~NjH z;UY+Wt5k$S)6XYvL%y( zj%|StDTKSKHIQI{y;jIxqr2hW60@^($LQYm(iL?zw5@-ui#hQvuhrTm3rM4R?1Jd9U2ssH$(!3SMBAbMZdxJ1zfpN?fTCD) zCQ$a-%_Ga0ahJSLWUnBUQKf{w_c~pEQ(eYG4Slr6vzh8R164U&h-$*Emo7-6NM$!{ z-n)GKLg~?bOa-0vRF&|Qpww^b$N+&%CZ>tEO_?eF#M8=##?<9g#ID7U{cwzQ%MQS8 zqwtPeo+(Zfdq|){UyCa1_h`iDVZd0JyjG)*!8u3!37oLlZPTzZ&9bH}Mj+W&Ka66s z78pk1#{xy&PnI0xAL$zg^fO#ld0|L@59IV7^J$8UW3)y-zrrDX*W_`jBOakv0SETFSs`7s=7BaYc<4V8@o>|a*T8-I|IzXtFmd3pK(=`Y_)eWtBcK~BS^LruDajPVl$yaZevcueS# z3-daXnWuPhY$XGW`GxLthe*kJHw;ZFK)ZDbP|BMD4{VhYryI)ba&_(~pSp7+`Ep;1v5kGxE1qbe8UBPpIf>*gLx#$=M zegwBsfmH(XU><94UZ)%7;@ZZqCn6k5SO!J!^A#{)oLgp@2YHVbswolr@3Kz7Tl;Z( zZlwR?g`!jtiBr{@$R<_mNIla3=Ew)_tkbzo;6u0bllNTzrWo7jKwpF|jeiSP=O_pj zz~Z5}y#K2Ec3k zRl-wxlf3i&ated5oi}P^@;YvhElxoCggqom1{SWcz!HLV9@){EOTsREljdTo(d-0v zmUXhU4gT?rw}}hYVo&zPF?{QFx(AunH*VH$42~wX@L<{cx>_Lp@~rJtRCHWyh45}{ z7>(_2pL^1wJ>bj*>Fb{{ zyykS%Y6P7@n*2quC}kx37NX0JJ9Fe@3L-5$nIj(3>i4&Y125(63HuSVKbu|4`q zfA0Ch^@G&$!+*Zv344%M)EZqGkTwn1nJGp!0!tL`+}`)Bl+I`4xTY50eDg+*1Z+gA z-=eRjVNq641D8NPjHg~bNvs;%MP!2Xy| z>UJ$RjC*-=ouJU1P0KjrtSk~z4%6wD6<fmj-c=t=4Zsf*Up6=bYDQkAji8uw3p7DBpDZN1I^JaLKf1(uw?L2)%*wGLV822 zw!+Sjl!eBv9{!^+L6uPx)_3BMTmFNU5;Kh<0qSotE_ec6*`>R1#4x@r&^rnzSX}f@ zB3&Yf7K*VBATr+JOQ-dNtt>H8yC-cKXzEp1fL>tPkS}gPS%>X}d`#eff#;>84Ok@+f=gy5Dek{zla%u=Htp-NK(>Pyr_~s#Vr;7mz>#a=)w6ff^NbmdhP(@Ux8HU z+MK(sG58g;h1S@Z)89VOqi`gEYKq{b!eM&;66J6DZw(EC&e%5X`Aw0&v}?a6%8?sU z`yFJFR!azcq7{1vHd}5I()FJxDu*hxk5MZ3{jIU(0Cn(qYO@fPM@vA8JM?m#37Tzj z;krvwhX~huR$6X8q@Hs^9m~Kdz-9Dh$e+HppdYdq2P)N`PCz0!=g)ATMf!V2YRd5> zSyr>#DIUJXHG$a}M=AJR!6t(j!K|@FZj$_s!HS%Cn8+&Ea>+JHpQ=&l{o-1brEkY^ z^U2SSOhT9MaI8wOO0sq;QDR}*%iP-J;A)r*2+HvJV2#^)K@yJT)YW0bsntB10X6jH zIbjR$fKNM(It3oW^JNb5n$ypAe7Sh~t<#CJ1!20MzTgBh0g1%ML6XsT%T2SJPcJJYXb_1_c~U6a`ba7T|Yiw&2FuF*dSILqz^PDO|lh*CZ>CDey( zFF?ON^znr*?$oa`n&f&`;P@w0unR*e4D|t4yRj%w)DXn+F73Der?;w)dl~(8HI*8u zR3wj%prD{qchAHIDE6%Mn^?tiwHOD31yqI_320vZ+v&4v+k5N5 zKgzeZ;MEA~G~l;2Ad(0eqR(3G`H#7{$^(`=m0v7BxM1e&!E7W4@(+NL@thd&m`f`6 z<^d*5Tx_9ykBL&kA&&{@vY@iUiSmFW_oowfbxtWX1i(V#Pwrflt;mdyWN-T)men%A zs(;h%sL5KY0*&34N;)zsyYjWcZuG!llDxU4*q`3C7ZYXYMQ@kkb!+X;-TD=>!xzWx5FE!OY2`iYR+4`(PuyVwwb zU$=M_%_4BbE*t*g+6C2xM1byQ%3lUq{_0kHR8QwqiaW6YR|EVO$<8yCXVgtKFl0F4 zY5FFtG40q1ztpASR!<;Y(Oh{rYHQ(qp=3MlLs9)>8vITs@YgV6^e5Dcxno52`zH=% z7K@$RQ+l^ktI-l)jVY%i|IE*=+q8uSt+BHmY?Bp=+Ab%D1)q==hAc& z1SWYiVhJ+A=JKX}moH37u*8EEv!3^=ZlkX#cJL!?_pSqAq?$}LZYibe6NqD^R!MP! z>uQ>KtE+T{8 zGnOnHl+$hvd3bs=BF-ccNvAe0@X0fJ;N^AVjCH)~ME8L4&QZo+y{Y_MNh{Q0_eHlZYQK`M+lh@L|VRTXW%1VS;O|=`X`PUF_L1Kt=d-`n@>c zB_VL&6v<~)0j?=5EqQ3|v$FF!GQhsN!_jEyKQ`!J<#7r&=0}U-E+*6DGEgP9|2b_A zLF&&fB`0I15lTV~(an5CmQT9KciAW2xNR{M4m56Lp)@zTme|sXErdZ2vKiG=bf5c_ zP6|oy6t9Ktg+dH5U=M&KrBU}cRS2C_*>YN?yK;n7Q(F6{rRNZdQoE<&^~aMX+6F@; z@^(%*WLe91qs~#$GLsjN-pry?)bb)UI>1FCM*Z`kW1byioNv*UW*1Zs@8EgGy;Pfl zvoci2E{h6Z%;7r*8H@UK#IFeeQ$FoY(bt%9q*B-ft2QGj@ zV)Cb4gRAshh6D<)KAwOMyc`p9YbHDsKy%|lO`q591zjzV-&yneZu z0Qy3t*u4_r;#4*To(BV$ee13fo|1g@jr~8H54mbI4EFY{9Pq2L$lYQd5R>VKDJlRZ zK-#}#^5g`X0C&qX)H`tWvxtt-#4kYlWNGKl^^#wZkXAh3kJT!sh!mb`QAJ-8uypD) zfPWQRuUzTc2#* zxF1}4lS@8$;zD+ger`qe!A|6r*r3g)hXtc^<}7Cj3J5j0)Rn~ZjgzXB&wB!nIK^&W z4N?BBfAJmNnWMiRM`pJ+HG8 zv@RPZse!F|EUQ zwe-;oG{6WiRvV0m}!X|->HSY{#Dlbane1ksa@S5oW*tL5{@wPtzV(Zb6L+BZm{ zeT2;OBA}@p^N2Qv>}69cysec3$27`5!-B{R5!_xHP`1x!YNXs{TKO#rjydBeP9G-5yB3Dng#7t68!sopVD;y}%FJ&MBOcM#m>#)-@hlr+)u zI*HQ<+4di#S1jSacB}RwL$O_-oBNalb+E(j(h(oBs}MEN*Fz9z9h+t z_P%?BM{0d1mL4fNNkt$Q2_=Njqopk2J|04+A814Z z-fH4}bPB~xU__rRy#%kboV)xgHlJHnMYWc&=ue0x$gYs0$((6644;;}{sTsaE@{K5 zP+H)yb9JL0d^YI+g>nxQc`87Y@*RX7-}9g@Xxno8SdIuQw`6AeQadeQ?3A(G7$ne` zyjk$p&|>5qyOAF6lAD*Y#2^AV!I--3$16}KtqENlh5iDD!RnMl+bnl{ZIznEn!n|S z^~eTcogah@f}YHBl9O7rq36gI>2IfoV{rZHeNbRdD=2^i+FO6}mXNSoRi`-D&nYDe zUtLwwtq`G!y~@ta;`AuRZ(U}=C*TNYMiJkn)I5G2rpTg~Mr@DIrd=^JRz_(MuHY}r z3Lcljs{SSm9kQ^yz^z$4XC>k3h7ClIJIHcoL%(I+EwiynaI<%mG`oi>s7zFNiit^VDmXRURKbys6bY`T?tFjI_Vmc->qoDoLJU&=O9lyz4GV_FW>6L%UE{&HCV0W*F{U z)JcIQASFMzOXrA5DK z2Ec(O8iP7+BqGDSI zaVvjx0B@J)Ua`wmK+HNP4k|p93p_(n9%wKr(7%64$MLc~`V|~N@f9Pf1w^lr39e=0 zQA^u6Kns0@fySg3t_9wPq<$g*qmIfLMA;fhguTI|mRy8Neml9T<)5>=q!5Bi$wdG= zlF!^PPx%9QjGt_6c7CB(oYTdP%d(qxz9k*%g$#dT>TPNEAO#tFYtzQj10Jh|=ujU? zhKA=Clw>`wKnp;a$-Xv$m7?0N3AB;YA%W`Dt4p}qZ{$38nmNXz>}mNAcf%1;Fwqez zNrJ*@+m3|IVrg=ezxiYPsD`%>ue_7Nx%%Kc8QX*UyBIrK(om>$U)vdB2+a6eo7ifX z5pqr1f?oS(oeUurrf`VlffnayeUvipJkkkaNTYb>nmbV9OQ}xkuiy>{qaqtaE|5)% zWJE4`PQ69MB$2B-LQ!S>orGeG9gEoXT#vMmQ(n`eA;>2%q=|)f60j3Nc}j~Kv?{u) zfDELI6huCCKT+)cV*hHe3)kOO;w7`7eFg!ECOmA%)YJx6KO;h+a1IQ7s7CIm5lShY zg5Gmx@B&Cz5(}jV&5^*UPbf<;MPhHmzi$mRlhQk@3x^0COwbEotcgq*!-u||siRp` zA>SxS4oHx@Q;=lK&6hOV>hblq;dTH~mYttW+=a@5vz^85-6W}H=gRP)&DoEEiS25& zW1718wq1r>$mce&59Mk`xXcqfuZ+=YpY&5Q{G?yk#6Y^;rMD9GzJKu$`QA;m*55bl zyC#+F`EjGAU?DyInM!l!5A;8YB_kU14tq;(N%R!yJ}>ETW))Op!~^Y8+CMjrvMJy@ zgQ(HBTdtbjr`4#zBljFgFdsyAVIJmASlIovu!lQQ8e5#up`wtMBDU+^q>7@LUK))0 z*`eW**pH=e;f@rLHkf$k<2Gr1&}+Ro4@OqI0|&cwvOF9zy1*C&rbz6jWEljjZY;;7 zqq6F3z!p(TT0Ks;3vfy>)%JD+K(zt5);ouE9;?nRKEsE%tiz=gW@gXo0sH#4o~-z3 zRP9+uJXy&cEQ8x)K?ns^srIObc{I5d**84lX(*~NEZdkvy2oXfB_qEAc{DtAY0F(& zt?6}2b{opvGvQQv&_TlxNQp2h1-Ju1H5EcbZA6D(Qajz_e{J6*aN5h8&y4p{*6g6L>(R zKk*n$I!}zrkInoHXS0ptZB5sJ^{RxWv2KKvV#p8r3+M$|I2)G%BN(HhV}ge}Z(B}H zcZ7%=gMt*;uKz=t%UngY3Gf*F+YCdeZB)Ou$}=b z!U64dmaRClxbrcZnD7E^r4M!VuH#I<`%#4Ee#}+#KOVC+_V%oRZ=(URWmf#G zTN48g?XQG|y+VK7=goRYzUMfW^ct&)obFp2^O9H8Bc%r{G|#qS({3#qc-1*T*UlZ= zRCTLhxX2w0;ER*9HStij9-J?;j*^GMZB(yfh(tuj;BtHQHT`CDVP351{TMA6TodaAioQ@7y}3v>-)Mf5>*A&BOVxu(=P-H++r~pyuGoD_picBQfP$^{ zq{vmHX5V~G*2>~SREROB?ORzT4uH~4sfzI!*Zb!A{( zNf7`T;m{@V($TQhLM9Hp6i9L1GoWgZ#~~u#c+J9{m-}s{ZmKc}&1$@C8>(>K(6)CJ z1lw0a`~af34aMFfA@FR6ky$DZAvfliSN=7WSeJN(3TPtiUlemzVPsc~{o3!_GIP}? zQgxPdxqq$rq||Pj^3px=h92Uz(&aoUlMq?!icQ?Fj>FL`OI!J8%IBrZc`VlI_EY^w z(BohtnK%5R(XCuU$+wepR=|Y?pj~2i#YQ32TLTWo&Q++7;pIXcNpj zpkk-~WS7mggi-|gPZKaP!4VJ4Wx75TCgxR3RhV$a6yI$@c%5`xELcJ4zTGy~m?<_T z^XH9;_%_AM)PL>H{j~!_Lfx_RIgN`IBZV8LKsRU$M=ZpH0Y)jzkQeh>^L{Kd>nFeJ z6Jy2!hlaSMXuR%2-A;$**B|g@KMTdf%FN_`vs2s|R3NB@J-WXMmyzYSudf&C?)FI=zNL@H#GpPF z0WS}^Pxs$noYa#bO9GTi>w@~ZEy%}wqg}TCaOR{*_>jNxE3y9oj(nOoSkT_pLV{-h zxgvmkiWfNT%T*a*kmspxuzC8gRlw~~>kI@wqe7g!1Kcxug9ffn)tVD2{PAeEgq2h

I=(crpQeJ>m2K#Vah}W@-5Lvz=givJr1$@{0Hu`&o`bR6YcSeI z?kE~-l>KKaKim%plOfF({pVndf3Yi>ZVt30b#xPkR^{NYy9Ly+UE zMGifI)Lm7{o|;v0l4(=Ah>|MMS6;48&KXm-AE%t4N22sDTLo-yuitpfkmL20kdOW~ zjjn$RFv~Pf5gwlGbbOY=L29si#T)nI>v>ZLgB-hQAyp*=%*g3K2~xZb>B9Dgn{!!~05O;^96vhb0v$){u+L9BIjxn(BHk?^WdgH^QkEe^TCgy+zU<@( zGs$f9@(ApFTG?*SQ#LQ~IASwfV_H2av({khyL=k;R@V61_vw`xP7J{gI1RdV`E>e| zK#}nI@}{;&6?~mil(S9Wa;~DDC_Lv`H^23!0V|aHE$@w@~H%W0FS`uv_SY>dW}dLdEo4cjPkO5$5ZK zbJiR#P`X98Em{tjB7AOVdJgmnwk@-mvcOBzI+1?ouqZGNOhJXSM0GSQOf zAtrtt94Zrk)0rfy^$?6_(kpRO8?AMM^eG;5t7Y27{n|4KCFg=`bb%1{M#Q$W@}lP; z8LG&Mp}4RKGK$Nv++k-{bA~Vr)#nkf$$E+!OA-FJeA_(F!~d1#hNeC80<4hQ<+`%p zsRNE^4O_HIfFjT3${H9p|HMUGl6gu-tU`FgJ4yyLdatYMnM+Yh*Fl}w!BI|vZ*QcE1B#A7fd_GWODN?PAZ$5qZ@E@+fEkw$=T~pnKg6lcI1`KI;CHw+L{!|i|mDa*F0^xJR{gxmS&?0JnbfHVYce4)quqZ z&kR4Fgb1K!R%rwr2UWaStXBa`EA)0Omp+kOcN0-xw$2!Bd8g4d+SS5O0%V#U^y8%J z2~(=HY`qWB4f(MTbJSf!u0Wz<@$U`Q?g)_SM7tcKnC$7my#M~=vNrJ4=0~T&iZvhJ z1$rVHq!j^>u%y$IG<~{ZTvElc1W`eiSvEk_qAcw!)1-hNp-~Va!+kkd1kyz0oDoK~ z9SDRgpoCz?iZZL7aq2jt=I&g*kosfT;(Hn)JedKj@9RLdf=h>o!Vt>xmp5bNyq61q zfwk1&5nti8$l|9TlEn=4K<3(vOedIBknD{JXf9cE^D8s_A?R>kb(o2ME0lez z)jxb)qKq_!^pw0Ged;1LXfEWQ`*Kpl61~1*^c&6=fiKT6Q!qj`mij8|7DhUgX+B4G zZf=p>GIQE)t4OJ_0-`rPK!o^K1O>i$S(4H{0asz@OGDu>W&f>GrEGy-Ww$pOVX~ryumhB)>sU$ck!*y%t)t7tQi3s%J^)p;*U2tBKHzi~L z;&ct`HJU0mNKtQR@Dqq3Fn*k?(5`sJe=%O%>I8U5SqX%Ml2E;tmTw_goekMH(7=XN zU5!m_8H|9O`Z*+CA|O4+-1|HRz2|aF3IR6uQ(1qsT6pXLrP1Ccm+V;SN;%lXkq*LOyVRCtp_VNNyGD zuC?G1#`-5s!b`dk=u;bJsdv1j6^NYd*vTe=_nwzS0+bA%UWt%(OgnZ56mnM2e_Qc% zwXOY9K>!yZSEeHw=$x@fD>?+wCXJ@hB=Xr6Hf*ABHyt=6qxd!+a?5I`LiuZF-!Vyx z50%@2MIL?tIgV!_>ngF(VKvtrj2i%ORQSLWpI)295mR;c)l6spGt1?U0LH z#VG!i^wU^R?*OU$24IB6E86rJ{|6u5# z2#$*Io+KrvbL&=gErRO+_)@E!CjM#so!vSzqt`RR9|( z>1>*#_B4cb7uT|v{3kKgSzZi_55Qdlsma*27C!sd3PI#0Sj`k_hPLZ(sOKte@Syw6 zOj6dmx+ z+?)7sNj6%ZW463|VK3$mmQ3%waW=pXLI)-c1X#vp7EZ(sKI; zs?;L3U$wac_y6;Ba>}|ZwES!EMh2MLBOYiEavBBRVr(s~%#cMFoUE7GQRaZF{Hg&% zpwSzvY5#JKxqQY>uPytJH23iw3MT^rnmn0K?sG>VJRuHVb^HC}1>O(6LV}NgbbDSh z5Aq&?yn?m?w}1cl-rq87?j&1dg~EZlXPF$T?DSMgOAZGZui2K%wxc|;K;%?aO5ZyT zN0K9lCeh4Y{iV3W8blC0A+Ga`Bu4R^)`w zG|O#%V?H+7VSbw}#%!3Z>)>$NN`hr742UPuYtXxFtmOi#u`?zi?bGA!F@(aeEY5CWRIweUh3 z2f$fAL$cA!ZX**c)a{D)DgqWtdFBx<@Of)>mN!K-g&;hr_xIQ2Y~^x5b?vsn;X66P z6+{o{5t`0snE9?}xy7#z?;QY%!^IErb5~*AR6E}Qg2YZ{q6%qZHh86Fxd|Fv{%n7^ z&}C{0$blrPFZ1=a7)3R&n=f9fcOslIrg@gG5P0(8m5s%I$Bm1E4(&G6se-9$F5gHM zBVCOb?a_I`nslj?xZbQF`~KJHAIk;aZdBgssmatLGXS#ZAY}SUEp~5wNlVkIB)}n% zAHO5``$K`x#_)_n>jLDWeEOI@@$!XuzttYY|1Z3i_6+c=ZVEDTHY(mH?S$fmPf9Y7t6< zPkw;FmvgF?k0R~6*CVu!jp!%ZCFg2s3%K5qa z*so!dX9U}?xH`)FXU(M;q3x%sE}8G(+?Vf0aojSmzSNZX%#n?n!H%w2ai4J&;68Uc z1T&WkTHn!78}!a-n7xEt8B5Lvv43*sD6bh_Cua~mR?q70Qw!WXTjcjj4&aA`Pe5q# zvLzoH8S9T0?nQ-LTEJPXx#3Rx2HKGF2Q-+5l!SzPDEE&2hdDS8Y#gn83-)s4xW}h- z>_VfHOmP-P-4cp=t$2a_Fl+NwrwtznXBdD-xh@9rn}5I6s@m4YYr61vE*x+~EPnk(uO z60z-aUSDIw4w-|Cfv6bzN;1WbvU2j5hZrSKsXc{F8m;u+@qV9vrVZ z6TU=@rgma^+gHKxM~tRAek!tBxCsZQfEB;GVTT^}YClCDC!%0OR`Acl z8DmXEtBeybo;Mo6eJR`Lz~T;NM{+df7rr*|Sx}#}ABwk)>wQhqgSwQhzkTzBeoh07 zIS33Ls}*9l$Dk5aMGb_??`~E$qS5z6OTRL^N_FG1S2bn@nkIa@4JW()|1~VR?bfvg zj1qIJ@hH(px|S2xAJ=SHat<(y8_x>_-N)s3W02uy6#5k{(|MS7 z-`X&vT9h#efWin*6tLAq!7>{mCiN`^-tnZzM)+6#J(I~dRC@o}2_&tl389O%51~Qd zANpD9%cFW+R8{TeEWnBpy0e8nTmE446%RuI7*bFxpnq7f7|o3%9+4{SuA%a}@uP?hEm@UbV{& zBuzCJwD_)2%iJfLp*MyTtZ+e?BO2o|*Udey&$exzD4O?tf3pI{Ks}ZO>2>E$Y$!kt ztvCdReu@g|r)Z*t35tS_ScY2TU=(R>a^0=)q?S*b>t>9}k$X^>h?K9_5BXxfyc6&l z6J+H~Qrdx<*MqRRMNABDqHte_g#uw=JZTSrckp<`(qdyC;w2ql=~7=Nz%wDSRfCso z6j#mltLbXL{8;R3CWJ`nuxk@-a7$eKG|W~3Z>+$iNKJRd)u6K&+Mklt%WRLsBNs%; zo5WAG)YO6Y|Mwa)?QrNl4}paNqx>oa$A>v=(LW=>-3D^G@mVm-T*$U_*S-#?)Vq}F z@`VuGVqDqSyK>_PdD)!Onhht2#=mDJO2NfKlbT&t=Q#SW-(QPcQXf z2<`!$%bLn`(9t1iMJD|KjGozJ5Y8gAz<(2;s&!xLzB@3YQb4cpiKv1M)+0R$C}K9` zGg>mh;ku8(D;DB1<8HRBR!c-vjq^C*y)BJrXV*ev;JbV=ynp*Cs!w!vIf)7yK_Dqp zCv^a6cr$ux9WJ3ayH#nDS@fJRB}1yC$!X}&8BlocQ+5skmSv*bfhKjymKQ10_#;S!bt-F2934S3dAAyq zsMt1?2Z|q`&~~~P*6+B3%%nuy!d%W7r?6UK=n9^?;whs=nxFapkl~o0wy)DQKI{g= zBIJ9;C!XoFn;ZZt{5)?8{Ds%4a92owx)~`M`v05cq+adFwM7tTX(V;M(U!6)r}2^w zvmCjd>rSQ^Kp#@Rr+n4L7|P;nMFA9^v7`w4`xC+9A$A7iZz|!oCyyj^ty^Lfhd=J+ z1$J1RSy5v*QPyO1aaEQ)+3(7(v=yW$P13_PwGE<^L=sJuiRJ+o=j6-RMT3OX^IW*1 zy);7-?%YpWNes|wot^EBVCu1928e%&4?;{yOpT*C9NX%>xA}PAM3%|=I&29UIUTIh zn_Z%wAR){{xD~l$20ufXy9b##(I}!f0#{Yd2~T}$n+ItHcX8}cZisbWsTxXzapr*P=&t&A8<_15%jR> z^b4F)f7hFiGJ?32oTJLc&)RhPwv8%Y83A$`IEyr-aSPEG1g&}}|^y@$Q=_MqD@ zb{QQ)*!Bpc{-;K>mV88Mmp}>61@iRiCH+~+2?3bX!{|hDCqBH_!M&sjy0HvYeAK<$ zit1G4&#_+>o=>D4LLMk0Y~vEQcOwo>0Er1<50Xw~jS|!~Fdeg~!w-pq$jePu{&o!P zrUUvb+%2Z!Hdz>YK{@Ci{Nno!qcfF&hpNT!G)1E*-Mf9h)(0YE^)4p4s;+cQ(=x~K zz5o}h1>Hp>9)X?DSJPhSiIy2);jYN4+^H5s90^_2LmwN9Mg#dJ(qo{V;^fYm)CeMm zFm{(S6rlON=&U5>}`rk#7372&@=$#+RwL^K)v@m$ef@q0)XhcVYGqijm z2y!Qo&Pg5hqZ$iWU?s!vk56<@!*}We3XbUfgxwftNyM?IijDj_0x}-8I{N0v zNob;QksbqIx>((>T&4K&1omFK-Fz_~KQyKx;pu_6f?=f#Sb<*py{@%?_|1tT24H&! zUhL*`RC_Cfy22He>R--5ntF9+F{03henYZHCTuhA9gfix*m@a z7bZP+=Rp!>f4c%ebjpNNtPAbJB{Si&Ih8NvJS7wW4wVqHzC?~4l8Bm4+6;u-O?Jw| z0py<_dUe3p=MFF?gv>p=3U}DOY^7#*Ee#Gm>s@907Bdo=fHY~BwIPtQm7HJGt9laH z;y6n0xVZ-Q)7zp!(#oFu8E-eo-oFhgIf=HZ51OY3^V?v*E0FsB2L_ZLw+Fp~8+jS4 z^(u#m=h|IB=l|B%DJzA$%EI0>`tss4;^ViM@?>04;n@rS7)+{LfVMY(7% zr>6YDCi)rSO{=Bg#`e2B{u&r~Ie#wJpFbI6P>=U8Ws2sFvmg`R*8y$RGGfv^1@5Nb zsYwDoukCvd+&N z264B0cR!HhhB`2;-A`va~~Yn9}>o#bSD;t4B_b4h39$6zU6kbR)QoHs@e61 z7LY>UrV6p)Ic`5U3Vt`~uZV|0{*?(#w+A>!g>~&BuuL}=w@w3#!7rC8!GxnFXc!Zk zkW|n!($@EPDV=hjwKAK7JaF|dV!RQy@z{jK++_^W-AFV20A`+s+Az+D*IesUQ}pqy z7t+%yY}a9v5GB!icU#7l_6v;{ffTc=`sRChxy_!}&-X1=!4WLK0v_|Sw$>>>%Q}y5 zmDko%pyLTf2n8#jk`WP4!*|~=_4{iCMl;ba5f|P$y?DrrLkU zb#-VSjyf(ISwclSB9z*#wl=rIgrLggq`=pR1sxm^jYdfe6WqjQN8e9H!Gg;`mLAnF zsn!5%>D4k<48_W=Cm}y16-wCTWw{*2`tq&jO`F>gemrWA@_11^V0D%aOEDaMoU*cV z4nTMpot@4ZA9yxja##C`D!}b&d4D0VPr<9{QX?Zc%)csg0c6YI+(eWI@2F@a%4<>z zH2b!qg1!hhcAh={1|As))kf(mxs#&R(%GAt93~7iwta>8df`;nq9ge*rgyD5jq*5s zz@&)5W1Sg-%lN8%APdTA6WIa-N&J$*;gtu$UQ{GwHQEPhgP`|^)Fnh3dt^$XVp3)NJ67OSoEjDtRgEIfR|*bHB|jspCJk0J46bQ_n-ME)s)Rvc>4&dP0%PD}zoJ zwv^{y7=EA~S{K)(irS*5SQMxTf{h%Oz{l=zze#}pM{gauqno5zmOJ;heA{$<$H*{^ z@X5joX6mbV=$x$R+8TB^LXDDSCCe8KLKR-U;{D_%iG@*G9!EdMp5Q+QHsBxg@DHp* zR^)ZtP`^gqd0(&|&pK8?=Yi#8J{IWZC(xzK(P3nk3Gg+a>3ZsE18Du^2_7*Z$jN{X$nBE}IjJ#5f&T;5ebc=(du<)Z^aMxRhl{7js z$owy?+*Vw*u1YeP;SDi2$B}C>f*3F%CW-~54(Gz7n$nTum8jM@ckHq?Ct}q z!3v~Bj|fL1Prmg`XB_d3$i=K%uKl>pPi|xPC}O}ug4$-BF{+U-xJ8w`j@0YYrzr&Y zI88LuYRE!hBp=n}m=qjysn5ed(kdZGfCj0Iu-Xxq@yp3GKI&QTAbQ0)}Jae^#!M~L%A+Jp$KDz6`%GPPZsLQKa>bXaA zEztzWY&ASSWIew71`5nPQHZ-G5cRvjMs{IF88%vFUE}%N9u%MP4gc03Y)FMbs>zA( z5Mw@pUeHpuD8AWEupm+zEpmq_x0;qTiW&wx|0%iWGk2aEJGZT}CSM$WS#_n5q6^(CDxTQ}$rW+1IWEK- z5mo6;mnHY~8<+0jPNij6v0?6*6(q=N%anQm&+I%tqE;#>Sg8Ft=tzIz;9v{JEW->$ zchMo<`{fLgDVMhIi{o$P3tL3>kLmY;2^OxQ%1mPU7+h;pIfLKxpzgVJSfL(J(%oS{ zN~s%;1@ng2)E2rj4f#xwBH!cz&@-Jy&pZ0=d~i|WNaPkpfKS%`^B_+QbnuA793R0y zwTr+&(y+2_&*YKP{1Q+wY;Tp)GP0p~2~jlzd^srMpR}2Bb8qKy>W?thaye;$5nHlL0kgZG^+=sZK{6k?hczGGXTT-mD; zXTo4oI|E%OfIl1pQxbKC#d_|s)na@yxDmv>w9MzW&WQ%!Z_o7FV@eAO!B>-FDmjkb zkMX3z)QbgV5EDS(7$eHVHsaBJmb>6ssq?~9>MY*CrD=>B4vOcL0w;8$AzG8o#R|=gFE;k*Z*BB zI4a4kUvjQsuys$bx>q7u1sqRil3R`cDL^03$gYTDMe1R=sIwS;%P#kJOEIZh=cZ_C z$7aD{RPYn%L4UXph7`l5|FsAiBUWSfEPNdSUIZynkAT?Sqf!q{>jFrzrbhDLo*q(b zuxKdPbe>w^vXS5qdo`UslECer&ZR;lGQBb>$^5bRSYeew50k{6HCa1W{+`U*oAjBA ztwqqN7~LcPcmpMoLIxfyojno~pYOr2(n?Q56Iu+JAfjk7nPp9pS4Xr->^XJ>GE_Wr zqd^Yx^hVlE8cSx(X($3XNR<@Wm8XCu6R<>L<;7`$?z&E_5fnKG(Qg5I79+h_ct9n7 zjIjt5k_hN7BT*@|SuCfnEVY}9KF%SoZG$xWetD>|(m$MCn7-)%(vzLu$+_y8oZ0fx zppB7t6d^nKe6noIF@cfcKf#Jo5{D&ku3zPLO9t#mY_dVJQnT$wE_791hq3$g%O@92 zsJ#HuIFGYC?o~ILpMX)b|7<*6Da=ESFc&V(a8#Y1z?M=>PP=z62@#aXS3m~w$jQFG zje~#J{s8{Ci1V$zSKDbJZ<@M(!7(Co7K)^6bjxnzNFGKktw6Hug3h#q@n8=81H~g= zLk!xN`SZ0ZWi|pM|3&YqStkQ@&5mSp*MDBJOE&xAl7@K)JwzfClKb`~g5v$yG3nEn zhy!&8JBGNkz_rpVA!GHK5QJ`v7$H|x8J193UflFSEwwV+wfe$tOhsGtf^gMzQ=5Fn z#pFzatQAD^kK{y}S?#V=`jt{NO?d*N_MB+$QH!lJF>UJDSANt_@O++J z4>hYZEBoP9>xrZ3_`?T0BFArv53*FQ>4C;%CfC|vXQhfnqQ*=)<<`RD7;3@cA+IfR z?5rin7cLoq5xpIfP304(Q_P&cw~f{ZYnD*GcU;TX=*lsNK;yCaSJeb(&>B({p^;0- z%3SNpt8+E9RJOr7b=b|+uy}t*uNaoc|Ejz2+`)xr`8ehCU*r?Rh%IvhoWA*&jjQ%u z3}fk@55;#R8lrj937`FuW(7-D44hB7jn>{7=Z0->Rllf*C?heoO2p-o1zg? zl)Ze?q-%{ghUzbEG0Qvy3ZxvzKcDBkyZeq5`v4mUUOjOKt2{;y;$iY6b;z}wLEos) zRqSgiQfL|PvHy!5m=fmnO2ZA-l$Z&I!Ifc8c!@!1xb`x?_>^N{7|*v)d!k|#9%lex zjLg>!OWq=J+`CKvk+1%1qre8jUo1~`q@6|ik|*z{`#cM|dJP;qotl!%rf>7|iVSpw z$s$EruU0^^iQ>~9NoKW_&@I)YiDjDeC)8Tr4M|WS`m4qHh^i>D=@3DHrb}3pl5h7_ zE4R|_C2NLI=E4EgQL1^qjQ$Xgmw)SK*I_dPwxc2@Se4BHV}uj15FP@LeWeZL-w8Gb zcY%$a-Ydu&A-k~-iQ*Wz3M(lT7hnZe+yGk=g~pJHZ=eLaZn~?c%UO#|q5?8ehQoz6 zlH|_AYSTgKlTg$c9)d3S8v3?5r_NHnC7$6#k2{F_=;I`eUty_$_2479)!n7PY2PRp z#!J<4;Ud8+9`=gpD9C8H1O7!kMCh$n1E>WEk@TSgDjI0}YHY6Lm3WX+HE(E&J+dc( zd5vaplHjRJ`5#gP2jg+zB&7H~O+YF4WcpmUxRrbjw38hjgVCqTpD6wOr zg+h^IDtv8H#o&O%WRtDdJ+*u&|MG3&XzocOh1@8(DmoCnAC-VhEx!zFbSJ_IDi8z- z?!Pyl4Nmjk_d68FrdSc!j++S&LH`>ut?*V&BLsM#vXiWp5Ax-jN%C?Xzs2dG=a6V8 z`P@SgJ_{jwjjLU@h7}AH>n9t;5j9gHtx~*{`P=!;S>JmaGD~Y@8re+0yT4TtL!8U_ zuFSCM6b=f=$bv0IOvs~o#7Gt@DQG_44-W-&WP`_dWjmRfqis-@Gj z(yRnd10r-$gBFcz1%9wn2d5bBCki2|K155DZ>%lx+C<@FhwXNNs##^J6{khLq!xhn z%G|=itWmU6Dz^5@8MSMZBG52h%m0cOcNn8s{2o-waWt@6=tLsKM=8TJ{EK(1O+^gA zLKJ$PY^Cc&rskry7h9HoW?$_RmTJm+|A=!Z0Q97&hfuAVy}h^N=`~AN8A9U;KCDSl zOJMRsmckH^E|_p1gKtHo`SVis7`wiH?HX)Ax9xo;3qSARVe<3~Ozi__H|W7ubu?^u zSf=lEh>X;+?qOQ^t-Dk=*2tP3FPaEe54ce1d)acjho*2Hl5u|X)3VyGkt#()6jWGC zFN)g%S117KP_!h8@gELT*tYXis0$jkZ_RW)raGOrEFaQQH-xs}6tR+Ky zuT7vlEr;dY9Y2pz{*CS5-gR6227{;Fyv0~_0#7N7Kn&d$`h(h8ij=}=Wn~-lR|wSa zAwd0nPl|NXiGclCLjs&13Y*)(;p4?vqA@7peYn!dIl${+7T}yRg`rg?dDQ8f6+|$) zvuR1C+o2#0U^8pL^!y|_&RvhMDsr=EF_S1KJl@WGgN*=P~Tz=GKhih3B# zV16Ba>vnf}&^)d=)TWmo|N*d|_O|P1f1)^cxg)`_Cck&A+U&~Q$&W%Mt z9+ud#hb>R3`7kOYc(3MdVRS=Zxs*dAi4&ZZeMW2@Ad6S`PIO%UTy6-k(4>|#eGSJ7 zk-I0jx>u==xr-n7;@8C2=N*zJH&S~M|DeJl+$p(UN8H1ha=^13cY;J;FPzk7kD8mV zDN0D!9#hHx=8tWDU88q;@OS5kzB#4?v_LUF^l{{!f0s7oXrNGBfk&@IJWDaQ+bfz` z%NBkeTRlegNpei*AECoDpWRIQ$xxi?viN$RM=1+G>wPCVt9#$YkD#{C24M2O5~7pe zf>yblRoN7fg~P4LdRVsRs|S=dnvm1qsEU8ENIGl06Xz%=N(SGWG+*OJP$!;m9Muor5MzQ1{`%-nnz z`zhpn8Ki_%oNkF8^4OluNvEj00>$XAOE!e#daXZMdy+Mc4yzXHwMwy$68D?84A$E{ zSKf9&cD;sK4Gn91U#`zFh02a{;O|hUEO?9hhyvg#qc3u+_eExDC)t<7;xw+MYw!2w z8aMAsF`$f1{5neCcsd>&F8)g56>7!!pX3j!BtNddEjIow z>FT()dbD058|n#WV(n?n_q}1@VGl*&>+h*h zqX;lumy=EoNpSk-N9>K$|0(q6UXTDh!Mu=-E-(=XH^z~PIA(W#WFmJwaFK*bJsK1d z<@BJ^Yh5&aD$!vv z1baDT_7B!SstFE{f8soX=KX+WKQml9nX*X97_sw6s_JHs#3ROEth>AO0APx=SW&%k?6$6zI!&7qo);A@j!KCf74N=-@m3vfk9 zW3f53(tEe2Ci3k9q171E&Ij4xtata*L9Wpf089Ia+-YIcZ>a-<<4pHlw;{@V>G%qc zoUE$9kkfHj$ah~R_9&fn#zYkKwH>sjcW*;)kuJ0+Va|NDdVbbDowDJsNhb}1xZJ3V zx3SZ1O??HmqX>o^j0De0A45seg22cyBXmZM>9_|hX!3~c%-p6^0*U@k?(cjCXUxp> zVuL!+d9V}PN163v{724so{E(e8#1as#0BL00@lPf3R@PIb4lE^Jw&`6MZ&-JNIpU@ zWXlMF^KMA=7& z>Uk!`!C zsNp2tmXtn2mmmw2CR?wPcQi*mh&)i}^CpL=Et($aX4|SU-pPiKct2p1&2kV4Fzjya zgntY^bR9Ba;I~+uMFY-++Qx!o_t&nfnT}Z{<)Oh$wE^{)w`Cayoe?3V21U`X#uSOL zY<-*gnr5c60a8tl1si{?lA$TxkM45GAYbU?i@FkykPF4MILfCJerdQ?|Bl2}-xbo( z1aEM!GwWpneH)kXKEd5IVsaj~sQ!D)h4?dOPdRRI$gPNB8<%=?#72=13w5ffaGEb_ zI?wD2kpbIC>N$)zV(n})o|!;ahF$D>ppGu`|0kpoIY^&rqBU5!PzSSmoUwx_oJ>qK zcIq#A33r>3pFNKB1^L;G!)dK5%2@XfoD z0CLAQn6VgY2EU*zbA31oMkJu0$BLH;P;vpP^icrf1-q}i_rMJ9Aj0lLHIIT1x#zKBO43`=jE#SCdgy-5Uj-}XrF zm!V38uqplbJJgc0x{D*OqX0)CXu?*Aj$UeSgeervm!N>z%_=y_bpa*Q_PZ#9e)8(x zw!1_GYqi|cqZN~Mg2m_IFnY6dtTLf0Am$SI*qpD#(K%;V=tV`Ts{pXur3U-|cY+j|8x*{?f2e}k^ce+uCz z>numVijL(pZ8&*Vw$|bP_c%Go@c~)J`m#GIB*w!iZ-D0abL>o8qQ;?B0N z)r^g#(F{YfKR_-EX5|Soc?;nKSpJsgH{wK(Ni!5pGh?$PLg`)3!@q0?6oTR>1gEyM zyL$O(<)9A}D}KZV?`-GSq5_J)i;S4BjG1hf=Z1f^-KO>Np2%?Zo1kEWdo;zM2+p+` zEfT#N{`??dt>B6WT{D~4+VoilOaSAT&g*4o*Z_Hfxx2BPzL|*Orz-g{I`A9)A&Z{A zZUjht20+RW5zWt0_az!c{Z?G&meu_kk*_OvMaP(U?JTxv95N-^IM!3@D3k5t?XBYK z{2wilz^dp}wkEeL0z6d5+o-lF%MHR2;S%i*afMN=U#?BsM&w1X^6CMNT3&sTM+8~w z>QHiRE>IVu!XB=deVntu6k}7OYkMWgTB%n~xdame(BU#`mLF;kx>0yx21f`NdH^=( zKK59MbUDM63W+>1!R|StH0SV-PRR{W{vzKtSdNB-?vQIaQxv+;#8u83JM0<-06oCV7zR|+ zbVUuEL<{xIGI+vM;g)zGuPKXf6m9V9lt9}?V;qvu!UtYX)WRyzg#}!j4QCCz$8Vc)o%&h zC0@L@w(!#(P&RrlkRef!p^gYl+pWfg)J*exC{#rHE$QnM-1K;|E68zFYENTl2m|)3 zzK9cbrUq4iHj~k_eoDZ}&K-}4wQE&jMr3R6Hr$du{{tewy~YqIR4^hXF0{wOt`Ex7 z4?emaUvM!n9vm%fi+)KD_0T!o2ZG!+jML5}Tj@Pl<726T_Hw8EdF3bHc2TN^~aDd|`U=mST5+oZTaRt@8 z`N7!JJOeA|^I|7Nmc#tnU`#@iZAcVDVq-FXFZQDUs14lo)sv8sEQbZO-U!YZ zx8+TX)8fUZBHV?HXZ^H}HK39TTMI#(J++xDUdDPHyQRC9i{%86N|=p}zL=<3(Eam- zn0iqWo6bo!24gm5FH)+{b?b{YC6J~sK=DE^pT*9$X1F#y5-Sl>cyrxQb7|&aQb7!? z&&#B(J;>qxd)iB38;e0gNyTTX#C@f`W)$5#pcS+l-L8h#X5tSGJCt}%N+Y7{`DdXyokPDuB=eN+y}{9^lQD1aQi}g* z8{Y7M83oj9EL}hR_OrM$EkF`Lxmcn3UZkw}_CWMY4a8AP>v%+knDGiOJV* zuAzmmKD8)_ab1_@-6CoA(lw-_b*tv(!SFQc9joJqWbbt6Ke|Pw_o!mt=}qg|@ft2~ zj*#p<2OZ7i-)?3=8lnQGa?bJbYfk0A9*-GW&deB;{dzW%rS;xiha(lP#DqvF4w5SS zPb9CTZE~jCdySnS9v#2J?+$~9J!aGV0GcW?|Io!M%JVqz+exM$#(*GIi*ir(S=^zl zzWj6rrYo9jy>G{J@?jO$gbmDUTGtHz{loZ<6;*_vCTMs5gQ&QfbAYs`pavA>_fUTl;| z61lcIIyqsU7gmWMF;&FZrXTa1XBLUnVgjDY5kc=_-=OAlo0f&|t( z(9C6L;fb84VmF%Mj*=p|h2F^ipq}GY=*&+>YpthaMM|}5>OZbS@9zfp6-uB)Kndm8 zVBMJQ2)*{;xOjHe21r{*?v2^jDmoxC^zKq6Pe?vGfCoCW%6_68j8gCH7qaHGqfK>H z6V*h|1o~zxDpVo%Bn^5_PMlse(+CWWp6?FN=&JQF)v$u0QuH5;M^Gv9t4&L{N%i|t zM=FyGZJASK)U=lt zHvUUgqm6ukuq8aXl9JSdcN_E({WChlmv+<<+2cmf3Wm463Km2)4Wt1oPku9-_e`e#E^ujn235A?sqz8+(%i zd0HBOK=ge+H#DO}9n#S-u@zD)>>4Jex_#%%WyriN^0j%63jfd+3qqQ+nGGJglx>{y zSoGq?MV1Qfe2}La^vU+OmqRgSK9UFkCgtYMddSq|qhqI1?x9by;)w(uo_3+XE%hzI z(Zs|Mw}}MAn({#qlx)UK%qHs8?lD()JcKJ0!QjH%jjC1O*J1>ADB_$WkO_88yZFv3 zaE3VMBLY|4G_}u8Q1xk`?}0jiUl{ka$_=)i`RXp5=hMY|FmWnE@H0N_sVRwbDWmHw ziD?TD81f4?WCBiM74Z5^XHzv+gml6b1M>yXIB=*JWgnDSik+~?UPhdyqMW1qGKL=r z&1a823vn06gIF7B$cnl3Ue1|!!+qavSP&skxrUV{#fO0hpx66Y08-H!DqEvVH+b5^OMCa#sGTT<^`lHfUa{k5tl~xG{118iO4pwk;T8e2x z79B0OVNcyJETQ2$uhOFAay1;0z~YHiw@YYb@3}Q#E}Bg>k7zfR)yhmU4~=gZF^#yO z)k?#VI7!PqVkq06rvB*g3Iy<7VOdSQta>fQbgMfjh=LhKR01MNgNqJa-LFN?s~-La zBS%3qW*z_J|IypeRYrZI%9#(siPT3bq0I+d{#VihaQc({BV7&^18abzORuY+v^{V# zTt-MrF*LXryIF?=JUAJ%D`S#jdi~aezMZ2&cDXi z=3xWn&^jL@Ye5urc{(f@jbd zomD++MF(r0-(OK&q_F%P=+|S5UR=xWB0(XG-xzIh=zY|lm>y=P-fJG_E%@TeQYf+) zS~fygHM0}(3UBU;mpz6R(|+{ont{TTSY*>QyQ#ZUH0dv1R;)Xy^W&9Nl5*nEtH}xN zSrC>~5?mTcgW?ajhBHstor;j7KuD3(tPvCkee%ITRkPT~X(y7FBv)#pHA{mEu2H$YU4>X_FvyU?AjIY{s%s)@al713TT+2i`&A1efmDURgE4d=SY zy@kn@l)Ezg4+348PydqQgt9&OWP|hJK50JeZc#a``w{(_ZCX4ihFkT1Y!k2^1Szc} zW3~(NKTzh=)M+v^Qgq#gl=}1V{Sagwh4z&`6d>oLh1BdooICW+E#F?cAQLz*a{_a} zCtp73gTxUsX+qm;l8SDF$m92!GY(w$9n=p=TLE@thYw$MtZRxqLo#qC+Y`dSc7wq> zPbH!r5))za29R+|sfA#GMmX$C5z*w|n^)R@f^Q2WXk|zRst17Zon#Z9;70~g{E4cT ze2PdXZ?K2<=^UZmPTi(JCD$pFO)bhU)FgB&=rf&}vmwo6$gnNSni8K@UMD2$`~bv! zYh0U*M*&IEeqp5wfl`>v2L;5@JKLokmB?=_&mf3-pg*YP4&^LAc$4c!P*r2}0 z+Okv%RDNXB_wN;PmgU8zebNKZvl5jObE-X=_V5j!Zb+dTF;)eMvaL0?AI zq+$0+J$Y^R=B9VZI4E;XN?D!gt4=DLYW25p(WcBM9XL9#s!IPCkka&WGy&*WsI|ug?rn>A*A0!R{vWPnMUKG)plRc`N=(npXlLWD~ z`NMqG^s{5b8*pxq9eWwCSxv^lu7t0Glf{mrmHiKq4Ft(a4=1kPFm?+mLv6Nkd+kJK zu)9Hn!aY`)uedeEcG0h%iD^>nm6AWyBE15BAO6s>mSj!(P z<-Sy7jP#@}cZZdN30ADuGOe;#cI`C>aZ*&x)_NpssB|p4vu!AjV1#k3&lMyhjL-au zMAq?FaAx>sM!$}@qj)^B)=p}z5qcbn#iUAC-01Js+L9F)aG$LpFJ_l10HqW#zYQGm zdm$A~(J)g!;o1$rTbP-nb{Nt@m!rftCeul*6e@O_ou6xgcqR=&mp7I`^NQTdXPKv8 z4+q=}OtKFErPtD!_2Y}E&bF~^rg;9CXI#qIbe@p>K+kLuf)&d5sPCK#HUz;(`NNSH zqjKSs^JgWFW$XTxdU%x1!vu2oDeADY<uW{`c#ttFG=HWYYw%|WE&xP0Ap5EG7PA8Ov^)Rn zY8x3AQ?{tzz4BA5dOcDwZE6`%VzmH`h1{bg_^pfh9mj=!fKIIuiXi-!SBQQXTVRd@a_JZoBmic}MaqKD$6Gx6`^&idOiOzMyjirl>P14%;f+B@gswHN| zc(m;|RZpLMDf&&^SuNLOiVr3>O=vrOHxtCdx`NL+pF7pd9R+cbG0puRgfk(V6N;If z=ElCm@y+x?5eFEH$}j_mV~9vDOU2qQBaf(XY>~}U7LZJe;Xp|rP<7!@&=P~i_ZFl10-ToYfr=d5M`;OV-aLTkqM2!>D=lp8LnZ$TYoZ~W7SkEX zYLP6mAn+V+j_DP8{VEzS%Qw#k>##YPHy{`rZt%|iG|+PLZ0^hr*&bW7?Ka47nLR|B^J@J z7(wCX!Ve{!Sm6ezPq}y3giv~V-$~O1Zjh0-So|`2t!Llx3CID@%NxZJIJ?@O2n!Oqt?8Zo|Ax9Dsn`UsrGS-fpAN1865lj=fj?% zh_X6PzE|%V1wesXFF`>21}PDqr6X2Q+KP>ZoBrk6kf$Q8I-jjhzZ9ckum3LfJhz&N z)@^@UXUq#9hf?}oIHa^wHZ-RbgI9f#fdc^n=%6RKEeIEBV(@S)aImynq&qg$1IBU22MXLr( zcU|s`?*{lKh%Y^8J|5d7*M(noL>T3RJh62nsEPhfv?z#XPa&H>^9suSGIwU;$o66V zQ6++-aXQ`pLC1D>JOM0F1B=~}!> zy~R^{OZVm|=#qeLkyu(*5IVfE=bw`n_s*uy9|Y=Lo>|%^p07>g|3baXdgbD2MH|7Ssw%u>45USfybS~2sNQ5bJbtzx(h@BsXkLr23 zXTgrq#_GPvFG~|@>e&;0VjJ!=&>U^8WDVs;Va;x~XW;8}hnE2}iRb4gK0Z)mm^5*Ak4pib*Am?+LCIdc{~ z{88WG(tIQ1A1wqHOd^i)+?^fgoA{?bJXPVmT81dI3=64~&;g22oEgglZ&Zt))eO#+ z(bFgkuwtjU=Wum95Zk84BbkGwu@>%zDidBkoVtRx|E_kc5t;ttCgNm&s^z<3oRr2y zU9g-9Azujv7WMNo$l}pn%L-zVuC%tgAx43V=;t*VnZ4@)v%|`^8d-e7!xeD!%_D8d>>S7YWmVxGM)Saaw@j)XV84I4%#|cs zYI9q6Xg;fms!h!-L*sDQSl5zZLmF=38>&wYy!9-br&#G-pdgoIcUy2KzT(0UWrZP+ z6D1FliB@iSI7Qgz;=o`@--P+siYIo_*eO5 zk>sigUGT+T`Zga`Yoi_B-CJ-|bx}p@)h~d^<}g9gG)#0V6m8d9LE`S3tYH8A!)Ph! z?hf7=i7>i;du2;+=#J@^h^Ue}0vHd@26^S_iS=@eYDAu9BS)uD50rvXaudDg8QVdr zbUg+t%Y-9>EI(PmAtbA+WM)lQ^B%;Ds$6*MVx`xa6xHxhI5w-Memt10Wu~+}C9x2- zribc2GTOB$%ku(Ak_grFN(7$s)6z90sSN9?g=znzWs-qLx*KGpxGbQHgYK{>cbT$5 zP&Jh3xBKVYoRVw{6pGq(xxg66)YiwrmlLDUX5BlPG0ObjY3*+xT4t*JJv75%`@gJQrK})sAB?Jf{t(k8gAA zP&_hNGaSDq^?5lV8$uuAvS2f`u91|=dU0>b1Qn|Qqtnsqy}NPTadJ=zl1cShLTNp3 zk{@6IZn^!j&@+S>a9zOUa)~rd|WwDL0?O$%g$xWtc z0NBLTRAW0gDGX)K7O#YdAF%f$$WqsjxQ!3!tZ71EL91h!<0*%cNdn&ON`@#PNO*5m za}c`84t?O**2|IrlA#narBtI{Z2K`=EV4TTFpB>>+AWJyBQnQcJr@rww&-bOQm^NDzAYMfv zmYj zAxGP^x}+uqwiMEo8M))ea_$i#fuxx|_xsb!w)7e*Ha#6&Q_5DkS&L5@sb5!5$K_Y2 za$<{dwa-W~j)vq-26kSw15*7SN^{;HGM+VP!_Htv;)=8MuCZ6Hx_`x>CA*H_Z5s$E z%M(U1Z!`2EL%RGspQ5-N+N|I9WM$Y`3E+)w1tDuf!2(9hg%M){S}aKJ3Py=L2P#$W z?EhfDb-Ulp{wlOp9R3i;YN@Yrzu23#B_N}BXM>xsNTJfUmxFpXA;=SR984i*r3w9w z>|2OQoqzV8K&_uyF2Pvr%s!1;Y}a$DqgG=*7@?w%xw0<6f*wd^A+I%K*^XN}vU-J&4?HIf{M z2zQJK3KyM;c>SzL;xhBpj!2Q&dV8>nhoiEQ|0Xe=V}@I$)Je+_EO>{K>RZKN}xTOH4sgX^4j1+xWjt0K>~S{`At9-;t|7>ppc0Vd0_Y!KKD5cF;oP`h zpt9=C+05zOMd4l;`I)XVwAcJ#lNr0=JU2Ny7sY4@3!{q_wSD`Ol(tQpX%*u1*8-`t zDaOQeS}wB*MfQrNV5DnkMLe8^*3)1RAJ{WK>oioUK?p-sfpu{N#@Ou^N~sFE&|L!8 z4QFq*Cm4xgC(5~qa`|r+Jugv7=?(B?-L$UK0gfAX@dXf}%WF%JT&V6mjgyQptrEHx z&)>kzA2c`+SqJt>J(mvO%f0}!m0Bruq1}$dqICYT`$I|aEiZ*JkxaEfr?KRga0E1` znK!mGWWL8}$|2>OBi58Gnl_KDIHd8dh`K2FUAzI$G*75~0V5#`E<&?_8=U{XJ@gPz z;bH`pX1r-&&CDeL9)=6OSj|g(S2N)uXfmF_sFfp+W*llRo3v<3fCPcLus-N5uKOcD zY#?kq199>L!4S*wGcB83ycb-GaA9+D|H^N2c&C&Yire&F9v@jW&6@h=ZdnvmVz?j| z@8=sYr`bui7`xP{_M}@B9+rv;6LuF}dS91OL0;0;mo%{WsgC1qu`;cXkB!rZ4_OXw zbhv~kW0rJGc!KEQrgZs=-?NVy#a{BJQL#(6cYg7COxr0Q#WPw|8nblCp_;m5u+>EH z=41^pgglS?vEW_F#v?spe+~8&|20aiZ|N+EnN7@_5;p#{j)*PGBxEDCLu6IC zPD7f=ADzyhBc?5h9xpN8pA}KYemh5B(}1Ep!(<(QK)gDzvEd1#)02C}Bh<&TvfwVK zH>Dy?4A2`0nsDxffBDCbluD0UMpMeHCuc9{4-xPo$U9P&d~7}N!F$<1JD-!-h~yd3 zd%&bkrw1m!EJzXh!ytRtEnu76VQ~S;1!k50(i;M|esI}*m`6@d=wn**zRos8<<7-W zJHdn)j4TB|&3fvf`kDx1bU%1P>Y!9|67wCu)`=4(f!CD537fF>Knux)x>+t~}R z0VT|}I5qz|`815w>lonz;}4I)V2_5B&$g9l_I}PL28RNT>-|deq;p4FvP7R>Boe{1P3JyN%2ljVK{g?#=YQ1A{op^(`I9%053Tm9l3Vx3_F(a)}{56 z2UfwCD`dN@ZOVA7B>^H^OaW>*=p6tvVPfg&(JG;lK*Rg~ZQ$$GfVUivvS6|Q6HkAu z+9K7}lyiGa7`w`C{X3J!fkj72$3P(KzB?EJgDP*-pT1!_Ig8#nA z?6nGM8#n#8E*ZcjqXb*(>fm*Xi2bJL2RhJCM)vxvt8DB>+tIQS9QgHnFzAA7Ri>ZY!RYh}9lF4D^QG*+Ejbo388K0~GO=()mT zBMyebQNj+*C9=5)C^m4XW7ID=)A_6Y|F8=pc|Wyx%!|G_A*DMdI!LC6!Hb<(vh)33y96gHI^v^{oI z_CIH#2X3cyR}$dK-6jhe$CUBL0Xt%v!jdJk_QfD^A_Xb7ZHTQP#EmcP~ zIc#Xw#b2|JsR7f7jFpl7^SO4;_Pf){D$PghvW$4Hs1YaVSfMZzg3(Zsi}*#+cQOaT ztrFw$<^a90Xg4#DDwSR>Iu1jc4c!G|`R7rly^2VfeV{$=mVD0W*fMQ*9oV!A3uSlJf!_( z!6v0IrNopVsnQvknyB{j0Bb4VHe@R-sisF=nz_un+0#$L7x5!)dJA*InOhNt3)1b@ zH0SgfK(O>YLA9A8z-w=j1I4-Jw=m*;Dj23JqE3+`kN1gPgZ-!y6XjZM<0Q7JYSAV> z5)QP8rBh|sJC0F|581vp1PmzMahTpn-#d9;MIda~)c?TIbhrZF}~0`_E-v? z7>7)ZHLLiHERWDx7WatnoN+y60d{rQ*ub&*Hjk3Zpf>uMQi12CXw(T4=T61mdPkgrA;i%0QdOt=>-W=JMDCCOnBvoho zprI3T*rVuyaRBbS=mA&0s`M}&F@t%R2%QqD$CeBbo?)g`#H-(*whRon9e^m%i~r1p zD3^Wy>JTpOC{B~obEoSQN$Jz8WU$dmGok*w>6w3Q3-kOZaS6K-S$5*RQ@ir17U=76 zg?G{m@+rAdkE6!HO6QTDQ)si78@zWT7g z)eseU_Ly{upR|}hqN@C5WV`DQALy1mFW|gDRPF>tDKs_Kmo6R~!h zYoDdM;ZH(ggb&eG>30i;<_(iidl1dd{e53}c-=39{X??FJFtL{mcjs&4&-;&VTu{U z&`bX1VPpCs69fgS>jho?B-Ua!(3Op8;3`-bz$$JT9Y_yL6>pWc7Vrm2tCKNR*{2f{ zVfYa#h%J=p!?16fGY~{_UA%#k+Xxlq`k{7zfwW0Av*#}D!lnt?7iM@%_kX))X?WfCG5c+{WxZtVV@9p=}f(| zptpBfSLW9SdpNf>?Li79{%=8E|swl^Clw~?fu$ov0^XW)<6z~EsO27CDXrU6UpK|3V&MvKo10PgWE zGHT&Xmp;H^>@5DA5pUAqg;>J<3L8i~C0LyT75p0-TlP0J!s6;(@~N7l-cT5Y3hNFZ z@rZL>yKeqKB?Rg=-DIEmE2RQ8Ww&h}1dYm5Nr%xIM~961vUuR1GQ|mYjq8LY`Lk@+ zf_OoZzhOPXuphRq7eTiAny0VE(lF^KYy)<1B)e6JW>xt_)6|5!4 zaOlQhNlGVc9^7q_B?`Wrn z@ZgY$b!}k`v+&YwqqX1y_a0q&`7_F<3&X-l>1ox-rrCOuHXvcTQ zeT^&(?v~dTxg!}N^u76r4vNCv3f@e5*1eOKrKA=7fHAr*@q8e>ZRDiRn+B;9N{BsD zfWO^RG_#~mZP5^OTnO4;S>-7b^f7!&4%UykO#|Dhm#br`Ope~s+u3~NzH@*XQ|q6v zm|m=(^=AwckUOz$8(EV`V?-t1e=5#N9V=F;;(GU4eQwNH+>Zeh)cYd8YKT<77o_rm zV_*&od|Q>eg}NtrfKmFE$(e~w*I)dlXP3i4T#v;VU&e413%nj2Tfft~hL1(ZpV}TT$ z1fjl_kTg2(d6S(CA?!U{Sp5eFh93YJ;`$RCXo~ww(ykS~a!8l@RYdcm^MGsNmIPcS z-}VXM=l+tZxfUnEE%?bD8R`IkghtqX_EdG3UAR_pZ!gvwqSGsGROs)!PRq}b3q9?A zZh2vY)y2P3y30daa^@X41zLWB+neMs?VSb*$$5% z`EwlIP#s5e1+p<@MQ9Q?{5}LhRAf%uHoPqe4r@K;wGs=2V!5NN4mZ&o3BFjvjVBMv zMUY#OxRA}n&-2EsIZ^me=MW-AEZ1hck((_ajsp@nWw~Km>Fw@QAE+&qur9JLNvnHi zx$?pMm2lh4gpja90W|sbjHBcfJ0wnNx}MjBSE(@53qeWpu)f_N{hl~->N3;Y`r^&H zCn&9--=!CEV7#M}Y#IMd`7s3zaZ5wrXftuBQ##ps3_6)o&bAS(0?x2*a%0rYS^JHq zrtv@emXi#Xw|wQSAWmVJw5Gr(njTy#=|GxU*9U_mLG1X_-kz6hI`ioS{&=`Gq~wKS z)OI=e-YwB00Gg>zA);Cw2OAzH!pGQ$q)3_EHPMzOQ#F87v>uHH;q?4s_&Ajzw&SLP zfRFExQ_tqJA{H|y5ExS9mQ#-H6+tfPK9ox2Rk?*TZP`Wy^VI5#rlWUHjmPglm0cp= zwXEE;OGPQtVYdD4?WZtiHz@{=f{{XUY~HYYo6KI%o@VK|1XINZS$u36Ew0pxBsw{` zb#umP_dx6uS=%O^TklgOLtTa2h`|3X=gnCglunz(c8F@EBA69P0l}#f9b;nLGKN}x z$aPo+oHatDI%zX7J=B^F92C=XtBp4C+ZZO|{n5ITltw{Rvaa(5H)5`Y67P&Rp@BFD zy-31Ja}WK&Y&s{vERlpKVeSz}sS=CfOTHg)ngXP0Rdxo{KUkxbGWsB8G9Nry%qexX z!3!I6sZ3!kg`J+FB1}T0d#LyIb}axZpj?|P*}$iq$n*B|C#Fe}sOvwp=CE#@-R5zQ z5#rY|haFJ0FWr$+@Uc;iRrm+8)K{5VjRJ1y5P~rWD>f~$ZOWi97&hajA&7AUu+)JFwPo@=Kir*4Q4H4#BFQ~Y-=N8Gq_}C zm?0+pn)f^5qj0x%?i+0IGZ)umzNWFparbqs_=RtL&~*<*^Hv1dx)d5E;LF9bFZ3ce z9U|8(fQ_~CQL2VJh^lPQOsZ+CUgr-S8M>+@qwGjdvlCpHE%l8bvpJHKCXg*PXr`BD z4)=*ME-}83FSPn+MLym=B*yEMbl4blVGdqx&BWtD>w+I~UP*7{CFua`8BLF3RW&IU zI8fp`vJa1or)o@VJ6_5Evck6R(T)p)`y#gcue(d^=NHIYwo7)mctmbVBSBCMTZj0T z<6BUJXC3{ALY9)d;`G0YifZBOeDmHd8iAxig-D<>u~s^^fVemig%UTsDUj9a_Z`;U z3)Q1A>ifUudiF20;vg(7yy^80%u9Z9VOE-6*i)rLv?c|Z8C&6E_YxIuBlGva>2(V^ zEAgiB>&t8;+EM5zBlPL`Hv~F5>(Mep0T}ZTB6MGY!~b(+ot=d93C?!hxV*x+@;bB9 z`_mUeI_Zwc*XQ5sUauxi_)NU&lM}~_(Jx!r~T2Mr#v=}r05|Y z0;mF2sy_}5htK11Y90?t?+$T?&g&$)?&hp~;5#p+yi$t@Umx%bao3 z?V=S%a7LG%xSrlV9gXgf+!GjRP(KWEqB21c{fri=S-qSR$}^{l2Y{h&=s4+@R=laq z=p~YE--CmMN_i3|dtpt+c*g>)%qiHK(-O15gyO_eh&(OCDR`&RIle!%bK!S>ULStQ z%TjX#JWPCsk^T%0*2YNcFmiN=G1F$)AvxJUnDqcXa_X=;@k$z8{(WsfVgnU5Hb6$) zw3$i}$;DDPiumT4C~wsir4zQ1LFdNS?+(TJ{KR^eTH#CGGqUL^LN-dqp!b&rnhq;v zhi{j@g-3}{W@iu7rxj^Sr~1n2p{4q#JkQ|azv?r3s@%*TjYq9BB3T~rE{>cqu+l0@ zMXn6zU>^%cg)N$1BucjI2?gbWQ%N8o)y3s z5yC0ejmi2i9t%|%xHq9 zC*K$rUDoqa%}2hhQWa+LDwYGcd|j)VR$ahgIUskbu6Q8iQ9+kjzDMQZE-7I{|50TX z`0j#|T9P9_J7`FZ#STG5WNquD<@%_iVcB;xC0`}q(Q&QJ^}I0@gG3~_EYkNY;qQk1 zxc^*wDuxOrcYA7(3KTl{~>s-YF2lCoPQF`LM(8Rob7x6 zQ-9SZ!&{KoGju7o;HvYaBSiXHhYeDBta9VVheQ9;|A>a@;GGSjOL(v_m9g!bEUeob z5gbYhP~kjizp!4syhMy-ju2u5e0Uf1_UGGM39tN}i$1vyZMvtw!IK5C&XGTA@Js?t zLv}EQOFZLHL zSw}f(APa2H-egYwfvtum*=a)QG$E0$d~@X)cw?vL>scf$HP@ZAUlyLR_)=+`nHd{< zoTLNqlvgDltijbIS)mG*9YKLale&$o_B$yOv;2~WvcM{%RzpLkk@UE1rt>`eUPjb1 zA4;8+Y{*@jo)gA0sg(ed4p$N{24oIS2y6KTp|h1%?%PU7*={XQLYgO<*t#-oPuoDO zsiw%u9U*2@i;Vk>Z7}-s|^?_Cj zAT{)*oj{7qvnHN#*R&J6bIU6 z`LD>wSkLg#^G9CE3QXZm2q^YoZxy29?VJGg{`h;w*Y?r2P#~2$=P5N1fXc5;kxu2S zdN~RAQ0xM4yNr)nK99*MfDhFS?nz;omif*!2!Ue;oevM0(h3oG)y#_>A-Y z2`ear2NFc~-p@+9x?wir=D9D`!T$e%q11Q|!-nWe$y+7LYoDIpLTu!+Iegf{E&UhP*c}G!8DFu%61+LA1nH zYboG#JOyjcY}rg&Zu}v}RPW(M6p`nwL#Nu?S3FIIQH{aY7wVfEAAS|AGq$d|zZY0s zFM_*q@vq1H2f)~RoO3eSc3Uf$=A_!5_(c|)R1WiTv0T;V0rPkP5#23XE5|snef|}ZpMn(IXUEI(tMP8SiOZIF8TN`lpDp#<(U@6kF2%&+U z_LC4^65S(>%HSIBW=EJ!9;M;u4t(yoPNeQs6Vqo6yKD+=nl*UCg&68mH}cp}i`zPset zzZNnVb1uO&D19shWKvgcXxxdNU763)`=$l(@eFXZ4%AG4EN0<6=Cmx`ua%7s^xW$^ zRRm~Chqsj_nASe?!{az8++N-3wE-9zTwOt<{@zzj;o(q;GWdofKJVsV*1AudhEnWv zD3VA+J+flzRH!iB0r^aE?+ots4a%vy-kPk|CW?=9FI;$Ygm&cYSQMx-t-WuHD@v9z zaY#x$7NFwmVzoGA7hswa{0?41?a$8?fvw$^n|CZxr2Iw)`C3E0mt8Jywr>(WC5k2M zpC}U~2)%t2o45%mN?`N!jP~e)R5ASk&qpg?rZJRFkM#Vj^?4hkWE+pb(>cc4=i zj!~Qk7UcYkTo%Qq5y{banL+6%doOgqmyS>ReQ|Pitn`!pDdihO>8!9%1RU>%Jfd0Z zRqHNd%68RYx1eP>lF-(BSN~8hDxt>p>wX-l**@`CfS>y@Yrz zOzxb^$nMEKun-lyy{Y6fW89!ySq$gI3Sa>N(niK+gmm=GnjKGfuY0a}=lI4+t_?g8 zC*E(vfZbi|?*~nAqWp?bUqqH*5ZOl&Uu?O{&?w0LxGnHMOq0U+Vre)=j`5knF&p=3 zDAHj@HB zDJz~+U4htoHeQJ5WF#il9s<8lIS~*P)`tA`xM{$MIJ6N%A%4F3Dg- zKD$BL0AP0OJ@LBf*-`n6=v9@Equ4?(cUN_*b5lVr#kam=5pTFtJMl#?!0S{A zTZwII4grHSxi!SVAX^SAlXc*z+(a1o&gmDaPc z|6Ylzz@cVNf{OV%k^RgiyQ6Q@-7pfSXJPi2>2ebWyGlW)3UYCtGs=rH#$_xSik5P@ zQ0!!zBJHDDBXNhOALc{To0-MNXO7;^F892`UeN8n_I<2U1~mqhmCEP{^U1mRMFpoV z07E#HK3RcZ3RrQ!RZ2gu2riiTP691^(?;1|G6q%H(*~^u-Oj7@FOdxC@eFFXwLk6v(<9SW>YztK) zmYzXUoT9 zmo-8-FTgsy+8Y|c{S~JC0(V_#3adrCO4p9L*AZp-C=X`J9iY%m15nS3ZZW!6-SP0eHGL2s+g_O3Uuy(1szTXu0Z;?`z(UZF3U z8d1Nldh6wI!C?4ypxW!ER;)>(DFlnnc;OLr_;0+l;SXriLB9PcU zdXS!Q8ZI=Q>?~VUZTm`NhuS}QA%7L>dEbSn z1QsP##DWCEN-}ikXoktd;nkHzVwQCfHVR3G)ZO-{EGZgJ6!aq8 zRdk2d58vhNu85raJLeHa7~jqFgViQh#*iu)dqbwOvLI#SOkklpkLUd3J~Tdn?Z@SS z%8b9F!+nkrN&^zwt%sN-tK1&q1zk8tNp@=*>5Qz86%o?~EyO}9?O7C2G@Pl=<&p4w zcb&Rs{Md(G6wLTK`Grg(N|<%~_0RL7|NaeZdiI>f-JKLY$2(}`D>_v@Q~lDyTZaTehhD ztmCK~+>$1sft7LD)F!yLdHZTL4o?yX|?ld;IKA$Nb##j^QnGEP0G^Q3Rrlqq1hKz`A{N#1w zg%!EKMmihXUdc2&mdOl;wP+8kHa{Fw!8v5=bN}2KR!56qu;@n&-6Z8qf#7)4Jq*IK zIbm%>|2}g^Pu@cJMU}P7HFp^R8UWR@LVgmazi{Q6m2AJP&$0oE&;*k!T7ZX?T4eNz z8dv##FGsm%!e42HQqq;V@M`+bMytAF8k zE$9;D6=(3hld%3m2`i9`ywlc{{iBEp#2;>-r7)@W?WaG`B?@h!h=*DW$%OUz%JQ~) zsQ?xY_%z_ezJ^p0<8hh-@;mc|xP)8wKmi2%pIB_Wi3?2OU^RR@O=#l*L(_ED44G*`2hx=9L#I6{Ix@}@B?ZbNf>E{mud3-!XA^ACHGtjW`v6N{ zBvbvBhs@K0CKJ?CpVr^RyUz?brI=vDFO&K3R^KF*;qQL-4~G)`idnXZ8m0G=H5``JC_MeBX`Mdw)~1gmX6 zEh=ucMq5MyDMem~#=8@oV2F;X2h>C_thdQGB~B^)rTDkn^|xNeEu(C@3X>9CY^prp zS-A5DO?|PwF15^R#~t0JHl(L@vO!m?MDjH?kn0m<5$hSg02_@TL&Pm5G53!^-NjL( zzFhydZ&DdIaK>uER*uZTBV|hhhkR-$Lm=@I<33 z51h-h>ndlj(}CnbuQbGCL%P**#9}vQ_Jo}xX!017f}PJ1iTYplJ8bw507n1t2gHfoyjWf|^K^y+#Z5|?3{+>2$dFmc zeM>5>P$pO0qy}CbGeEY2shicR;eJ)066JZ3N~C>+N@(K>uj;=@?C=5h8~o`DVa2H| zue|RX61x!gowdUACtN~h1s7zTr#O(|(^Xclt1&NN2dMG3jUdu6E^M3M`}~M7k;>e z{Gi_n3l?Tp94^MU{^gkNSJ^ z0CB~^e?frP{kQPAhJjLHUj6`#4OU-A3--`X0~A!G9i+}F0+hf6>*hOBgCiJrrS{LP zR`n98>-jZLbL32;1f8+e(w3g`4+S)>28CyuFaNTVZ*6P5z;(NP&&!z)M$C>+ZLaV0L;zxl|Nt45(j!}A^~jJn)J?tUL)5MrK+yA`Rqct{wKYE z#APg;D?m8_B{7~zC!&Utf|uG(dpa~wQN%Tj&1{t-{-dAQ2DFA%p6yLK{Vz@!2Ikc@32DX7rm*u6SK^>U}4)jte7 zJEn`rsru|$-TE8OG^}VG8#c7dJH-w~l69$&Qaz@Yn}lYDXUwDtBlD%RIav|!pMHEm zPt^cITWX0g_A!gKRqAR$P&a&zJyaGv9S)iG$aNVaOVOl%TW18V^^9ODu+|59{PFN5 z_=nQL5PKLn-OasQcT5~Z-O>Umj$T&1oD)OEqi8|eLT?M<&e}JbhdhL_z5D{x4Jg<; zp1ET&`foW&M{WJC+gm}Q7*3+>vikcOXClS*Z_Ma#fpTfGOm)My8}0Hc$7Yzjj%FxH z>8U9E*J47vhVL^=o!SlR?7*HL(O3V~Sp(pE%p?Zkuo#)eh%T=-)%>R((xuCKZ7Hc&{nB{tbu`m{jb$8kc&h{OXZ z=C5Ts{oi}}Jd9;E))9Ga-=~$Oe4Dt0AYCJERKgt&?bz0kn&g#?79EPX*g8xL5||hz zEzg9+1Dls&H(ls>3+$b=6xDl2nGV%P_xLe7sB?%@O2>Dn#q5pp)zlOQ4gQ%J&T|&z zIIt}o0l^0JGZ)WxV{O(6HVIWad_C9{grq#tRr&V!^ls7X}tG87Bs8gr>HqCIij+ZFK zv5J#~ixGigc6~cZYxI<9zpmMn91<~St&-~3310`388xuNt6v}qDWoVcqUa{Q6OdBX zy*g(^Ro>(hl4)X!($*M@5cAA!H&LxWv${ZetCOXKnHmY!>sUq&i6Pm7f0_xW&7GCz zyXie2m~!4<_x7u7*fXIb!=K9_ckpvyb=ah%)yh zlSum;0tp|(VcsBcmj27py>;;?VpV|?MdZk_LuFz~PS`QW-wDS)aUng!EO)Zg;*nT& zK8;@VXz=q8hIN*wqe0++=mVic-NE3kj%KNmB#@d_SLVTm{NWoFYt<)=qR9%pQjM*e zIin=ArrwcgYpJ&Zr4SfmCB)()2G_{lB1jXz>ViD)&y^>G)q{#yd z%j}UFUoQ?tJ4AcoiwR`NcDk8BZ`@Uw8fG0&&7a6u09=*!@Z&*p+jPZU|MbMl*Rc%-yUJ^At6MZAqhIZP@Eg`7Vg@ z5G#Ye)OO&GP?2mgYaA8eJajk73P4_zLoAT|p4X)|vZd+gGti3s;qU*l^Rm7At%uVw zRAh}G>8k(`8J+MiqWCJsF#pB8NBV)wE!?PmgLwXa{x{>Fk3Ddm7vd)gHYc=w?H*B= z^iEwX1HSt+Z>Y^KrT>Mc7Jm)<_G8Db9)gyAYvqDNSMkp5nJpJ5Jvz?)c+gy-jL_0x z@i1}jYHHeOrGbCDF5ORD!l+O#hCoI){I9NZQFk)Jx5M9)0g)8f*M7r^`Ue726qC;8 zLIU!La|3x))bNr;@GHs#QzB)1=sMj76a?i_nQi-WtqFG{Ic$#gj~&Nj3XH?2@SZ+( z`VRFn_rZ=zXD{yc<#=frdN!k)vf7yCR;92;Mg_(F@fZF#V{TYjeJHP}pTaXl6nFXb zxB5;sSTIQMnT^H@>q#FF{;BIIj+S3o9aR>PGp0{J@I@CljQJ+7jN9Lu&M8%*A6Ird zDF!X7vq;PdG*uI3ospnc12cgvhC#Y737h)XK-rLez^JoJ^245J_mO|8&G4?v@Q|!2 zl*wBmeGkfR0+2L8yDE%zU2SQ4y8nG6Ie-ge%twJbtzrMRZ}SRXP%nWiQor^_esxKdq37liy(uAzpElH1g%7&e098 z){U22M8F|_c0}5wTqfA{h#xa)Fz*q-`*SjbXb5W%Y!KM0@Iq>ua+0KMq#^>LviE-x z0q4O#-y{6m-NtAKrLbA49+fO`m#4SqJd{;`P&!Va%F4k($HJ+6%#S?K9)vN!VAJ;T z?+&C{cE9jx#@`WE#$t80DDHhPCvAk+IiV$4VS<~~QW!6B^VTMG2pWMxuI^D=9p-1C zCpLa%oDeCzNGWtbZ>L8V^+EyF1*K2Mw6jp2J|YMY7ht52!;hTEI-+M-^C=2)-kS54 z>n#PzHg5V=A(PmHKVZK@9dn_H+nI?>+eJ5mum-`_tn0hR{JbyY3CZ*%2tj?!HChnz1p8tj<@U~TR4NSj;ndi}$0XZekL0zBm&iJuY+ zIvS^Gl87(u?xB@?hR3cS%&^fa3Kmi23U?w>s)%r1&JURd0L`zH_d{UYWp=x3y_YeN zR)%6VaTqov+K#*Hv_NMcOLzO9&snB4n&G>E&*@0ZNg*jM3ZxpIB`w>nIl{#?Xxw~B zsX%F=mzrA-rE{#V7|kU%2008LLcz=g*FjMS@q^VZ&j4B^E)H<7F|`~>eIzXkSjuBb zonl6Le5uoOQ6p`gzYBmDfzV({?}{#6>+i%L0zY2Vy71A&65LFOF>ZrOy$?mkIwZ+C z2VRH(0&+NwUM*xxIA`vMBpBoB?WQlzfx4K_G9xF+?O({}wp6)sK&IzuqZOEO>qPMD zUoj~f_d^{!O_0E1zl{J*O2BW1cj%;^-FFE(W!}Yl)*bTKSGdVe)g-SJ?9w)=B_>%X zr2X-1qt>cL9x?1`q}Uls}ORCHfr7 z5XAY8ZxLt{OxmJ}Od~%dZSryd+Qjs&I9OiXz%M4H1!YTQmmsmOMtER2`7lXu7|C-g z@YEv!g>ambTUv2}AHI|Au%be(H7;0Lmgf%*HC_iX(Xvb@CF`yxiSk zYo;uM#ethifd{qBbShZ~O6A3rZ;ZQ1d>Bt~BD{b>A=R+LheYi7_|^c63Q{vWVb5o+ zNpfqdbQlN{aoA&yw%9}+QYS_Ux_R(Q%A|myHON{gTc>ZE%f92Ve==IqSnX3yFc8!5 zkR9)}&n&(fT?rDXQEZW=`9vEOiaBVF6 zf`7L5_HgoH&hP5seAvqC`FG3b|G5-Xh2JXtO0|)8SEh*H`NUh6MW zt3wl4vk)H`Ox~JHxC~|+zv}pW`OPR+cHJePNOMsirymD(`5e|zANgIA8FZhc==B|T zTJ}C;l3IZa?n9IUF$CzH*bl<$4$nhP-+QQjn;}6+=v?7Ll^$&!?`DKkI-GOZy>QCE z8Kvc}TTh0YCf%_0$1Vw~Kw)voq?>r(-V2*pQvTuuoL?@iDVe;Bk?CfU-`uz|9S&N9 z(e`Blv~`zuN1eT_9^LmZtJz1O1>0DTWL)cfNZ6Nvni%wD(NZx@iV`)VsP|?DUVY>> zPbsi0&5ShdT1!kuceQ)ZbrA;NkI2pfWxUEu50bk7LoGS%26_g~YtMyRooIGE1OWqb z`WstsGUW@X3w@XP)fxEITrsrF;$IIrwc$3xp)_5|Y=9EG<0DFhxPrdC%4hJxUAyt#;XSa`BIXOTmlUqOmN0 zhRw#q@^4HU+G^y<8wSKN^UPzyAU+K0L_x8y$Cm;$O9(}IkpT;>1%{{T-vGrhG;}D^ z;@MS*zLHFyf!vLZs_rDTG5A`CAlBnANCKnuFf8eip=&JWaHej&4kahQyV^t4 z&%Fb5NB$5$9m& z-8a+aI>aFmQb{`WZ-T53nQ!QEe|rqKf>y8i5#H?kR>H%(Rg^leVfNOW(*x}}baLMI z^S2=a&s8(>6`w|nPtMD4}|r6Kbtgg?N(CtPMB;!m5A#VPNFc`q?(K-{h?Rrunl=+cD@#)5{rp)+bvlK@@I^ki zFeD*s6Mp?+gkl&c0|{lDkvyhCtHgG67q|J^fmqh!zk`x*BH*bP=#Y?t1#y2z6)M7F z@Jo6u;;QmzT(e!}e!Qp2s*-l;Bc6gq27lK%DrtOz?V&}G9AtV5@;r4%?qraWL)}oD zk4yT^Am!MgN6DGJdJ2l6oXEOJz7CsdH=X`{wY6EIg8OvXCyGj ztFYG{;WnG!=VDp)&EPpv%x>p2w+>3eer?5Q)JJ}SL$kRfq56|*=GB)YBae8PqS?y` zxghiOm_Qo1#7_n5_Mc1Cc88Y#-0%f!W<^5`u(?0CmJEx%DRi1g7|#Q1Lf;^(I~7?( zygZA)!B3}1*rq~RW>^HkwHP>zDfXbG

  • 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≤&zN;FoJM` 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 or@66i-W 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

    qNF`aM+?Jg^dmn{P_!o`hpe+xuLS7p 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 z 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%0D8Wgg~o=?tsUTbJabNL4af3`gl7K!ieoqfqR*U zemBfzCMF9^mH7WlLy7rqjvWc8{Xd4H?v1{_LI}HU=8Tc5rU4XCQcg}=Ub+xmWeZk? zxztgp<&{!?jEdL=ql6OK_vk$f3Xj*}tkcaJEgRh1Sf3s4geJ=Ek`Wd2z*__i&*MQl z3bW`FPlC0T8v0DLcax{vjx`{X>q73l+s!o58I9SjQVVV$(+2+OG4TYvsKF?Xzfq{_ zh6Py~nrHe8-^}hUwekN?pAUA@>KJSuJo2$$8_W#a`uFnVo5AdFv)=fFFU%>Z0gUU& z6JS9W)gKq!JL2!2YNT3{8i!d&dd@Qq9{fcB{!aVu40h&MtFUBl8+FE#C8^4_XT6&OBi z=~3BOKv4y^FxZ|;;Xq)q%}P~mFOfpzY|}LM{zFXj=Ki++43Q&9kncx)?l>Lv!9HjTo zTN^<-R;gpekJibgaB`5b?T9M)Bne<-uzl%Sy4S@#0rl6LhhqQ3?^yXm1O3FI(1gzY@tnx^ZN9;M{X4k4jq$SbFWhTNM zF*PlE4Al2aIR591>Pj#wRuj7i3zvWU$^AB-DRpvV+@ZhoBc(pkJ};c(C4e7QdDRkz z+A*x{9c5_0(&Hak3B3dl*h;~`lv9bz(@QVzeEu|;gDM(%#z^dm{q}Uz%3wr)#AYx+ zKZ_%sW@DE7h-(V&#!nDbdj9s9pxZW7mKlqF7psn>T=+8MJRjHfH^QmbO0MoWp2xgq zu4G^CND!e6SZo02K_4p{;|>^<%)O(>{bh&h1s$TmyF& z7cl**QWbHe@QxLH8#I%cEwwOaCkJXE#Na1YJs0S3I(%l7F)%Yq#K{?VTl4%k2NHV> zU5@c}N6K8w3toAl-#Tt3t+*GR2f2dK{Y_tc_lwug=A=3Ld{`j#mxhrc&Jy2Dkh*zW zhzgMfz8NEW{h7xC*@BUyCyQYR3K<8 zm>?lgkFzBN?W*c*9?Q9OlnYdgT&tndgXtE?j3$^^7O;G9AEeHjO#F`rg~EfnNxl?` z&IE?$GQio zl&Rkr!gH1Oj4_qvjezH}Y>ymKHyxeZfs|1DFaaJV&BHwzoHL^}vCw>9f1IT!vgFKo zRkvuiiJ#F#Ps6ldbK+2Au*v<4ta?o8xL#=w))Rqt0ZE9!tD*zUXg^*0Aoi}6*moU? z6pc>^7aPvK1Z?Jc6P{)e#;CJeg8;rJn}N((@;}?&r*qRh+~viB!A7%5x83pL0_YK| z6;j;hIs8G{l{{FwgmM$F$^V8-C)?)iaV{919lDD$Pv~z6 zqQE_90hU>+`XlBjS5p?ZlMUc4^`Z@e+zty;?Z6hcDq;WrMB~LgqT>O6Gs~+GEAwUhaH#sW9pz<~W~0F(ZbxJNtdncfF+!~e zNQ`880&-?sLDpQrk~A@t^kWeiqu+4mXWn9#&&Y2YMOf5BL6qxcmZ%Z^(ik5OKO^AO zUR}`pIZ#r&s^BV6!;DmkhMjtXrf4w>^*$mte^%1@T2I(&e6~}Kl9h~FHU)K2p4jQV zr|C1EB0g?xy3WDZ77_;TQNaXc@iua(*_t3x{jMo-f_ay7#3j*)U66rjNv_-(ba4SoVZzx&MFu~LkeGU2csF8U0 zXDTS^uhTA4kVn6QYPt+oa!j_0rQ%PWVh@*$kvbE18f!{|H=Ditup!s1#b=Hq`*jJ5 zD^Y>IoyBw{#6W)?%pHHMT=H|Tn_JZNpS3~>50Qm#J< zYMGT%Zr0N3uHQa~*TJ-p37VzYGK~@ZP2a?0Y5r8aY*QL#54ZKVtf>y}SvSwNu_Nv3 zvj2?lJYva2^Kb?&x7sBhqtSjZ$M0tfx=_(8*ppNDew zLuF4-Esze~=<`i{*gJX(a#{-1l?(L7xFqUj>}^oi`6g!~gissc4(} zVE0L$NF+_Bo)$3nYK`yyp9ojjn<1}DZZrOO7gs?z>|Y)auWPw*(23elOw}xZ9YtFo zm4zK5r8tWy-yi{hvdQhbugq(FJUCBD|`!no(WxI&VUdOMg&rW9Pv=Rh( z5pq}3$r^;Tf@poxElK>!l33(-p0KKC`CLQ(h;>f)5pOEQ+h@F^rs-f20c3n@SdMk- ziik4)C^Py4o>7?ZA|j1+wYN5N7dHKi>Vieko27Crs@&o6g_EC8OBP%F&bHYWBWxI! z^C~pGFNI^&Bum5{0p6~#eG7wW(VunLOjxw{)Wnsyofz@K02hdO0lXAJ`b0?me9u1e z{E=|rU;!0nTA5e83PuPgT%YLRaN^vcwfl`k0N?s>ajb_TtUq*9#=9oY1i(g-k|x){ zgEnA?23jXoukzZ{f4S~6GpLUh7d~_a=)~B=M^2ULzs&rZAk7|6|0tR9RH9A3F2%U^D#2v(&%~FpGI;(>8dH zFpSbTWM#yiAFkQmoIU-|QqB};kgKriL-wtO=O%fqS{oMc&XUiiJ}gt7v~Hg@i7 zIbyb>B);aPllT39iU=iBN!(`Td&N@Z#v~1nRm2^x&QWFxbw5vBUFwtLe=phr|1+!# zw~@z|yTl`2s-zUgf&@!)alQ!dn}LoqqwzOv1`ZH?-eiX%jn9`svc6?-&i7P^$&0{| zn2~2M*1Nknpo3o-wKogvwk)HH+wHTQe;etRPmUu&gr(u!@t6Pm=)!gxM0*?98L;l; zA#Rp*!`X?z!Ed)=@5f32e%J>JuwCw+aHw220wkAhH~-o@5I4*0JA zbBHLsm*{CP(&xhx6aAiDoNF-+`+4uazY5f%QgME=XEdYDV&s=z7<60o@a2!RNh)bo zMCW-r@a3Q_lXOCXg_Y&c(oD`Q82lx>prf`#=jR!4wRa3i0Tq{H(%baeiV! zT3dh08UZwq)@#jc4ZPw+lBKrRoQXU-G-)|jRR9%S-T#@aINQ%Oj{`^HzIxL>Aj%1Z zhnA1U=Av+D5ReMPKDXtQN_o^OH_6ZvsJIDb21NsBks*t4jpbbGeUW?XGsJ^2Yp_@7 zo>i>mjQF4@06Rd$zY%D6MAY2N2s$90`~f zVwWk5FE->$*!x-3REV!b`m z^6-!^XSrtgiie~^x~zg}Hzk=_bVx%AueLk;gmrylXw$%%cmQ)yem%ky;`JKv)vor* zINX$I=d8s|7B&69QlDtv>;{`9kGjc&AnMQnS z)nk~5lo{_)EK<2y&ZXuJuutEiY2CEN{C%bU*QrHPpJ^^-@ke1<{tkDVgJi&7@Y~7` zLgw&UF;tamW5q&Hl>CoTxo;eK_cT9G%@>r7Xiv=-U?!PksMP}M;IjR85q~+eNgaji zKg3r1z;!L}8di0-AmQdCfM*qdKyrPh;36-Q=%`Y_EYoO40OPx~VIIK7GHF_~@I3vt zrkSKJkcVg$GKb1+$?M&ro-*A=2T5&sQhNuMTA0HsK+8SPKs$ouUBENVE3EJ-n^7NF zpr220`nN#94AEbG8;ku#aFi=!i<3*?l1Gm6>kF?f7{(K;uL2fcr(GTk5yKY}v@(6i zZe`kUh(LF7WTIh{J@pJQ+wTlU?zmrx$sO5fjK(a*`odn;Sy>*I5pcO{PJD)Rj7H~h z!qJdQoGcx(((T%G4}*GcJdAa(s`m+9hB_A%fz z1IUQp&f(2#hG6A62d2r;HZ>nH01~k-bOli<#M5`fh3JX?)=dNEHDZ>5aNKG$Mx{=t z1Z5){^4t{DJ)}x>PFPW?ULICOwfpMVZPL>S>Nlv%lJZWet8Sk4prY?<@K-WCPWsp5 zvy4Zivlx)C6M;&308AeX@IjYM_+%E(>Kbo>7JoTe{wBnQh821Oh4i;MU8ux7w;FUq z=O2G0!zb96(O5ZP1oq{IYQjX`S<13zy`>mm&%6$8PgHb0$bg+d>%fGM-K7}#foqsx zL9nAjiaf3LW3=^29a0O)xwd@QSci(wD*&9RKLbDRn_Q%CKj`$P%Wj#;%Rp|{u`A4V zb0Va2U(LC%Ke9NO{)X+@s?lmFr`}Y=KA`Wu46POP12|uJWGX@y@gGTB|208Ki|t~B zf9mK}#$QKA;QtQV4HTZJ>~det`()BR2T5ITmow_uT^O(v*IyJ9{vPFP4>Q9;JdxK-n>NLpa7OW2W~^ul zAw*YW8XOyGZgOm%9L7ief=5__aRNJCcV(wEz#(rP^FTNH4^e^-w5*4)8@42wR=f`2r&m?eE3vnbk zg^q{5i2G-2h*1l-`@c9s54S$M@cWv8+=Q1t_hpd`dfDz+JRc*!AJrO+zp6{F5%T;6 z6L8ba@%)El^9jcS>WUUIZz>pXZ!aKV$>5<;GoB5D|22{DL>e0$L76GKmd-JO2 zLt+Kjxu95~jRgc<$Dlj0|5i-#b_kR^CF^mt7Mf43qpZ_9q9!bWtl1@KUEtmUmWw_E z!>GT9kL&_+6fsMxJs5p8c7}5dnz5YzRfTC-t@Ftt+Z^w9h=L`1JCJ~-L7Ea*Hi$eh z!AzSAnK}0GWrIP^>HqfFo8+u_*w~maeBi9iMkk0LL`9qK<7%horXD&WK(qkb?%>63 zuW22~R#IcqebLC&;u28i#;63Js-pv?KTkl_Ha%uj9lknlsPW4hJbm?zc886N9YKNY zrnVifPDSrkcD!T{n|mclI-lOXKm-Z~GO{5&rf00XSBuI@CcL~pGE^4OG>OLEfFPC0 zETN>(v*kY=k)Par-Zx^1la&`;zSsu7a$@o*TJ~W!&%aeA!>nx)IsQ{j-Mc+wpt`?}s*aWio38WJc3uc1Owe zBb5*jpJD!Qaic)sAcfkf545|T4N%%+)EAP9ck zB+Be`-DWBQB|qgVB<_jT(;s{F=>NGfcIP&Sp>UBSEA&)#ZG)=v;Ao@K4xk4iX7i=K zXDvktavJ*P+ouOs^F|nv{ckod9Q=Cdoc(t)hPr#eKSy06)H+PXDHaQw<9%XpP;#~; z2zu?%ea=au{UrSH{$;QH2GfDh9$*PpXu|>vmPer)pt>u>kRLT_&Y8k~W1tN)Eu1cY zR_Ky+Us{4c4)yj}UM|eeeKdQ2QO;u>AGkiB5B&QBcxlRq$|>8 zaZm#RLqf#IZ!cy4MJlsMiAd%hQTEliZS#!IDWzHCS#J%ngj)On}h?H3r%P&t3EiDQBlF@vK*yz{>o>VFWdQP%2xmD1CO9xq=BDN zg{R!I#dX6>WY#*yur93i-)`jXOHy33Ivk2oKfq@!eStEwdh||eSrcE;Y+w$cf5!AR-ayB1eJxA%5Wen|=A8ct+4?@f8WzHx*ZUJVkWvQZ7CT zg{`Kc>X%PQvf0!|IGg3x2*>eIzXoaq%_I%Nws1*UqFUfn!JmJrX&^e{A_C3{6|<2$)WI|JVpg=eLYzWxO8v_cDqp{; zXf0$2>LAie`Vz#gGO2gd+=h*Hh-!fR){;uAGOr_dQrd%bnC5*By48m~CD1y-b}x?s zn+TJELNdl%0AYhIABOY37^`Xh!A1}2m0SSVN8%kHgbYvUtPFm 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 z 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%0A4!ux5erJ2hx?pF#p6bzc3$9m(egXw0KmrZ_v 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%0A=a9|!98=^)1I@^uosi0)Z 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