Index: /package_tags/pyyaml/3.05-2~andersk1/LICENSE
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/LICENSE	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/LICENSE	(revision 902)
@@ -0,0 +1,19 @@
+Copyright (c) 2006 Kirill Simonov
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
Index: /package_tags/pyyaml/3.05-2~andersk1/PKG-INFO
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/PKG-INFO	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/PKG-INFO	(revision 902)
@@ -0,0 +1,28 @@
+Metadata-Version: 1.0
+Name: PyYAML
+Version: 3.05
+Summary: YAML parser and emitter for Python
+Home-page: http://pyyaml.org/wiki/PyYAML
+Author: Kirill Simonov
+Author-email: xi@resolvent.net
+License: MIT
+Download-URL: http://pyyaml.org/download/pyyaml/PyYAML-3.05.tar.gz
+Description: YAML is a data serialization format designed for human readability and
+        interaction with scripting languages.  PyYAML is a YAML parser and
+        emitter for Python.
+        
+        PyYAML features a complete YAML 1.1 parser, Unicode support, pickle
+        support, capable extension API, and sensible error messages.  PyYAML
+        supports standard YAML tags and provides Python-specific tags that allow
+        to represent an arbitrary Python object.
+        
+        PyYAML is applicable for a broad range of tasks from complex
+        configuration files to object serialization and persistance.
+Platform: Any
+Classifier: Development Status :: 4 - Beta
+Classifier: Intended Audience :: Developers
+Classifier: License :: OSI Approved :: MIT License
+Classifier: Operating System :: OS Independent
+Classifier: Programming Language :: Python
+Classifier: Topic :: Software Development :: Libraries :: Python Modules
+Classifier: Topic :: Text Processing :: Markup
Index: /package_tags/pyyaml/3.05-2~andersk1/README
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/README	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/README	(revision 902)
@@ -0,0 +1,24 @@
+PyYAML - The next generation YAML parser and emitter for Python.
+
+To install, type 'python setup.py install'.
+
+You may build faster LibYAML based parser and emitter with
+'python setup_with_libyaml.py install'.
+Then you may use the LibYAML based parser this way:
+    >>> yaml.load(stream, Loader=yaml.CLoader)
+    >>> yaml.dump(data, Dumper=yaml.CDumper)
+
+For more information, check the PyYAML homepage:
+'http://pyyaml.org/wiki/PyYAML'.
+
+Documentation (rough and incomplete though):
+'http://pyyaml.org/wiki/PyYAMLDocumentation'.
+
+Post your questions and opinions to the YAML-Core mailing list:
+'http://lists.sourceforge.net/lists/listinfo/yaml-core'.
+
+Submit bug reports and feature requests to the PyYAML bug tracker:
+'http://pyyaml.org/newticket?component=pyyaml'.
+
+PyYAML is written by Kirill Simonov <xi@resolvent.net>.  It is released
+under the MIT license. See the file LICENSE for more details.
Index: /package_tags/pyyaml/3.05-2~andersk1/debian/changelog
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/debian/changelog	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/debian/changelog	(revision 902)
@@ -0,0 +1,64 @@
+pyyaml (3.05-2~andersk1) unstable; urgency=low
+
+  * Backport to Etch.
+
+ -- Anders Kaseorg <andersk@mit.edu>  Thu, 31 Jul 2008 17:32:58 -0400
+
+pyyaml (3.05-2) unstable; urgency=low
+
+  [ Piotr Ożarowski ]
+  * Vcs-Browser and Homepage fields added
+  * XS-Vcs-Svn field renamed to Vcs-Svn
+  * DM-Upload-Allowed set to "yes"
+
+  [ Sandro Tosi ]
+  * debian/control
+    - uniforming Vcs-Browser field
+
+  [ Scott Kitterman ]
+  * Build with lib-yaml now that it is in the archive (Closes: #435410)
+    - Add build-dep on libyaml-dev and python-pyrex
+    - Add depends for ${shlibs:Depends} (Package falls back to pure Python
+      if libyaml is not present, but it's not worth splitting a small package)
+    - Install with setup_with_libyaml.py for all Python versions
+    - Switch from arch all to arch any
+  * Add debug package
+    - Add python-all-dbg to build-dep
+    - Add python-yaml-dbg to debian/control
+    - Update debian/rules
+  * Switch from python-support to python-central
+    - Update depends
+    - Remove pyversions
+    - Add XS/XB-python-versions to debian/control
+    - Update debian/rules
+  * Update package description
+  * Update standards version to 3.8.0.1
+
+ -- Scott Kitterman <scott@kitterman.com>  Tue, 24 Jun 2008 21:32:45 -0400
+
+pyyaml (3.05-1) unstable; urgency=low
+
+  [ Scott Kitterman ]
+  * New upstream version
+  * Removed obsolete patch and debian/patches
+  * debian/control:
+     - Added XS-Vcs-Svn field
+     - Remove build-dep on pacht-utils
+  * debian/rules:
+     - Comment out simple-patchsys
+
+  [ Piotr Ożarowski ]
+  * Added debian/watch file
+
+ -- Scott Kitterman <scott@kitterman.com>  Sun, 13 May 2007 22:38:17 -0400
+
+pyyaml (3.04-1) unstable; urgency=low
+
+  * Initial Debian package (Closes: #413720)
+  * Include upstream recommended patches from the development tree:
+    - fix loading an empty stream: changeset 233
+    - fix the !timestamp constructor: changeset 234
+    - fix an obscure issue with yaml_path_resolver: changeset 246
+
+ -- Scott Kitterman <scott@kitterman.com>  Wed,  4 Apr 2007 15:50:36 -0400
+
Index: /package_tags/pyyaml/3.05-2~andersk1/debian/compat
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/debian/compat	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/debian/compat	(revision 902)
@@ -0,0 +1,2 @@
+5
+
Index: /package_tags/pyyaml/3.05-2~andersk1/debian/control
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/debian/control	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/debian/control	(revision 902)
@@ -0,0 +1,34 @@
+Source: pyyaml
+Section: python
+Priority: optional
+Maintainer: Debian Python Modules Team <python-modules-team@lists.alioth.debian.org> 
+Uploaders: Scott Kitterman <scott@kitterman.com>
+Build-Depends: debhelper (>= 5), cdbs (>=0.4.48), python-all-dev (>=2.3.5-11), python-central (>= 0.5.12), python-pyrex, libyaml-dev
+XS-Python-Version: all 
+Vcs-Svn: svn://svn.debian.org/python-modules/packages/pyyaml/trunk/
+Vcs-Browser: http://svn.debian.org/wsvn/python-modules/packages/pyyaml/trunk/?op=log
+Standards-Version: 3.8.0.1
+Homepage: http://pyyaml.org/
+DM-Upload-Allowed: yes
+
+Package: python-yaml
+Architecture: any
+Depends: ${python:Depends}, ${shlibs:Depends}
+XB-Python-Version: all
+Description: YAML parser and emitter for Python
+ Python-yaml is a complete YAML 1.1 parser and emitter for Python.  It can parse
+ all examples from the specification. The parsing algorithm is simple enough to
+ be a reference for YAML parser implementors. A simple extension API is also
+ provided.
+
+Package: python-yaml-dbg
+Priority: extra
+Architecture: any
+Depends: python-yaml (= ${binary:Version}), python-dbg, ${shlibs:Depends}
+Description: YAML parser and emitter for Python
+ Python-yaml is a complete YAML 1.1 parser and emitter for Python.  It can parse
+ all examples from the specification. The parsing algorithm is simple enough to
+ be a reference for YAML parser implementors. A simple extension API is also
+ provided.
+ .
+ This package contains the extension built for the Python debug interpreter.
Index: /package_tags/pyyaml/3.05-2~andersk1/debian/copyright
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/debian/copyright	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/debian/copyright	(revision 902)
@@ -0,0 +1,32 @@
+This package was debianized by Scott Kitterman <scott@kitterman.com> on
+Fri, 09 Feb 2007 12:12:29 -0500.
+
+The maintainer is Debian Python Modules Team 
+<python-modules-team@lists.alioth.debian.org>
+
+It was downloaded from http://pyyaml.org/
+
+Copyright Holder: Copyright (c) 2006 Kirill Simonov <xi@resolvent.net>
+
+License:
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+The Debian packaging is (C) 2007, Scott Kitterman <scott@kitterman.com> and
+is licensed under the same terms as PyYAML, see above.
Index: /package_tags/pyyaml/3.05-2~andersk1/debian/docs
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/debian/docs	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/debian/docs	(revision 902)
@@ -0,0 +1,1 @@
+README
Index: /package_tags/pyyaml/3.05-2~andersk1/debian/examples
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/debian/examples	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/debian/examples	(revision 902)
@@ -0,0 +1,2 @@
+examples/*
+
Index: /package_tags/pyyaml/3.05-2~andersk1/debian/pycompat
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/debian/pycompat	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/debian/pycompat	(revision 902)
@@ -0,0 +1,1 @@
+2
Index: /package_tags/pyyaml/3.05-2~andersk1/debian/rules
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/debian/rules	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/debian/rules	(revision 902)
@@ -0,0 +1,29 @@
+#!/usr/bin/make -f
+
+DEB_PYTHON_SYSTEM=pycentral
+DEB_COMPRESS_EXCLUDE := .py
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/python-distutils.mk
+include /usr/share/cdbs/1/rules/simple-patchsys.mk
+
+install/python-yaml::
+	for i in $(cdbs_python_build_versions); do \
+	  python$$i ./setup_with_libyaml.py install --root $(CURDIR)/debian/python-yaml; \
+	done
+
+install/python-yaml-dbg::
+	for i in $(cdbs_python_build_versions); do \
+	  python$$i-dbg ./setup_with_libyaml.py install --root $(CURDIR)/debian/python-yaml-dbg; \
+	done
+	find debian/python-yaml-dbg \
+	  ! -type d ! -name '*_d.so' | xargs rm -f
+	find debian/python-yaml-dbg -depth -empty -exec rmdir {} \;
+
+binary-predeb/python-yaml-dbg::
+	rm -rf debian/python-yaml-dbg/usr/share/doc/python-yaml-dbg
+	ln -s python-yaml debian/python-yaml-dbg/usr/share/doc/python-yaml-dbg
+
+
+clean::
+	rm -rf build
Index: /package_tags/pyyaml/3.05-2~andersk1/debian/watch
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/debian/watch	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/debian/watch	(revision 902)
@@ -0,0 +1,3 @@
+version=3
+http://pyyaml.org/download/pyyaml/PyYAML-(.*)\.tar\.gz debian uupdate
+
Index: /package_tags/pyyaml/3.05-2~andersk1/examples/yaml-highlight/yaml_hl.cfg
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/examples/yaml-highlight/yaml_hl.cfg	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/examples/yaml-highlight/yaml_hl.cfg	(revision 902)
@@ -0,0 +1,115 @@
+%YAML 1.1
+---
+
+ascii:
+
+    header: "\e[0;1;30;40m"
+
+    footer: "\e[0m"
+
+    tokens:
+        stream-start:
+        stream-end:
+        directive:              { start: "\e[35m", end: "\e[0;1;30;40m" }
+        document-start:         { start: "\e[35m", end: "\e[0;1;30;40m" }
+        document-end:           { start: "\e[35m", end: "\e[0;1;30;40m" }
+        block-sequence-start:
+        block-mapping-start:
+        block-end:
+        flow-sequence-start:    { start: "\e[33m", end: "\e[0;1;30;40m" }
+        flow-mapping-start:     { start: "\e[33m", end: "\e[0;1;30;40m" }
+        flow-sequence-end:      { start: "\e[33m", end: "\e[0;1;30;40m" }
+        flow-mapping-end:       { start: "\e[33m", end: "\e[0;1;30;40m" }
+        key:                    { start: "\e[33m", end: "\e[0;1;30;40m" }
+        value:                  { start: "\e[33m", end: "\e[0;1;30;40m" }
+        block-entry:            { start: "\e[33m", end: "\e[0;1;30;40m" }
+        flow-entry:             { start: "\e[33m", end: "\e[0;1;30;40m" }
+        alias:                  { start: "\e[32m", end: "\e[0;1;30;40m" }
+        anchor:                 { start: "\e[32m", end: "\e[0;1;30;40m" }
+        tag:                    { start: "\e[32m", end: "\e[0;1;30;40m" }
+        scalar:                 { start: "\e[36m", end: "\e[0;1;30;40m" }
+
+    replaces:
+        - "\r\n":   "\n"
+        - "\r":     "\n"
+        - "\n":     "\n"
+        - "\x85":   "\n"
+        - "\u2028": "\n"
+        - "\u2029": "\n"
+
+html: &html
+
+    tokens:
+        stream-start:
+        stream-end:
+        directive:              { start: <code class="directive_token">, end: </code> }
+        document-start:         { start: <code class="document_start_token">, end: </code> }
+        document-end:           { start: <code class="document_end_token">, end: </code> }
+        block-sequence-start:
+        block-mapping-start:
+        block-end:
+        flow-sequence-start:    { start: <code class="delimiter_token">, end: </code> }
+        flow-mapping-start:     { start: <code class="delimiter_token">, end: </code> }
+        flow-sequence-end:      { start: <code class="delimiter_token">, end: </code> }
+        flow-mapping-end:       { start: <code class="delimiter_token">, end: </code> }
+        key:                    { start: <code class="delimiter_token">, end: </code> }
+        value:                  { start: <code class="delimiter_token">, end: </code> }
+        block-entry:            { start: <code class="delimiter_token">, end: </code> }
+        flow-entry:             { start: <code class="delimiter_token">, end: </code> }
+        alias:                  { start: <code class="anchor_token">, end: </code> }
+        anchor:                 { start: <code class="anchor_token">, end: </code> }
+        tag:                    { start: <code class="tag_token">, end: </code> }
+        scalar:                 { start: <code class="scalar_token">, end: </code> }
+
+    events:
+        stream-start:   { start: <pre class="yaml_stream"> }
+        stream-end:     { end: </pre> }
+        document-start: { start: <span class="document"> }
+        document-end:   { end: </span> }
+        sequence-start: { start: <span class="sequence"> }
+        sequence-end:   { end: </span> }
+        mapping-start:  { start: <span class="mapping"> }
+        mapping-end:    { end: </span> }
+        scalar:         { start: <span class="scalar">, end: </span> }
+
+    replaces:
+        - "\r\n":   "\n"
+        - "\r":     "\n"
+        - "\n":     "\n"
+        - "\x85":   "\n"
+        - "\u2028": "\n"
+        - "\u2029": "\n"
+        - "&":      "&amp;"
+        - "<":      "&lt;"
+        - ">":      "&gt;"
+
+html-page:
+
+    header: |
+        <html>
+        <head>
+        <title>A YAML stream</title>
+        <style type="text/css">
+            .document { background: #FFF }
+            .sequence { background: #EEF }
+            .mapping { background: #EFE }
+            .scalar { background: #FEE }
+            .directive_token { color: #C0C }
+            .document_start_token { color: #C0C; font-weight: bold }
+            .document_end_token { color: #C0C; font-weight: bold }
+            .delimiter_token { color: #600; font-weight: bold }
+            .anchor_token { color: #090 }
+            .tag_token { color: #090 }
+            .scalar_token { color: #000 }
+            .yaml_stream { color: #999 }
+        </style>
+        <body>
+
+    footer: |
+        </body>
+        </html>
+
+    <<: *html
+
+
+# vim: ft=yaml
Index: /package_tags/pyyaml/3.05-2~andersk1/examples/yaml-highlight/yaml_hl.py
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/examples/yaml-highlight/yaml_hl.py	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/examples/yaml-highlight/yaml_hl.py	(revision 902)
@@ -0,0 +1,114 @@
+#!/usr/bin/python
+
+import yaml, codecs, sys, os.path, optparse
+
+class Style:
+
+    def __init__(self, header=None, footer=None,
+            tokens=None, events=None, replaces=None):
+        self.header = header
+        self.footer = footer
+        self.replaces = replaces
+        self.substitutions = {}
+        for domain, Class in [(tokens, 'Token'), (events, 'Event')]:
+            if not domain:
+                continue
+            for key in domain:
+                name = ''.join([part.capitalize() for part in key.split('-')])
+                cls = getattr(yaml, '%s%s' % (name, Class))
+                value = domain[key]
+                if not value:
+                    continue
+                start = value.get('start')
+                end = value.get('end')
+                if start:
+                    self.substitutions[cls, -1] = start
+                if end:
+                    self.substitutions[cls, +1] = end
+
+    def __setstate__(self, state):
+        self.__init__(**state)
+
+yaml.add_path_resolver(u'tag:yaml.org,2002:python/object:__main__.Style',
+        [None], dict)
+yaml.add_path_resolver(u'tag:yaml.org,2002:pairs',
+        [None, u'replaces'], list)
+
+class YAMLHighlight:
+
+    def __init__(self, options):
+        config = yaml.load(file(options.config, 'rb').read())
+        self.style = config[options.style]
+        if options.input:
+            self.input = file(options.input, 'rb')
+        else:
+            self.input = sys.stdin
+        if options.output:
+            self.output = file(options.output, 'wb')
+        else:
+            self.output = sys.stdout
+
+    def highlight(self):
+        input = self.input.read()
+        if input.startswith(codecs.BOM_UTF16_LE):
+            input = unicode(input, 'utf-16-le')
+        elif input.startswith(codecs.BOM_UTF16_BE):
+            input = unicode(input, 'utf-16-be')
+        else:
+            input = unicode(input, 'utf-8')
+        substitutions = self.style.substitutions
+        tokens = yaml.scan(input)
+        events = yaml.parse(input)
+        markers = []
+        number = 0
+        for token in tokens:
+            number += 1
+            if token.start_mark.index != token.end_mark.index:
+                cls = token.__class__
+                if (cls, -1) in substitutions:
+                    markers.append([token.start_mark.index, +2, number, substitutions[cls, -1]])
+                if (cls, +1) in substitutions:
+                    markers.append([token.end_mark.index, -2, number, substitutions[cls, +1]])
+        number = 0
+        for event in events:
+            number += 1
+            cls = event.__class__
+            if (cls, -1) in substitutions:
+                markers.append([event.start_mark.index, +1, number, substitutions[cls, -1]])
+            if (cls, +1) in substitutions:
+                markers.append([event.end_mark.index, -1, number, substitutions[cls, +1]])
+        markers.sort()
+        markers.reverse()
+        chunks = []
+        position = len(input)
+        for index, weight1, weight2, substitution in markers:
+            if index < position:
+                chunk = input[index:position]
+                for substring, replacement in self.style.replaces:
+                    chunk = chunk.replace(substring, replacement)
+                chunks.append(chunk)
+                position = index
+            chunks.append(substitution)
+        chunks.reverse()
+        result = u''.join(chunks)
+        if self.style.header:
+            self.output.write(self.style.header)
+        self.output.write(result.encode('utf-8'))
+        if self.style.footer:
+            self.output.write(self.style.footer)
+
+if __name__ == '__main__':
+    parser = optparse.OptionParser()
+    parser.add_option('-s', '--style', dest='style', default='ascii',
+            help="specify the highlighting style", metavar='STYLE')
+    parser.add_option('-c', '--config', dest='config',
+            default=os.path.join(os.path.dirname(sys.argv[0]), 'yaml_hl.cfg'),
+            help="set an alternative configuration file", metavar='CONFIG')
+    parser.add_option('-i', '--input', dest='input', default=None,
+            help="set the input file (default: stdin)", metavar='FILE')
+    parser.add_option('-o', '--output', dest='output', default=None,
+            help="set the output file (default: stdout)", metavar='FILE')
+    (options, args) = parser.parse_args()
+    hl = YAMLHighlight(options)
+    hl.highlight()
+
Index: /package_tags/pyyaml/3.05-2~andersk1/ext/_yaml.c
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/ext/_yaml.c	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/ext/_yaml.c	(revision 902)
@@ -0,0 +1,9054 @@
+/* Generated by Pyrex 0.9.4.1 on Sun May 13 00:52:19 2007 */
+
+#define PY_SSIZE_T_CLEAN
+#include "Python.h"
+#include "structmember.h"
+#ifndef PY_LONG_LONG
+  #define PY_LONG_LONG LONG_LONG
+#endif
+#if PY_VERSION_HEX < 0x02050000
+  typedef int Py_ssize_t;
+  #define PY_SSIZE_T_MAX INT_MAX
+  #define PY_SSIZE_T_MIN INT_MIN
+  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
+  #define PyInt_AsSsize_t(o)   PyInt_AsLong(o)
+#endif
+#ifdef __cplusplus
+#define __PYX_EXTERN_C extern "C"
+#else
+#define __PYX_EXTERN_C extern
+#endif
+__PYX_EXTERN_C double pow(double, double);
+#include "_yaml.h"
+
+
+typedef struct {PyObject **p; char *s;} __Pyx_InternTabEntry; /*proto*/
+typedef struct {PyObject **p; char *s; long n;} __Pyx_StringTabEntry; /*proto*/
+static PyObject *__Pyx_UnpackItem(PyObject *, Py_ssize_t); /*proto*/
+static int __Pyx_EndUnpack(PyObject *, Py_ssize_t); /*proto*/
+static int __Pyx_PrintItem(PyObject *); /*proto*/
+static int __Pyx_PrintNewline(void); /*proto*/
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
+static void __Pyx_ReRaise(void); /*proto*/
+static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/
+static PyObject *__Pyx_GetExcValue(void); /*proto*/
+static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed, char *name); /*proto*/
+static int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/
+static int __Pyx_GetStarArgs(PyObject **args, PyObject **kwds, char *kwd_list[], Py_ssize_t nargs, PyObject **args2, PyObject **kwds2); /*proto*/
+static void __Pyx_WriteUnraisable(char *name); /*proto*/
+static void __Pyx_AddTraceback(char *funcname); /*proto*/
+static PyTypeObject *__Pyx_ImportType(char *module_name, char *class_name, long size);  /*proto*/
+static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/
+static int __Pyx_GetVtable(PyObject *dict, void *vtabptr); /*proto*/
+static PyObject *__Pyx_CreateClass(PyObject *bases, PyObject *dict, PyObject *name, char *modname); /*proto*/
+static int __Pyx_InternStrings(__Pyx_InternTabEntry *t); /*proto*/
+static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
+static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
+
+static PyObject *__pyx_m;
+static PyObject *__pyx_b;
+static int __pyx_lineno;
+static char *__pyx_filename;
+static char **__pyx_f;
+
+/* Declarations from _yaml */
+
+
+struct __pyx_obj_5_yaml_Mark {
+  PyObject_HEAD
+  PyObject *name;
+  int index;
+  int line;
+  int column;
+  PyObject *buffer;
+  PyObject *pointer;
+};
+
+
+struct __pyx_obj_5_yaml_CParser {
+  PyObject_HEAD
+  struct __pyx_vtabstruct_5_yaml_CParser *__pyx_vtab;
+  yaml_parser_t parser;
+  yaml_event_t parsed_event;
+  PyObject *stream;
+  PyObject *stream_name;
+  PyObject *current_token;
+  PyObject *current_event;
+  PyObject *anchors;
+};
+
+struct __pyx_vtabstruct_5_yaml_CParser {
+  PyObject *((*_parser_error)(struct __pyx_obj_5_yaml_CParser *));
+  PyObject *((*_scan)(struct __pyx_obj_5_yaml_CParser *));
+  PyObject *((*_token_to_object)(struct __pyx_obj_5_yaml_CParser *,yaml_token_t (*)));
+  PyObject *((*_parse)(struct __pyx_obj_5_yaml_CParser *));
+  PyObject *((*_event_to_object)(struct __pyx_obj_5_yaml_CParser *,yaml_event_t (*)));
+  PyObject *((*_compose_document)(struct __pyx_obj_5_yaml_CParser *));
+  PyObject *((*_compose_node)(struct __pyx_obj_5_yaml_CParser *,PyObject *,PyObject *));
+  PyObject *((*_compose_scalar_node)(struct __pyx_obj_5_yaml_CParser *,PyObject *));
+  PyObject *((*_compose_sequence_node)(struct __pyx_obj_5_yaml_CParser *,PyObject *));
+  PyObject *((*_compose_mapping_node)(struct __pyx_obj_5_yaml_CParser *,PyObject *));
+  int ((*_parse_next_event)(struct __pyx_obj_5_yaml_CParser *));
+};
+static struct __pyx_vtabstruct_5_yaml_CParser *__pyx_vtabptr_5_yaml_CParser;
+
+
+struct __pyx_obj_5_yaml_CEmitter {
+  PyObject_HEAD
+  struct __pyx_vtabstruct_5_yaml_CEmitter *__pyx_vtab;
+  yaml_emitter_t emitter;
+  PyObject *stream;
+  yaml_encoding_t use_encoding;
+  int document_start_implicit;
+  int document_end_implicit;
+  PyObject *use_version;
+  PyObject *use_tags;
+  PyObject *serialized_nodes;
+  PyObject *anchors;
+  int last_alias_id;
+  int closed;
+};
+
+struct __pyx_vtabstruct_5_yaml_CEmitter {
+  PyObject *((*_emitter_error)(struct __pyx_obj_5_yaml_CEmitter *));
+  int ((*_object_to_event)(struct __pyx_obj_5_yaml_CEmitter *,PyObject *,yaml_event_t (*)));
+  int ((*_anchor_node)(struct __pyx_obj_5_yaml_CEmitter *,PyObject *));
+  int ((*_serialize_node)(struct __pyx_obj_5_yaml_CEmitter *,PyObject *,PyObject *,PyObject *));
+};
+static struct __pyx_vtabstruct_5_yaml_CEmitter *__pyx_vtabptr_5_yaml_CEmitter;
+
+static PyTypeObject *__pyx_ptype_5_yaml_Mark = 0;
+static PyTypeObject *__pyx_ptype_5_yaml_CParser = 0;
+static PyTypeObject *__pyx_ptype_5_yaml_CEmitter = 0;
+static PyObject *__pyx_k2;
+static PyObject *__pyx_k3;
+static PyObject *__pyx_k4;
+static PyObject *__pyx_k5;
+static PyObject *__pyx_k6;
+static PyObject *__pyx_k7;
+static PyObject *__pyx_k8;
+static PyObject *__pyx_k9;
+static PyObject *__pyx_k10;
+static PyObject *__pyx_k11;
+static int (__pyx_f_5_yaml_input_handler(void (*),char (*),int ,int (*))); /*proto*/
+static int (__pyx_f_5_yaml_output_handler(void (*),char (*),int )); /*proto*/
+
+/* Implementation of _yaml */
+
+
+static PyObject *__pyx_n_yaml;
+static PyObject *__pyx_n_get_version_string;
+static PyObject *__pyx_n_get_version;
+static PyObject *__pyx_n_YAMLError;
+static PyObject *__pyx_n_ReaderError;
+static PyObject *__pyx_n_ScannerError;
+static PyObject *__pyx_n_ParserError;
+static PyObject *__pyx_n_ComposerError;
+static PyObject *__pyx_n_ConstructorError;
+static PyObject *__pyx_n_EmitterError;
+static PyObject *__pyx_n_SerializerError;
+static PyObject *__pyx_n_RepresenterError;
+static PyObject *__pyx_n_StreamStartToken;
+static PyObject *__pyx_n_StreamEndToken;
+static PyObject *__pyx_n_DirectiveToken;
+static PyObject *__pyx_n_DocumentStartToken;
+static PyObject *__pyx_n_DocumentEndToken;
+static PyObject *__pyx_n_BlockSequenceStartToken;
+static PyObject *__pyx_n_BlockMappingStartToken;
+static PyObject *__pyx_n_BlockEndToken;
+static PyObject *__pyx_n_FlowSequenceStartToken;
+static PyObject *__pyx_n_FlowMappingStartToken;
+static PyObject *__pyx_n_FlowSequenceEndToken;
+static PyObject *__pyx_n_FlowMappingEndToken;
+static PyObject *__pyx_n_KeyToken;
+static PyObject *__pyx_n_ValueToken;
+static PyObject *__pyx_n_BlockEntryToken;
+static PyObject *__pyx_n_FlowEntryToken;
+static PyObject *__pyx_n_AliasToken;
+static PyObject *__pyx_n_AnchorToken;
+static PyObject *__pyx_n_TagToken;
+static PyObject *__pyx_n_ScalarToken;
+static PyObject *__pyx_n_StreamStartEvent;
+static PyObject *__pyx_n_StreamEndEvent;
+static PyObject *__pyx_n_DocumentStartEvent;
+static PyObject *__pyx_n_DocumentEndEvent;
+static PyObject *__pyx_n_AliasEvent;
+static PyObject *__pyx_n_ScalarEvent;
+static PyObject *__pyx_n_SequenceStartEvent;
+static PyObject *__pyx_n_SequenceEndEvent;
+static PyObject *__pyx_n_MappingStartEvent;
+static PyObject *__pyx_n_MappingEndEvent;
+static PyObject *__pyx_n_ScalarNode;
+static PyObject *__pyx_n_SequenceNode;
+static PyObject *__pyx_n_MappingNode;
+static PyObject *__pyx_n_error;
+static PyObject *__pyx_n_reader;
+static PyObject *__pyx_n_scanner;
+static PyObject *__pyx_n_parser;
+static PyObject *__pyx_n_composer;
+static PyObject *__pyx_n_constructor;
+static PyObject *__pyx_n_emitter;
+static PyObject *__pyx_n_serializer;
+static PyObject *__pyx_n_representer;
+static PyObject *__pyx_n_tokens;
+static PyObject *__pyx_n_events;
+static PyObject *__pyx_n_nodes;
+
+static PyObject *__pyx_f_5_yaml_get_version_string(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_5_yaml_get_version_string(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_r;
+  PyObject *__pyx_1 = 0;
+  static char *__pyx_argnames[] = {0};
+  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":5 */
+  __pyx_1 = PyString_FromString(yaml_get_version_string()); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 5; goto __pyx_L1;}
+  __pyx_r = __pyx_1;
+  __pyx_1 = 0;
+  goto __pyx_L0;
+
+  __pyx_r = Py_None; Py_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_1);
+  __Pyx_AddTraceback("_yaml.get_version_string");
+  __pyx_r = 0;
+  __pyx_L0:;
+  return __pyx_r;
+}
+
+static PyObject *__pyx_f_5_yaml_get_version(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_5_yaml_get_version(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  int __pyx_v_major;
+  int __pyx_v_minor;
+  int __pyx_v_patch;
+  PyObject *__pyx_r;
+  PyObject *__pyx_1 = 0;
+  PyObject *__pyx_2 = 0;
+  PyObject *__pyx_3 = 0;
+  PyObject *__pyx_4 = 0;
+  static char *__pyx_argnames[] = {0};
+  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":9 */
+  yaml_get_version((&__pyx_v_major),(&__pyx_v_minor),(&__pyx_v_patch));
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":10 */
+  __pyx_1 = PyInt_FromLong(__pyx_v_major); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 10; goto __pyx_L1;}
+  __pyx_2 = PyInt_FromLong(__pyx_v_minor); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 10; goto __pyx_L1;}
+  __pyx_3 = PyInt_FromLong(__pyx_v_patch); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 10; goto __pyx_L1;}
+  __pyx_4 = PyTuple_New(3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 10; goto __pyx_L1;}
+  PyTuple_SET_ITEM(__pyx_4, 0, __pyx_1);
+  PyTuple_SET_ITEM(__pyx_4, 1, __pyx_2);
+  PyTuple_SET_ITEM(__pyx_4, 2, __pyx_3);
+  __pyx_1 = 0;
+  __pyx_2 = 0;
+  __pyx_3 = 0;
+  __pyx_r = __pyx_4;
+  __pyx_4 = 0;
+  goto __pyx_L0;
+
+  __pyx_r = Py_None; Py_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_1);
+  Py_XDECREF(__pyx_2);
+  Py_XDECREF(__pyx_3);
+  Py_XDECREF(__pyx_4);
+  __Pyx_AddTraceback("_yaml.get_version");
+  __pyx_r = 0;
+  __pyx_L0:;
+  return __pyx_r;
+}
+
+static int __pyx_f_5_yaml_4Mark___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_5_yaml_4Mark___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_name = 0;
+  int __pyx_v_index;
+  int __pyx_v_line;
+  int __pyx_v_column;
+  PyObject *__pyx_v_buffer = 0;
+  PyObject *__pyx_v_pointer = 0;
+  int __pyx_r;
+  static char *__pyx_argnames[] = {"name","index","line","column","buffer","pointer",0};
+  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "OiiiOO", __pyx_argnames, &__pyx_v_name, &__pyx_v_index, &__pyx_v_line, &__pyx_v_column, &__pyx_v_buffer, &__pyx_v_pointer)) return -1;
+  Py_INCREF(__pyx_v_self);
+  Py_INCREF(__pyx_v_name);
+  Py_INCREF(__pyx_v_buffer);
+  Py_INCREF(__pyx_v_pointer);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":69 */
+  Py_INCREF(__pyx_v_name);
+  Py_DECREF(((struct __pyx_obj_5_yaml_Mark *)__pyx_v_self)->name);
+  ((struct __pyx_obj_5_yaml_Mark *)__pyx_v_self)->name = __pyx_v_name;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":70 */
+  ((struct __pyx_obj_5_yaml_Mark *)__pyx_v_self)->index = __pyx_v_index;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":71 */
+  ((struct __pyx_obj_5_yaml_Mark *)__pyx_v_self)->line = __pyx_v_line;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":72 */
+  ((struct __pyx_obj_5_yaml_Mark *)__pyx_v_self)->column = __pyx_v_column;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":73 */
+  Py_INCREF(__pyx_v_buffer);
+  Py_DECREF(((struct __pyx_obj_5_yaml_Mark *)__pyx_v_self)->buffer);
+  ((struct __pyx_obj_5_yaml_Mark *)__pyx_v_self)->buffer = __pyx_v_buffer;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":74 */
+  Py_INCREF(__pyx_v_pointer);
+  Py_DECREF(((struct __pyx_obj_5_yaml_Mark *)__pyx_v_self)->pointer);
+  ((struct __pyx_obj_5_yaml_Mark *)__pyx_v_self)->pointer = __pyx_v_pointer;
+
+  __pyx_r = 0;
+  goto __pyx_L0;
+  __pyx_L1:;
+  __Pyx_AddTraceback("_yaml.Mark.__init__");
+  __pyx_r = -1;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_self);
+  Py_DECREF(__pyx_v_name);
+  Py_DECREF(__pyx_v_buffer);
+  Py_DECREF(__pyx_v_pointer);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_f_5_yaml_4Mark_get_snippet(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_5_yaml_4Mark_get_snippet(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_r;
+  static char *__pyx_argnames[] = {0};
+  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
+  Py_INCREF(__pyx_v_self);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":77 */
+  Py_INCREF(Py_None);
+  __pyx_r = Py_None;
+  goto __pyx_L0;
+
+  __pyx_r = Py_None; Py_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1:;
+  __Pyx_AddTraceback("_yaml.Mark.get_snippet");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_self);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_k12p;
+
+static char (__pyx_k12[]) = "  in \"%s\", line %d, column %d";
+
+static PyObject *__pyx_f_5_yaml_4Mark___str__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_f_5_yaml_4Mark___str__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_v_where;
+  PyObject *__pyx_r;
+  PyObject *__pyx_1 = 0;
+  PyObject *__pyx_2 = 0;
+  PyObject *__pyx_3 = 0;
+  Py_INCREF(__pyx_v_self);
+  __pyx_v_where = Py_None; Py_INCREF(Py_None);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":81 */
+  __pyx_1 = PyInt_FromLong((((struct __pyx_obj_5_yaml_Mark *)__pyx_v_self)->line + 1)); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; goto __pyx_L1;}
+  __pyx_2 = PyInt_FromLong((((struct __pyx_obj_5_yaml_Mark *)__pyx_v_self)->column + 1)); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; goto __pyx_L1;}
+  __pyx_3 = PyTuple_New(3); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; goto __pyx_L1;}
+  Py_INCREF(((struct __pyx_obj_5_yaml_Mark *)__pyx_v_self)->name);
+  PyTuple_SET_ITEM(__pyx_3, 0, ((struct __pyx_obj_5_yaml_Mark *)__pyx_v_self)->name);
+  PyTuple_SET_ITEM(__pyx_3, 1, __pyx_1);
+  PyTuple_SET_ITEM(__pyx_3, 2, __pyx_2);
+  __pyx_1 = 0;
+  __pyx_2 = 0;
+  __pyx_1 = PyNumber_Remainder(__pyx_k12p, __pyx_3); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; goto __pyx_L1;}
+  Py_DECREF(__pyx_3); __pyx_3 = 0;
+  Py_DECREF(__pyx_v_where);
+  __pyx_v_where = __pyx_1;
+  __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":82 */
+  Py_INCREF(__pyx_v_where);
+  __pyx_r = __pyx_v_where;
+  goto __pyx_L0;
+
+  __pyx_r = Py_None; Py_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_1);
+  Py_XDECREF(__pyx_2);
+  Py_XDECREF(__pyx_3);
+  __Pyx_AddTraceback("_yaml.Mark.__str__");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_where);
+  Py_DECREF(__pyx_v_self);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_n_MemoryError;
+static PyObject *__pyx_n_hasattr;
+static PyObject *__pyx_n_read;
+static PyObject *__pyx_n_name;
+static PyObject *__pyx_n_AttributeError;
+static PyObject *__pyx_n_TypeError;
+
+static PyObject *__pyx_k14p;
+static PyObject *__pyx_k15p;
+static PyObject *__pyx_k16p;
+static PyObject *__pyx_k17p;
+
+static char (__pyx_k14[]) = "<file>";
+static char (__pyx_k15[]) = "<unicode string>";
+static char (__pyx_k16[]) = "<string>";
+static char (__pyx_k17[]) = "a string or stream input is required";
+
+static int __pyx_f_5_yaml_7CParser___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_5_yaml_7CParser___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_stream = 0;
+  int __pyx_r;
+  int __pyx_1;
+  PyObject *__pyx_2 = 0;
+  PyObject *__pyx_3 = 0;
+  PyObject *__pyx_4 = 0;
+  static char *__pyx_argnames[] = {"stream",0};
+  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_stream)) return -1;
+  Py_INCREF(__pyx_v_self);
+  Py_INCREF(__pyx_v_stream);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":254 */
+  __pyx_1 = (yaml_parser_initialize((&((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->parser)) == 0);
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":255 */
+    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_MemoryError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; goto __pyx_L1;}
+    __Pyx_Raise(__pyx_2, 0, 0);
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; goto __pyx_L1;}
+    goto __pyx_L2;
+  }
+  __pyx_L2:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":256 */
+  ((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->parsed_event.type = YAML_NO_EVENT;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":257 */
+  __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_hasattr); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; goto __pyx_L1;}
+  __pyx_3 = PyTuple_New(2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; goto __pyx_L1;}
+  Py_INCREF(__pyx_v_stream);
+  PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_stream);
+  Py_INCREF(__pyx_n_read);
+  PyTuple_SET_ITEM(__pyx_3, 1, __pyx_n_read);
+  __pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  Py_DECREF(__pyx_3); __pyx_3 = 0;
+  __pyx_1 = PyObject_IsTrue(__pyx_4); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; goto __pyx_L1;}
+  Py_DECREF(__pyx_4); __pyx_4 = 0;
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":258 */
+    Py_INCREF(__pyx_v_stream);
+    Py_DECREF(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->stream);
+    ((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->stream = __pyx_v_stream;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":259 */
+    /*try:*/ {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":260 */
+      __pyx_2 = PyObject_GetAttr(__pyx_v_stream, __pyx_n_name); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; goto __pyx_L4;}
+      Py_DECREF(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->stream_name);
+      ((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->stream_name = __pyx_2;
+      __pyx_2 = 0;
+    }
+    goto __pyx_L5;
+    __pyx_L4:;
+    Py_XDECREF(__pyx_3); __pyx_3 = 0;
+    Py_XDECREF(__pyx_4); __pyx_4 = 0;
+    Py_XDECREF(__pyx_2); __pyx_2 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":261 */
+    __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_AttributeError); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; goto __pyx_L1;}
+    __pyx_1 = PyErr_ExceptionMatches(__pyx_3);
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    if (__pyx_1) {
+      __Pyx_AddTraceback("_yaml.__init__");
+      __pyx_4 = __Pyx_GetExcValue(); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; goto __pyx_L1;}
+      Py_DECREF(__pyx_4); __pyx_4 = 0;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":262 */
+      Py_INCREF(__pyx_k14p);
+      Py_DECREF(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->stream_name);
+      ((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->stream_name = __pyx_k14p;
+      goto __pyx_L5;
+    }
+    goto __pyx_L1;
+    __pyx_L5:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":263 */
+    yaml_parser_set_input((&((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->parser),__pyx_f_5_yaml_input_handler,((void (*))__pyx_v_self));
+    goto __pyx_L3;
+  }
+  /*else*/ {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":265 */
+    __pyx_1 = (PyUnicode_CheckExact(__pyx_v_stream) != 0);
+    if (__pyx_1) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":266 */
+      __pyx_2 = PyUnicode_AsUTF8String(__pyx_v_stream); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_stream);
+      __pyx_v_stream = __pyx_2;
+      __pyx_2 = 0;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":267 */
+      Py_INCREF(__pyx_k15p);
+      Py_DECREF(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->stream_name);
+      ((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->stream_name = __pyx_k15p;
+      goto __pyx_L6;
+    }
+    /*else*/ {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":269 */
+      Py_INCREF(__pyx_k16p);
+      Py_DECREF(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->stream_name);
+      ((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->stream_name = __pyx_k16p;
+    }
+    __pyx_L6:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":270 */
+    __pyx_1 = (PyString_CheckExact(__pyx_v_stream) == 0);
+    if (__pyx_1) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":271 */
+      __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_TypeError); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; goto __pyx_L1;}
+      __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; goto __pyx_L1;}
+      Py_INCREF(__pyx_k17p);
+      PyTuple_SET_ITEM(__pyx_4, 0, __pyx_k17p);
+      __pyx_2 = PyObject_CallObject(__pyx_3, __pyx_4); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; goto __pyx_L1;}
+      Py_DECREF(__pyx_3); __pyx_3 = 0;
+      Py_DECREF(__pyx_4); __pyx_4 = 0;
+      __Pyx_Raise(__pyx_2, 0, 0);
+      Py_DECREF(__pyx_2); __pyx_2 = 0;
+      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; goto __pyx_L1;}
+      goto __pyx_L7;
+    }
+    __pyx_L7:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":272 */
+    Py_INCREF(__pyx_v_stream);
+    Py_DECREF(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->stream);
+    ((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->stream = __pyx_v_stream;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":273 */
+    yaml_parser_set_input_string((&((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->parser),PyString_AS_STRING(__pyx_v_stream),PyString_GET_SIZE(__pyx_v_stream));
+  }
+  __pyx_L3:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":274 */
+  Py_INCREF(Py_None);
+  Py_DECREF(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_token);
+  ((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_token = Py_None;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":275 */
+  Py_INCREF(Py_None);
+  Py_DECREF(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_event);
+  ((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_event = Py_None;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":276 */
+  __pyx_3 = PyDict_New(); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; goto __pyx_L1;}
+  Py_DECREF(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->anchors);
+  ((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->anchors = __pyx_3;
+  __pyx_3 = 0;
+
+  __pyx_r = 0;
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_2);
+  Py_XDECREF(__pyx_3);
+  Py_XDECREF(__pyx_4);
+  __Pyx_AddTraceback("_yaml.CParser.__init__");
+  __pyx_r = -1;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_self);
+  Py_DECREF(__pyx_v_stream);
+  return __pyx_r;
+}
+
+static void __pyx_f_5_yaml_7CParser___dealloc__(PyObject *__pyx_v_self); /*proto*/
+static void __pyx_f_5_yaml_7CParser___dealloc__(PyObject *__pyx_v_self) {
+  Py_INCREF(__pyx_v_self);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":279 */
+  yaml_parser_delete((&((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->parser));
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":280 */
+  yaml_event_delete((&((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->parsed_event));
+
+  goto __pyx_L0;
+  __pyx_L1:;
+  __Pyx_AddTraceback("_yaml.CParser.__dealloc__");
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_self);
+}
+
+static PyObject *__pyx_n_ValueError;
+
+static PyObject *__pyx_k18p;
+static PyObject *__pyx_k19p;
+
+static char (__pyx_k18[]) = "?";
+static char (__pyx_k19[]) = "no parser error";
+
+static PyObject *__pyx_f_5_yaml_7CParser__parser_error(struct __pyx_obj_5_yaml_CParser *__pyx_v_self) {
+  PyObject *__pyx_v_context_mark;
+  PyObject *__pyx_v_problem_mark;
+  PyObject *__pyx_r;
+  int __pyx_1;
+  PyObject *__pyx_2 = 0;
+  PyObject *__pyx_3 = 0;
+  PyObject *__pyx_4 = 0;
+  PyObject *__pyx_5 = 0;
+  PyObject *__pyx_6 = 0;
+  Py_INCREF(__pyx_v_self);
+  __pyx_v_context_mark = Py_None; Py_INCREF(Py_None);
+  __pyx_v_problem_mark = Py_None; Py_INCREF(Py_None);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":283 */
+  __pyx_1 = (__pyx_v_self->parser.error == YAML_MEMORY_ERROR);
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":284 */
+    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_MemoryError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; goto __pyx_L1;}
+    __Pyx_Raise(__pyx_2, 0, 0);
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; goto __pyx_L1;}
+    goto __pyx_L2;
+  }
+  __pyx_1 = (__pyx_v_self->parser.error == YAML_READER_ERROR);
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":286 */
+    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_ReaderError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; goto __pyx_L1;}
+    __pyx_3 = PyInt_FromLong(__pyx_v_self->parser.problem_offset); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; goto __pyx_L1;}
+    __pyx_4 = PyInt_FromLong(__pyx_v_self->parser.problem_value); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; goto __pyx_L1;}
+    __pyx_5 = PyString_FromString(__pyx_v_self->parser.problem); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; goto __pyx_L1;}
+    __pyx_6 = PyTuple_New(5); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_self->stream_name);
+    PyTuple_SET_ITEM(__pyx_6, 0, __pyx_v_self->stream_name);
+    PyTuple_SET_ITEM(__pyx_6, 1, __pyx_3);
+    PyTuple_SET_ITEM(__pyx_6, 2, __pyx_4);
+    Py_INCREF(__pyx_k18p);
+    PyTuple_SET_ITEM(__pyx_6, 3, __pyx_k18p);
+    PyTuple_SET_ITEM(__pyx_6, 4, __pyx_5);
+    __pyx_3 = 0;
+    __pyx_4 = 0;
+    __pyx_5 = 0;
+    __pyx_3 = PyObject_CallObject(__pyx_2, __pyx_6); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; goto __pyx_L1;}
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    Py_DECREF(__pyx_6); __pyx_6 = 0;
+    __Pyx_Raise(__pyx_3, 0, 0);
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; goto __pyx_L1;}
+    goto __pyx_L2;
+  }
+  __pyx_1 = (__pyx_v_self->parser.error == YAML_SCANNER_ERROR);
+  if (!__pyx_1) {
+    __pyx_1 = (__pyx_v_self->parser.error == YAML_PARSER_ERROR);
+  }
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":290 */
+    Py_INCREF(Py_None);
+    Py_DECREF(__pyx_v_context_mark);
+    __pyx_v_context_mark = Py_None;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":291 */
+    Py_INCREF(Py_None);
+    Py_DECREF(__pyx_v_problem_mark);
+    __pyx_v_problem_mark = Py_None;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":292 */
+    __pyx_1 = (__pyx_v_self->parser.context != 0);
+    if (__pyx_1) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":293 */
+      __pyx_4 = PyInt_FromLong(__pyx_v_self->parser.context_mark.index); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; goto __pyx_L1;}
+      __pyx_5 = PyInt_FromLong(__pyx_v_self->parser.context_mark.line); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; goto __pyx_L1;}
+      __pyx_2 = PyInt_FromLong(__pyx_v_self->parser.context_mark.column); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; goto __pyx_L1;}
+      __pyx_6 = PyTuple_New(6); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; goto __pyx_L1;}
+      Py_INCREF(__pyx_v_self->stream_name);
+      PyTuple_SET_ITEM(__pyx_6, 0, __pyx_v_self->stream_name);
+      PyTuple_SET_ITEM(__pyx_6, 1, __pyx_4);
+      PyTuple_SET_ITEM(__pyx_6, 2, __pyx_5);
+      PyTuple_SET_ITEM(__pyx_6, 3, __pyx_2);
+      Py_INCREF(Py_None);
+      PyTuple_SET_ITEM(__pyx_6, 4, Py_None);
+      Py_INCREF(Py_None);
+      PyTuple_SET_ITEM(__pyx_6, 5, Py_None);
+      __pyx_4 = 0;
+      __pyx_5 = 0;
+      __pyx_2 = 0;
+      __pyx_3 = PyObject_CallObject(((PyObject*)__pyx_ptype_5_yaml_Mark), __pyx_6); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; goto __pyx_L1;}
+      Py_DECREF(__pyx_6); __pyx_6 = 0;
+      Py_DECREF(__pyx_v_context_mark);
+      __pyx_v_context_mark = __pyx_3;
+      __pyx_3 = 0;
+      goto __pyx_L3;
+    }
+    __pyx_L3:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":297 */
+    __pyx_1 = (__pyx_v_self->parser.problem != 0);
+    if (__pyx_1) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":298 */
+      __pyx_4 = PyInt_FromLong(__pyx_v_self->parser.problem_mark.index); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; goto __pyx_L1;}
+      __pyx_5 = PyInt_FromLong(__pyx_v_self->parser.problem_mark.line); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; goto __pyx_L1;}
+      __pyx_2 = PyInt_FromLong(__pyx_v_self->parser.problem_mark.column); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; goto __pyx_L1;}
+      __pyx_6 = PyTuple_New(6); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 298; goto __pyx_L1;}
+      Py_INCREF(__pyx_v_self->stream_name);
+      PyTuple_SET_ITEM(__pyx_6, 0, __pyx_v_self->stream_name);
+      PyTuple_SET_ITEM(__pyx_6, 1, __pyx_4);
+      PyTuple_SET_ITEM(__pyx_6, 2, __pyx_5);
+      PyTuple_SET_ITEM(__pyx_6, 3, __pyx_2);
+      Py_INCREF(Py_None);
+      PyTuple_SET_ITEM(__pyx_6, 4, Py_None);
+      Py_INCREF(Py_None);
+      PyTuple_SET_ITEM(__pyx_6, 5, Py_None);
+      __pyx_4 = 0;
+      __pyx_5 = 0;
+      __pyx_2 = 0;
+      __pyx_3 = PyObject_CallObject(((PyObject*)__pyx_ptype_5_yaml_Mark), __pyx_6); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 298; goto __pyx_L1;}
+      Py_DECREF(__pyx_6); __pyx_6 = 0;
+      Py_DECREF(__pyx_v_problem_mark);
+      __pyx_v_problem_mark = __pyx_3;
+      __pyx_3 = 0;
+      goto __pyx_L4;
+    }
+    __pyx_L4:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":302 */
+    __pyx_1 = (__pyx_v_self->parser.error == YAML_SCANNER_ERROR);
+    if (__pyx_1) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":303 */
+      __pyx_1 = (__pyx_v_self->parser.context != 0);
+      if (__pyx_1) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":304 */
+        __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n_ScannerError); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; goto __pyx_L1;}
+        __pyx_5 = PyString_FromString(__pyx_v_self->parser.context); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; goto __pyx_L1;}
+        __pyx_2 = PyString_FromString(__pyx_v_self->parser.problem); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; goto __pyx_L1;}
+        __pyx_6 = PyTuple_New(4); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; goto __pyx_L1;}
+        PyTuple_SET_ITEM(__pyx_6, 0, __pyx_5);
+        Py_INCREF(__pyx_v_context_mark);
+        PyTuple_SET_ITEM(__pyx_6, 1, __pyx_v_context_mark);
+        PyTuple_SET_ITEM(__pyx_6, 2, __pyx_2);
+        Py_INCREF(__pyx_v_problem_mark);
+        PyTuple_SET_ITEM(__pyx_6, 3, __pyx_v_problem_mark);
+        __pyx_5 = 0;
+        __pyx_2 = 0;
+        __pyx_3 = PyObject_CallObject(__pyx_4, __pyx_6); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; goto __pyx_L1;}
+        Py_DECREF(__pyx_4); __pyx_4 = 0;
+        Py_DECREF(__pyx_6); __pyx_6 = 0;
+        __pyx_r = __pyx_3;
+        __pyx_3 = 0;
+        goto __pyx_L0;
+        goto __pyx_L6;
+      }
+      /*else*/ {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":307 */
+        __pyx_5 = __Pyx_GetName(__pyx_m, __pyx_n_ScannerError); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; goto __pyx_L1;}
+        __pyx_2 = PyString_FromString(__pyx_v_self->parser.problem); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; goto __pyx_L1;}
+        __pyx_4 = PyTuple_New(4); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; goto __pyx_L1;}
+        Py_INCREF(Py_None);
+        PyTuple_SET_ITEM(__pyx_4, 0, Py_None);
+        Py_INCREF(Py_None);
+        PyTuple_SET_ITEM(__pyx_4, 1, Py_None);
+        PyTuple_SET_ITEM(__pyx_4, 2, __pyx_2);
+        Py_INCREF(__pyx_v_problem_mark);
+        PyTuple_SET_ITEM(__pyx_4, 3, __pyx_v_problem_mark);
+        __pyx_2 = 0;
+        __pyx_6 = PyObject_CallObject(__pyx_5, __pyx_4); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; goto __pyx_L1;}
+        Py_DECREF(__pyx_5); __pyx_5 = 0;
+        Py_DECREF(__pyx_4); __pyx_4 = 0;
+        __pyx_r = __pyx_6;
+        __pyx_6 = 0;
+        goto __pyx_L0;
+      }
+      __pyx_L6:;
+      goto __pyx_L5;
+    }
+    /*else*/ {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":310 */
+      __pyx_1 = (__pyx_v_self->parser.context != 0);
+      if (__pyx_1) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":311 */
+        __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_ParserError); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; goto __pyx_L1;}
+        __pyx_2 = PyString_FromString(__pyx_v_self->parser.context); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; goto __pyx_L1;}
+        __pyx_5 = PyString_FromString(__pyx_v_self->parser.problem); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; goto __pyx_L1;}
+        __pyx_4 = PyTuple_New(4); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; goto __pyx_L1;}
+        PyTuple_SET_ITEM(__pyx_4, 0, __pyx_2);
+        Py_INCREF(__pyx_v_context_mark);
+        PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_context_mark);
+        PyTuple_SET_ITEM(__pyx_4, 2, __pyx_5);
+        Py_INCREF(__pyx_v_problem_mark);
+        PyTuple_SET_ITEM(__pyx_4, 3, __pyx_v_problem_mark);
+        __pyx_2 = 0;
+        __pyx_5 = 0;
+        __pyx_6 = PyObject_CallObject(__pyx_3, __pyx_4); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; goto __pyx_L1;}
+        Py_DECREF(__pyx_3); __pyx_3 = 0;
+        Py_DECREF(__pyx_4); __pyx_4 = 0;
+        __pyx_r = __pyx_6;
+        __pyx_6 = 0;
+        goto __pyx_L0;
+        goto __pyx_L7;
+      }
+      /*else*/ {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":314 */
+        __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_ParserError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; goto __pyx_L1;}
+        __pyx_5 = PyString_FromString(__pyx_v_self->parser.problem); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; goto __pyx_L1;}
+        __pyx_3 = PyTuple_New(4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; goto __pyx_L1;}
+        Py_INCREF(Py_None);
+        PyTuple_SET_ITEM(__pyx_3, 0, Py_None);
+        Py_INCREF(Py_None);
+        PyTuple_SET_ITEM(__pyx_3, 1, Py_None);
+        PyTuple_SET_ITEM(__pyx_3, 2, __pyx_5);
+        Py_INCREF(__pyx_v_problem_mark);
+        PyTuple_SET_ITEM(__pyx_3, 3, __pyx_v_problem_mark);
+        __pyx_5 = 0;
+        __pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; goto __pyx_L1;}
+        Py_DECREF(__pyx_2); __pyx_2 = 0;
+        Py_DECREF(__pyx_3); __pyx_3 = 0;
+        __pyx_r = __pyx_4;
+        __pyx_4 = 0;
+        goto __pyx_L0;
+      }
+      __pyx_L7:;
+    }
+    __pyx_L5:;
+    goto __pyx_L2;
+  }
+  __pyx_L2:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":316 */
+  __pyx_6 = __Pyx_GetName(__pyx_b, __pyx_n_ValueError); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; goto __pyx_L1;}
+  __pyx_5 = PyTuple_New(1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; goto __pyx_L1;}
+  Py_INCREF(__pyx_k19p);
+  PyTuple_SET_ITEM(__pyx_5, 0, __pyx_k19p);
+  __pyx_2 = PyObject_CallObject(__pyx_6, __pyx_5); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; goto __pyx_L1;}
+  Py_DECREF(__pyx_6); __pyx_6 = 0;
+  Py_DECREF(__pyx_5); __pyx_5 = 0;
+  __Pyx_Raise(__pyx_2, 0, 0);
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; goto __pyx_L1;}
+
+  __pyx_r = Py_None; Py_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_2);
+  Py_XDECREF(__pyx_3);
+  Py_XDECREF(__pyx_4);
+  Py_XDECREF(__pyx_5);
+  Py_XDECREF(__pyx_6);
+  __Pyx_AddTraceback("_yaml.CParser._parser_error");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_context_mark);
+  Py_DECREF(__pyx_v_problem_mark);
+  Py_DECREF(__pyx_v_self);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_f_5_yaml_7CParser_raw_scan(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_5_yaml_7CParser_raw_scan(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  yaml_token_t __pyx_v_token;
+  int __pyx_v_done;
+  int __pyx_v_count;
+  PyObject *__pyx_v_error;
+  PyObject *__pyx_r;
+  int __pyx_1;
+  int __pyx_2;
+  PyObject *__pyx_3 = 0;
+  static char *__pyx_argnames[] = {0};
+  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
+  Py_INCREF(__pyx_v_self);
+  __pyx_v_error = Py_None; Py_INCREF(Py_None);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":322 */
+  __pyx_v_count = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":323 */
+  __pyx_v_done = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":324 */
+  while (1) {
+    __pyx_L2:;
+    __pyx_1 = (__pyx_v_done == 0);
+    if (!__pyx_1) break;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":325 */
+    __pyx_1 = yaml_parser_scan((&((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->parser),(&__pyx_v_token)); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; goto __pyx_L1;}
+    __pyx_2 = (__pyx_1 == 0);
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":326 */
+      __pyx_3 = ((struct __pyx_vtabstruct_5_yaml_CParser *)((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->__pyx_vtab)->_parser_error(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_error);
+      __pyx_v_error = __pyx_3;
+      __pyx_3 = 0;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":327 */
+      __Pyx_Raise(__pyx_v_error, 0, 0);
+      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; goto __pyx_L1;}
+      goto __pyx_L4;
+    }
+    __pyx_L4:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":328 */
+    __pyx_1 = (__pyx_v_token.type == YAML_NO_TOKEN);
+    if (__pyx_1) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":329 */
+      __pyx_v_done = 1;
+      goto __pyx_L5;
+    }
+    /*else*/ {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":331 */
+      __pyx_v_count = (__pyx_v_count + 1);
+    }
+    __pyx_L5:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":332 */
+    yaml_token_delete((&__pyx_v_token));
+  }
+  __pyx_L3:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":333 */
+  __pyx_3 = PyInt_FromLong(__pyx_v_count); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; goto __pyx_L1;}
+  __pyx_r = __pyx_3;
+  __pyx_3 = 0;
+  goto __pyx_L0;
+
+  __pyx_r = Py_None; Py_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_3);
+  __Pyx_AddTraceback("_yaml.CParser.raw_scan");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_error);
+  Py_DECREF(__pyx_v_self);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_f_5_yaml_7CParser__scan(struct __pyx_obj_5_yaml_CParser *__pyx_v_self) {
+  yaml_token_t __pyx_v_token;
+  PyObject *__pyx_v_error;
+  PyObject *__pyx_v_token_object;
+  PyObject *__pyx_r;
+  int __pyx_1;
+  int __pyx_2;
+  PyObject *__pyx_3 = 0;
+  Py_INCREF(__pyx_v_self);
+  __pyx_v_error = Py_None; Py_INCREF(Py_None);
+  __pyx_v_token_object = Py_None; Py_INCREF(Py_None);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":337 */
+  __pyx_1 = yaml_parser_scan((&__pyx_v_self->parser),(&__pyx_v_token)); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; goto __pyx_L1;}
+  __pyx_2 = (__pyx_1 == 0);
+  if (__pyx_2) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":338 */
+    __pyx_3 = ((struct __pyx_vtabstruct_5_yaml_CParser *)__pyx_v_self->__pyx_vtab)->_parser_error(__pyx_v_self); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_error);
+    __pyx_v_error = __pyx_3;
+    __pyx_3 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":339 */
+    __Pyx_Raise(__pyx_v_error, 0, 0);
+    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; goto __pyx_L1;}
+    goto __pyx_L2;
+  }
+  __pyx_L2:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":340 */
+  __pyx_3 = ((struct __pyx_vtabstruct_5_yaml_CParser *)__pyx_v_self->__pyx_vtab)->_token_to_object(__pyx_v_self,(&__pyx_v_token)); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; goto __pyx_L1;}
+  Py_DECREF(__pyx_v_token_object);
+  __pyx_v_token_object = __pyx_3;
+  __pyx_3 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":341 */
+  yaml_token_delete((&__pyx_v_token));
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":342 */
+  Py_INCREF(__pyx_v_token_object);
+  __pyx_r = __pyx_v_token_object;
+  goto __pyx_L0;
+
+  __pyx_r = Py_None; Py_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_3);
+  __Pyx_AddTraceback("_yaml.CParser._scan");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_error);
+  Py_DECREF(__pyx_v_token_object);
+  Py_DECREF(__pyx_v_self);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_n_YAML;
+static PyObject *__pyx_n_TAG;
+static PyObject *__pyx_n_False;
+static PyObject *__pyx_n_True;
+
+static PyObject *__pyx_k20p;
+static PyObject *__pyx_k21p;
+static PyObject *__pyx_k22p;
+static PyObject *__pyx_k30p;
+static PyObject *__pyx_k31p;
+static PyObject *__pyx_k32p;
+static PyObject *__pyx_k33p;
+static PyObject *__pyx_k34p;
+static PyObject *__pyx_k35p;
+
+static char (__pyx_k20[]) = "utf-8";
+static char (__pyx_k21[]) = "utf-16-le";
+static char (__pyx_k22[]) = "utf-16-be";
+static char (__pyx_k25[]) = "strict";
+static char (__pyx_k26[]) = "strict";
+static char (__pyx_k27[]) = "strict";
+static char (__pyx_k28[]) = "strict";
+static char (__pyx_k29[]) = "strict";
+static char (__pyx_k30[]) = "";
+static char (__pyx_k31[]) = "\'";
+static char (__pyx_k32[]) = "\"";
+static char (__pyx_k33[]) = "|";
+static char (__pyx_k34[]) = ">";
+static char (__pyx_k35[]) = "unknown token type";
+
+static PyObject *__pyx_f_5_yaml_7CParser__token_to_object(struct __pyx_obj_5_yaml_CParser *__pyx_v_self,yaml_token_t (*__pyx_v_token)) {
+  PyObject *__pyx_v_start_mark;
+  PyObject *__pyx_v_end_mark;
+  PyObject *__pyx_v_encoding;
+  PyObject *__pyx_v_value;
+  PyObject *__pyx_v_handle;
+  PyObject *__pyx_v_suffix;
+  PyObject *__pyx_v_plain;
+  PyObject *__pyx_v_style;
+  PyObject *__pyx_r;
+  PyObject *__pyx_1 = 0;
+  PyObject *__pyx_2 = 0;
+  PyObject *__pyx_3 = 0;
+  PyObject *__pyx_4 = 0;
+  int __pyx_5;
+  int __pyx_6;
+  Py_INCREF(__pyx_v_self);
+  __pyx_v_start_mark = Py_None; Py_INCREF(Py_None);
+  __pyx_v_end_mark = Py_None; Py_INCREF(Py_None);
+  __pyx_v_encoding = Py_None; Py_INCREF(Py_None);
+  __pyx_v_value = Py_None; Py_INCREF(Py_None);
+  __pyx_v_handle = Py_None; Py_INCREF(Py_None);
+  __pyx_v_suffix = Py_None; Py_INCREF(Py_None);
+  __pyx_v_plain = Py_None; Py_INCREF(Py_None);
+  __pyx_v_style = Py_None; Py_INCREF(Py_None);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":345 */
+  __pyx_1 = PyInt_FromLong(__pyx_v_token->start_mark.index); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; goto __pyx_L1;}
+  __pyx_2 = PyInt_FromLong(__pyx_v_token->start_mark.line); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; goto __pyx_L1;}
+  __pyx_3 = PyInt_FromLong(__pyx_v_token->start_mark.column); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; goto __pyx_L1;}
+  __pyx_4 = PyTuple_New(6); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; goto __pyx_L1;}
+  Py_INCREF(__pyx_v_self->stream_name);
+  PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_self->stream_name);
+  PyTuple_SET_ITEM(__pyx_4, 1, __pyx_1);
+  PyTuple_SET_ITEM(__pyx_4, 2, __pyx_2);
+  PyTuple_SET_ITEM(__pyx_4, 3, __pyx_3);
+  Py_INCREF(Py_None);
+  PyTuple_SET_ITEM(__pyx_4, 4, Py_None);
+  Py_INCREF(Py_None);
+  PyTuple_SET_ITEM(__pyx_4, 5, Py_None);
+  __pyx_1 = 0;
+  __pyx_2 = 0;
+  __pyx_3 = 0;
+  __pyx_1 = PyObject_CallObject(((PyObject*)__pyx_ptype_5_yaml_Mark), __pyx_4); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; goto __pyx_L1;}
+  Py_DECREF(__pyx_4); __pyx_4 = 0;
+  Py_DECREF(__pyx_v_start_mark);
+  __pyx_v_start_mark = __pyx_1;
+  __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":350 */
+  __pyx_2 = PyInt_FromLong(__pyx_v_token->end_mark.index); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; goto __pyx_L1;}
+  __pyx_3 = PyInt_FromLong(__pyx_v_token->end_mark.line); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; goto __pyx_L1;}
+  __pyx_4 = PyInt_FromLong(__pyx_v_token->end_mark.column); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; goto __pyx_L1;}
+  __pyx_1 = PyTuple_New(6); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; goto __pyx_L1;}
+  Py_INCREF(__pyx_v_self->stream_name);
+  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_self->stream_name);
+  PyTuple_SET_ITEM(__pyx_1, 1, __pyx_2);
+  PyTuple_SET_ITEM(__pyx_1, 2, __pyx_3);
+  PyTuple_SET_ITEM(__pyx_1, 3, __pyx_4);
+  Py_INCREF(Py_None);
+  PyTuple_SET_ITEM(__pyx_1, 4, Py_None);
+  Py_INCREF(Py_None);
+  PyTuple_SET_ITEM(__pyx_1, 5, Py_None);
+  __pyx_2 = 0;
+  __pyx_3 = 0;
+  __pyx_4 = 0;
+  __pyx_2 = PyObject_CallObject(((PyObject*)__pyx_ptype_5_yaml_Mark), __pyx_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  Py_DECREF(__pyx_v_end_mark);
+  __pyx_v_end_mark = __pyx_2;
+  __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":355 */
+  __pyx_5 = (__pyx_v_token->type == YAML_NO_TOKEN);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":356 */
+    Py_INCREF(Py_None);
+    __pyx_r = Py_None;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_token->type == YAML_STREAM_START_TOKEN);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":358 */
+    Py_INCREF(Py_None);
+    Py_DECREF(__pyx_v_encoding);
+    __pyx_v_encoding = Py_None;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":359 */
+    __pyx_5 = (__pyx_v_token->data.stream_start.encoding == YAML_UTF8_ENCODING);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":360 */
+      Py_INCREF(__pyx_k20p);
+      Py_DECREF(__pyx_v_encoding);
+      __pyx_v_encoding = __pyx_k20p;
+      goto __pyx_L3;
+    }
+    __pyx_5 = (__pyx_v_token->data.stream_start.encoding == YAML_UTF16LE_ENCODING);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":362 */
+      Py_INCREF(__pyx_k21p);
+      Py_DECREF(__pyx_v_encoding);
+      __pyx_v_encoding = __pyx_k21p;
+      goto __pyx_L3;
+    }
+    __pyx_5 = (__pyx_v_token->data.stream_start.encoding == YAML_UTF16BE_ENCODING);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":364 */
+      Py_INCREF(__pyx_k22p);
+      Py_DECREF(__pyx_v_encoding);
+      __pyx_v_encoding = __pyx_k22p;
+      goto __pyx_L3;
+    }
+    __pyx_L3:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":365 */
+    __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_StreamStartToken); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; goto __pyx_L1;}
+    __pyx_4 = PyTuple_New(3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_end_mark);
+    Py_INCREF(__pyx_v_encoding);
+    PyTuple_SET_ITEM(__pyx_4, 2, __pyx_v_encoding);
+    __pyx_1 = PyObject_CallObject(__pyx_3, __pyx_4); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; goto __pyx_L1;}
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    __pyx_r = __pyx_1;
+    __pyx_1 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_token->type == YAML_STREAM_END_TOKEN);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":367 */
+    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_StreamEndToken); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; goto __pyx_L1;}
+    __pyx_3 = PyTuple_New(2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_end_mark);
+    __pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; goto __pyx_L1;}
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    __pyx_r = __pyx_4;
+    __pyx_4 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_token->type == YAML_VERSION_DIRECTIVE_TOKEN);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":369 */
+    __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_DirectiveToken); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; goto __pyx_L1;}
+    __pyx_2 = PyInt_FromLong(__pyx_v_token->data.version_directive.major); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; goto __pyx_L1;}
+    __pyx_3 = PyInt_FromLong(__pyx_v_token->data.version_directive.minor); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; goto __pyx_L1;}
+    __pyx_4 = PyTuple_New(2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; goto __pyx_L1;}
+    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_2);
+    PyTuple_SET_ITEM(__pyx_4, 1, __pyx_3);
+    __pyx_2 = 0;
+    __pyx_3 = 0;
+    __pyx_2 = PyTuple_New(4); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; goto __pyx_L1;}
+    Py_INCREF(__pyx_n_YAML);
+    PyTuple_SET_ITEM(__pyx_2, 0, __pyx_n_YAML);
+    PyTuple_SET_ITEM(__pyx_2, 1, __pyx_4);
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_2, 2, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_2, 3, __pyx_v_end_mark);
+    __pyx_4 = 0;
+    __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; goto __pyx_L1;}
+    Py_DECREF(__pyx_1); __pyx_1 = 0;
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    __pyx_r = __pyx_3;
+    __pyx_3 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_token->type == YAML_TAG_DIRECTIVE_TOKEN);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":374 */
+    __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n_DirectiveToken); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; goto __pyx_L1;}
+    __pyx_1 = PyString_FromString(__pyx_v_token->data.tag_directive.handle); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; goto __pyx_L1;}
+    __pyx_2 = PyString_FromString(__pyx_v_token->data.tag_directive.prefix); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; goto __pyx_L1;}
+    __pyx_3 = PyTuple_New(2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; goto __pyx_L1;}
+    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_1);
+    PyTuple_SET_ITEM(__pyx_3, 1, __pyx_2);
+    __pyx_1 = 0;
+    __pyx_2 = 0;
+    __pyx_1 = PyTuple_New(4); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; goto __pyx_L1;}
+    Py_INCREF(__pyx_n_TAG);
+    PyTuple_SET_ITEM(__pyx_1, 0, __pyx_n_TAG);
+    PyTuple_SET_ITEM(__pyx_1, 1, __pyx_3);
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_1, 2, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_1, 3, __pyx_v_end_mark);
+    __pyx_3 = 0;
+    __pyx_2 = PyObject_CallObject(__pyx_4, __pyx_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; goto __pyx_L1;}
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    Py_DECREF(__pyx_1); __pyx_1 = 0;
+    __pyx_r = __pyx_2;
+    __pyx_2 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_token->type == YAML_DOCUMENT_START_TOKEN);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":379 */
+    __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_DocumentStartToken); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; goto __pyx_L1;}
+    __pyx_4 = PyTuple_New(2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_end_mark);
+    __pyx_1 = PyObject_CallObject(__pyx_3, __pyx_4); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; goto __pyx_L1;}
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    __pyx_r = __pyx_1;
+    __pyx_1 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_token->type == YAML_DOCUMENT_END_TOKEN);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":381 */
+    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_DocumentEndToken); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; goto __pyx_L1;}
+    __pyx_3 = PyTuple_New(2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_end_mark);
+    __pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; goto __pyx_L1;}
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    __pyx_r = __pyx_4;
+    __pyx_4 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_token->type == YAML_BLOCK_SEQUENCE_START_TOKEN);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":383 */
+    __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_BlockSequenceStartToken); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; goto __pyx_L1;}
+    __pyx_2 = PyTuple_New(2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_2, 1, __pyx_v_end_mark);
+    __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; goto __pyx_L1;}
+    Py_DECREF(__pyx_1); __pyx_1 = 0;
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    __pyx_r = __pyx_3;
+    __pyx_3 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_token->type == YAML_BLOCK_MAPPING_START_TOKEN);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":385 */
+    __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n_BlockMappingStartToken); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; goto __pyx_L1;}
+    __pyx_1 = PyTuple_New(2); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_1, 1, __pyx_v_end_mark);
+    __pyx_2 = PyObject_CallObject(__pyx_4, __pyx_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; goto __pyx_L1;}
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    Py_DECREF(__pyx_1); __pyx_1 = 0;
+    __pyx_r = __pyx_2;
+    __pyx_2 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_token->type == YAML_BLOCK_END_TOKEN);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":387 */
+    __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_BlockEndToken); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; goto __pyx_L1;}
+    __pyx_4 = PyTuple_New(2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_end_mark);
+    __pyx_1 = PyObject_CallObject(__pyx_3, __pyx_4); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; goto __pyx_L1;}
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    __pyx_r = __pyx_1;
+    __pyx_1 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_token->type == YAML_FLOW_SEQUENCE_START_TOKEN);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":389 */
+    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_FlowSequenceStartToken); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; goto __pyx_L1;}
+    __pyx_3 = PyTuple_New(2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_end_mark);
+    __pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; goto __pyx_L1;}
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    __pyx_r = __pyx_4;
+    __pyx_4 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_token->type == YAML_FLOW_SEQUENCE_END_TOKEN);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":391 */
+    __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_FlowSequenceEndToken); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; goto __pyx_L1;}
+    __pyx_2 = PyTuple_New(2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_2, 1, __pyx_v_end_mark);
+    __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; goto __pyx_L1;}
+    Py_DECREF(__pyx_1); __pyx_1 = 0;
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    __pyx_r = __pyx_3;
+    __pyx_3 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_token->type == YAML_FLOW_MAPPING_START_TOKEN);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":393 */
+    __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n_FlowMappingStartToken); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; goto __pyx_L1;}
+    __pyx_1 = PyTuple_New(2); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_1, 1, __pyx_v_end_mark);
+    __pyx_2 = PyObject_CallObject(__pyx_4, __pyx_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; goto __pyx_L1;}
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    Py_DECREF(__pyx_1); __pyx_1 = 0;
+    __pyx_r = __pyx_2;
+    __pyx_2 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_token->type == YAML_FLOW_MAPPING_END_TOKEN);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":395 */
+    __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_FlowMappingEndToken); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; goto __pyx_L1;}
+    __pyx_4 = PyTuple_New(2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_end_mark);
+    __pyx_1 = PyObject_CallObject(__pyx_3, __pyx_4); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; goto __pyx_L1;}
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    __pyx_r = __pyx_1;
+    __pyx_1 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_token->type == YAML_BLOCK_ENTRY_TOKEN);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":397 */
+    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_BlockEntryToken); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; goto __pyx_L1;}
+    __pyx_3 = PyTuple_New(2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_end_mark);
+    __pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; goto __pyx_L1;}
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    __pyx_r = __pyx_4;
+    __pyx_4 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_token->type == YAML_FLOW_ENTRY_TOKEN);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":399 */
+    __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_FlowEntryToken); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; goto __pyx_L1;}
+    __pyx_2 = PyTuple_New(2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_2, 1, __pyx_v_end_mark);
+    __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; goto __pyx_L1;}
+    Py_DECREF(__pyx_1); __pyx_1 = 0;
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    __pyx_r = __pyx_3;
+    __pyx_3 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_token->type == YAML_KEY_TOKEN);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":401 */
+    __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n_KeyToken); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; goto __pyx_L1;}
+    __pyx_1 = PyTuple_New(2); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_1, 1, __pyx_v_end_mark);
+    __pyx_2 = PyObject_CallObject(__pyx_4, __pyx_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; goto __pyx_L1;}
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    Py_DECREF(__pyx_1); __pyx_1 = 0;
+    __pyx_r = __pyx_2;
+    __pyx_2 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_token->type == YAML_VALUE_TOKEN);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":403 */
+    __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_ValueToken); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; goto __pyx_L1;}
+    __pyx_4 = PyTuple_New(2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_end_mark);
+    __pyx_1 = PyObject_CallObject(__pyx_3, __pyx_4); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; goto __pyx_L1;}
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    __pyx_r = __pyx_1;
+    __pyx_1 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_token->type == YAML_ALIAS_TOKEN);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":405 */
+    __pyx_2 = PyUnicode_DecodeUTF8(__pyx_v_token->data.alias.value,strlen(__pyx_v_token->data.alias.value),__pyx_k25); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_value);
+    __pyx_v_value = __pyx_2;
+    __pyx_2 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":407 */
+    __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_AliasToken); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; goto __pyx_L1;}
+    __pyx_4 = PyTuple_New(3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_value);
+    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_value);
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_4, 2, __pyx_v_end_mark);
+    __pyx_1 = PyObject_CallObject(__pyx_3, __pyx_4); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; goto __pyx_L1;}
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    __pyx_r = __pyx_1;
+    __pyx_1 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_token->type == YAML_ANCHOR_TOKEN);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":409 */
+    __pyx_2 = PyUnicode_DecodeUTF8(__pyx_v_token->data.anchor.value,strlen(__pyx_v_token->data.anchor.value),__pyx_k26); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_value);
+    __pyx_v_value = __pyx_2;
+    __pyx_2 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":411 */
+    __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_AnchorToken); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; goto __pyx_L1;}
+    __pyx_4 = PyTuple_New(3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_value);
+    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_value);
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_4, 2, __pyx_v_end_mark);
+    __pyx_1 = PyObject_CallObject(__pyx_3, __pyx_4); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; goto __pyx_L1;}
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    __pyx_r = __pyx_1;
+    __pyx_1 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_token->type == YAML_TAG_TOKEN);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":413 */
+    __pyx_2 = PyUnicode_DecodeUTF8(__pyx_v_token->data.tag.handle,strlen(__pyx_v_token->data.tag.handle),__pyx_k27); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_handle);
+    __pyx_v_handle = __pyx_2;
+    __pyx_2 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":415 */
+    __pyx_3 = PyUnicode_DecodeUTF8(__pyx_v_token->data.tag.suffix,strlen(__pyx_v_token->data.tag.suffix),__pyx_k28); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_suffix);
+    __pyx_v_suffix = __pyx_3;
+    __pyx_3 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":417 */
+    __pyx_5 = PyObject_IsTrue(__pyx_v_handle); if (__pyx_5 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; goto __pyx_L1;}
+    __pyx_6 = (!__pyx_5);
+    if (__pyx_6) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":418 */
+      Py_INCREF(Py_None);
+      Py_DECREF(__pyx_v_handle);
+      __pyx_v_handle = Py_None;
+      goto __pyx_L4;
+    }
+    __pyx_L4:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":419 */
+    __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n_TagToken); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; goto __pyx_L1;}
+    __pyx_1 = PyTuple_New(2); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_handle);
+    PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_handle);
+    Py_INCREF(__pyx_v_suffix);
+    PyTuple_SET_ITEM(__pyx_1, 1, __pyx_v_suffix);
+    __pyx_2 = PyTuple_New(3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; goto __pyx_L1;}
+    PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1);
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_2, 1, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_2, 2, __pyx_v_end_mark);
+    __pyx_1 = 0;
+    __pyx_3 = PyObject_CallObject(__pyx_4, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; goto __pyx_L1;}
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    __pyx_r = __pyx_3;
+    __pyx_3 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_token->type == YAML_SCALAR_TOKEN);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":421 */
+    __pyx_1 = PyUnicode_DecodeUTF8(__pyx_v_token->data.scalar.value,__pyx_v_token->data.scalar.length,__pyx_k29); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_value);
+    __pyx_v_value = __pyx_1;
+    __pyx_1 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":423 */
+    __pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_plain);
+    __pyx_v_plain = __pyx_4;
+    __pyx_4 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":424 */
+    Py_INCREF(Py_None);
+    Py_DECREF(__pyx_v_style);
+    __pyx_v_style = Py_None;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":425 */
+    __pyx_6 = (__pyx_v_token->data.scalar.style == YAML_PLAIN_SCALAR_STYLE);
+    if (__pyx_6) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":426 */
+      __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_True); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_plain);
+      __pyx_v_plain = __pyx_2;
+      __pyx_2 = 0;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":427 */
+      Py_INCREF(__pyx_k30p);
+      Py_DECREF(__pyx_v_style);
+      __pyx_v_style = __pyx_k30p;
+      goto __pyx_L5;
+    }
+    __pyx_5 = (__pyx_v_token->data.scalar.style == YAML_SINGLE_QUOTED_SCALAR_STYLE);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":429 */
+      Py_INCREF(__pyx_k31p);
+      Py_DECREF(__pyx_v_style);
+      __pyx_v_style = __pyx_k31p;
+      goto __pyx_L5;
+    }
+    __pyx_6 = (__pyx_v_token->data.scalar.style == YAML_DOUBLE_QUOTED_SCALAR_STYLE);
+    if (__pyx_6) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":431 */
+      Py_INCREF(__pyx_k32p);
+      Py_DECREF(__pyx_v_style);
+      __pyx_v_style = __pyx_k32p;
+      goto __pyx_L5;
+    }
+    __pyx_5 = (__pyx_v_token->data.scalar.style == YAML_LITERAL_SCALAR_STYLE);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":433 */
+      Py_INCREF(__pyx_k33p);
+      Py_DECREF(__pyx_v_style);
+      __pyx_v_style = __pyx_k33p;
+      goto __pyx_L5;
+    }
+    __pyx_6 = (__pyx_v_token->data.scalar.style == YAML_FOLDED_SCALAR_STYLE);
+    if (__pyx_6) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":435 */
+      Py_INCREF(__pyx_k34p);
+      Py_DECREF(__pyx_v_style);
+      __pyx_v_style = __pyx_k34p;
+      goto __pyx_L5;
+    }
+    __pyx_L5:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":436 */
+    __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_ScalarToken); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; goto __pyx_L1;}
+    __pyx_1 = PyTuple_New(5); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_value);
+    PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_value);
+    Py_INCREF(__pyx_v_plain);
+    PyTuple_SET_ITEM(__pyx_1, 1, __pyx_v_plain);
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_1, 2, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_1, 3, __pyx_v_end_mark);
+    Py_INCREF(__pyx_v_style);
+    PyTuple_SET_ITEM(__pyx_1, 4, __pyx_v_style);
+    __pyx_4 = PyObject_CallObject(__pyx_3, __pyx_1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; goto __pyx_L1;}
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    Py_DECREF(__pyx_1); __pyx_1 = 0;
+    __pyx_r = __pyx_4;
+    __pyx_4 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  /*else*/ {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":439 */
+    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_ValueError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; goto __pyx_L1;}
+    __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; goto __pyx_L1;}
+    Py_INCREF(__pyx_k35p);
+    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_k35p);
+    __pyx_1 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; goto __pyx_L1;}
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    __Pyx_Raise(__pyx_1, 0, 0);
+    Py_DECREF(__pyx_1); __pyx_1 = 0;
+    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; goto __pyx_L1;}
+  }
+  __pyx_L2:;
+
+  __pyx_r = Py_None; Py_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_1);
+  Py_XDECREF(__pyx_2);
+  Py_XDECREF(__pyx_3);
+  Py_XDECREF(__pyx_4);
+  __Pyx_AddTraceback("_yaml.CParser._token_to_object");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_start_mark);
+  Py_DECREF(__pyx_v_end_mark);
+  Py_DECREF(__pyx_v_encoding);
+  Py_DECREF(__pyx_v_value);
+  Py_DECREF(__pyx_v_handle);
+  Py_DECREF(__pyx_v_suffix);
+  Py_DECREF(__pyx_v_plain);
+  Py_DECREF(__pyx_v_style);
+  Py_DECREF(__pyx_v_self);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_f_5_yaml_7CParser_get_token(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_5_yaml_7CParser_get_token(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_value;
+  PyObject *__pyx_r;
+  int __pyx_1;
+  PyObject *__pyx_2 = 0;
+  static char *__pyx_argnames[] = {0};
+  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
+  Py_INCREF(__pyx_v_self);
+  __pyx_v_value = Py_None; Py_INCREF(Py_None);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":442 */
+  __pyx_1 = ((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_token != Py_None;
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":443 */
+    Py_INCREF(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_token);
+    Py_DECREF(__pyx_v_value);
+    __pyx_v_value = ((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_token;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":444 */
+    Py_INCREF(Py_None);
+    Py_DECREF(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_token);
+    ((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_token = Py_None;
+    goto __pyx_L2;
+  }
+  /*else*/ {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":446 */
+    __pyx_2 = ((struct __pyx_vtabstruct_5_yaml_CParser *)((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->__pyx_vtab)->_scan(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_value);
+    __pyx_v_value = __pyx_2;
+    __pyx_2 = 0;
+  }
+  __pyx_L2:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":447 */
+  Py_INCREF(__pyx_v_value);
+  __pyx_r = __pyx_v_value;
+  goto __pyx_L0;
+
+  __pyx_r = Py_None; Py_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_2);
+  __Pyx_AddTraceback("_yaml.CParser.get_token");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_value);
+  Py_DECREF(__pyx_v_self);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_f_5_yaml_7CParser_peek_token(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_5_yaml_7CParser_peek_token(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_r;
+  int __pyx_1;
+  PyObject *__pyx_2 = 0;
+  static char *__pyx_argnames[] = {0};
+  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
+  Py_INCREF(__pyx_v_self);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":450 */
+  __pyx_1 = ((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_token == Py_None;
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":451 */
+    __pyx_2 = ((struct __pyx_vtabstruct_5_yaml_CParser *)((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->__pyx_vtab)->_scan(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; goto __pyx_L1;}
+    Py_DECREF(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_token);
+    ((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_token = __pyx_2;
+    __pyx_2 = 0;
+    goto __pyx_L2;
+  }
+  __pyx_L2:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":452 */
+  Py_INCREF(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_token);
+  __pyx_r = ((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_token;
+  goto __pyx_L0;
+
+  __pyx_r = Py_None; Py_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_2);
+  __Pyx_AddTraceback("_yaml.CParser.peek_token");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_self);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_n___class__;
+
+static PyObject *__pyx_f_5_yaml_7CParser_check_token(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_5_yaml_7CParser_check_token(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_choices = 0;
+  PyObject *__pyx_v_token_class;
+  PyObject *__pyx_v_choice;
+  PyObject *__pyx_r;
+  int __pyx_1;
+  PyObject *__pyx_2 = 0;
+  int __pyx_3;
+  PyObject *__pyx_4 = 0;
+  static char *__pyx_argnames[] = {0};
+  if (__Pyx_GetStarArgs(&__pyx_args, &__pyx_kwds, __pyx_argnames, 0, &__pyx_v_choices, 0) < 0) return 0;
+  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) {
+    Py_XDECREF(__pyx_args);
+    Py_XDECREF(__pyx_kwds);
+    Py_XDECREF(__pyx_v_choices);
+    return 0;
+  }
+  Py_INCREF(__pyx_v_self);
+  __pyx_v_token_class = Py_None; Py_INCREF(Py_None);
+  __pyx_v_choice = Py_None; Py_INCREF(Py_None);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":455 */
+  __pyx_1 = ((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_token == Py_None;
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":456 */
+    __pyx_2 = ((struct __pyx_vtabstruct_5_yaml_CParser *)((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->__pyx_vtab)->_scan(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; goto __pyx_L1;}
+    Py_DECREF(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_token);
+    ((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_token = __pyx_2;
+    __pyx_2 = 0;
+    goto __pyx_L2;
+  }
+  __pyx_L2:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":457 */
+  __pyx_1 = ((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_token == Py_None;
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":458 */
+    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; goto __pyx_L1;}
+    __pyx_r = __pyx_2;
+    __pyx_2 = 0;
+    goto __pyx_L0;
+    goto __pyx_L3;
+  }
+  __pyx_L3:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":459 */
+  __pyx_1 = PyObject_IsTrue(__pyx_v_choices); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; goto __pyx_L1;}
+  __pyx_3 = (!__pyx_1);
+  if (__pyx_3) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":460 */
+    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_True); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; goto __pyx_L1;}
+    __pyx_r = __pyx_2;
+    __pyx_2 = 0;
+    goto __pyx_L0;
+    goto __pyx_L4;
+  }
+  __pyx_L4:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":461 */
+  __pyx_2 = PyObject_GetAttr(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_token, __pyx_n___class__); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; goto __pyx_L1;}
+  Py_DECREF(__pyx_v_token_class);
+  __pyx_v_token_class = __pyx_2;
+  __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":462 */
+  __pyx_2 = PyObject_GetIter(__pyx_v_choices); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; goto __pyx_L1;}
+  for (;;) {
+    __pyx_L5:;
+    __pyx_4 = PyIter_Next(__pyx_2);
+    if (!__pyx_4) {
+      if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; goto __pyx_L1;}
+      break;
+    }
+    Py_DECREF(__pyx_v_choice);
+    __pyx_v_choice = __pyx_4;
+    __pyx_4 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":463 */
+    __pyx_1 = __pyx_v_token_class == __pyx_v_choice;
+    if (__pyx_1) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":464 */
+      Py_DECREF(__pyx_2); __pyx_2 = 0;
+      __pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_True); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; goto __pyx_L1;}
+      __pyx_r = __pyx_4;
+      __pyx_4 = 0;
+      goto __pyx_L0;
+      goto __pyx_L7;
+    }
+    __pyx_L7:;
+  }
+  __pyx_L6:;
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":465 */
+  __pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; goto __pyx_L1;}
+  __pyx_r = __pyx_4;
+  __pyx_4 = 0;
+  goto __pyx_L0;
+
+  __pyx_r = Py_None; Py_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_2);
+  Py_XDECREF(__pyx_4);
+  __Pyx_AddTraceback("_yaml.CParser.check_token");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_XDECREF(__pyx_v_choices);
+  Py_DECREF(__pyx_v_token_class);
+  Py_DECREF(__pyx_v_choice);
+  Py_DECREF(__pyx_v_self);
+  Py_XDECREF(__pyx_args);
+  Py_XDECREF(__pyx_kwds);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_f_5_yaml_7CParser_raw_parse(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_5_yaml_7CParser_raw_parse(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  yaml_event_t __pyx_v_event;
+  int __pyx_v_done;
+  int __pyx_v_count;
+  PyObject *__pyx_v_error;
+  PyObject *__pyx_r;
+  int __pyx_1;
+  int __pyx_2;
+  PyObject *__pyx_3 = 0;
+  static char *__pyx_argnames[] = {0};
+  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
+  Py_INCREF(__pyx_v_self);
+  __pyx_v_error = Py_None; Py_INCREF(Py_None);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":471 */
+  __pyx_v_count = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":472 */
+  __pyx_v_done = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":473 */
+  while (1) {
+    __pyx_L2:;
+    __pyx_1 = (__pyx_v_done == 0);
+    if (!__pyx_1) break;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":474 */
+    __pyx_1 = yaml_parser_parse((&((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->parser),(&__pyx_v_event)); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; goto __pyx_L1;}
+    __pyx_2 = (__pyx_1 == 0);
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":475 */
+      __pyx_3 = ((struct __pyx_vtabstruct_5_yaml_CParser *)((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->__pyx_vtab)->_parser_error(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_error);
+      __pyx_v_error = __pyx_3;
+      __pyx_3 = 0;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":476 */
+      __Pyx_Raise(__pyx_v_error, 0, 0);
+      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; goto __pyx_L1;}
+      goto __pyx_L4;
+    }
+    __pyx_L4:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":477 */
+    __pyx_1 = (__pyx_v_event.type == YAML_NO_EVENT);
+    if (__pyx_1) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":478 */
+      __pyx_v_done = 1;
+      goto __pyx_L5;
+    }
+    /*else*/ {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":480 */
+      __pyx_v_count = (__pyx_v_count + 1);
+    }
+    __pyx_L5:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":481 */
+    yaml_event_delete((&__pyx_v_event));
+  }
+  __pyx_L3:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":482 */
+  __pyx_3 = PyInt_FromLong(__pyx_v_count); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; goto __pyx_L1;}
+  __pyx_r = __pyx_3;
+  __pyx_3 = 0;
+  goto __pyx_L0;
+
+  __pyx_r = Py_None; Py_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_3);
+  __Pyx_AddTraceback("_yaml.CParser.raw_parse");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_error);
+  Py_DECREF(__pyx_v_self);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_f_5_yaml_7CParser__parse(struct __pyx_obj_5_yaml_CParser *__pyx_v_self) {
+  yaml_event_t __pyx_v_event;
+  PyObject *__pyx_v_error;
+  PyObject *__pyx_v_event_object;
+  PyObject *__pyx_r;
+  int __pyx_1;
+  int __pyx_2;
+  PyObject *__pyx_3 = 0;
+  Py_INCREF(__pyx_v_self);
+  __pyx_v_error = Py_None; Py_INCREF(Py_None);
+  __pyx_v_event_object = Py_None; Py_INCREF(Py_None);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":486 */
+  __pyx_1 = yaml_parser_parse((&__pyx_v_self->parser),(&__pyx_v_event)); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; goto __pyx_L1;}
+  __pyx_2 = (__pyx_1 == 0);
+  if (__pyx_2) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":487 */
+    __pyx_3 = ((struct __pyx_vtabstruct_5_yaml_CParser *)__pyx_v_self->__pyx_vtab)->_parser_error(__pyx_v_self); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_error);
+    __pyx_v_error = __pyx_3;
+    __pyx_3 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":488 */
+    __Pyx_Raise(__pyx_v_error, 0, 0);
+    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; goto __pyx_L1;}
+    goto __pyx_L2;
+  }
+  __pyx_L2:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":489 */
+  __pyx_3 = ((struct __pyx_vtabstruct_5_yaml_CParser *)__pyx_v_self->__pyx_vtab)->_event_to_object(__pyx_v_self,(&__pyx_v_event)); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; goto __pyx_L1;}
+  Py_DECREF(__pyx_v_event_object);
+  __pyx_v_event_object = __pyx_3;
+  __pyx_3 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":490 */
+  yaml_event_delete((&__pyx_v_event));
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":491 */
+  Py_INCREF(__pyx_v_event_object);
+  __pyx_r = __pyx_v_event_object;
+  goto __pyx_L0;
+
+  __pyx_r = Py_None; Py_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_3);
+  __Pyx_AddTraceback("_yaml.CParser._parse");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_error);
+  Py_DECREF(__pyx_v_event_object);
+  Py_DECREF(__pyx_v_self);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_k36p;
+static PyObject *__pyx_k37p;
+static PyObject *__pyx_k38p;
+static PyObject *__pyx_k45p;
+static PyObject *__pyx_k46p;
+static PyObject *__pyx_k47p;
+static PyObject *__pyx_k48p;
+static PyObject *__pyx_k49p;
+static PyObject *__pyx_k54p;
+
+static char (__pyx_k36[]) = "utf-8";
+static char (__pyx_k37[]) = "utf-16-le";
+static char (__pyx_k38[]) = "utf-16-be";
+static char (__pyx_k39[]) = "strict";
+static char (__pyx_k40[]) = "strict";
+static char (__pyx_k41[]) = "strict";
+static char (__pyx_k42[]) = "strict";
+static char (__pyx_k43[]) = "strict";
+static char (__pyx_k44[]) = "strict";
+static char (__pyx_k45[]) = "";
+static char (__pyx_k46[]) = "\'";
+static char (__pyx_k47[]) = "\"";
+static char (__pyx_k48[]) = "|";
+static char (__pyx_k49[]) = ">";
+static char (__pyx_k50[]) = "strict";
+static char (__pyx_k51[]) = "strict";
+static char (__pyx_k52[]) = "strict";
+static char (__pyx_k53[]) = "strict";
+static char (__pyx_k54[]) = "unknown token type";
+
+static PyObject *__pyx_f_5_yaml_7CParser__event_to_object(struct __pyx_obj_5_yaml_CParser *__pyx_v_self,yaml_event_t (*__pyx_v_event)) {
+  yaml_tag_directive_t (*__pyx_v_tag_directive);
+  PyObject *__pyx_v_start_mark;
+  PyObject *__pyx_v_end_mark;
+  PyObject *__pyx_v_encoding;
+  PyObject *__pyx_v_explicit;
+  PyObject *__pyx_v_version;
+  PyObject *__pyx_v_tags;
+  PyObject *__pyx_v_handle;
+  PyObject *__pyx_v_prefix;
+  PyObject *__pyx_v_anchor;
+  PyObject *__pyx_v_tag;
+  PyObject *__pyx_v_value;
+  PyObject *__pyx_v_plain_implicit;
+  PyObject *__pyx_v_quoted_implicit;
+  PyObject *__pyx_v_style;
+  PyObject *__pyx_v_implicit;
+  PyObject *__pyx_v_flow_style;
+  PyObject *__pyx_r;
+  PyObject *__pyx_1 = 0;
+  PyObject *__pyx_2 = 0;
+  PyObject *__pyx_3 = 0;
+  PyObject *__pyx_4 = 0;
+  int __pyx_5;
+  Py_INCREF(__pyx_v_self);
+  __pyx_v_start_mark = Py_None; Py_INCREF(Py_None);
+  __pyx_v_end_mark = Py_None; Py_INCREF(Py_None);
+  __pyx_v_encoding = Py_None; Py_INCREF(Py_None);
+  __pyx_v_explicit = Py_None; Py_INCREF(Py_None);
+  __pyx_v_version = Py_None; Py_INCREF(Py_None);
+  __pyx_v_tags = Py_None; Py_INCREF(Py_None);
+  __pyx_v_handle = Py_None; Py_INCREF(Py_None);
+  __pyx_v_prefix = Py_None; Py_INCREF(Py_None);
+  __pyx_v_anchor = Py_None; Py_INCREF(Py_None);
+  __pyx_v_tag = Py_None; Py_INCREF(Py_None);
+  __pyx_v_value = Py_None; Py_INCREF(Py_None);
+  __pyx_v_plain_implicit = Py_None; Py_INCREF(Py_None);
+  __pyx_v_quoted_implicit = Py_None; Py_INCREF(Py_None);
+  __pyx_v_style = Py_None; Py_INCREF(Py_None);
+  __pyx_v_implicit = Py_None; Py_INCREF(Py_None);
+  __pyx_v_flow_style = Py_None; Py_INCREF(Py_None);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":495 */
+  __pyx_1 = PyInt_FromLong(__pyx_v_event->start_mark.index); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; goto __pyx_L1;}
+  __pyx_2 = PyInt_FromLong(__pyx_v_event->start_mark.line); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; goto __pyx_L1;}
+  __pyx_3 = PyInt_FromLong(__pyx_v_event->start_mark.column); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; goto __pyx_L1;}
+  __pyx_4 = PyTuple_New(6); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; goto __pyx_L1;}
+  Py_INCREF(__pyx_v_self->stream_name);
+  PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_self->stream_name);
+  PyTuple_SET_ITEM(__pyx_4, 1, __pyx_1);
+  PyTuple_SET_ITEM(__pyx_4, 2, __pyx_2);
+  PyTuple_SET_ITEM(__pyx_4, 3, __pyx_3);
+  Py_INCREF(Py_None);
+  PyTuple_SET_ITEM(__pyx_4, 4, Py_None);
+  Py_INCREF(Py_None);
+  PyTuple_SET_ITEM(__pyx_4, 5, Py_None);
+  __pyx_1 = 0;
+  __pyx_2 = 0;
+  __pyx_3 = 0;
+  __pyx_1 = PyObject_CallObject(((PyObject*)__pyx_ptype_5_yaml_Mark), __pyx_4); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; goto __pyx_L1;}
+  Py_DECREF(__pyx_4); __pyx_4 = 0;
+  Py_DECREF(__pyx_v_start_mark);
+  __pyx_v_start_mark = __pyx_1;
+  __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":500 */
+  __pyx_2 = PyInt_FromLong(__pyx_v_event->end_mark.index); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; goto __pyx_L1;}
+  __pyx_3 = PyInt_FromLong(__pyx_v_event->end_mark.line); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; goto __pyx_L1;}
+  __pyx_4 = PyInt_FromLong(__pyx_v_event->end_mark.column); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; goto __pyx_L1;}
+  __pyx_1 = PyTuple_New(6); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; goto __pyx_L1;}
+  Py_INCREF(__pyx_v_self->stream_name);
+  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_self->stream_name);
+  PyTuple_SET_ITEM(__pyx_1, 1, __pyx_2);
+  PyTuple_SET_ITEM(__pyx_1, 2, __pyx_3);
+  PyTuple_SET_ITEM(__pyx_1, 3, __pyx_4);
+  Py_INCREF(Py_None);
+  PyTuple_SET_ITEM(__pyx_1, 4, Py_None);
+  Py_INCREF(Py_None);
+  PyTuple_SET_ITEM(__pyx_1, 5, Py_None);
+  __pyx_2 = 0;
+  __pyx_3 = 0;
+  __pyx_4 = 0;
+  __pyx_2 = PyObject_CallObject(((PyObject*)__pyx_ptype_5_yaml_Mark), __pyx_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  Py_DECREF(__pyx_v_end_mark);
+  __pyx_v_end_mark = __pyx_2;
+  __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":505 */
+  __pyx_5 = (__pyx_v_event->type == YAML_NO_EVENT);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":506 */
+    Py_INCREF(Py_None);
+    __pyx_r = Py_None;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_event->type == YAML_STREAM_START_EVENT);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":508 */
+    Py_INCREF(Py_None);
+    Py_DECREF(__pyx_v_encoding);
+    __pyx_v_encoding = Py_None;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":509 */
+    __pyx_5 = (__pyx_v_event->data.stream_start.encoding == YAML_UTF8_ENCODING);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":510 */
+      Py_INCREF(__pyx_k36p);
+      Py_DECREF(__pyx_v_encoding);
+      __pyx_v_encoding = __pyx_k36p;
+      goto __pyx_L3;
+    }
+    __pyx_5 = (__pyx_v_event->data.stream_start.encoding == YAML_UTF16LE_ENCODING);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":512 */
+      Py_INCREF(__pyx_k37p);
+      Py_DECREF(__pyx_v_encoding);
+      __pyx_v_encoding = __pyx_k37p;
+      goto __pyx_L3;
+    }
+    __pyx_5 = (__pyx_v_event->data.stream_start.encoding == YAML_UTF16BE_ENCODING);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":514 */
+      Py_INCREF(__pyx_k38p);
+      Py_DECREF(__pyx_v_encoding);
+      __pyx_v_encoding = __pyx_k38p;
+      goto __pyx_L3;
+    }
+    __pyx_L3:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":515 */
+    __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_StreamStartEvent); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; goto __pyx_L1;}
+    __pyx_4 = PyTuple_New(3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_end_mark);
+    Py_INCREF(__pyx_v_encoding);
+    PyTuple_SET_ITEM(__pyx_4, 2, __pyx_v_encoding);
+    __pyx_1 = PyObject_CallObject(__pyx_3, __pyx_4); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; goto __pyx_L1;}
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    __pyx_r = __pyx_1;
+    __pyx_1 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_event->type == YAML_STREAM_END_EVENT);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":517 */
+    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_StreamEndEvent); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; goto __pyx_L1;}
+    __pyx_3 = PyTuple_New(2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_end_mark);
+    __pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; goto __pyx_L1;}
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    __pyx_r = __pyx_4;
+    __pyx_4 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_event->type == YAML_DOCUMENT_START_EVENT);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":520 */
+    __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_explicit);
+    __pyx_v_explicit = __pyx_1;
+    __pyx_1 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":521 */
+    __pyx_5 = (__pyx_v_event->data.document_start.implicit == 0);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":522 */
+      __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_True); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_explicit);
+      __pyx_v_explicit = __pyx_2;
+      __pyx_2 = 0;
+      goto __pyx_L4;
+    }
+    __pyx_L4:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":523 */
+    Py_INCREF(Py_None);
+    Py_DECREF(__pyx_v_version);
+    __pyx_v_version = Py_None;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":524 */
+    __pyx_5 = (__pyx_v_event->data.document_start.version_directive != 0);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":525 */
+      __pyx_3 = PyInt_FromLong(__pyx_v_event->data.document_start.version_directive->major); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; goto __pyx_L1;}
+      __pyx_4 = PyInt_FromLong(__pyx_v_event->data.document_start.version_directive->minor); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; goto __pyx_L1;}
+      __pyx_1 = PyTuple_New(2); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; goto __pyx_L1;}
+      PyTuple_SET_ITEM(__pyx_1, 0, __pyx_3);
+      PyTuple_SET_ITEM(__pyx_1, 1, __pyx_4);
+      __pyx_3 = 0;
+      __pyx_4 = 0;
+      Py_DECREF(__pyx_v_version);
+      __pyx_v_version = __pyx_1;
+      __pyx_1 = 0;
+      goto __pyx_L5;
+    }
+    __pyx_L5:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":527 */
+    Py_INCREF(Py_None);
+    Py_DECREF(__pyx_v_tags);
+    __pyx_v_tags = Py_None;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":528 */
+    __pyx_5 = (__pyx_v_event->data.document_start.tag_directives.start != 0);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":529 */
+      __pyx_2 = PyDict_New(); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_tags);
+      __pyx_v_tags = __pyx_2;
+      __pyx_2 = 0;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":530 */
+      __pyx_v_tag_directive = __pyx_v_event->data.document_start.tag_directives.start;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":531 */
+      while (1) {
+        __pyx_L7:;
+        __pyx_5 = (__pyx_v_tag_directive != __pyx_v_event->data.document_start.tag_directives.end);
+        if (!__pyx_5) break;
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":532 */
+        __pyx_3 = PyUnicode_DecodeUTF8(__pyx_v_tag_directive->handle,strlen(__pyx_v_tag_directive->handle),__pyx_k39); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; goto __pyx_L1;}
+        Py_DECREF(__pyx_v_handle);
+        __pyx_v_handle = __pyx_3;
+        __pyx_3 = 0;
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":534 */
+        __pyx_4 = PyUnicode_DecodeUTF8(__pyx_v_tag_directive->prefix,strlen(__pyx_v_tag_directive->prefix),__pyx_k40); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; goto __pyx_L1;}
+        Py_DECREF(__pyx_v_prefix);
+        __pyx_v_prefix = __pyx_4;
+        __pyx_4 = 0;
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":536 */
+        if (PyObject_SetItem(__pyx_v_tags, __pyx_v_handle, __pyx_v_prefix) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; goto __pyx_L1;}
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":537 */
+        __pyx_v_tag_directive = (__pyx_v_tag_directive + 1);
+      }
+      __pyx_L8:;
+      goto __pyx_L6;
+    }
+    __pyx_L6:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":538 */
+    __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_DocumentStartEvent); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; goto __pyx_L1;}
+    __pyx_2 = PyTuple_New(5); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_2, 1, __pyx_v_end_mark);
+    Py_INCREF(__pyx_v_explicit);
+    PyTuple_SET_ITEM(__pyx_2, 2, __pyx_v_explicit);
+    Py_INCREF(__pyx_v_version);
+    PyTuple_SET_ITEM(__pyx_2, 3, __pyx_v_version);
+    Py_INCREF(__pyx_v_tags);
+    PyTuple_SET_ITEM(__pyx_2, 4, __pyx_v_tags);
+    __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; goto __pyx_L1;}
+    Py_DECREF(__pyx_1); __pyx_1 = 0;
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    __pyx_r = __pyx_3;
+    __pyx_3 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_event->type == YAML_DOCUMENT_END_EVENT);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":541 */
+    __pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_explicit);
+    __pyx_v_explicit = __pyx_4;
+    __pyx_4 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":542 */
+    __pyx_5 = (__pyx_v_event->data.document_end.implicit == 0);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":543 */
+      __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_True); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_explicit);
+      __pyx_v_explicit = __pyx_1;
+      __pyx_1 = 0;
+      goto __pyx_L9;
+    }
+    __pyx_L9:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":544 */
+    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_DocumentEndEvent); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; goto __pyx_L1;}
+    __pyx_3 = PyTuple_New(3); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_end_mark);
+    Py_INCREF(__pyx_v_explicit);
+    PyTuple_SET_ITEM(__pyx_3, 2, __pyx_v_explicit);
+    __pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; goto __pyx_L1;}
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    __pyx_r = __pyx_4;
+    __pyx_4 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_event->type == YAML_ALIAS_EVENT);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":546 */
+    __pyx_1 = PyUnicode_DecodeUTF8(__pyx_v_event->data.alias.anchor,strlen(__pyx_v_event->data.alias.anchor),__pyx_k41); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_anchor);
+    __pyx_v_anchor = __pyx_1;
+    __pyx_1 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":548 */
+    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_AliasEvent); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; goto __pyx_L1;}
+    __pyx_3 = PyTuple_New(3); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_anchor);
+    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_anchor);
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_3, 2, __pyx_v_end_mark);
+    __pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; goto __pyx_L1;}
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    __pyx_r = __pyx_4;
+    __pyx_4 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_event->type == YAML_SCALAR_EVENT);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":550 */
+    Py_INCREF(Py_None);
+    Py_DECREF(__pyx_v_anchor);
+    __pyx_v_anchor = Py_None;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":551 */
+    __pyx_5 = (__pyx_v_event->data.scalar.anchor != 0);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":552 */
+      __pyx_1 = PyUnicode_DecodeUTF8(__pyx_v_event->data.scalar.anchor,strlen(__pyx_v_event->data.scalar.anchor),__pyx_k42); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_anchor);
+      __pyx_v_anchor = __pyx_1;
+      __pyx_1 = 0;
+      goto __pyx_L10;
+    }
+    __pyx_L10:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":554 */
+    Py_INCREF(Py_None);
+    Py_DECREF(__pyx_v_tag);
+    __pyx_v_tag = Py_None;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":555 */
+    __pyx_5 = (__pyx_v_event->data.scalar.tag != 0);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":556 */
+      __pyx_2 = PyUnicode_DecodeUTF8(__pyx_v_event->data.scalar.tag,strlen(__pyx_v_event->data.scalar.tag),__pyx_k43); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_tag);
+      __pyx_v_tag = __pyx_2;
+      __pyx_2 = 0;
+      goto __pyx_L11;
+    }
+    __pyx_L11:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":558 */
+    __pyx_3 = PyUnicode_DecodeUTF8(__pyx_v_event->data.scalar.value,__pyx_v_event->data.scalar.length,__pyx_k44); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_value);
+    __pyx_v_value = __pyx_3;
+    __pyx_3 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":560 */
+    __pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_plain_implicit);
+    __pyx_v_plain_implicit = __pyx_4;
+    __pyx_4 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":561 */
+    __pyx_5 = (__pyx_v_event->data.scalar.plain_implicit == 1);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":562 */
+      __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_True); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_plain_implicit);
+      __pyx_v_plain_implicit = __pyx_1;
+      __pyx_1 = 0;
+      goto __pyx_L12;
+    }
+    __pyx_L12:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":563 */
+    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_quoted_implicit);
+    __pyx_v_quoted_implicit = __pyx_2;
+    __pyx_2 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":564 */
+    __pyx_5 = (__pyx_v_event->data.scalar.quoted_implicit == 1);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":565 */
+      __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_True); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_quoted_implicit);
+      __pyx_v_quoted_implicit = __pyx_3;
+      __pyx_3 = 0;
+      goto __pyx_L13;
+    }
+    __pyx_L13:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":566 */
+    Py_INCREF(Py_None);
+    Py_DECREF(__pyx_v_style);
+    __pyx_v_style = Py_None;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":567 */
+    __pyx_5 = (__pyx_v_event->data.scalar.style == YAML_PLAIN_SCALAR_STYLE);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":568 */
+      Py_INCREF(__pyx_k45p);
+      Py_DECREF(__pyx_v_style);
+      __pyx_v_style = __pyx_k45p;
+      goto __pyx_L14;
+    }
+    __pyx_5 = (__pyx_v_event->data.scalar.style == YAML_SINGLE_QUOTED_SCALAR_STYLE);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":570 */
+      Py_INCREF(__pyx_k46p);
+      Py_DECREF(__pyx_v_style);
+      __pyx_v_style = __pyx_k46p;
+      goto __pyx_L14;
+    }
+    __pyx_5 = (__pyx_v_event->data.scalar.style == YAML_DOUBLE_QUOTED_SCALAR_STYLE);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":572 */
+      Py_INCREF(__pyx_k47p);
+      Py_DECREF(__pyx_v_style);
+      __pyx_v_style = __pyx_k47p;
+      goto __pyx_L14;
+    }
+    __pyx_5 = (__pyx_v_event->data.scalar.style == YAML_LITERAL_SCALAR_STYLE);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":574 */
+      Py_INCREF(__pyx_k48p);
+      Py_DECREF(__pyx_v_style);
+      __pyx_v_style = __pyx_k48p;
+      goto __pyx_L14;
+    }
+    __pyx_5 = (__pyx_v_event->data.scalar.style == YAML_FOLDED_SCALAR_STYLE);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":576 */
+      Py_INCREF(__pyx_k49p);
+      Py_DECREF(__pyx_v_style);
+      __pyx_v_style = __pyx_k49p;
+      goto __pyx_L14;
+    }
+    __pyx_L14:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":577 */
+    __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n_ScalarEvent); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; goto __pyx_L1;}
+    __pyx_1 = PyTuple_New(2); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_plain_implicit);
+    PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_plain_implicit);
+    Py_INCREF(__pyx_v_quoted_implicit);
+    PyTuple_SET_ITEM(__pyx_1, 1, __pyx_v_quoted_implicit);
+    __pyx_2 = PyTuple_New(7); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_anchor);
+    PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_anchor);
+    Py_INCREF(__pyx_v_tag);
+    PyTuple_SET_ITEM(__pyx_2, 1, __pyx_v_tag);
+    PyTuple_SET_ITEM(__pyx_2, 2, __pyx_1);
+    Py_INCREF(__pyx_v_value);
+    PyTuple_SET_ITEM(__pyx_2, 3, __pyx_v_value);
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_2, 4, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_2, 5, __pyx_v_end_mark);
+    Py_INCREF(__pyx_v_style);
+    PyTuple_SET_ITEM(__pyx_2, 6, __pyx_v_style);
+    __pyx_1 = 0;
+    __pyx_3 = PyObject_CallObject(__pyx_4, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; goto __pyx_L1;}
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    __pyx_r = __pyx_3;
+    __pyx_3 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_event->type == YAML_SEQUENCE_START_EVENT);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":581 */
+    Py_INCREF(Py_None);
+    Py_DECREF(__pyx_v_anchor);
+    __pyx_v_anchor = Py_None;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":582 */
+    __pyx_5 = (__pyx_v_event->data.sequence_start.anchor != 0);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":583 */
+      __pyx_1 = PyUnicode_DecodeUTF8(__pyx_v_event->data.sequence_start.anchor,strlen(__pyx_v_event->data.sequence_start.anchor),__pyx_k50); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_anchor);
+      __pyx_v_anchor = __pyx_1;
+      __pyx_1 = 0;
+      goto __pyx_L15;
+    }
+    __pyx_L15:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":585 */
+    Py_INCREF(Py_None);
+    Py_DECREF(__pyx_v_tag);
+    __pyx_v_tag = Py_None;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":586 */
+    __pyx_5 = (__pyx_v_event->data.sequence_start.tag != 0);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":587 */
+      __pyx_4 = PyUnicode_DecodeUTF8(__pyx_v_event->data.sequence_start.tag,strlen(__pyx_v_event->data.sequence_start.tag),__pyx_k51); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_tag);
+      __pyx_v_tag = __pyx_4;
+      __pyx_4 = 0;
+      goto __pyx_L16;
+    }
+    __pyx_L16:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":589 */
+    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_implicit);
+    __pyx_v_implicit = __pyx_2;
+    __pyx_2 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":590 */
+    __pyx_5 = (__pyx_v_event->data.sequence_start.implicit == 1);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":591 */
+      __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_True); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_implicit);
+      __pyx_v_implicit = __pyx_3;
+      __pyx_3 = 0;
+      goto __pyx_L17;
+    }
+    __pyx_L17:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":592 */
+    Py_INCREF(Py_None);
+    Py_DECREF(__pyx_v_flow_style);
+    __pyx_v_flow_style = Py_None;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":593 */
+    __pyx_5 = (__pyx_v_event->data.sequence_start.style == YAML_FLOW_SEQUENCE_STYLE);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":594 */
+      __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_True); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_flow_style);
+      __pyx_v_flow_style = __pyx_1;
+      __pyx_1 = 0;
+      goto __pyx_L18;
+    }
+    __pyx_5 = (__pyx_v_event->data.sequence_start.style == YAML_BLOCK_SEQUENCE_STYLE);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":596 */
+      __pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_flow_style);
+      __pyx_v_flow_style = __pyx_4;
+      __pyx_4 = 0;
+      goto __pyx_L18;
+    }
+    __pyx_L18:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":597 */
+    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_SequenceStartEvent); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 597; goto __pyx_L1;}
+    __pyx_3 = PyTuple_New(6); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 597; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_anchor);
+    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_anchor);
+    Py_INCREF(__pyx_v_tag);
+    PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_tag);
+    Py_INCREF(__pyx_v_implicit);
+    PyTuple_SET_ITEM(__pyx_3, 2, __pyx_v_implicit);
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_3, 3, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_3, 4, __pyx_v_end_mark);
+    Py_INCREF(__pyx_v_flow_style);
+    PyTuple_SET_ITEM(__pyx_3, 5, __pyx_v_flow_style);
+    __pyx_1 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 597; goto __pyx_L1;}
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    __pyx_r = __pyx_1;
+    __pyx_1 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_event->type == YAML_MAPPING_START_EVENT);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":600 */
+    Py_INCREF(Py_None);
+    Py_DECREF(__pyx_v_anchor);
+    __pyx_v_anchor = Py_None;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":601 */
+    __pyx_5 = (__pyx_v_event->data.mapping_start.anchor != 0);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":602 */
+      __pyx_4 = PyUnicode_DecodeUTF8(__pyx_v_event->data.mapping_start.anchor,strlen(__pyx_v_event->data.mapping_start.anchor),__pyx_k52); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_anchor);
+      __pyx_v_anchor = __pyx_4;
+      __pyx_4 = 0;
+      goto __pyx_L19;
+    }
+    __pyx_L19:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":604 */
+    Py_INCREF(Py_None);
+    Py_DECREF(__pyx_v_tag);
+    __pyx_v_tag = Py_None;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":605 */
+    __pyx_5 = (__pyx_v_event->data.mapping_start.tag != 0);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":606 */
+      __pyx_2 = PyUnicode_DecodeUTF8(__pyx_v_event->data.mapping_start.tag,strlen(__pyx_v_event->data.mapping_start.tag),__pyx_k53); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_tag);
+      __pyx_v_tag = __pyx_2;
+      __pyx_2 = 0;
+      goto __pyx_L20;
+    }
+    __pyx_L20:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":608 */
+    __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_implicit);
+    __pyx_v_implicit = __pyx_3;
+    __pyx_3 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":609 */
+    __pyx_5 = (__pyx_v_event->data.mapping_start.implicit == 1);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":610 */
+      __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_True); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_implicit);
+      __pyx_v_implicit = __pyx_1;
+      __pyx_1 = 0;
+      goto __pyx_L21;
+    }
+    __pyx_L21:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":611 */
+    Py_INCREF(Py_None);
+    Py_DECREF(__pyx_v_flow_style);
+    __pyx_v_flow_style = Py_None;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":612 */
+    __pyx_5 = (__pyx_v_event->data.mapping_start.style == YAML_FLOW_SEQUENCE_STYLE);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":613 */
+      __pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_True); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_flow_style);
+      __pyx_v_flow_style = __pyx_4;
+      __pyx_4 = 0;
+      goto __pyx_L22;
+    }
+    __pyx_5 = (__pyx_v_event->data.mapping_start.style == YAML_BLOCK_SEQUENCE_STYLE);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":615 */
+      __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_flow_style);
+      __pyx_v_flow_style = __pyx_2;
+      __pyx_2 = 0;
+      goto __pyx_L22;
+    }
+    __pyx_L22:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":616 */
+    __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_MappingStartEvent); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; goto __pyx_L1;}
+    __pyx_1 = PyTuple_New(6); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_anchor);
+    PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_anchor);
+    Py_INCREF(__pyx_v_tag);
+    PyTuple_SET_ITEM(__pyx_1, 1, __pyx_v_tag);
+    Py_INCREF(__pyx_v_implicit);
+    PyTuple_SET_ITEM(__pyx_1, 2, __pyx_v_implicit);
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_1, 3, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_1, 4, __pyx_v_end_mark);
+    Py_INCREF(__pyx_v_flow_style);
+    PyTuple_SET_ITEM(__pyx_1, 5, __pyx_v_flow_style);
+    __pyx_4 = PyObject_CallObject(__pyx_3, __pyx_1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; goto __pyx_L1;}
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    Py_DECREF(__pyx_1); __pyx_1 = 0;
+    __pyx_r = __pyx_4;
+    __pyx_4 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_event->type == YAML_SEQUENCE_END_EVENT);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":619 */
+    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_SequenceEndEvent); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; goto __pyx_L1;}
+    __pyx_3 = PyTuple_New(2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_end_mark);
+    __pyx_1 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; goto __pyx_L1;}
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    __pyx_r = __pyx_1;
+    __pyx_1 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_5 = (__pyx_v_event->type == YAML_MAPPING_END_EVENT);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":621 */
+    __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n_MappingEndEvent); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; goto __pyx_L1;}
+    __pyx_2 = PyTuple_New(2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_start_mark);
+    PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_start_mark);
+    Py_INCREF(__pyx_v_end_mark);
+    PyTuple_SET_ITEM(__pyx_2, 1, __pyx_v_end_mark);
+    __pyx_3 = PyObject_CallObject(__pyx_4, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; goto __pyx_L1;}
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    __pyx_r = __pyx_3;
+    __pyx_3 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  /*else*/ {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":624 */
+    __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_ValueError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; goto __pyx_L1;}
+    __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; goto __pyx_L1;}
+    Py_INCREF(__pyx_k54p);
+    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_k54p);
+    __pyx_2 = PyObject_CallObject(__pyx_1, __pyx_4); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; goto __pyx_L1;}
+    Py_DECREF(__pyx_1); __pyx_1 = 0;
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    __Pyx_Raise(__pyx_2, 0, 0);
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; goto __pyx_L1;}
+  }
+  __pyx_L2:;
+
+  __pyx_r = Py_None; Py_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_1);
+  Py_XDECREF(__pyx_2);
+  Py_XDECREF(__pyx_3);
+  Py_XDECREF(__pyx_4);
+  __Pyx_AddTraceback("_yaml.CParser._event_to_object");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_start_mark);
+  Py_DECREF(__pyx_v_end_mark);
+  Py_DECREF(__pyx_v_encoding);
+  Py_DECREF(__pyx_v_explicit);
+  Py_DECREF(__pyx_v_version);
+  Py_DECREF(__pyx_v_tags);
+  Py_DECREF(__pyx_v_handle);
+  Py_DECREF(__pyx_v_prefix);
+  Py_DECREF(__pyx_v_anchor);
+  Py_DECREF(__pyx_v_tag);
+  Py_DECREF(__pyx_v_value);
+  Py_DECREF(__pyx_v_plain_implicit);
+  Py_DECREF(__pyx_v_quoted_implicit);
+  Py_DECREF(__pyx_v_style);
+  Py_DECREF(__pyx_v_implicit);
+  Py_DECREF(__pyx_v_flow_style);
+  Py_DECREF(__pyx_v_self);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_f_5_yaml_7CParser_get_event(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_5_yaml_7CParser_get_event(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_value;
+  PyObject *__pyx_r;
+  int __pyx_1;
+  PyObject *__pyx_2 = 0;
+  static char *__pyx_argnames[] = {0};
+  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
+  Py_INCREF(__pyx_v_self);
+  __pyx_v_value = Py_None; Py_INCREF(Py_None);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":627 */
+  __pyx_1 = ((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_event != Py_None;
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":628 */
+    Py_INCREF(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_event);
+    Py_DECREF(__pyx_v_value);
+    __pyx_v_value = ((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_event;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":629 */
+    Py_INCREF(Py_None);
+    Py_DECREF(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_event);
+    ((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_event = Py_None;
+    goto __pyx_L2;
+  }
+  /*else*/ {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":631 */
+    __pyx_2 = ((struct __pyx_vtabstruct_5_yaml_CParser *)((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->__pyx_vtab)->_parse(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 631; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_value);
+    __pyx_v_value = __pyx_2;
+    __pyx_2 = 0;
+  }
+  __pyx_L2:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":632 */
+  Py_INCREF(__pyx_v_value);
+  __pyx_r = __pyx_v_value;
+  goto __pyx_L0;
+
+  __pyx_r = Py_None; Py_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_2);
+  __Pyx_AddTraceback("_yaml.CParser.get_event");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_value);
+  Py_DECREF(__pyx_v_self);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_f_5_yaml_7CParser_peek_event(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_5_yaml_7CParser_peek_event(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_r;
+  int __pyx_1;
+  PyObject *__pyx_2 = 0;
+  static char *__pyx_argnames[] = {0};
+  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
+  Py_INCREF(__pyx_v_self);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":635 */
+  __pyx_1 = ((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_event == Py_None;
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":636 */
+    __pyx_2 = ((struct __pyx_vtabstruct_5_yaml_CParser *)((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->__pyx_vtab)->_parse(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; goto __pyx_L1;}
+    Py_DECREF(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_event);
+    ((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_event = __pyx_2;
+    __pyx_2 = 0;
+    goto __pyx_L2;
+  }
+  __pyx_L2:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":637 */
+  Py_INCREF(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_event);
+  __pyx_r = ((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_event;
+  goto __pyx_L0;
+
+  __pyx_r = Py_None; Py_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_2);
+  __Pyx_AddTraceback("_yaml.CParser.peek_event");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_self);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_f_5_yaml_7CParser_check_event(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_5_yaml_7CParser_check_event(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_choices = 0;
+  PyObject *__pyx_v_event_class;
+  PyObject *__pyx_v_choice;
+  PyObject *__pyx_r;
+  int __pyx_1;
+  PyObject *__pyx_2 = 0;
+  int __pyx_3;
+  PyObject *__pyx_4 = 0;
+  static char *__pyx_argnames[] = {0};
+  if (__Pyx_GetStarArgs(&__pyx_args, &__pyx_kwds, __pyx_argnames, 0, &__pyx_v_choices, 0) < 0) return 0;
+  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) {
+    Py_XDECREF(__pyx_args);
+    Py_XDECREF(__pyx_kwds);
+    Py_XDECREF(__pyx_v_choices);
+    return 0;
+  }
+  Py_INCREF(__pyx_v_self);
+  __pyx_v_event_class = Py_None; Py_INCREF(Py_None);
+  __pyx_v_choice = Py_None; Py_INCREF(Py_None);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":640 */
+  __pyx_1 = ((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_event == Py_None;
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":641 */
+    __pyx_2 = ((struct __pyx_vtabstruct_5_yaml_CParser *)((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->__pyx_vtab)->_parse(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; goto __pyx_L1;}
+    Py_DECREF(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_event);
+    ((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_event = __pyx_2;
+    __pyx_2 = 0;
+    goto __pyx_L2;
+  }
+  __pyx_L2:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":642 */
+  __pyx_1 = ((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_event == Py_None;
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":643 */
+    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; goto __pyx_L1;}
+    __pyx_r = __pyx_2;
+    __pyx_2 = 0;
+    goto __pyx_L0;
+    goto __pyx_L3;
+  }
+  __pyx_L3:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":644 */
+  __pyx_1 = PyObject_IsTrue(__pyx_v_choices); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; goto __pyx_L1;}
+  __pyx_3 = (!__pyx_1);
+  if (__pyx_3) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":645 */
+    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_True); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; goto __pyx_L1;}
+    __pyx_r = __pyx_2;
+    __pyx_2 = 0;
+    goto __pyx_L0;
+    goto __pyx_L4;
+  }
+  __pyx_L4:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":646 */
+  __pyx_2 = PyObject_GetAttr(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->current_event, __pyx_n___class__); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; goto __pyx_L1;}
+  Py_DECREF(__pyx_v_event_class);
+  __pyx_v_event_class = __pyx_2;
+  __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":647 */
+  __pyx_2 = PyObject_GetIter(__pyx_v_choices); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; goto __pyx_L1;}
+  for (;;) {
+    __pyx_L5:;
+    __pyx_4 = PyIter_Next(__pyx_2);
+    if (!__pyx_4) {
+      if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; goto __pyx_L1;}
+      break;
+    }
+    Py_DECREF(__pyx_v_choice);
+    __pyx_v_choice = __pyx_4;
+    __pyx_4 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":648 */
+    __pyx_1 = __pyx_v_event_class == __pyx_v_choice;
+    if (__pyx_1) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":649 */
+      Py_DECREF(__pyx_2); __pyx_2 = 0;
+      __pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_True); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; goto __pyx_L1;}
+      __pyx_r = __pyx_4;
+      __pyx_4 = 0;
+      goto __pyx_L0;
+      goto __pyx_L7;
+    }
+    __pyx_L7:;
+  }
+  __pyx_L6:;
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":650 */
+  __pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; goto __pyx_L1;}
+  __pyx_r = __pyx_4;
+  __pyx_4 = 0;
+  goto __pyx_L0;
+
+  __pyx_r = Py_None; Py_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_2);
+  Py_XDECREF(__pyx_4);
+  __Pyx_AddTraceback("_yaml.CParser.check_event");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_XDECREF(__pyx_v_choices);
+  Py_DECREF(__pyx_v_event_class);
+  Py_DECREF(__pyx_v_choice);
+  Py_DECREF(__pyx_v_self);
+  Py_XDECREF(__pyx_args);
+  Py_XDECREF(__pyx_kwds);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_f_5_yaml_7CParser_check_node(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_5_yaml_7CParser_check_node(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_r;
+  int __pyx_1;
+  PyObject *__pyx_2 = 0;
+  static char *__pyx_argnames[] = {0};
+  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
+  Py_INCREF(__pyx_v_self);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":653 */
+  __pyx_1 = ((struct __pyx_vtabstruct_5_yaml_CParser *)((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->__pyx_vtab)->_parse_next_event(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)); if (__pyx_1 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; goto __pyx_L1;}
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":654 */
+  __pyx_1 = (((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->parsed_event.type == YAML_STREAM_START_EVENT);
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":655 */
+    yaml_event_delete((&((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->parsed_event));
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":656 */
+    __pyx_1 = ((struct __pyx_vtabstruct_5_yaml_CParser *)((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->__pyx_vtab)->_parse_next_event(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)); if (__pyx_1 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; goto __pyx_L1;}
+    goto __pyx_L2;
+  }
+  __pyx_L2:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":657 */
+  __pyx_1 = (((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->parsed_event.type != YAML_STREAM_END_EVENT);
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":658 */
+    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_True); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; goto __pyx_L1;}
+    __pyx_r = __pyx_2;
+    __pyx_2 = 0;
+    goto __pyx_L0;
+    goto __pyx_L3;
+  }
+  __pyx_L3:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":659 */
+  __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; goto __pyx_L1;}
+  __pyx_r = __pyx_2;
+  __pyx_2 = 0;
+  goto __pyx_L0;
+
+  __pyx_r = Py_None; Py_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_2);
+  __Pyx_AddTraceback("_yaml.CParser.check_node");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_self);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_f_5_yaml_7CParser_get_node(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_5_yaml_7CParser_get_node(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_r;
+  int __pyx_1;
+  PyObject *__pyx_2 = 0;
+  static char *__pyx_argnames[] = {0};
+  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
+  Py_INCREF(__pyx_v_self);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":662 */
+  __pyx_1 = ((struct __pyx_vtabstruct_5_yaml_CParser *)((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->__pyx_vtab)->_parse_next_event(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)); if (__pyx_1 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; goto __pyx_L1;}
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":663 */
+  __pyx_1 = (((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->parsed_event.type != YAML_STREAM_END_EVENT);
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":664 */
+    __pyx_2 = ((struct __pyx_vtabstruct_5_yaml_CParser *)((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)->__pyx_vtab)->_compose_document(((struct __pyx_obj_5_yaml_CParser *)__pyx_v_self)); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; goto __pyx_L1;}
+    __pyx_r = __pyx_2;
+    __pyx_2 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_L2:;
+
+  __pyx_r = Py_None; Py_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_2);
+  __Pyx_AddTraceback("_yaml.CParser.get_node");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_self);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_f_5_yaml_7CParser__compose_document(struct __pyx_obj_5_yaml_CParser *__pyx_v_self) {
+  PyObject *__pyx_v_node;
+  PyObject *__pyx_r;
+  PyObject *__pyx_1 = 0;
+  int __pyx_2;
+  Py_INCREF(__pyx_v_self);
+  __pyx_v_node = Py_None; Py_INCREF(Py_None);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":667 */
+  yaml_event_delete((&__pyx_v_self->parsed_event));
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":668 */
+  __pyx_1 = ((struct __pyx_vtabstruct_5_yaml_CParser *)__pyx_v_self->__pyx_vtab)->_compose_node(__pyx_v_self,Py_None,Py_None); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; goto __pyx_L1;}
+  Py_DECREF(__pyx_v_node);
+  __pyx_v_node = __pyx_1;
+  __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":669 */
+  __pyx_2 = ((struct __pyx_vtabstruct_5_yaml_CParser *)__pyx_v_self->__pyx_vtab)->_parse_next_event(__pyx_v_self); if (__pyx_2 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 669; goto __pyx_L1;}
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":670 */
+  yaml_event_delete((&__pyx_v_self->parsed_event));
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":671 */
+  __pyx_1 = PyDict_New(); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; goto __pyx_L1;}
+  Py_DECREF(__pyx_v_self->anchors);
+  __pyx_v_self->anchors = __pyx_1;
+  __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":672 */
+  Py_INCREF(__pyx_v_node);
+  __pyx_r = __pyx_v_node;
+  goto __pyx_L0;
+
+  __pyx_r = Py_None; Py_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_1);
+  __Pyx_AddTraceback("_yaml.CParser._compose_document");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_node);
+  Py_DECREF(__pyx_v_self);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_n_start_mark;
+static PyObject *__pyx_n_descend_resolver;
+static PyObject *__pyx_n_ascend_resolver;
+
+static PyObject *__pyx_k56p;
+static PyObject *__pyx_k60p;
+static PyObject *__pyx_k61p;
+
+static char (__pyx_k55[]) = "strict";
+static char (__pyx_k56[]) = "found undefined alias";
+static char (__pyx_k57[]) = "strict";
+static char (__pyx_k58[]) = "strict";
+static char (__pyx_k59[]) = "strict";
+static char (__pyx_k60[]) = "found duplicate anchor; first occurence";
+static char (__pyx_k61[]) = "second occurence";
+
+static PyObject *__pyx_f_5_yaml_7CParser__compose_node(struct __pyx_obj_5_yaml_CParser *__pyx_v_self,PyObject *__pyx_v_parent,PyObject *__pyx_v_index) {
+  PyObject *__pyx_v_anchor;
+  PyObject *__pyx_v_mark;
+  PyObject *__pyx_v_node;
+  PyObject *__pyx_r;
+  int __pyx_1;
+  PyObject *__pyx_2 = 0;
+  PyObject *__pyx_3 = 0;
+  PyObject *__pyx_4 = 0;
+  PyObject *__pyx_5 = 0;
+  Py_INCREF(__pyx_v_self);
+  Py_INCREF(__pyx_v_parent);
+  Py_INCREF(__pyx_v_index);
+  __pyx_v_anchor = Py_None; Py_INCREF(Py_None);
+  __pyx_v_mark = Py_None; Py_INCREF(Py_None);
+  __pyx_v_node = Py_None; Py_INCREF(Py_None);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":675 */
+  __pyx_1 = ((struct __pyx_vtabstruct_5_yaml_CParser *)__pyx_v_self->__pyx_vtab)->_parse_next_event(__pyx_v_self); if (__pyx_1 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; goto __pyx_L1;}
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":676 */
+  __pyx_1 = (__pyx_v_self->parsed_event.type == YAML_ALIAS_EVENT);
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":677 */
+    __pyx_2 = PyUnicode_DecodeUTF8(__pyx_v_self->parsed_event.data.alias.anchor,strlen(__pyx_v_self->parsed_event.data.alias.anchor),__pyx_k55); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_anchor);
+    __pyx_v_anchor = __pyx_2;
+    __pyx_2 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":679 */
+    __pyx_1 = PySequence_Contains(__pyx_v_self->anchors, __pyx_v_anchor); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; goto __pyx_L1;}
+    __pyx_1 = !__pyx_1;
+    if (__pyx_1) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":680 */
+      __pyx_2 = PyInt_FromLong(__pyx_v_self->parsed_event.start_mark.index); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; goto __pyx_L1;}
+      __pyx_3 = PyInt_FromLong(__pyx_v_self->parsed_event.start_mark.line); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; goto __pyx_L1;}
+      __pyx_4 = PyInt_FromLong(__pyx_v_self->parsed_event.start_mark.column); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; goto __pyx_L1;}
+      __pyx_5 = PyTuple_New(6); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; goto __pyx_L1;}
+      Py_INCREF(__pyx_v_self->stream_name);
+      PyTuple_SET_ITEM(__pyx_5, 0, __pyx_v_self->stream_name);
+      PyTuple_SET_ITEM(__pyx_5, 1, __pyx_2);
+      PyTuple_SET_ITEM(__pyx_5, 2, __pyx_3);
+      PyTuple_SET_ITEM(__pyx_5, 3, __pyx_4);
+      Py_INCREF(Py_None);
+      PyTuple_SET_ITEM(__pyx_5, 4, Py_None);
+      Py_INCREF(Py_None);
+      PyTuple_SET_ITEM(__pyx_5, 5, Py_None);
+      __pyx_2 = 0;
+      __pyx_3 = 0;
+      __pyx_4 = 0;
+      __pyx_2 = PyObject_CallObject(((PyObject*)__pyx_ptype_5_yaml_Mark), __pyx_5); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; goto __pyx_L1;}
+      Py_DECREF(__pyx_5); __pyx_5 = 0;
+      Py_DECREF(__pyx_v_mark);
+      __pyx_v_mark = __pyx_2;
+      __pyx_2 = 0;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":685 */
+      __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_ComposerError); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; goto __pyx_L1;}
+      __pyx_4 = PyTuple_New(4); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; goto __pyx_L1;}
+      Py_INCREF(Py_None);
+      PyTuple_SET_ITEM(__pyx_4, 0, Py_None);
+      Py_INCREF(Py_None);
+      PyTuple_SET_ITEM(__pyx_4, 1, Py_None);
+      Py_INCREF(__pyx_k56p);
+      PyTuple_SET_ITEM(__pyx_4, 2, __pyx_k56p);
+      Py_INCREF(__pyx_v_mark);
+      PyTuple_SET_ITEM(__pyx_4, 3, __pyx_v_mark);
+      __pyx_5 = PyObject_CallObject(__pyx_3, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; goto __pyx_L1;}
+      Py_DECREF(__pyx_3); __pyx_3 = 0;
+      Py_DECREF(__pyx_4); __pyx_4 = 0;
+      __Pyx_Raise(__pyx_5, 0, 0);
+      Py_DECREF(__pyx_5); __pyx_5 = 0;
+      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; goto __pyx_L1;}
+      goto __pyx_L3;
+    }
+    __pyx_L3:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":686 */
+    yaml_event_delete((&__pyx_v_self->parsed_event));
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":687 */
+    __pyx_2 = PyObject_GetItem(__pyx_v_self->anchors, __pyx_v_anchor); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; goto __pyx_L1;}
+    __pyx_r = __pyx_2;
+    __pyx_2 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_L2:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":688 */
+  Py_INCREF(Py_None);
+  Py_DECREF(__pyx_v_anchor);
+  __pyx_v_anchor = Py_None;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":689 */
+  __pyx_1 = (__pyx_v_self->parsed_event.type == YAML_SCALAR_EVENT);
+  if (__pyx_1) {
+    __pyx_1 = (__pyx_v_self->parsed_event.data.scalar.anchor != 0);
+  }
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":691 */
+    __pyx_3 = PyUnicode_DecodeUTF8(__pyx_v_self->parsed_event.data.scalar.anchor,strlen(__pyx_v_self->parsed_event.data.scalar.anchor),__pyx_k57); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_anchor);
+    __pyx_v_anchor = __pyx_3;
+    __pyx_3 = 0;
+    goto __pyx_L4;
+  }
+  __pyx_1 = (__pyx_v_self->parsed_event.type == YAML_SEQUENCE_START_EVENT);
+  if (__pyx_1) {
+    __pyx_1 = (__pyx_v_self->parsed_event.data.sequence_start.anchor != 0);
+  }
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":695 */
+    __pyx_4 = PyUnicode_DecodeUTF8(__pyx_v_self->parsed_event.data.sequence_start.anchor,strlen(__pyx_v_self->parsed_event.data.sequence_start.anchor),__pyx_k58); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_anchor);
+    __pyx_v_anchor = __pyx_4;
+    __pyx_4 = 0;
+    goto __pyx_L4;
+  }
+  __pyx_1 = (__pyx_v_self->parsed_event.type == YAML_MAPPING_START_EVENT);
+  if (__pyx_1) {
+    __pyx_1 = (__pyx_v_self->parsed_event.data.mapping_start.anchor != 0);
+  }
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":699 */
+    __pyx_5 = PyUnicode_DecodeUTF8(__pyx_v_self->parsed_event.data.mapping_start.anchor,strlen(__pyx_v_self->parsed_event.data.mapping_start.anchor),__pyx_k59); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_anchor);
+    __pyx_v_anchor = __pyx_5;
+    __pyx_5 = 0;
+    goto __pyx_L4;
+  }
+  __pyx_L4:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":701 */
+  __pyx_1 = __pyx_v_anchor != Py_None;
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":702 */
+    __pyx_1 = PySequence_Contains(__pyx_v_self->anchors, __pyx_v_anchor); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; goto __pyx_L1;}
+    if (__pyx_1) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":703 */
+      __pyx_2 = PyInt_FromLong(__pyx_v_self->parsed_event.start_mark.index); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; goto __pyx_L1;}
+      __pyx_3 = PyInt_FromLong(__pyx_v_self->parsed_event.start_mark.line); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; goto __pyx_L1;}
+      __pyx_4 = PyInt_FromLong(__pyx_v_self->parsed_event.start_mark.column); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 706; goto __pyx_L1;}
+      __pyx_5 = PyTuple_New(6); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; goto __pyx_L1;}
+      Py_INCREF(__pyx_v_self->stream_name);
+      PyTuple_SET_ITEM(__pyx_5, 0, __pyx_v_self->stream_name);
+      PyTuple_SET_ITEM(__pyx_5, 1, __pyx_2);
+      PyTuple_SET_ITEM(__pyx_5, 2, __pyx_3);
+      PyTuple_SET_ITEM(__pyx_5, 3, __pyx_4);
+      Py_INCREF(Py_None);
+      PyTuple_SET_ITEM(__pyx_5, 4, Py_None);
+      Py_INCREF(Py_None);
+      PyTuple_SET_ITEM(__pyx_5, 5, Py_None);
+      __pyx_2 = 0;
+      __pyx_3 = 0;
+      __pyx_4 = 0;
+      __pyx_2 = PyObject_CallObject(((PyObject*)__pyx_ptype_5_yaml_Mark), __pyx_5); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 703; goto __pyx_L1;}
+      Py_DECREF(__pyx_5); __pyx_5 = 0;
+      Py_DECREF(__pyx_v_mark);
+      __pyx_v_mark = __pyx_2;
+      __pyx_2 = 0;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":708 */
+      __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_ComposerError); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; goto __pyx_L1;}
+      __pyx_4 = PyObject_GetItem(__pyx_v_self->anchors, __pyx_v_anchor); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; goto __pyx_L1;}
+      __pyx_5 = PyObject_GetAttr(__pyx_4, __pyx_n_start_mark); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; goto __pyx_L1;}
+      Py_DECREF(__pyx_4); __pyx_4 = 0;
+      __pyx_2 = PyTuple_New(4); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; goto __pyx_L1;}
+      Py_INCREF(__pyx_k60p);
+      PyTuple_SET_ITEM(__pyx_2, 0, __pyx_k60p);
+      PyTuple_SET_ITEM(__pyx_2, 1, __pyx_5);
+      Py_INCREF(__pyx_k61p);
+      PyTuple_SET_ITEM(__pyx_2, 2, __pyx_k61p);
+      Py_INCREF(__pyx_v_mark);
+      PyTuple_SET_ITEM(__pyx_2, 3, __pyx_v_mark);
+      __pyx_5 = 0;
+      __pyx_4 = PyObject_CallObject(__pyx_3, __pyx_2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; goto __pyx_L1;}
+      Py_DECREF(__pyx_3); __pyx_3 = 0;
+      Py_DECREF(__pyx_2); __pyx_2 = 0;
+      __Pyx_Raise(__pyx_4, 0, 0);
+      Py_DECREF(__pyx_4); __pyx_4 = 0;
+      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; goto __pyx_L1;}
+      goto __pyx_L6;
+    }
+    __pyx_L6:;
+    goto __pyx_L5;
+  }
+  __pyx_L5:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":710 */
+  __pyx_5 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_descend_resolver); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; goto __pyx_L1;}
+  __pyx_3 = PyTuple_New(2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; goto __pyx_L1;}
+  Py_INCREF(__pyx_v_parent);
+  PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_parent);
+  Py_INCREF(__pyx_v_index);
+  PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_index);
+  __pyx_2 = PyObject_CallObject(__pyx_5, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; goto __pyx_L1;}
+  Py_DECREF(__pyx_5); __pyx_5 = 0;
+  Py_DECREF(__pyx_3); __pyx_3 = 0;
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":711 */
+  __pyx_1 = (__pyx_v_self->parsed_event.type == YAML_SCALAR_EVENT);
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":712 */
+    __pyx_4 = ((struct __pyx_vtabstruct_5_yaml_CParser *)__pyx_v_self->__pyx_vtab)->_compose_scalar_node(__pyx_v_self,__pyx_v_anchor); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_node);
+    __pyx_v_node = __pyx_4;
+    __pyx_4 = 0;
+    goto __pyx_L7;
+  }
+  __pyx_1 = (__pyx_v_self->parsed_event.type == YAML_SEQUENCE_START_EVENT);
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":714 */
+    __pyx_5 = ((struct __pyx_vtabstruct_5_yaml_CParser *)__pyx_v_self->__pyx_vtab)->_compose_sequence_node(__pyx_v_self,__pyx_v_anchor); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 714; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_node);
+    __pyx_v_node = __pyx_5;
+    __pyx_5 = 0;
+    goto __pyx_L7;
+  }
+  __pyx_1 = (__pyx_v_self->parsed_event.type == YAML_MAPPING_START_EVENT);
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":716 */
+    __pyx_3 = ((struct __pyx_vtabstruct_5_yaml_CParser *)__pyx_v_self->__pyx_vtab)->_compose_mapping_node(__pyx_v_self,__pyx_v_anchor); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_node);
+    __pyx_v_node = __pyx_3;
+    __pyx_3 = 0;
+    goto __pyx_L7;
+  }
+  __pyx_L7:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":717 */
+  __pyx_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_ascend_resolver); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; goto __pyx_L1;}
+  __pyx_4 = PyTuple_New(0); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; goto __pyx_L1;}
+  __pyx_5 = PyObject_CallObject(__pyx_2, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 717; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  Py_DECREF(__pyx_4); __pyx_4 = 0;
+  Py_DECREF(__pyx_5); __pyx_5 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":718 */
+  Py_INCREF(__pyx_v_node);
+  __pyx_r = __pyx_v_node;
+  goto __pyx_L0;
+
+  __pyx_r = Py_None; Py_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_2);
+  Py_XDECREF(__pyx_3);
+  Py_XDECREF(__pyx_4);
+  Py_XDECREF(__pyx_5);
+  __Pyx_AddTraceback("_yaml.CParser._compose_node");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_anchor);
+  Py_DECREF(__pyx_v_mark);
+  Py_DECREF(__pyx_v_node);
+  Py_DECREF(__pyx_v_self);
+  Py_DECREF(__pyx_v_parent);
+  Py_DECREF(__pyx_v_index);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_n_resolve;
+
+static PyObject *__pyx_k64p;
+static PyObject *__pyx_k65p;
+static PyObject *__pyx_k66p;
+static PyObject *__pyx_k67p;
+static PyObject *__pyx_k68p;
+
+static char (__pyx_k62[]) = "strict";
+static char (__pyx_k63[]) = "strict";
+static char (__pyx_k64[]) = "";
+static char (__pyx_k65[]) = "\'";
+static char (__pyx_k66[]) = "\"";
+static char (__pyx_k67[]) = "|";
+static char (__pyx_k68[]) = ">";
+
+static PyObject *__pyx_f_5_yaml_7CParser__compose_scalar_node(struct __pyx_obj_5_yaml_CParser *__pyx_v_self,PyObject *__pyx_v_anchor) {
+  PyObject *__pyx_v_start_mark;
+  PyObject *__pyx_v_end_mark;
+  PyObject *__pyx_v_value;
+  PyObject *__pyx_v_plain_implicit;
+  PyObject *__pyx_v_quoted_implicit;
+  PyObject *__pyx_v_tag;
+  PyObject *__pyx_v_style;
+  PyObject *__pyx_v_node;
+  PyObject *__pyx_r;
+  PyObject *__pyx_1 = 0;
+  PyObject *__pyx_2 = 0;
+  PyObject *__pyx_3 = 0;
+  PyObject *__pyx_4 = 0;
+  int __pyx_5;
+  Py_INCREF(__pyx_v_self);
+  Py_INCREF(__pyx_v_anchor);
+  __pyx_v_start_mark = Py_None; Py_INCREF(Py_None);
+  __pyx_v_end_mark = Py_None; Py_INCREF(Py_None);
+  __pyx_v_value = Py_None; Py_INCREF(Py_None);
+  __pyx_v_plain_implicit = Py_None; Py_INCREF(Py_None);
+  __pyx_v_quoted_implicit = Py_None; Py_INCREF(Py_None);
+  __pyx_v_tag = Py_None; Py_INCREF(Py_None);
+  __pyx_v_style = Py_None; Py_INCREF(Py_None);
+  __pyx_v_node = Py_None; Py_INCREF(Py_None);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":721 */
+  __pyx_1 = PyInt_FromLong(__pyx_v_self->parsed_event.start_mark.index); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; goto __pyx_L1;}
+  __pyx_2 = PyInt_FromLong(__pyx_v_self->parsed_event.start_mark.line); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 723; goto __pyx_L1;}
+  __pyx_3 = PyInt_FromLong(__pyx_v_self->parsed_event.start_mark.column); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 724; goto __pyx_L1;}
+  __pyx_4 = PyTuple_New(6); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; goto __pyx_L1;}
+  Py_INCREF(__pyx_v_self->stream_name);
+  PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_self->stream_name);
+  PyTuple_SET_ITEM(__pyx_4, 1, __pyx_1);
+  PyTuple_SET_ITEM(__pyx_4, 2, __pyx_2);
+  PyTuple_SET_ITEM(__pyx_4, 3, __pyx_3);
+  Py_INCREF(Py_None);
+  PyTuple_SET_ITEM(__pyx_4, 4, Py_None);
+  Py_INCREF(Py_None);
+  PyTuple_SET_ITEM(__pyx_4, 5, Py_None);
+  __pyx_1 = 0;
+  __pyx_2 = 0;
+  __pyx_3 = 0;
+  __pyx_1 = PyObject_CallObject(((PyObject*)__pyx_ptype_5_yaml_Mark), __pyx_4); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; goto __pyx_L1;}
+  Py_DECREF(__pyx_4); __pyx_4 = 0;
+  Py_DECREF(__pyx_v_start_mark);
+  __pyx_v_start_mark = __pyx_1;
+  __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":726 */
+  __pyx_2 = PyInt_FromLong(__pyx_v_self->parsed_event.end_mark.index); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; goto __pyx_L1;}
+  __pyx_3 = PyInt_FromLong(__pyx_v_self->parsed_event.end_mark.line); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; goto __pyx_L1;}
+  __pyx_4 = PyInt_FromLong(__pyx_v_self->parsed_event.end_mark.column); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 729; goto __pyx_L1;}
+  __pyx_1 = PyTuple_New(6); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; goto __pyx_L1;}
+  Py_INCREF(__pyx_v_self->stream_name);
+  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_self->stream_name);
+  PyTuple_SET_ITEM(__pyx_1, 1, __pyx_2);
+  PyTuple_SET_ITEM(__pyx_1, 2, __pyx_3);
+  PyTuple_SET_ITEM(__pyx_1, 3, __pyx_4);
+  Py_INCREF(Py_None);
+  PyTuple_SET_ITEM(__pyx_1, 4, Py_None);
+  Py_INCREF(Py_None);
+  PyTuple_SET_ITEM(__pyx_1, 5, Py_None);
+  __pyx_2 = 0;
+  __pyx_3 = 0;
+  __pyx_4 = 0;
+  __pyx_2 = PyObject_CallObject(((PyObject*)__pyx_ptype_5_yaml_Mark), __pyx_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  Py_DECREF(__pyx_v_end_mark);
+  __pyx_v_end_mark = __pyx_2;
+  __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":731 */
+  __pyx_3 = PyUnicode_DecodeUTF8(__pyx_v_self->parsed_event.data.scalar.value,__pyx_v_self->parsed_event.data.scalar.length,__pyx_k62); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; goto __pyx_L1;}
+  Py_DECREF(__pyx_v_value);
+  __pyx_v_value = __pyx_3;
+  __pyx_3 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":733 */
+  __pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; goto __pyx_L1;}
+  Py_DECREF(__pyx_v_plain_implicit);
+  __pyx_v_plain_implicit = __pyx_4;
+  __pyx_4 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":734 */
+  __pyx_5 = (__pyx_v_self->parsed_event.data.scalar.plain_implicit == 1);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":735 */
+    __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_True); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_plain_implicit);
+    __pyx_v_plain_implicit = __pyx_1;
+    __pyx_1 = 0;
+    goto __pyx_L2;
+  }
+  __pyx_L2:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":736 */
+  __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; goto __pyx_L1;}
+  Py_DECREF(__pyx_v_quoted_implicit);
+  __pyx_v_quoted_implicit = __pyx_2;
+  __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":737 */
+  __pyx_5 = (__pyx_v_self->parsed_event.data.scalar.quoted_implicit == 1);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":738 */
+    __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_True); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_quoted_implicit);
+    __pyx_v_quoted_implicit = __pyx_3;
+    __pyx_3 = 0;
+    goto __pyx_L3;
+  }
+  __pyx_L3:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":739 */
+  __pyx_5 = (__pyx_v_self->parsed_event.data.scalar.tag == 0);
+  if (!__pyx_5) {
+    __pyx_5 = ((__pyx_v_self->parsed_event.data.scalar.tag[0]) == '!');
+    if (__pyx_5) {
+      __pyx_5 = ((__pyx_v_self->parsed_event.data.scalar.tag[1]) == '\0');
+    }
+  }
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":742 */
+    __pyx_4 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_resolve); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; goto __pyx_L1;}
+    __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_ScalarNode); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; goto __pyx_L1;}
+    __pyx_2 = PyTuple_New(2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_plain_implicit);
+    PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_plain_implicit);
+    Py_INCREF(__pyx_v_quoted_implicit);
+    PyTuple_SET_ITEM(__pyx_2, 1, __pyx_v_quoted_implicit);
+    __pyx_3 = PyTuple_New(3); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; goto __pyx_L1;}
+    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_1);
+    Py_INCREF(__pyx_v_value);
+    PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_value);
+    PyTuple_SET_ITEM(__pyx_3, 2, __pyx_2);
+    __pyx_1 = 0;
+    __pyx_2 = 0;
+    __pyx_1 = PyObject_CallObject(__pyx_4, __pyx_3); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; goto __pyx_L1;}
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    Py_DECREF(__pyx_v_tag);
+    __pyx_v_tag = __pyx_1;
+    __pyx_1 = 0;
+    goto __pyx_L4;
+  }
+  /*else*/ {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":744 */
+    __pyx_2 = PyUnicode_DecodeUTF8(__pyx_v_self->parsed_event.data.scalar.tag,strlen(__pyx_v_self->parsed_event.data.scalar.tag),__pyx_k63); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 744; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_tag);
+    __pyx_v_tag = __pyx_2;
+    __pyx_2 = 0;
+  }
+  __pyx_L4:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":746 */
+  Py_INCREF(Py_None);
+  Py_DECREF(__pyx_v_style);
+  __pyx_v_style = Py_None;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":747 */
+  __pyx_5 = (__pyx_v_self->parsed_event.data.scalar.style == YAML_PLAIN_SCALAR_STYLE);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":748 */
+    Py_INCREF(__pyx_k64p);
+    Py_DECREF(__pyx_v_style);
+    __pyx_v_style = __pyx_k64p;
+    goto __pyx_L5;
+  }
+  __pyx_5 = (__pyx_v_self->parsed_event.data.scalar.style == YAML_SINGLE_QUOTED_SCALAR_STYLE);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":750 */
+    Py_INCREF(__pyx_k65p);
+    Py_DECREF(__pyx_v_style);
+    __pyx_v_style = __pyx_k65p;
+    goto __pyx_L5;
+  }
+  __pyx_5 = (__pyx_v_self->parsed_event.data.scalar.style == YAML_DOUBLE_QUOTED_SCALAR_STYLE);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":752 */
+    Py_INCREF(__pyx_k66p);
+    Py_DECREF(__pyx_v_style);
+    __pyx_v_style = __pyx_k66p;
+    goto __pyx_L5;
+  }
+  __pyx_5 = (__pyx_v_self->parsed_event.data.scalar.style == YAML_LITERAL_SCALAR_STYLE);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":754 */
+    Py_INCREF(__pyx_k67p);
+    Py_DECREF(__pyx_v_style);
+    __pyx_v_style = __pyx_k67p;
+    goto __pyx_L5;
+  }
+  __pyx_5 = (__pyx_v_self->parsed_event.data.scalar.style == YAML_FOLDED_SCALAR_STYLE);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":756 */
+    Py_INCREF(__pyx_k68p);
+    Py_DECREF(__pyx_v_style);
+    __pyx_v_style = __pyx_k68p;
+    goto __pyx_L5;
+  }
+  __pyx_L5:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":757 */
+  __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n_ScalarNode); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; goto __pyx_L1;}
+  __pyx_3 = PyTuple_New(5); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; goto __pyx_L1;}
+  Py_INCREF(__pyx_v_tag);
+  PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_tag);
+  Py_INCREF(__pyx_v_value);
+  PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_value);
+  Py_INCREF(__pyx_v_start_mark);
+  PyTuple_SET_ITEM(__pyx_3, 2, __pyx_v_start_mark);
+  Py_INCREF(__pyx_v_end_mark);
+  PyTuple_SET_ITEM(__pyx_3, 3, __pyx_v_end_mark);
+  Py_INCREF(__pyx_v_style);
+  PyTuple_SET_ITEM(__pyx_3, 4, __pyx_v_style);
+  __pyx_1 = PyObject_CallObject(__pyx_4, __pyx_3); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; goto __pyx_L1;}
+  Py_DECREF(__pyx_4); __pyx_4 = 0;
+  Py_DECREF(__pyx_3); __pyx_3 = 0;
+  Py_DECREF(__pyx_v_node);
+  __pyx_v_node = __pyx_1;
+  __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":758 */
+  __pyx_5 = __pyx_v_anchor != Py_None;
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":759 */
+    if (PyObject_SetItem(__pyx_v_self->anchors, __pyx_v_anchor, __pyx_v_node) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; goto __pyx_L1;}
+    goto __pyx_L6;
+  }
+  __pyx_L6:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":760 */
+  yaml_event_delete((&__pyx_v_self->parsed_event));
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":761 */
+  Py_INCREF(__pyx_v_node);
+  __pyx_r = __pyx_v_node;
+  goto __pyx_L0;
+
+  __pyx_r = Py_None; Py_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_1);
+  Py_XDECREF(__pyx_2);
+  Py_XDECREF(__pyx_3);
+  Py_XDECREF(__pyx_4);
+  __Pyx_AddTraceback("_yaml.CParser._compose_scalar_node");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_start_mark);
+  Py_DECREF(__pyx_v_end_mark);
+  Py_DECREF(__pyx_v_value);
+  Py_DECREF(__pyx_v_plain_implicit);
+  Py_DECREF(__pyx_v_quoted_implicit);
+  Py_DECREF(__pyx_v_tag);
+  Py_DECREF(__pyx_v_style);
+  Py_DECREF(__pyx_v_node);
+  Py_DECREF(__pyx_v_self);
+  Py_DECREF(__pyx_v_anchor);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_n_append;
+static PyObject *__pyx_n_end_mark;
+
+static char (__pyx_k69[]) = "strict";
+
+static PyObject *__pyx_f_5_yaml_7CParser__compose_sequence_node(struct __pyx_obj_5_yaml_CParser *__pyx_v_self,PyObject *__pyx_v_anchor) {
+  int __pyx_v_index;
+  PyObject *__pyx_v_start_mark;
+  PyObject *__pyx_v_implicit;
+  PyObject *__pyx_v_tag;
+  PyObject *__pyx_v_flow_style;
+  PyObject *__pyx_v_value;
+  PyObject *__pyx_v_node;
+  PyObject *__pyx_r;
+  PyObject *__pyx_1 = 0;
+  PyObject *__pyx_2 = 0;
+  PyObject *__pyx_3 = 0;
+  PyObject *__pyx_4 = 0;
+  int __pyx_5;
+  Py_INCREF(__pyx_v_self);
+  Py_INCREF(__pyx_v_anchor);
+  __pyx_v_start_mark = Py_None; Py_INCREF(Py_None);
+  __pyx_v_implicit = Py_None; Py_INCREF(Py_None);
+  __pyx_v_tag = Py_None; Py_INCREF(Py_None);
+  __pyx_v_flow_style = Py_None; Py_INCREF(Py_None);
+  __pyx_v_value = Py_None; Py_INCREF(Py_None);
+  __pyx_v_node = Py_None; Py_INCREF(Py_None);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":765 */
+  __pyx_1 = PyInt_FromLong(__pyx_v_self->parsed_event.start_mark.index); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; goto __pyx_L1;}
+  __pyx_2 = PyInt_FromLong(__pyx_v_self->parsed_event.start_mark.line); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; goto __pyx_L1;}
+  __pyx_3 = PyInt_FromLong(__pyx_v_self->parsed_event.start_mark.column); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; goto __pyx_L1;}
+  __pyx_4 = PyTuple_New(6); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; goto __pyx_L1;}
+  Py_INCREF(__pyx_v_self->stream_name);
+  PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_self->stream_name);
+  PyTuple_SET_ITEM(__pyx_4, 1, __pyx_1);
+  PyTuple_SET_ITEM(__pyx_4, 2, __pyx_2);
+  PyTuple_SET_ITEM(__pyx_4, 3, __pyx_3);
+  Py_INCREF(Py_None);
+  PyTuple_SET_ITEM(__pyx_4, 4, Py_None);
+  Py_INCREF(Py_None);
+  PyTuple_SET_ITEM(__pyx_4, 5, Py_None);
+  __pyx_1 = 0;
+  __pyx_2 = 0;
+  __pyx_3 = 0;
+  __pyx_1 = PyObject_CallObject(((PyObject*)__pyx_ptype_5_yaml_Mark), __pyx_4); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 765; goto __pyx_L1;}
+  Py_DECREF(__pyx_4); __pyx_4 = 0;
+  Py_DECREF(__pyx_v_start_mark);
+  __pyx_v_start_mark = __pyx_1;
+  __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":770 */
+  __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; goto __pyx_L1;}
+  Py_DECREF(__pyx_v_implicit);
+  __pyx_v_implicit = __pyx_2;
+  __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":771 */
+  __pyx_5 = (__pyx_v_self->parsed_event.data.sequence_start.implicit == 1);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":772 */
+    __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_True); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_implicit);
+    __pyx_v_implicit = __pyx_3;
+    __pyx_3 = 0;
+    goto __pyx_L2;
+  }
+  __pyx_L2:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":773 */
+  __pyx_5 = (__pyx_v_self->parsed_event.data.sequence_start.tag == 0);
+  if (!__pyx_5) {
+    __pyx_5 = ((__pyx_v_self->parsed_event.data.sequence_start.tag[0]) == '!');
+    if (__pyx_5) {
+      __pyx_5 = ((__pyx_v_self->parsed_event.data.sequence_start.tag[1]) == '\0');
+    }
+  }
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":776 */
+    __pyx_4 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_resolve); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; goto __pyx_L1;}
+    __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_SequenceNode); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; goto __pyx_L1;}
+    __pyx_2 = PyTuple_New(3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; goto __pyx_L1;}
+    PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1);
+    Py_INCREF(Py_None);
+    PyTuple_SET_ITEM(__pyx_2, 1, Py_None);
+    Py_INCREF(__pyx_v_implicit);
+    PyTuple_SET_ITEM(__pyx_2, 2, __pyx_v_implicit);
+    __pyx_1 = 0;
+    __pyx_3 = PyObject_CallObject(__pyx_4, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; goto __pyx_L1;}
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    Py_DECREF(__pyx_v_tag);
+    __pyx_v_tag = __pyx_3;
+    __pyx_3 = 0;
+    goto __pyx_L3;
+  }
+  /*else*/ {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":778 */
+    __pyx_1 = PyUnicode_DecodeUTF8(__pyx_v_self->parsed_event.data.sequence_start.tag,strlen(__pyx_v_self->parsed_event.data.sequence_start.tag),__pyx_k69); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_tag);
+    __pyx_v_tag = __pyx_1;
+    __pyx_1 = 0;
+  }
+  __pyx_L3:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":780 */
+  Py_INCREF(Py_None);
+  Py_DECREF(__pyx_v_flow_style);
+  __pyx_v_flow_style = Py_None;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":781 */
+  __pyx_5 = (__pyx_v_self->parsed_event.data.sequence_start.style == YAML_FLOW_SEQUENCE_STYLE);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":782 */
+    __pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_True); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 782; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_flow_style);
+    __pyx_v_flow_style = __pyx_4;
+    __pyx_4 = 0;
+    goto __pyx_L4;
+  }
+  __pyx_5 = (__pyx_v_self->parsed_event.data.sequence_start.style == YAML_BLOCK_SEQUENCE_STYLE);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":784 */
+    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_flow_style);
+    __pyx_v_flow_style = __pyx_2;
+    __pyx_2 = 0;
+    goto __pyx_L4;
+  }
+  __pyx_L4:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":785 */
+  __pyx_3 = PyList_New(0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; goto __pyx_L1;}
+  Py_DECREF(__pyx_v_value);
+  __pyx_v_value = __pyx_3;
+  __pyx_3 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":786 */
+  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_SequenceNode); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; goto __pyx_L1;}
+  __pyx_4 = PyTuple_New(5); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; goto __pyx_L1;}
+  Py_INCREF(__pyx_v_tag);
+  PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_tag);
+  Py_INCREF(__pyx_v_value);
+  PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_value);
+  Py_INCREF(__pyx_v_start_mark);
+  PyTuple_SET_ITEM(__pyx_4, 2, __pyx_v_start_mark);
+  Py_INCREF(Py_None);
+  PyTuple_SET_ITEM(__pyx_4, 3, Py_None);
+  Py_INCREF(__pyx_v_flow_style);
+  PyTuple_SET_ITEM(__pyx_4, 4, __pyx_v_flow_style);
+  __pyx_2 = PyObject_CallObject(__pyx_1, __pyx_4); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  Py_DECREF(__pyx_4); __pyx_4 = 0;
+  Py_DECREF(__pyx_v_node);
+  __pyx_v_node = __pyx_2;
+  __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":787 */
+  __pyx_5 = __pyx_v_anchor != Py_None;
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":788 */
+    if (PyObject_SetItem(__pyx_v_self->anchors, __pyx_v_anchor, __pyx_v_node) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; goto __pyx_L1;}
+    goto __pyx_L5;
+  }
+  __pyx_L5:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":789 */
+  yaml_event_delete((&__pyx_v_self->parsed_event));
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":790 */
+  __pyx_v_index = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":791 */
+  __pyx_5 = ((struct __pyx_vtabstruct_5_yaml_CParser *)__pyx_v_self->__pyx_vtab)->_parse_next_event(__pyx_v_self); if (__pyx_5 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; goto __pyx_L1;}
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":792 */
+  while (1) {
+    __pyx_L6:;
+    __pyx_5 = (__pyx_v_self->parsed_event.type != YAML_SEQUENCE_END_EVENT);
+    if (!__pyx_5) break;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":793 */
+    __pyx_3 = PyObject_GetAttr(__pyx_v_value, __pyx_n_append); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; goto __pyx_L1;}
+    __pyx_1 = PyInt_FromLong(__pyx_v_index); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; goto __pyx_L1;}
+    __pyx_4 = ((struct __pyx_vtabstruct_5_yaml_CParser *)__pyx_v_self->__pyx_vtab)->_compose_node(__pyx_v_self,__pyx_v_node,__pyx_1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; goto __pyx_L1;}
+    Py_DECREF(__pyx_1); __pyx_1 = 0;
+    __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; goto __pyx_L1;}
+    PyTuple_SET_ITEM(__pyx_2, 0, __pyx_4);
+    __pyx_4 = 0;
+    __pyx_1 = PyObject_CallObject(__pyx_3, __pyx_2); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; goto __pyx_L1;}
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    Py_DECREF(__pyx_1); __pyx_1 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":794 */
+    __pyx_v_index = (__pyx_v_index + 1);
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":795 */
+    __pyx_5 = ((struct __pyx_vtabstruct_5_yaml_CParser *)__pyx_v_self->__pyx_vtab)->_parse_next_event(__pyx_v_self); if (__pyx_5 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 795; goto __pyx_L1;}
+  }
+  __pyx_L7:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":796 */
+  __pyx_4 = PyInt_FromLong(__pyx_v_self->parsed_event.end_mark.index); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; goto __pyx_L1;}
+  __pyx_3 = PyInt_FromLong(__pyx_v_self->parsed_event.end_mark.line); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; goto __pyx_L1;}
+  __pyx_2 = PyInt_FromLong(__pyx_v_self->parsed_event.end_mark.column); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; goto __pyx_L1;}
+  __pyx_1 = PyTuple_New(6); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; goto __pyx_L1;}
+  Py_INCREF(__pyx_v_self->stream_name);
+  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_self->stream_name);
+  PyTuple_SET_ITEM(__pyx_1, 1, __pyx_4);
+  PyTuple_SET_ITEM(__pyx_1, 2, __pyx_3);
+  PyTuple_SET_ITEM(__pyx_1, 3, __pyx_2);
+  Py_INCREF(Py_None);
+  PyTuple_SET_ITEM(__pyx_1, 4, Py_None);
+  Py_INCREF(Py_None);
+  PyTuple_SET_ITEM(__pyx_1, 5, Py_None);
+  __pyx_4 = 0;
+  __pyx_3 = 0;
+  __pyx_2 = 0;
+  __pyx_4 = PyObject_CallObject(((PyObject*)__pyx_ptype_5_yaml_Mark), __pyx_1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  if (PyObject_SetAttr(__pyx_v_node, __pyx_n_end_mark, __pyx_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; goto __pyx_L1;}
+  Py_DECREF(__pyx_4); __pyx_4 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":801 */
+  yaml_event_delete((&__pyx_v_self->parsed_event));
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":802 */
+  Py_INCREF(__pyx_v_node);
+  __pyx_r = __pyx_v_node;
+  goto __pyx_L0;
+
+  __pyx_r = Py_None; Py_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_1);
+  Py_XDECREF(__pyx_2);
+  Py_XDECREF(__pyx_3);
+  Py_XDECREF(__pyx_4);
+  __Pyx_AddTraceback("_yaml.CParser._compose_sequence_node");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_start_mark);
+  Py_DECREF(__pyx_v_implicit);
+  Py_DECREF(__pyx_v_tag);
+  Py_DECREF(__pyx_v_flow_style);
+  Py_DECREF(__pyx_v_value);
+  Py_DECREF(__pyx_v_node);
+  Py_DECREF(__pyx_v_self);
+  Py_DECREF(__pyx_v_anchor);
+  return __pyx_r;
+}
+
+static char (__pyx_k70[]) = "strict";
+
+static PyObject *__pyx_f_5_yaml_7CParser__compose_mapping_node(struct __pyx_obj_5_yaml_CParser *__pyx_v_self,PyObject *__pyx_v_anchor) {
+  PyObject *__pyx_v_start_mark;
+  PyObject *__pyx_v_implicit;
+  PyObject *__pyx_v_tag;
+  PyObject *__pyx_v_flow_style;
+  PyObject *__pyx_v_value;
+  PyObject *__pyx_v_node;
+  PyObject *__pyx_v_item_key;
+  PyObject *__pyx_v_item_value;
+  PyObject *__pyx_r;
+  PyObject *__pyx_1 = 0;
+  PyObject *__pyx_2 = 0;
+  PyObject *__pyx_3 = 0;
+  PyObject *__pyx_4 = 0;
+  int __pyx_5;
+  Py_INCREF(__pyx_v_self);
+  Py_INCREF(__pyx_v_anchor);
+  __pyx_v_start_mark = Py_None; Py_INCREF(Py_None);
+  __pyx_v_implicit = Py_None; Py_INCREF(Py_None);
+  __pyx_v_tag = Py_None; Py_INCREF(Py_None);
+  __pyx_v_flow_style = Py_None; Py_INCREF(Py_None);
+  __pyx_v_value = Py_None; Py_INCREF(Py_None);
+  __pyx_v_node = Py_None; Py_INCREF(Py_None);
+  __pyx_v_item_key = Py_None; Py_INCREF(Py_None);
+  __pyx_v_item_value = Py_None; Py_INCREF(Py_None);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":805 */
+  __pyx_1 = PyInt_FromLong(__pyx_v_self->parsed_event.start_mark.index); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; goto __pyx_L1;}
+  __pyx_2 = PyInt_FromLong(__pyx_v_self->parsed_event.start_mark.line); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; goto __pyx_L1;}
+  __pyx_3 = PyInt_FromLong(__pyx_v_self->parsed_event.start_mark.column); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; goto __pyx_L1;}
+  __pyx_4 = PyTuple_New(6); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; goto __pyx_L1;}
+  Py_INCREF(__pyx_v_self->stream_name);
+  PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_self->stream_name);
+  PyTuple_SET_ITEM(__pyx_4, 1, __pyx_1);
+  PyTuple_SET_ITEM(__pyx_4, 2, __pyx_2);
+  PyTuple_SET_ITEM(__pyx_4, 3, __pyx_3);
+  Py_INCREF(Py_None);
+  PyTuple_SET_ITEM(__pyx_4, 4, Py_None);
+  Py_INCREF(Py_None);
+  PyTuple_SET_ITEM(__pyx_4, 5, Py_None);
+  __pyx_1 = 0;
+  __pyx_2 = 0;
+  __pyx_3 = 0;
+  __pyx_1 = PyObject_CallObject(((PyObject*)__pyx_ptype_5_yaml_Mark), __pyx_4); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; goto __pyx_L1;}
+  Py_DECREF(__pyx_4); __pyx_4 = 0;
+  Py_DECREF(__pyx_v_start_mark);
+  __pyx_v_start_mark = __pyx_1;
+  __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":810 */
+  __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; goto __pyx_L1;}
+  Py_DECREF(__pyx_v_implicit);
+  __pyx_v_implicit = __pyx_2;
+  __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":811 */
+  __pyx_5 = (__pyx_v_self->parsed_event.data.mapping_start.implicit == 1);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":812 */
+    __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_True); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_implicit);
+    __pyx_v_implicit = __pyx_3;
+    __pyx_3 = 0;
+    goto __pyx_L2;
+  }
+  __pyx_L2:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":813 */
+  __pyx_5 = (__pyx_v_self->parsed_event.data.mapping_start.tag == 0);
+  if (!__pyx_5) {
+    __pyx_5 = ((__pyx_v_self->parsed_event.data.mapping_start.tag[0]) == '!');
+    if (__pyx_5) {
+      __pyx_5 = ((__pyx_v_self->parsed_event.data.mapping_start.tag[1]) == '\0');
+    }
+  }
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":816 */
+    __pyx_4 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_resolve); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; goto __pyx_L1;}
+    __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_MappingNode); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; goto __pyx_L1;}
+    __pyx_2 = PyTuple_New(3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; goto __pyx_L1;}
+    PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1);
+    Py_INCREF(Py_None);
+    PyTuple_SET_ITEM(__pyx_2, 1, Py_None);
+    Py_INCREF(__pyx_v_implicit);
+    PyTuple_SET_ITEM(__pyx_2, 2, __pyx_v_implicit);
+    __pyx_1 = 0;
+    __pyx_3 = PyObject_CallObject(__pyx_4, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; goto __pyx_L1;}
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    Py_DECREF(__pyx_v_tag);
+    __pyx_v_tag = __pyx_3;
+    __pyx_3 = 0;
+    goto __pyx_L3;
+  }
+  /*else*/ {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":818 */
+    __pyx_1 = PyUnicode_DecodeUTF8(__pyx_v_self->parsed_event.data.mapping_start.tag,strlen(__pyx_v_self->parsed_event.data.mapping_start.tag),__pyx_k70); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_tag);
+    __pyx_v_tag = __pyx_1;
+    __pyx_1 = 0;
+  }
+  __pyx_L3:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":820 */
+  Py_INCREF(Py_None);
+  Py_DECREF(__pyx_v_flow_style);
+  __pyx_v_flow_style = Py_None;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":821 */
+  __pyx_5 = (__pyx_v_self->parsed_event.data.mapping_start.style == YAML_FLOW_MAPPING_STYLE);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":822 */
+    __pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_True); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 822; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_flow_style);
+    __pyx_v_flow_style = __pyx_4;
+    __pyx_4 = 0;
+    goto __pyx_L4;
+  }
+  __pyx_5 = (__pyx_v_self->parsed_event.data.mapping_start.style == YAML_BLOCK_MAPPING_STYLE);
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":824 */
+    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 824; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_flow_style);
+    __pyx_v_flow_style = __pyx_2;
+    __pyx_2 = 0;
+    goto __pyx_L4;
+  }
+  __pyx_L4:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":825 */
+  __pyx_3 = PyList_New(0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; goto __pyx_L1;}
+  Py_DECREF(__pyx_v_value);
+  __pyx_v_value = __pyx_3;
+  __pyx_3 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":826 */
+  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_MappingNode); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; goto __pyx_L1;}
+  __pyx_4 = PyTuple_New(5); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; goto __pyx_L1;}
+  Py_INCREF(__pyx_v_tag);
+  PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_tag);
+  Py_INCREF(__pyx_v_value);
+  PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_value);
+  Py_INCREF(__pyx_v_start_mark);
+  PyTuple_SET_ITEM(__pyx_4, 2, __pyx_v_start_mark);
+  Py_INCREF(Py_None);
+  PyTuple_SET_ITEM(__pyx_4, 3, Py_None);
+  Py_INCREF(__pyx_v_flow_style);
+  PyTuple_SET_ITEM(__pyx_4, 4, __pyx_v_flow_style);
+  __pyx_2 = PyObject_CallObject(__pyx_1, __pyx_4); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  Py_DECREF(__pyx_4); __pyx_4 = 0;
+  Py_DECREF(__pyx_v_node);
+  __pyx_v_node = __pyx_2;
+  __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":827 */
+  __pyx_5 = __pyx_v_anchor != Py_None;
+  if (__pyx_5) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":828 */
+    if (PyObject_SetItem(__pyx_v_self->anchors, __pyx_v_anchor, __pyx_v_node) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 828; goto __pyx_L1;}
+    goto __pyx_L5;
+  }
+  __pyx_L5:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":829 */
+  yaml_event_delete((&__pyx_v_self->parsed_event));
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":830 */
+  __pyx_5 = ((struct __pyx_vtabstruct_5_yaml_CParser *)__pyx_v_self->__pyx_vtab)->_parse_next_event(__pyx_v_self); if (__pyx_5 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; goto __pyx_L1;}
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":831 */
+  while (1) {
+    __pyx_L6:;
+    __pyx_5 = (__pyx_v_self->parsed_event.type != YAML_MAPPING_END_EVENT);
+    if (!__pyx_5) break;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":832 */
+    __pyx_3 = ((struct __pyx_vtabstruct_5_yaml_CParser *)__pyx_v_self->__pyx_vtab)->_compose_node(__pyx_v_self,__pyx_v_node,Py_None); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_item_key);
+    __pyx_v_item_key = __pyx_3;
+    __pyx_3 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":833 */
+    __pyx_1 = ((struct __pyx_vtabstruct_5_yaml_CParser *)__pyx_v_self->__pyx_vtab)->_compose_node(__pyx_v_self,__pyx_v_node,__pyx_v_item_key); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_item_value);
+    __pyx_v_item_value = __pyx_1;
+    __pyx_1 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":834 */
+    __pyx_4 = PyObject_GetAttr(__pyx_v_value, __pyx_n_append); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; goto __pyx_L1;}
+    __pyx_2 = PyTuple_New(2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_item_key);
+    PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_item_key);
+    Py_INCREF(__pyx_v_item_value);
+    PyTuple_SET_ITEM(__pyx_2, 1, __pyx_v_item_value);
+    __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; goto __pyx_L1;}
+    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
+    __pyx_2 = 0;
+    __pyx_1 = PyObject_CallObject(__pyx_4, __pyx_3); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; goto __pyx_L1;}
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    Py_DECREF(__pyx_1); __pyx_1 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":835 */
+    __pyx_5 = ((struct __pyx_vtabstruct_5_yaml_CParser *)__pyx_v_self->__pyx_vtab)->_parse_next_event(__pyx_v_self); if (__pyx_5 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; goto __pyx_L1;}
+  }
+  __pyx_L7:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":836 */
+  __pyx_2 = PyInt_FromLong(__pyx_v_self->parsed_event.end_mark.index); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; goto __pyx_L1;}
+  __pyx_4 = PyInt_FromLong(__pyx_v_self->parsed_event.end_mark.line); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; goto __pyx_L1;}
+  __pyx_3 = PyInt_FromLong(__pyx_v_self->parsed_event.end_mark.column); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; goto __pyx_L1;}
+  __pyx_1 = PyTuple_New(6); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 836; goto __pyx_L1;}
+  Py_INCREF(__pyx_v_self->stream_name);
+  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_self->stream_name);
+  PyTuple_SET_ITEM(__pyx_1, 1, __pyx_2);
+  PyTuple_SET_ITEM(__pyx_1, 2, __pyx_4);
+  PyTuple_SET_ITEM(__pyx_1, 3, __pyx_3);
+  Py_INCREF(Py_None);
+  PyTuple_SET_ITEM(__pyx_1, 4, Py_None);
+  Py_INCREF(Py_None);
+  PyTuple_SET_ITEM(__pyx_1, 5, Py_None);
+  __pyx_2 = 0;
+  __pyx_4 = 0;
+  __pyx_3 = 0;
+  __pyx_2 = PyObject_CallObject(((PyObject*)__pyx_ptype_5_yaml_Mark), __pyx_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 836; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  if (PyObject_SetAttr(__pyx_v_node, __pyx_n_end_mark, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 836; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":841 */
+  yaml_event_delete((&__pyx_v_self->parsed_event));
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":842 */
+  Py_INCREF(__pyx_v_node);
+  __pyx_r = __pyx_v_node;
+  goto __pyx_L0;
+
+  __pyx_r = Py_None; Py_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_1);
+  Py_XDECREF(__pyx_2);
+  Py_XDECREF(__pyx_3);
+  Py_XDECREF(__pyx_4);
+  __Pyx_AddTraceback("_yaml.CParser._compose_mapping_node");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_start_mark);
+  Py_DECREF(__pyx_v_implicit);
+  Py_DECREF(__pyx_v_tag);
+  Py_DECREF(__pyx_v_flow_style);
+  Py_DECREF(__pyx_v_value);
+  Py_DECREF(__pyx_v_node);
+  Py_DECREF(__pyx_v_item_key);
+  Py_DECREF(__pyx_v_item_value);
+  Py_DECREF(__pyx_v_self);
+  Py_DECREF(__pyx_v_anchor);
+  return __pyx_r;
+}
+
+static int __pyx_f_5_yaml_7CParser__parse_next_event(struct __pyx_obj_5_yaml_CParser *__pyx_v_self) {
+  PyObject *__pyx_v_error;
+  int __pyx_r;
+  int __pyx_1;
+  int __pyx_2;
+  PyObject *__pyx_3 = 0;
+  Py_INCREF(__pyx_v_self);
+  __pyx_v_error = Py_None; Py_INCREF(Py_None);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":845 */
+  __pyx_1 = (__pyx_v_self->parsed_event.type == YAML_NO_EVENT);
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":846 */
+    __pyx_1 = yaml_parser_parse((&__pyx_v_self->parser),(&__pyx_v_self->parsed_event)); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; goto __pyx_L1;}
+    __pyx_2 = (__pyx_1 == 0);
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":847 */
+      __pyx_3 = ((struct __pyx_vtabstruct_5_yaml_CParser *)__pyx_v_self->__pyx_vtab)->_parser_error(__pyx_v_self); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_error);
+      __pyx_v_error = __pyx_3;
+      __pyx_3 = 0;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":848 */
+      __Pyx_Raise(__pyx_v_error, 0, 0);
+      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 848; goto __pyx_L1;}
+      goto __pyx_L3;
+    }
+    __pyx_L3:;
+    goto __pyx_L2;
+  }
+  __pyx_L2:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":849 */
+  __pyx_r = 1;
+  goto __pyx_L0;
+
+  __pyx_r = 0;
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_3);
+  __Pyx_AddTraceback("_yaml.CParser._parse_next_event");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_error);
+  Py_DECREF(__pyx_v_self);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_k71p;
+static PyObject *__pyx_k72p;
+
+static char (__pyx_k71[]) = "a string value is expected";
+static char (__pyx_k72[]) = "a string value it too long";
+
+static int __pyx_f_5_yaml_input_handler(void (*__pyx_v_data),char (*__pyx_v_buffer),int __pyx_v_size,int (*__pyx_v_read)) {
+  struct __pyx_obj_5_yaml_CParser *__pyx_v_parser;
+  PyObject *__pyx_v_value;
+  int __pyx_r;
+  PyObject *__pyx_1 = 0;
+  PyObject *__pyx_2 = 0;
+  PyObject *__pyx_3 = 0;
+  int __pyx_4;
+  __pyx_v_parser = ((struct __pyx_obj_5_yaml_CParser *)Py_None); Py_INCREF(Py_None);
+  __pyx_v_value = Py_None; Py_INCREF(Py_None);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":853 */
+  __pyx_1 = (PyObject *)__pyx_v_data;
+  Py_INCREF(__pyx_1);
+  Py_DECREF(((PyObject *)__pyx_v_parser));
+  __pyx_v_parser = ((struct __pyx_obj_5_yaml_CParser *)__pyx_1);
+  __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":854 */
+  __pyx_1 = PyObject_GetAttr(__pyx_v_parser->stream, __pyx_n_read); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; goto __pyx_L1;}
+  __pyx_2 = PyInt_FromLong(__pyx_v_size); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; goto __pyx_L1;}
+  __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; goto __pyx_L1;}
+  PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
+  __pyx_2 = 0;
+  __pyx_2 = PyObject_CallObject(__pyx_1, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  Py_DECREF(__pyx_3); __pyx_3 = 0;
+  Py_DECREF(__pyx_v_value);
+  __pyx_v_value = __pyx_2;
+  __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":855 */
+  __pyx_4 = (PyString_CheckExact(__pyx_v_value) == 0);
+  if (__pyx_4) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":856 */
+    __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_TypeError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; goto __pyx_L1;}
+    __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; goto __pyx_L1;}
+    Py_INCREF(__pyx_k71p);
+    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_k71p);
+    __pyx_2 = PyObject_CallObject(__pyx_1, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; goto __pyx_L1;}
+    Py_DECREF(__pyx_1); __pyx_1 = 0;
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    __Pyx_Raise(__pyx_2, 0, 0);
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; goto __pyx_L1;}
+    goto __pyx_L2;
+  }
+  __pyx_L2:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":857 */
+  __pyx_4 = (PyString_GET_SIZE(__pyx_v_value) > __pyx_v_size);
+  if (__pyx_4) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":858 */
+    __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_ValueError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; goto __pyx_L1;}
+    __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; goto __pyx_L1;}
+    Py_INCREF(__pyx_k72p);
+    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_k72p);
+    __pyx_2 = PyObject_CallObject(__pyx_1, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; goto __pyx_L1;}
+    Py_DECREF(__pyx_1); __pyx_1 = 0;
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    __Pyx_Raise(__pyx_2, 0, 0);
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 858; goto __pyx_L1;}
+    goto __pyx_L3;
+  }
+  __pyx_L3:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":859 */
+  memcpy(__pyx_v_buffer,PyString_AS_STRING(__pyx_v_value),PyString_GET_SIZE(__pyx_v_value));
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":860 */
+  (__pyx_v_read[0]) = PyString_GET_SIZE(__pyx_v_value);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":861 */
+  __pyx_r = 1;
+  goto __pyx_L0;
+
+  __pyx_r = 0;
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_1);
+  Py_XDECREF(__pyx_2);
+  Py_XDECREF(__pyx_3);
+  __Pyx_AddTraceback("_yaml.input_handler");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_parser);
+  Py_DECREF(__pyx_v_value);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_k73p;
+static PyObject *__pyx_k74p;
+static PyObject *__pyx_k75p;
+static PyObject *__pyx_k76p;
+static PyObject *__pyx_k77p;
+
+static char (__pyx_k73[]) = "\r";
+static char (__pyx_k74[]) = "\n";
+static char (__pyx_k75[]) = "\r\n";
+static char (__pyx_k76[]) = "utf-16-le";
+static char (__pyx_k77[]) = "utf-16-be";
+
+static int __pyx_f_5_yaml_8CEmitter___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_5_yaml_8CEmitter___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_stream = 0;
+  PyObject *__pyx_v_canonical = 0;
+  PyObject *__pyx_v_indent = 0;
+  PyObject *__pyx_v_width = 0;
+  PyObject *__pyx_v_allow_unicode = 0;
+  PyObject *__pyx_v_line_break = 0;
+  PyObject *__pyx_v_encoding = 0;
+  PyObject *__pyx_v_explicit_start = 0;
+  PyObject *__pyx_v_explicit_end = 0;
+  PyObject *__pyx_v_version = 0;
+  PyObject *__pyx_v_tags = 0;
+  int __pyx_r;
+  int __pyx_1;
+  PyObject *__pyx_2 = 0;
+  static char *__pyx_argnames[] = {"stream","canonical","indent","width","allow_unicode","line_break","encoding","explicit_start","explicit_end","version","tags",0};
+  __pyx_v_canonical = __pyx_k2;
+  __pyx_v_indent = __pyx_k3;
+  __pyx_v_width = __pyx_k4;
+  __pyx_v_allow_unicode = __pyx_k5;
+  __pyx_v_line_break = __pyx_k6;
+  __pyx_v_encoding = __pyx_k7;
+  __pyx_v_explicit_start = __pyx_k8;
+  __pyx_v_explicit_end = __pyx_k9;
+  __pyx_v_version = __pyx_k10;
+  __pyx_v_tags = __pyx_k11;
+  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O|OOOOOOOOOO", __pyx_argnames, &__pyx_v_stream, &__pyx_v_canonical, &__pyx_v_indent, &__pyx_v_width, &__pyx_v_allow_unicode, &__pyx_v_line_break, &__pyx_v_encoding, &__pyx_v_explicit_start, &__pyx_v_explicit_end, &__pyx_v_version, &__pyx_v_tags)) return -1;
+  Py_INCREF(__pyx_v_self);
+  Py_INCREF(__pyx_v_stream);
+  Py_INCREF(__pyx_v_canonical);
+  Py_INCREF(__pyx_v_indent);
+  Py_INCREF(__pyx_v_width);
+  Py_INCREF(__pyx_v_allow_unicode);
+  Py_INCREF(__pyx_v_line_break);
+  Py_INCREF(__pyx_v_encoding);
+  Py_INCREF(__pyx_v_explicit_start);
+  Py_INCREF(__pyx_v_explicit_end);
+  Py_INCREF(__pyx_v_version);
+  Py_INCREF(__pyx_v_tags);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":883 */
+  __pyx_1 = (yaml_emitter_initialize((&((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->emitter)) == 0);
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":884 */
+    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_MemoryError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 884; goto __pyx_L1;}
+    __Pyx_Raise(__pyx_2, 0, 0);
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 884; goto __pyx_L1;}
+    goto __pyx_L2;
+  }
+  __pyx_L2:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":885 */
+  Py_INCREF(__pyx_v_stream);
+  Py_DECREF(((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->stream);
+  ((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->stream = __pyx_v_stream;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":886 */
+  yaml_emitter_set_output((&((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->emitter),__pyx_f_5_yaml_output_handler,((void (*))__pyx_v_self));
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":887 */
+  __pyx_1 = __pyx_v_canonical != Py_None;
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":888 */
+    yaml_emitter_set_canonical((&((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->emitter),1);
+    goto __pyx_L3;
+  }
+  __pyx_L3:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":889 */
+  __pyx_1 = __pyx_v_indent != Py_None;
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":890 */
+    __pyx_1 = PyInt_AsLong(__pyx_v_indent); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 890; goto __pyx_L1;}
+    yaml_emitter_set_indent((&((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->emitter),__pyx_1);
+    goto __pyx_L4;
+  }
+  __pyx_L4:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":891 */
+  __pyx_1 = __pyx_v_width != Py_None;
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":892 */
+    __pyx_1 = PyInt_AsLong(__pyx_v_width); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 892; goto __pyx_L1;}
+    yaml_emitter_set_width((&((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->emitter),__pyx_1);
+    goto __pyx_L5;
+  }
+  __pyx_L5:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":893 */
+  __pyx_1 = __pyx_v_allow_unicode != Py_None;
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":894 */
+    yaml_emitter_set_unicode((&((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->emitter),1);
+    goto __pyx_L6;
+  }
+  __pyx_L6:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":895 */
+  __pyx_1 = __pyx_v_line_break != Py_None;
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":896 */
+    if (PyObject_Cmp(__pyx_v_line_break, __pyx_k73p, &__pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; goto __pyx_L1;}
+    __pyx_1 = __pyx_1 == 0;
+    if (__pyx_1) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":897 */
+      yaml_emitter_set_break((&((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->emitter),YAML_CR_BREAK);
+      goto __pyx_L8;
+    }
+    if (PyObject_Cmp(__pyx_v_line_break, __pyx_k74p, &__pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; goto __pyx_L1;}
+    __pyx_1 = __pyx_1 == 0;
+    if (__pyx_1) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":899 */
+      yaml_emitter_set_break((&((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->emitter),YAML_LN_BREAK);
+      goto __pyx_L8;
+    }
+    if (PyObject_Cmp(__pyx_v_line_break, __pyx_k75p, &__pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; goto __pyx_L1;}
+    __pyx_1 = __pyx_1 == 0;
+    if (__pyx_1) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":901 */
+      yaml_emitter_set_break((&((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->emitter),YAML_CRLN_BREAK);
+      goto __pyx_L8;
+    }
+    __pyx_L8:;
+    goto __pyx_L7;
+  }
+  __pyx_L7:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":902 */
+  if (PyObject_Cmp(__pyx_v_encoding, __pyx_k76p, &__pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; goto __pyx_L1;}
+  __pyx_1 = __pyx_1 == 0;
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":903 */
+    ((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->use_encoding = YAML_UTF16LE_ENCODING;
+    goto __pyx_L9;
+  }
+  if (PyObject_Cmp(__pyx_v_encoding, __pyx_k77p, &__pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; goto __pyx_L1;}
+  __pyx_1 = __pyx_1 == 0;
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":905 */
+    ((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->use_encoding = YAML_UTF16BE_ENCODING;
+    goto __pyx_L9;
+  }
+  /*else*/ {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":907 */
+    ((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->use_encoding = YAML_UTF8_ENCODING;
+  }
+  __pyx_L9:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":908 */
+  ((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->document_start_implicit = 1;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":909 */
+  __pyx_1 = PyObject_IsTrue(__pyx_v_explicit_start); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; goto __pyx_L1;}
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":910 */
+    ((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->document_start_implicit = 0;
+    goto __pyx_L10;
+  }
+  __pyx_L10:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":911 */
+  ((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->document_end_implicit = 1;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":912 */
+  __pyx_1 = PyObject_IsTrue(__pyx_v_explicit_end); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; goto __pyx_L1;}
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":913 */
+    ((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->document_end_implicit = 0;
+    goto __pyx_L11;
+  }
+  __pyx_L11:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":914 */
+  Py_INCREF(__pyx_v_version);
+  Py_DECREF(((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->use_version);
+  ((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->use_version = __pyx_v_version;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":915 */
+  Py_INCREF(__pyx_v_tags);
+  Py_DECREF(((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->use_tags);
+  ((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->use_tags = __pyx_v_tags;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":916 */
+  __pyx_2 = PyDict_New(); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; goto __pyx_L1;}
+  Py_DECREF(((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->serialized_nodes);
+  ((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->serialized_nodes = __pyx_2;
+  __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":917 */
+  __pyx_2 = PyDict_New(); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; goto __pyx_L1;}
+  Py_DECREF(((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->anchors);
+  ((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->anchors = __pyx_2;
+  __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":918 */
+  ((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->last_alias_id = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":919 */
+  ((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->closed = (-1);
+
+  __pyx_r = 0;
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_2);
+  __Pyx_AddTraceback("_yaml.CEmitter.__init__");
+  __pyx_r = -1;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_self);
+  Py_DECREF(__pyx_v_stream);
+  Py_DECREF(__pyx_v_canonical);
+  Py_DECREF(__pyx_v_indent);
+  Py_DECREF(__pyx_v_width);
+  Py_DECREF(__pyx_v_allow_unicode);
+  Py_DECREF(__pyx_v_line_break);
+  Py_DECREF(__pyx_v_encoding);
+  Py_DECREF(__pyx_v_explicit_start);
+  Py_DECREF(__pyx_v_explicit_end);
+  Py_DECREF(__pyx_v_version);
+  Py_DECREF(__pyx_v_tags);
+  return __pyx_r;
+}
+
+static void __pyx_f_5_yaml_8CEmitter___dealloc__(PyObject *__pyx_v_self); /*proto*/
+static void __pyx_f_5_yaml_8CEmitter___dealloc__(PyObject *__pyx_v_self) {
+  Py_INCREF(__pyx_v_self);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":922 */
+  yaml_emitter_delete((&((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->emitter));
+
+  goto __pyx_L0;
+  __pyx_L1:;
+  __Pyx_AddTraceback("_yaml.CEmitter.__dealloc__");
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_self);
+}
+
+static PyObject *__pyx_k78p;
+
+static char (__pyx_k78[]) = "no emitter error";
+
+static PyObject *__pyx_f_5_yaml_8CEmitter__emitter_error(struct __pyx_obj_5_yaml_CEmitter *__pyx_v_self) {
+  PyObject *__pyx_r;
+  int __pyx_1;
+  PyObject *__pyx_2 = 0;
+  PyObject *__pyx_3 = 0;
+  PyObject *__pyx_4 = 0;
+  Py_INCREF(__pyx_v_self);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":925 */
+  __pyx_1 = (__pyx_v_self->emitter.error == YAML_MEMORY_ERROR);
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":926 */
+    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_MemoryError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; goto __pyx_L1;}
+    __pyx_r = __pyx_2;
+    __pyx_2 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_1 = (__pyx_v_self->emitter.error == YAML_EMITTER_ERROR);
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":928 */
+    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_EmitterError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 928; goto __pyx_L1;}
+    __pyx_3 = PyString_FromString(__pyx_v_self->emitter.problem); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 928; goto __pyx_L1;}
+    __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 928; goto __pyx_L1;}
+    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
+    __pyx_3 = 0;
+    __pyx_3 = PyObject_CallObject(__pyx_2, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 928; goto __pyx_L1;}
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    __pyx_r = __pyx_3;
+    __pyx_3 = 0;
+    goto __pyx_L0;
+    goto __pyx_L2;
+  }
+  __pyx_L2:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":929 */
+  __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_ValueError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 929; goto __pyx_L1;}
+  __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 929; goto __pyx_L1;}
+  Py_INCREF(__pyx_k78p);
+  PyTuple_SET_ITEM(__pyx_4, 0, __pyx_k78p);
+  __pyx_3 = PyObject_CallObject(__pyx_2, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 929; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  Py_DECREF(__pyx_4); __pyx_4 = 0;
+  __Pyx_Raise(__pyx_3, 0, 0);
+  Py_DECREF(__pyx_3); __pyx_3 = 0;
+  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 929; goto __pyx_L1;}
+
+  __pyx_r = Py_None; Py_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_2);
+  Py_XDECREF(__pyx_3);
+  Py_XDECREF(__pyx_4);
+  __Pyx_AddTraceback("_yaml.CEmitter._emitter_error");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_self);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_n_encoding;
+static PyObject *__pyx_n_version;
+static PyObject *__pyx_n_tags;
+static PyObject *__pyx_n_len;
+static PyObject *__pyx_n_explicit;
+static PyObject *__pyx_n_anchor;
+static PyObject *__pyx_n_tag;
+static PyObject *__pyx_n_value;
+static PyObject *__pyx_n_implicit;
+static PyObject *__pyx_n_style;
+static PyObject *__pyx_n_flow_style;
+
+static PyObject *__pyx_k79p;
+static PyObject *__pyx_k80p;
+static PyObject *__pyx_k81p;
+static PyObject *__pyx_k82p;
+static PyObject *__pyx_k83p;
+static PyObject *__pyx_k84p;
+static PyObject *__pyx_k85p;
+static PyObject *__pyx_k86p;
+static PyObject *__pyx_k87p;
+static PyObject *__pyx_k88p;
+static PyObject *__pyx_k89p;
+static PyObject *__pyx_k90p;
+static PyObject *__pyx_k91p;
+static PyObject *__pyx_k92p;
+static PyObject *__pyx_k93p;
+static PyObject *__pyx_k94p;
+static PyObject *__pyx_k95p;
+static PyObject *__pyx_k96p;
+
+static char (__pyx_k79[]) = "utf-16-le";
+static char (__pyx_k80[]) = "utf-16-be";
+static char (__pyx_k81[]) = "too many tags";
+static char (__pyx_k82[]) = "tag handle must be a string";
+static char (__pyx_k83[]) = "tag prefix must be a string";
+static char (__pyx_k84[]) = "anchor must be a string";
+static char (__pyx_k85[]) = "anchor must be a string";
+static char (__pyx_k86[]) = "tag must be a string";
+static char (__pyx_k87[]) = "value must be a string";
+static char (__pyx_k88[]) = "\'";
+static char (__pyx_k89[]) = "\"";
+static char (__pyx_k90[]) = "|";
+static char (__pyx_k91[]) = ">";
+static char (__pyx_k92[]) = "anchor must be a string";
+static char (__pyx_k93[]) = "tag must be a string";
+static char (__pyx_k94[]) = "anchor must be a string";
+static char (__pyx_k95[]) = "tag must be a string";
+static char (__pyx_k96[]) = "invalid event %s";
+
+static int __pyx_f_5_yaml_8CEmitter__object_to_event(struct __pyx_obj_5_yaml_CEmitter *__pyx_v_self,PyObject *__pyx_v_event_object,yaml_event_t (*__pyx_v_event)) {
+  yaml_encoding_t __pyx_v_encoding;
+  yaml_version_directive_t __pyx_v_version_directive_value;
+  yaml_version_directive_t (*__pyx_v_version_directive);
+  yaml_tag_directive_t (__pyx_v_tag_directives_value[128]);
+  yaml_tag_directive_t (*__pyx_v_tag_directives_start);
+  yaml_tag_directive_t (*__pyx_v_tag_directives_end);
+  int __pyx_v_implicit;
+  int __pyx_v_plain_implicit;
+  int __pyx_v_quoted_implicit;
+  char (*__pyx_v_anchor);
+  char (*__pyx_v_tag);
+  char (*__pyx_v_value);
+  int __pyx_v_length;
+  yaml_scalar_style_t __pyx_v_scalar_style;
+  yaml_sequence_style_t __pyx_v_sequence_style;
+  yaml_mapping_style_t __pyx_v_mapping_style;
+  PyObject *__pyx_v_event_class;
+  PyObject *__pyx_v_cache;
+  PyObject *__pyx_v_handle;
+  PyObject *__pyx_v_prefix;
+  PyObject *__pyx_v_anchor_object;
+  PyObject *__pyx_v_tag_object;
+  PyObject *__pyx_v_value_object;
+  PyObject *__pyx_v_style_object;
+  int __pyx_r;
+  PyObject *__pyx_1 = 0;
+  int __pyx_2;
+  PyObject *__pyx_3 = 0;
+  PyObject *__pyx_4 = 0;
+  PyObject *__pyx_5 = 0;
+  Py_INCREF(__pyx_v_self);
+  Py_INCREF(__pyx_v_event_object);
+  __pyx_v_event_class = Py_None; Py_INCREF(Py_None);
+  __pyx_v_cache = Py_None; Py_INCREF(Py_None);
+  __pyx_v_handle = Py_None; Py_INCREF(Py_None);
+  __pyx_v_prefix = Py_None; Py_INCREF(Py_None);
+  __pyx_v_anchor_object = Py_None; Py_INCREF(Py_None);
+  __pyx_v_tag_object = Py_None; Py_INCREF(Py_None);
+  __pyx_v_value_object = Py_None; Py_INCREF(Py_None);
+  __pyx_v_style_object = Py_None; Py_INCREF(Py_None);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":948 */
+  __pyx_1 = PyObject_GetAttr(__pyx_v_event_object, __pyx_n___class__); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 948; goto __pyx_L1;}
+  Py_DECREF(__pyx_v_event_class);
+  __pyx_v_event_class = __pyx_1;
+  __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":949 */
+  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_StreamStartEvent); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; goto __pyx_L1;}
+  __pyx_2 = __pyx_v_event_class == __pyx_1;
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  if (__pyx_2) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":950 */
+    __pyx_v_encoding = YAML_UTF8_ENCODING;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":951 */
+    __pyx_1 = PyObject_GetAttr(__pyx_v_event_object, __pyx_n_encoding); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 951; goto __pyx_L1;}
+    if (PyObject_Cmp(__pyx_1, __pyx_k79p, &__pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 951; goto __pyx_L1;}
+    __pyx_2 = __pyx_2 == 0;
+    Py_DECREF(__pyx_1); __pyx_1 = 0;
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":952 */
+      __pyx_v_encoding = YAML_UTF16LE_ENCODING;
+      goto __pyx_L3;
+    }
+    __pyx_1 = PyObject_GetAttr(__pyx_v_event_object, __pyx_n_encoding); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 953; goto __pyx_L1;}
+    if (PyObject_Cmp(__pyx_1, __pyx_k80p, &__pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 953; goto __pyx_L1;}
+    __pyx_2 = __pyx_2 == 0;
+    Py_DECREF(__pyx_1); __pyx_1 = 0;
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":954 */
+      __pyx_v_encoding = YAML_UTF16BE_ENCODING;
+      goto __pyx_L3;
+    }
+    __pyx_L3:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":955 */
+    yaml_stream_start_event_initialize(__pyx_v_event,__pyx_v_encoding);
+    goto __pyx_L2;
+  }
+  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_StreamEndEvent); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 956; goto __pyx_L1;}
+  __pyx_2 = __pyx_v_event_class == __pyx_1;
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  if (__pyx_2) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":957 */
+    yaml_stream_end_event_initialize(__pyx_v_event);
+    goto __pyx_L2;
+  }
+  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_DocumentStartEvent); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; goto __pyx_L1;}
+  __pyx_2 = __pyx_v_event_class == __pyx_1;
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  if (__pyx_2) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":959 */
+    __pyx_v_version_directive = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":960 */
+    __pyx_1 = PyObject_GetAttr(__pyx_v_event_object, __pyx_n_version); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 960; goto __pyx_L1;}
+    __pyx_2 = PyObject_IsTrue(__pyx_1); if (__pyx_2 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 960; goto __pyx_L1;}
+    Py_DECREF(__pyx_1); __pyx_1 = 0;
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":961 */
+      __pyx_1 = PyObject_GetAttr(__pyx_v_event_object, __pyx_n_version); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 961; goto __pyx_L1;}
+      __pyx_3 = PyInt_FromLong(0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 961; goto __pyx_L1;}
+      __pyx_4 = PyObject_GetItem(__pyx_1, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 961; goto __pyx_L1;}
+      Py_DECREF(__pyx_1); __pyx_1 = 0;
+      Py_DECREF(__pyx_3); __pyx_3 = 0;
+      __pyx_2 = PyInt_AsLong(__pyx_4); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 961; goto __pyx_L1;}
+      Py_DECREF(__pyx_4); __pyx_4 = 0;
+      __pyx_v_version_directive_value.major = __pyx_2;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":962 */
+      __pyx_1 = PyObject_GetAttr(__pyx_v_event_object, __pyx_n_version); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 962; goto __pyx_L1;}
+      __pyx_3 = PyInt_FromLong(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 962; goto __pyx_L1;}
+      __pyx_4 = PyObject_GetItem(__pyx_1, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 962; goto __pyx_L1;}
+      Py_DECREF(__pyx_1); __pyx_1 = 0;
+      Py_DECREF(__pyx_3); __pyx_3 = 0;
+      __pyx_2 = PyInt_AsLong(__pyx_4); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 962; goto __pyx_L1;}
+      Py_DECREF(__pyx_4); __pyx_4 = 0;
+      __pyx_v_version_directive_value.minor = __pyx_2;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":963 */
+      __pyx_v_version_directive = (&__pyx_v_version_directive_value);
+      goto __pyx_L4;
+    }
+    __pyx_L4:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":964 */
+    __pyx_v_tag_directives_start = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":965 */
+    __pyx_v_tag_directives_end = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":966 */
+    __pyx_1 = PyObject_GetAttr(__pyx_v_event_object, __pyx_n_tags); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; goto __pyx_L1;}
+    __pyx_2 = PyObject_IsTrue(__pyx_1); if (__pyx_2 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; goto __pyx_L1;}
+    Py_DECREF(__pyx_1); __pyx_1 = 0;
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":967 */
+      __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_len); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; goto __pyx_L1;}
+      __pyx_4 = PyObject_GetAttr(__pyx_v_event_object, __pyx_n_tags); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; goto __pyx_L1;}
+      __pyx_1 = PyTuple_New(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; goto __pyx_L1;}
+      PyTuple_SET_ITEM(__pyx_1, 0, __pyx_4);
+      __pyx_4 = 0;
+      __pyx_4 = PyObject_CallObject(__pyx_3, __pyx_1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; goto __pyx_L1;}
+      Py_DECREF(__pyx_3); __pyx_3 = 0;
+      Py_DECREF(__pyx_1); __pyx_1 = 0;
+      __pyx_3 = PyInt_FromLong(128); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; goto __pyx_L1;}
+      if (PyObject_Cmp(__pyx_4, __pyx_3, &__pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; goto __pyx_L1;}
+      __pyx_2 = __pyx_2 > 0;
+      Py_DECREF(__pyx_4); __pyx_4 = 0;
+      Py_DECREF(__pyx_3); __pyx_3 = 0;
+      if (__pyx_2) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":968 */
+        __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_ValueError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; goto __pyx_L1;}
+        __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; goto __pyx_L1;}
+        Py_INCREF(__pyx_k81p);
+        PyTuple_SET_ITEM(__pyx_4, 0, __pyx_k81p);
+        __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; goto __pyx_L1;}
+        Py_DECREF(__pyx_1); __pyx_1 = 0;
+        Py_DECREF(__pyx_4); __pyx_4 = 0;
+        __Pyx_Raise(__pyx_3, 0, 0);
+        Py_DECREF(__pyx_3); __pyx_3 = 0;
+        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; goto __pyx_L1;}
+        goto __pyx_L6;
+      }
+      __pyx_L6:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":969 */
+      __pyx_v_tag_directives_start = __pyx_v_tag_directives_value;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":970 */
+      __pyx_v_tag_directives_end = __pyx_v_tag_directives_value;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":971 */
+      __pyx_1 = PyList_New(0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 971; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_cache);
+      __pyx_v_cache = __pyx_1;
+      __pyx_1 = 0;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":972 */
+      __pyx_4 = PyObject_GetAttr(__pyx_v_event_object, __pyx_n_tags); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; goto __pyx_L1;}
+      __pyx_3 = PyObject_GetIter(__pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; goto __pyx_L1;}
+      Py_DECREF(__pyx_4); __pyx_4 = 0;
+      for (;;) {
+        __pyx_L7:;
+        __pyx_1 = PyIter_Next(__pyx_3);
+        if (!__pyx_1) {
+          if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; goto __pyx_L1;}
+          break;
+        }
+        Py_DECREF(__pyx_v_handle);
+        __pyx_v_handle = __pyx_1;
+        __pyx_1 = 0;
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":973 */
+        __pyx_4 = PyObject_GetAttr(__pyx_v_event_object, __pyx_n_tags); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; goto __pyx_L1;}
+        __pyx_1 = PyObject_GetItem(__pyx_4, __pyx_v_handle); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; goto __pyx_L1;}
+        Py_DECREF(__pyx_4); __pyx_4 = 0;
+        Py_DECREF(__pyx_v_prefix);
+        __pyx_v_prefix = __pyx_1;
+        __pyx_1 = 0;
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":974 */
+        __pyx_2 = PyUnicode_CheckExact(__pyx_v_handle);
+        if (__pyx_2) {
+
+          /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":975 */
+          __pyx_4 = PyUnicode_AsUTF8String(__pyx_v_handle); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 975; goto __pyx_L1;}
+          Py_DECREF(__pyx_v_handle);
+          __pyx_v_handle = __pyx_4;
+          __pyx_4 = 0;
+
+          /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":976 */
+          __pyx_1 = PyObject_GetAttr(__pyx_v_cache, __pyx_n_append); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 976; goto __pyx_L1;}
+          __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 976; goto __pyx_L1;}
+          Py_INCREF(__pyx_v_handle);
+          PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_handle);
+          __pyx_5 = PyObject_CallObject(__pyx_1, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 976; goto __pyx_L1;}
+          Py_DECREF(__pyx_1); __pyx_1 = 0;
+          Py_DECREF(__pyx_4); __pyx_4 = 0;
+          Py_DECREF(__pyx_5); __pyx_5 = 0;
+          goto __pyx_L9;
+        }
+        __pyx_L9:;
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":977 */
+        __pyx_2 = (!PyString_CheckExact(__pyx_v_handle));
+        if (__pyx_2) {
+
+          /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":978 */
+          __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_TypeError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; goto __pyx_L1;}
+          __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; goto __pyx_L1;}
+          Py_INCREF(__pyx_k82p);
+          PyTuple_SET_ITEM(__pyx_4, 0, __pyx_k82p);
+          __pyx_5 = PyObject_CallObject(__pyx_1, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; goto __pyx_L1;}
+          Py_DECREF(__pyx_1); __pyx_1 = 0;
+          Py_DECREF(__pyx_4); __pyx_4 = 0;
+          __Pyx_Raise(__pyx_5, 0, 0);
+          Py_DECREF(__pyx_5); __pyx_5 = 0;
+          {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; goto __pyx_L1;}
+          goto __pyx_L10;
+        }
+        __pyx_L10:;
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":979 */
+        __pyx_v_tag_directives_end->handle = PyString_AS_STRING(__pyx_v_handle);
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":980 */
+        __pyx_2 = PyUnicode_CheckExact(__pyx_v_prefix);
+        if (__pyx_2) {
+
+          /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":981 */
+          __pyx_1 = PyUnicode_AsUTF8String(__pyx_v_prefix); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 981; goto __pyx_L1;}
+          Py_DECREF(__pyx_v_prefix);
+          __pyx_v_prefix = __pyx_1;
+          __pyx_1 = 0;
+
+          /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":982 */
+          __pyx_4 = PyObject_GetAttr(__pyx_v_cache, __pyx_n_append); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; goto __pyx_L1;}
+          __pyx_5 = PyTuple_New(1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; goto __pyx_L1;}
+          Py_INCREF(__pyx_v_prefix);
+          PyTuple_SET_ITEM(__pyx_5, 0, __pyx_v_prefix);
+          __pyx_1 = PyObject_CallObject(__pyx_4, __pyx_5); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; goto __pyx_L1;}
+          Py_DECREF(__pyx_4); __pyx_4 = 0;
+          Py_DECREF(__pyx_5); __pyx_5 = 0;
+          Py_DECREF(__pyx_1); __pyx_1 = 0;
+          goto __pyx_L11;
+        }
+        __pyx_L11:;
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":983 */
+        __pyx_2 = (!PyString_CheckExact(__pyx_v_prefix));
+        if (__pyx_2) {
+
+          /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":984 */
+          __pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_TypeError); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; goto __pyx_L1;}
+          __pyx_5 = PyTuple_New(1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; goto __pyx_L1;}
+          Py_INCREF(__pyx_k83p);
+          PyTuple_SET_ITEM(__pyx_5, 0, __pyx_k83p);
+          __pyx_1 = PyObject_CallObject(__pyx_4, __pyx_5); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; goto __pyx_L1;}
+          Py_DECREF(__pyx_4); __pyx_4 = 0;
+          Py_DECREF(__pyx_5); __pyx_5 = 0;
+          __Pyx_Raise(__pyx_1, 0, 0);
+          Py_DECREF(__pyx_1); __pyx_1 = 0;
+          {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; goto __pyx_L1;}
+          goto __pyx_L12;
+        }
+        __pyx_L12:;
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":985 */
+        __pyx_v_tag_directives_end->prefix = PyString_AS_STRING(__pyx_v_prefix);
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":986 */
+        __pyx_v_tag_directives_end = (__pyx_v_tag_directives_end + 1);
+      }
+      __pyx_L8:;
+      Py_DECREF(__pyx_3); __pyx_3 = 0;
+      goto __pyx_L5;
+    }
+    __pyx_L5:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":987 */
+    __pyx_v_implicit = 1;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":988 */
+    __pyx_4 = PyObject_GetAttr(__pyx_v_event_object, __pyx_n_explicit); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 988; goto __pyx_L1;}
+    __pyx_2 = PyObject_IsTrue(__pyx_4); if (__pyx_2 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 988; goto __pyx_L1;}
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":989 */
+      __pyx_v_implicit = 0;
+      goto __pyx_L13;
+    }
+    __pyx_L13:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":990 */
+    __pyx_2 = (yaml_document_start_event_initialize(__pyx_v_event,__pyx_v_version_directive,__pyx_v_tag_directives_start,__pyx_v_tag_directives_end,__pyx_v_implicit) == 0);
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":992 */
+      __pyx_5 = __Pyx_GetName(__pyx_b, __pyx_n_MemoryError); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; goto __pyx_L1;}
+      __Pyx_Raise(__pyx_5, 0, 0);
+      Py_DECREF(__pyx_5); __pyx_5 = 0;
+      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; goto __pyx_L1;}
+      goto __pyx_L14;
+    }
+    __pyx_L14:;
+    goto __pyx_L2;
+  }
+  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_DocumentEndEvent); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 993; goto __pyx_L1;}
+  __pyx_2 = __pyx_v_event_class == __pyx_1;
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  if (__pyx_2) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":994 */
+    __pyx_v_implicit = 1;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":995 */
+    __pyx_3 = PyObject_GetAttr(__pyx_v_event_object, __pyx_n_explicit); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; goto __pyx_L1;}
+    __pyx_2 = PyObject_IsTrue(__pyx_3); if (__pyx_2 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; goto __pyx_L1;}
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":996 */
+      __pyx_v_implicit = 0;
+      goto __pyx_L15;
+    }
+    __pyx_L15:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":997 */
+    yaml_document_end_event_initialize(__pyx_v_event,__pyx_v_implicit);
+    goto __pyx_L2;
+  }
+  __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n_AliasEvent); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 998; goto __pyx_L1;}
+  __pyx_2 = __pyx_v_event_class == __pyx_4;
+  Py_DECREF(__pyx_4); __pyx_4 = 0;
+  if (__pyx_2) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":999 */
+    __pyx_v_anchor = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1000 */
+    __pyx_5 = PyObject_GetAttr(__pyx_v_event_object, __pyx_n_anchor); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1000; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_anchor_object);
+    __pyx_v_anchor_object = __pyx_5;
+    __pyx_5 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1001 */
+    __pyx_2 = PyUnicode_CheckExact(__pyx_v_anchor_object);
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1002 */
+      __pyx_1 = PyUnicode_AsUTF8String(__pyx_v_anchor_object); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1002; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_anchor_object);
+      __pyx_v_anchor_object = __pyx_1;
+      __pyx_1 = 0;
+      goto __pyx_L16;
+    }
+    __pyx_L16:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1003 */
+    __pyx_2 = (!PyString_CheckExact(__pyx_v_anchor_object));
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1004 */
+      __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_TypeError); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1004; goto __pyx_L1;}
+      __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1004; goto __pyx_L1;}
+      Py_INCREF(__pyx_k84p);
+      PyTuple_SET_ITEM(__pyx_4, 0, __pyx_k84p);
+      __pyx_5 = PyObject_CallObject(__pyx_3, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1004; goto __pyx_L1;}
+      Py_DECREF(__pyx_3); __pyx_3 = 0;
+      Py_DECREF(__pyx_4); __pyx_4 = 0;
+      __Pyx_Raise(__pyx_5, 0, 0);
+      Py_DECREF(__pyx_5); __pyx_5 = 0;
+      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1004; goto __pyx_L1;}
+      goto __pyx_L17;
+    }
+    __pyx_L17:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1005 */
+    __pyx_v_anchor = PyString_AS_STRING(__pyx_v_anchor_object);
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1006 */
+    __pyx_2 = (yaml_alias_event_initialize(__pyx_v_event,__pyx_v_anchor) == 0);
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1007 */
+      __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_MemoryError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1007; goto __pyx_L1;}
+      __Pyx_Raise(__pyx_1, 0, 0);
+      Py_DECREF(__pyx_1); __pyx_1 = 0;
+      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1007; goto __pyx_L1;}
+      goto __pyx_L18;
+    }
+    __pyx_L18:;
+    goto __pyx_L2;
+  }
+  __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_ScalarEvent); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1008; goto __pyx_L1;}
+  __pyx_2 = __pyx_v_event_class == __pyx_3;
+  Py_DECREF(__pyx_3); __pyx_3 = 0;
+  if (__pyx_2) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1009 */
+    __pyx_v_anchor = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1010 */
+    __pyx_4 = PyObject_GetAttr(__pyx_v_event_object, __pyx_n_anchor); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_anchor_object);
+    __pyx_v_anchor_object = __pyx_4;
+    __pyx_4 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1011 */
+    __pyx_2 = __pyx_v_anchor_object != Py_None;
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1012 */
+      __pyx_2 = PyUnicode_CheckExact(__pyx_v_anchor_object);
+      if (__pyx_2) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1013 */
+        __pyx_5 = PyUnicode_AsUTF8String(__pyx_v_anchor_object); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; goto __pyx_L1;}
+        Py_DECREF(__pyx_v_anchor_object);
+        __pyx_v_anchor_object = __pyx_5;
+        __pyx_5 = 0;
+        goto __pyx_L20;
+      }
+      __pyx_L20:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1014 */
+      __pyx_2 = (!PyString_CheckExact(__pyx_v_anchor_object));
+      if (__pyx_2) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1015 */
+        __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_TypeError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; goto __pyx_L1;}
+        __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; goto __pyx_L1;}
+        Py_INCREF(__pyx_k85p);
+        PyTuple_SET_ITEM(__pyx_3, 0, __pyx_k85p);
+        __pyx_4 = PyObject_CallObject(__pyx_1, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; goto __pyx_L1;}
+        Py_DECREF(__pyx_1); __pyx_1 = 0;
+        Py_DECREF(__pyx_3); __pyx_3 = 0;
+        __Pyx_Raise(__pyx_4, 0, 0);
+        Py_DECREF(__pyx_4); __pyx_4 = 0;
+        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; goto __pyx_L1;}
+        goto __pyx_L21;
+      }
+      __pyx_L21:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1016 */
+      __pyx_v_anchor = PyString_AS_STRING(__pyx_v_anchor_object);
+      goto __pyx_L19;
+    }
+    __pyx_L19:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1017 */
+    __pyx_v_tag = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1018 */
+    __pyx_5 = PyObject_GetAttr(__pyx_v_event_object, __pyx_n_tag); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_tag_object);
+    __pyx_v_tag_object = __pyx_5;
+    __pyx_5 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1019 */
+    __pyx_2 = __pyx_v_tag_object != Py_None;
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1020 */
+      __pyx_2 = PyUnicode_CheckExact(__pyx_v_tag_object);
+      if (__pyx_2) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1021 */
+        __pyx_1 = PyUnicode_AsUTF8String(__pyx_v_tag_object); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1021; goto __pyx_L1;}
+        Py_DECREF(__pyx_v_tag_object);
+        __pyx_v_tag_object = __pyx_1;
+        __pyx_1 = 0;
+        goto __pyx_L23;
+      }
+      __pyx_L23:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1022 */
+      __pyx_2 = (!PyString_CheckExact(__pyx_v_tag_object));
+      if (__pyx_2) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1023 */
+        __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_TypeError); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; goto __pyx_L1;}
+        __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; goto __pyx_L1;}
+        Py_INCREF(__pyx_k86p);
+        PyTuple_SET_ITEM(__pyx_4, 0, __pyx_k86p);
+        __pyx_5 = PyObject_CallObject(__pyx_3, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; goto __pyx_L1;}
+        Py_DECREF(__pyx_3); __pyx_3 = 0;
+        Py_DECREF(__pyx_4); __pyx_4 = 0;
+        __Pyx_Raise(__pyx_5, 0, 0);
+        Py_DECREF(__pyx_5); __pyx_5 = 0;
+        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; goto __pyx_L1;}
+        goto __pyx_L24;
+      }
+      __pyx_L24:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1024 */
+      __pyx_v_tag = PyString_AS_STRING(__pyx_v_tag_object);
+      goto __pyx_L22;
+    }
+    __pyx_L22:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1025 */
+    __pyx_1 = PyObject_GetAttr(__pyx_v_event_object, __pyx_n_value); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_value_object);
+    __pyx_v_value_object = __pyx_1;
+    __pyx_1 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1026 */
+    __pyx_2 = PyUnicode_CheckExact(__pyx_v_value_object);
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1027 */
+      __pyx_3 = PyUnicode_AsUTF8String(__pyx_v_value_object); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1027; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_value_object);
+      __pyx_v_value_object = __pyx_3;
+      __pyx_3 = 0;
+      goto __pyx_L25;
+    }
+    __pyx_L25:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1028 */
+    __pyx_2 = (!PyString_CheckExact(__pyx_v_value_object));
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1029 */
+      __pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_TypeError); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; goto __pyx_L1;}
+      __pyx_5 = PyTuple_New(1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; goto __pyx_L1;}
+      Py_INCREF(__pyx_k87p);
+      PyTuple_SET_ITEM(__pyx_5, 0, __pyx_k87p);
+      __pyx_1 = PyObject_CallObject(__pyx_4, __pyx_5); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; goto __pyx_L1;}
+      Py_DECREF(__pyx_4); __pyx_4 = 0;
+      Py_DECREF(__pyx_5); __pyx_5 = 0;
+      __Pyx_Raise(__pyx_1, 0, 0);
+      Py_DECREF(__pyx_1); __pyx_1 = 0;
+      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1029; goto __pyx_L1;}
+      goto __pyx_L26;
+    }
+    __pyx_L26:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1030 */
+    __pyx_v_value = PyString_AS_STRING(__pyx_v_value_object);
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1031 */
+    __pyx_v_length = PyString_GET_SIZE(__pyx_v_value_object);
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1032 */
+    __pyx_v_plain_implicit = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1033 */
+    __pyx_v_quoted_implicit = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1034 */
+    __pyx_3 = PyObject_GetAttr(__pyx_v_event_object, __pyx_n_implicit); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; goto __pyx_L1;}
+    __pyx_2 = __pyx_3 != Py_None;
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1035 */
+      __pyx_4 = PyObject_GetAttr(__pyx_v_event_object, __pyx_n_implicit); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; goto __pyx_L1;}
+      __pyx_5 = PyInt_FromLong(0); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; goto __pyx_L1;}
+      __pyx_1 = PyObject_GetItem(__pyx_4, __pyx_5); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; goto __pyx_L1;}
+      Py_DECREF(__pyx_4); __pyx_4 = 0;
+      Py_DECREF(__pyx_5); __pyx_5 = 0;
+      __pyx_2 = PyInt_AsLong(__pyx_1); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; goto __pyx_L1;}
+      Py_DECREF(__pyx_1); __pyx_1 = 0;
+      __pyx_v_plain_implicit = __pyx_2;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1036 */
+      __pyx_3 = PyObject_GetAttr(__pyx_v_event_object, __pyx_n_implicit); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; goto __pyx_L1;}
+      __pyx_4 = PyInt_FromLong(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; goto __pyx_L1;}
+      __pyx_5 = PyObject_GetItem(__pyx_3, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; goto __pyx_L1;}
+      Py_DECREF(__pyx_3); __pyx_3 = 0;
+      Py_DECREF(__pyx_4); __pyx_4 = 0;
+      __pyx_2 = PyInt_AsLong(__pyx_5); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; goto __pyx_L1;}
+      Py_DECREF(__pyx_5); __pyx_5 = 0;
+      __pyx_v_quoted_implicit = __pyx_2;
+      goto __pyx_L27;
+    }
+    __pyx_L27:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1037 */
+    __pyx_1 = PyObject_GetAttr(__pyx_v_event_object, __pyx_n_style); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_style_object);
+    __pyx_v_style_object = __pyx_1;
+    __pyx_1 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1038 */
+    __pyx_v_scalar_style = YAML_PLAIN_SCALAR_STYLE;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1039 */
+    if (PyObject_Cmp(__pyx_v_style_object, __pyx_k88p, &__pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; goto __pyx_L1;}
+    __pyx_2 = __pyx_2 == 0;
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1040 */
+      __pyx_v_scalar_style = YAML_SINGLE_QUOTED_SCALAR_STYLE;
+      goto __pyx_L28;
+    }
+    if (PyObject_Cmp(__pyx_v_style_object, __pyx_k89p, &__pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; goto __pyx_L1;}
+    __pyx_2 = __pyx_2 == 0;
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1042 */
+      __pyx_v_scalar_style = YAML_DOUBLE_QUOTED_SCALAR_STYLE;
+      goto __pyx_L28;
+    }
+    if (PyObject_Cmp(__pyx_v_style_object, __pyx_k90p, &__pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1043; goto __pyx_L1;}
+    __pyx_2 = __pyx_2 == 0;
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1044 */
+      __pyx_v_scalar_style = YAML_LITERAL_SCALAR_STYLE;
+      goto __pyx_L28;
+    }
+    if (PyObject_Cmp(__pyx_v_style_object, __pyx_k91p, &__pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; goto __pyx_L1;}
+    __pyx_2 = __pyx_2 == 0;
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1046 */
+      __pyx_v_scalar_style = YAML_FOLDED_SCALAR_STYLE;
+      goto __pyx_L28;
+    }
+    __pyx_L28:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1047 */
+    __pyx_2 = (yaml_scalar_event_initialize(__pyx_v_event,__pyx_v_anchor,__pyx_v_tag,__pyx_v_value,__pyx_v_length,__pyx_v_plain_implicit,__pyx_v_quoted_implicit,__pyx_v_scalar_style) == 0);
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1049 */
+      __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_MemoryError); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; goto __pyx_L1;}
+      __Pyx_Raise(__pyx_3, 0, 0);
+      Py_DECREF(__pyx_3); __pyx_3 = 0;
+      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; goto __pyx_L1;}
+      goto __pyx_L29;
+    }
+    __pyx_L29:;
+    goto __pyx_L2;
+  }
+  __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n_SequenceStartEvent); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; goto __pyx_L1;}
+  __pyx_2 = __pyx_v_event_class == __pyx_4;
+  Py_DECREF(__pyx_4); __pyx_4 = 0;
+  if (__pyx_2) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1051 */
+    __pyx_v_anchor = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1052 */
+    __pyx_5 = PyObject_GetAttr(__pyx_v_event_object, __pyx_n_anchor); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1052; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_anchor_object);
+    __pyx_v_anchor_object = __pyx_5;
+    __pyx_5 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1053 */
+    __pyx_2 = __pyx_v_anchor_object != Py_None;
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1054 */
+      __pyx_2 = PyUnicode_CheckExact(__pyx_v_anchor_object);
+      if (__pyx_2) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1055 */
+        __pyx_1 = PyUnicode_AsUTF8String(__pyx_v_anchor_object); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1055; goto __pyx_L1;}
+        Py_DECREF(__pyx_v_anchor_object);
+        __pyx_v_anchor_object = __pyx_1;
+        __pyx_1 = 0;
+        goto __pyx_L31;
+      }
+      __pyx_L31:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1056 */
+      __pyx_2 = (!PyString_CheckExact(__pyx_v_anchor_object));
+      if (__pyx_2) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1057 */
+        __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_TypeError); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; goto __pyx_L1;}
+        __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; goto __pyx_L1;}
+        Py_INCREF(__pyx_k92p);
+        PyTuple_SET_ITEM(__pyx_4, 0, __pyx_k92p);
+        __pyx_5 = PyObject_CallObject(__pyx_3, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; goto __pyx_L1;}
+        Py_DECREF(__pyx_3); __pyx_3 = 0;
+        Py_DECREF(__pyx_4); __pyx_4 = 0;
+        __Pyx_Raise(__pyx_5, 0, 0);
+        Py_DECREF(__pyx_5); __pyx_5 = 0;
+        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; goto __pyx_L1;}
+        goto __pyx_L32;
+      }
+      __pyx_L32:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1058 */
+      __pyx_v_anchor = PyString_AS_STRING(__pyx_v_anchor_object);
+      goto __pyx_L30;
+    }
+    __pyx_L30:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1059 */
+    __pyx_v_tag = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1060 */
+    __pyx_1 = PyObject_GetAttr(__pyx_v_event_object, __pyx_n_tag); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_tag_object);
+    __pyx_v_tag_object = __pyx_1;
+    __pyx_1 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1061 */
+    __pyx_2 = __pyx_v_tag_object != Py_None;
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1062 */
+      __pyx_2 = PyUnicode_CheckExact(__pyx_v_tag_object);
+      if (__pyx_2) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1063 */
+        __pyx_3 = PyUnicode_AsUTF8String(__pyx_v_tag_object); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1063; goto __pyx_L1;}
+        Py_DECREF(__pyx_v_tag_object);
+        __pyx_v_tag_object = __pyx_3;
+        __pyx_3 = 0;
+        goto __pyx_L34;
+      }
+      __pyx_L34:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1064 */
+      __pyx_2 = (!PyString_CheckExact(__pyx_v_tag_object));
+      if (__pyx_2) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1065 */
+        __pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_TypeError); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; goto __pyx_L1;}
+        __pyx_5 = PyTuple_New(1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; goto __pyx_L1;}
+        Py_INCREF(__pyx_k93p);
+        PyTuple_SET_ITEM(__pyx_5, 0, __pyx_k93p);
+        __pyx_1 = PyObject_CallObject(__pyx_4, __pyx_5); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; goto __pyx_L1;}
+        Py_DECREF(__pyx_4); __pyx_4 = 0;
+        Py_DECREF(__pyx_5); __pyx_5 = 0;
+        __Pyx_Raise(__pyx_1, 0, 0);
+        Py_DECREF(__pyx_1); __pyx_1 = 0;
+        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; goto __pyx_L1;}
+        goto __pyx_L35;
+      }
+      __pyx_L35:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1066 */
+      __pyx_v_tag = PyString_AS_STRING(__pyx_v_tag_object);
+      goto __pyx_L33;
+    }
+    __pyx_L33:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1067 */
+    __pyx_v_implicit = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1068 */
+    __pyx_3 = PyObject_GetAttr(__pyx_v_event_object, __pyx_n_implicit); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; goto __pyx_L1;}
+    __pyx_2 = PyObject_IsTrue(__pyx_3); if (__pyx_2 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; goto __pyx_L1;}
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1069 */
+      __pyx_v_implicit = 1;
+      goto __pyx_L36;
+    }
+    __pyx_L36:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1070 */
+    __pyx_v_sequence_style = YAML_BLOCK_SEQUENCE_STYLE;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1071 */
+    __pyx_4 = PyObject_GetAttr(__pyx_v_event_object, __pyx_n_flow_style); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; goto __pyx_L1;}
+    __pyx_2 = PyObject_IsTrue(__pyx_4); if (__pyx_2 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; goto __pyx_L1;}
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1072 */
+      __pyx_v_sequence_style = YAML_FLOW_SEQUENCE_STYLE;
+      goto __pyx_L37;
+    }
+    __pyx_L37:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1073 */
+    __pyx_2 = (yaml_sequence_start_event_initialize(__pyx_v_event,__pyx_v_anchor,__pyx_v_tag,__pyx_v_implicit,__pyx_v_sequence_style) == 0);
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1075 */
+      __pyx_5 = __Pyx_GetName(__pyx_b, __pyx_n_MemoryError); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; goto __pyx_L1;}
+      __Pyx_Raise(__pyx_5, 0, 0);
+      Py_DECREF(__pyx_5); __pyx_5 = 0;
+      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; goto __pyx_L1;}
+      goto __pyx_L38;
+    }
+    __pyx_L38:;
+    goto __pyx_L2;
+  }
+  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_MappingStartEvent); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; goto __pyx_L1;}
+  __pyx_2 = __pyx_v_event_class == __pyx_1;
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  if (__pyx_2) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1077 */
+    __pyx_v_anchor = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1078 */
+    __pyx_3 = PyObject_GetAttr(__pyx_v_event_object, __pyx_n_anchor); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_anchor_object);
+    __pyx_v_anchor_object = __pyx_3;
+    __pyx_3 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1079 */
+    __pyx_2 = __pyx_v_anchor_object != Py_None;
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1080 */
+      __pyx_2 = PyUnicode_CheckExact(__pyx_v_anchor_object);
+      if (__pyx_2) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1081 */
+        __pyx_4 = PyUnicode_AsUTF8String(__pyx_v_anchor_object); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; goto __pyx_L1;}
+        Py_DECREF(__pyx_v_anchor_object);
+        __pyx_v_anchor_object = __pyx_4;
+        __pyx_4 = 0;
+        goto __pyx_L40;
+      }
+      __pyx_L40:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1082 */
+      __pyx_2 = (!PyString_CheckExact(__pyx_v_anchor_object));
+      if (__pyx_2) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1083 */
+        __pyx_5 = __Pyx_GetName(__pyx_b, __pyx_n_TypeError); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; goto __pyx_L1;}
+        __pyx_1 = PyTuple_New(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; goto __pyx_L1;}
+        Py_INCREF(__pyx_k94p);
+        PyTuple_SET_ITEM(__pyx_1, 0, __pyx_k94p);
+        __pyx_3 = PyObject_CallObject(__pyx_5, __pyx_1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; goto __pyx_L1;}
+        Py_DECREF(__pyx_5); __pyx_5 = 0;
+        Py_DECREF(__pyx_1); __pyx_1 = 0;
+        __Pyx_Raise(__pyx_3, 0, 0);
+        Py_DECREF(__pyx_3); __pyx_3 = 0;
+        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; goto __pyx_L1;}
+        goto __pyx_L41;
+      }
+      __pyx_L41:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1084 */
+      __pyx_v_anchor = PyString_AS_STRING(__pyx_v_anchor_object);
+      goto __pyx_L39;
+    }
+    __pyx_L39:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1085 */
+    __pyx_v_tag = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1086 */
+    __pyx_4 = PyObject_GetAttr(__pyx_v_event_object, __pyx_n_tag); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_tag_object);
+    __pyx_v_tag_object = __pyx_4;
+    __pyx_4 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1087 */
+    __pyx_2 = __pyx_v_tag_object != Py_None;
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1088 */
+      __pyx_2 = PyUnicode_CheckExact(__pyx_v_tag_object);
+      if (__pyx_2) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1089 */
+        __pyx_5 = PyUnicode_AsUTF8String(__pyx_v_tag_object); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; goto __pyx_L1;}
+        Py_DECREF(__pyx_v_tag_object);
+        __pyx_v_tag_object = __pyx_5;
+        __pyx_5 = 0;
+        goto __pyx_L43;
+      }
+      __pyx_L43:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1090 */
+      __pyx_2 = (!PyString_CheckExact(__pyx_v_tag_object));
+      if (__pyx_2) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1091 */
+        __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_TypeError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; goto __pyx_L1;}
+        __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; goto __pyx_L1;}
+        Py_INCREF(__pyx_k95p);
+        PyTuple_SET_ITEM(__pyx_3, 0, __pyx_k95p);
+        __pyx_4 = PyObject_CallObject(__pyx_1, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; goto __pyx_L1;}
+        Py_DECREF(__pyx_1); __pyx_1 = 0;
+        Py_DECREF(__pyx_3); __pyx_3 = 0;
+        __Pyx_Raise(__pyx_4, 0, 0);
+        Py_DECREF(__pyx_4); __pyx_4 = 0;
+        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; goto __pyx_L1;}
+        goto __pyx_L44;
+      }
+      __pyx_L44:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1092 */
+      __pyx_v_tag = PyString_AS_STRING(__pyx_v_tag_object);
+      goto __pyx_L42;
+    }
+    __pyx_L42:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1093 */
+    __pyx_v_implicit = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1094 */
+    __pyx_5 = PyObject_GetAttr(__pyx_v_event_object, __pyx_n_implicit); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; goto __pyx_L1;}
+    __pyx_2 = PyObject_IsTrue(__pyx_5); if (__pyx_2 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; goto __pyx_L1;}
+    Py_DECREF(__pyx_5); __pyx_5 = 0;
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1095 */
+      __pyx_v_implicit = 1;
+      goto __pyx_L45;
+    }
+    __pyx_L45:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1096 */
+    __pyx_v_mapping_style = YAML_BLOCK_MAPPING_STYLE;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1097 */
+    __pyx_1 = PyObject_GetAttr(__pyx_v_event_object, __pyx_n_flow_style); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; goto __pyx_L1;}
+    __pyx_2 = PyObject_IsTrue(__pyx_1); if (__pyx_2 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1097; goto __pyx_L1;}
+    Py_DECREF(__pyx_1); __pyx_1 = 0;
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1098 */
+      __pyx_v_mapping_style = YAML_FLOW_MAPPING_STYLE;
+      goto __pyx_L46;
+    }
+    __pyx_L46:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1099 */
+    __pyx_2 = (yaml_mapping_start_event_initialize(__pyx_v_event,__pyx_v_anchor,__pyx_v_tag,__pyx_v_implicit,__pyx_v_mapping_style) == 0);
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1101 */
+      __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_MemoryError); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; goto __pyx_L1;}
+      __Pyx_Raise(__pyx_3, 0, 0);
+      Py_DECREF(__pyx_3); __pyx_3 = 0;
+      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; goto __pyx_L1;}
+      goto __pyx_L47;
+    }
+    __pyx_L47:;
+    goto __pyx_L2;
+  }
+  __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n_SequenceEndEvent); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1102; goto __pyx_L1;}
+  __pyx_2 = __pyx_v_event_class == __pyx_4;
+  Py_DECREF(__pyx_4); __pyx_4 = 0;
+  if (__pyx_2) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1103 */
+    yaml_sequence_end_event_initialize(__pyx_v_event);
+    goto __pyx_L2;
+  }
+  __pyx_5 = __Pyx_GetName(__pyx_m, __pyx_n_MappingEndEvent); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1104; goto __pyx_L1;}
+  __pyx_2 = __pyx_v_event_class == __pyx_5;
+  Py_DECREF(__pyx_5); __pyx_5 = 0;
+  if (__pyx_2) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1105 */
+    yaml_mapping_end_event_initialize(__pyx_v_event);
+    goto __pyx_L2;
+  }
+  /*else*/ {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1107 */
+    __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_TypeError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1107; goto __pyx_L1;}
+    __pyx_3 = PyNumber_Remainder(__pyx_k96p, __pyx_v_event_object); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1107; goto __pyx_L1;}
+    __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1107; goto __pyx_L1;}
+    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
+    __pyx_3 = 0;
+    __pyx_5 = PyObject_CallObject(__pyx_1, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1107; goto __pyx_L1;}
+    Py_DECREF(__pyx_1); __pyx_1 = 0;
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    __Pyx_Raise(__pyx_5, 0, 0);
+    Py_DECREF(__pyx_5); __pyx_5 = 0;
+    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1107; goto __pyx_L1;}
+  }
+  __pyx_L2:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1108 */
+  __pyx_r = 1;
+  goto __pyx_L0;
+
+  __pyx_r = 0;
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_1);
+  Py_XDECREF(__pyx_3);
+  Py_XDECREF(__pyx_4);
+  Py_XDECREF(__pyx_5);
+  __Pyx_AddTraceback("_yaml.CEmitter._object_to_event");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_event_class);
+  Py_DECREF(__pyx_v_cache);
+  Py_DECREF(__pyx_v_handle);
+  Py_DECREF(__pyx_v_prefix);
+  Py_DECREF(__pyx_v_anchor_object);
+  Py_DECREF(__pyx_v_tag_object);
+  Py_DECREF(__pyx_v_value_object);
+  Py_DECREF(__pyx_v_style_object);
+  Py_DECREF(__pyx_v_self);
+  Py_DECREF(__pyx_v_event_object);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_f_5_yaml_8CEmitter_emit(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_5_yaml_8CEmitter_emit(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_event_object = 0;
+  yaml_event_t __pyx_v_event;
+  PyObject *__pyx_v_error;
+  PyObject *__pyx_r;
+  int __pyx_1;
+  int __pyx_2;
+  PyObject *__pyx_3 = 0;
+  static char *__pyx_argnames[] = {"event_object",0};
+  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_event_object)) return 0;
+  Py_INCREF(__pyx_v_self);
+  Py_INCREF(__pyx_v_event_object);
+  __pyx_v_error = Py_None; Py_INCREF(Py_None);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1112 */
+  __pyx_1 = ((struct __pyx_vtabstruct_5_yaml_CEmitter *)((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->__pyx_vtab)->_object_to_event(((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self),__pyx_v_event_object,(&__pyx_v_event)); if (__pyx_1 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; goto __pyx_L1;}
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1113 */
+  __pyx_1 = yaml_emitter_emit((&((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->emitter),(&__pyx_v_event)); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; goto __pyx_L1;}
+  __pyx_2 = (__pyx_1 == 0);
+  if (__pyx_2) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1114 */
+    __pyx_3 = ((struct __pyx_vtabstruct_5_yaml_CEmitter *)((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->__pyx_vtab)->_emitter_error(((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_error);
+    __pyx_v_error = __pyx_3;
+    __pyx_3 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1115 */
+    __Pyx_Raise(__pyx_v_error, 0, 0);
+    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1115; goto __pyx_L1;}
+    goto __pyx_L2;
+  }
+  __pyx_L2:;
+
+  __pyx_r = Py_None; Py_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_3);
+  __Pyx_AddTraceback("_yaml.CEmitter.emit");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_error);
+  Py_DECREF(__pyx_v_self);
+  Py_DECREF(__pyx_v_event_object);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_k97p;
+static PyObject *__pyx_k98p;
+
+static char (__pyx_k97[]) = "serializer is closed";
+static char (__pyx_k98[]) = "serializer is already opened";
+
+static PyObject *__pyx_f_5_yaml_8CEmitter_open(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_5_yaml_8CEmitter_open(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  yaml_event_t __pyx_v_event;
+  PyObject *__pyx_v_error;
+  PyObject *__pyx_r;
+  int __pyx_1;
+  int __pyx_2;
+  PyObject *__pyx_3 = 0;
+  PyObject *__pyx_4 = 0;
+  PyObject *__pyx_5 = 0;
+  static char *__pyx_argnames[] = {0};
+  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
+  Py_INCREF(__pyx_v_self);
+  __pyx_v_error = Py_None; Py_INCREF(Py_None);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1119 */
+  __pyx_1 = (((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->closed == (-1));
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1120 */
+    yaml_stream_start_event_initialize((&__pyx_v_event),((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->use_encoding);
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1121 */
+    __pyx_1 = yaml_emitter_emit((&((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->emitter),(&__pyx_v_event)); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1121; goto __pyx_L1;}
+    __pyx_2 = (__pyx_1 == 0);
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1122 */
+      __pyx_3 = ((struct __pyx_vtabstruct_5_yaml_CEmitter *)((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->__pyx_vtab)->_emitter_error(((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_error);
+      __pyx_v_error = __pyx_3;
+      __pyx_3 = 0;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1123 */
+      __Pyx_Raise(__pyx_v_error, 0, 0);
+      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; goto __pyx_L1;}
+      goto __pyx_L3;
+    }
+    __pyx_L3:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1124 */
+    ((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->closed = 0;
+    goto __pyx_L2;
+  }
+  __pyx_1 = (((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->closed == 1);
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1126 */
+    __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_SerializerError); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; goto __pyx_L1;}
+    __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; goto __pyx_L1;}
+    Py_INCREF(__pyx_k97p);
+    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_k97p);
+    __pyx_5 = PyObject_CallObject(__pyx_3, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; goto __pyx_L1;}
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    __Pyx_Raise(__pyx_5, 0, 0);
+    Py_DECREF(__pyx_5); __pyx_5 = 0;
+    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1126; goto __pyx_L1;}
+    goto __pyx_L2;
+  }
+  /*else*/ {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1128 */
+    __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_SerializerError); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; goto __pyx_L1;}
+    __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; goto __pyx_L1;}
+    Py_INCREF(__pyx_k98p);
+    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_k98p);
+    __pyx_5 = PyObject_CallObject(__pyx_3, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; goto __pyx_L1;}
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    __Pyx_Raise(__pyx_5, 0, 0);
+    Py_DECREF(__pyx_5); __pyx_5 = 0;
+    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; goto __pyx_L1;}
+  }
+  __pyx_L2:;
+
+  __pyx_r = Py_None; Py_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_3);
+  Py_XDECREF(__pyx_4);
+  Py_XDECREF(__pyx_5);
+  __Pyx_AddTraceback("_yaml.CEmitter.open");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_error);
+  Py_DECREF(__pyx_v_self);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_k99p;
+
+static char (__pyx_k99[]) = "serializer is not opened";
+
+static PyObject *__pyx_f_5_yaml_8CEmitter_close(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_5_yaml_8CEmitter_close(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  yaml_event_t __pyx_v_event;
+  PyObject *__pyx_v_error;
+  PyObject *__pyx_r;
+  int __pyx_1;
+  PyObject *__pyx_2 = 0;
+  PyObject *__pyx_3 = 0;
+  PyObject *__pyx_4 = 0;
+  int __pyx_5;
+  static char *__pyx_argnames[] = {0};
+  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
+  Py_INCREF(__pyx_v_self);
+  __pyx_v_error = Py_None; Py_INCREF(Py_None);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1132 */
+  __pyx_1 = (((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->closed == (-1));
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1133 */
+    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_SerializerError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1133; goto __pyx_L1;}
+    __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1133; goto __pyx_L1;}
+    Py_INCREF(__pyx_k99p);
+    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_k99p);
+    __pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1133; goto __pyx_L1;}
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    __Pyx_Raise(__pyx_4, 0, 0);
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1133; goto __pyx_L1;}
+    goto __pyx_L2;
+  }
+  __pyx_1 = (((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->closed == 0);
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1135 */
+    yaml_stream_end_event_initialize((&__pyx_v_event));
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1136 */
+    __pyx_1 = yaml_emitter_emit((&((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->emitter),(&__pyx_v_event)); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1136; goto __pyx_L1;}
+    __pyx_5 = (__pyx_1 == 0);
+    if (__pyx_5) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1137 */
+      __pyx_2 = ((struct __pyx_vtabstruct_5_yaml_CEmitter *)((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->__pyx_vtab)->_emitter_error(((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1137; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_error);
+      __pyx_v_error = __pyx_2;
+      __pyx_2 = 0;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1138 */
+      __Pyx_Raise(__pyx_v_error, 0, 0);
+      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; goto __pyx_L1;}
+      goto __pyx_L3;
+    }
+    __pyx_L3:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1139 */
+    ((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->closed = 1;
+    goto __pyx_L2;
+  }
+  __pyx_L2:;
+
+  __pyx_r = Py_None; Py_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_2);
+  Py_XDECREF(__pyx_3);
+  Py_XDECREF(__pyx_4);
+  __Pyx_AddTraceback("_yaml.CEmitter.close");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_error);
+  Py_DECREF(__pyx_v_self);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_k100p;
+static PyObject *__pyx_k101p;
+static PyObject *__pyx_k102p;
+static PyObject *__pyx_k103p;
+static PyObject *__pyx_k104p;
+
+static char (__pyx_k100[]) = "serializer is not opened";
+static char (__pyx_k101[]) = "serializer is closed";
+static char (__pyx_k102[]) = "too many tags";
+static char (__pyx_k103[]) = "tag handle must be a string";
+static char (__pyx_k104[]) = "tag prefix must be a string";
+
+static PyObject *__pyx_f_5_yaml_8CEmitter_serialize(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_5_yaml_8CEmitter_serialize(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_node = 0;
+  yaml_event_t __pyx_v_event;
+  yaml_version_directive_t __pyx_v_version_directive_value;
+  yaml_version_directive_t (*__pyx_v_version_directive);
+  yaml_tag_directive_t (__pyx_v_tag_directives_value[128]);
+  yaml_tag_directive_t (*__pyx_v_tag_directives_start);
+  yaml_tag_directive_t (*__pyx_v_tag_directives_end);
+  PyObject *__pyx_v_cache;
+  PyObject *__pyx_v_handle;
+  PyObject *__pyx_v_prefix;
+  PyObject *__pyx_v_error;
+  PyObject *__pyx_r;
+  int __pyx_1;
+  PyObject *__pyx_2 = 0;
+  PyObject *__pyx_3 = 0;
+  PyObject *__pyx_4 = 0;
+  PyObject *__pyx_5 = 0;
+  int __pyx_6;
+  static char *__pyx_argnames[] = {"node",0};
+  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_node)) return 0;
+  Py_INCREF(__pyx_v_self);
+  Py_INCREF(__pyx_v_node);
+  __pyx_v_cache = Py_None; Py_INCREF(Py_None);
+  __pyx_v_handle = Py_None; Py_INCREF(Py_None);
+  __pyx_v_prefix = Py_None; Py_INCREF(Py_None);
+  __pyx_v_error = Py_None; Py_INCREF(Py_None);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1148 */
+  __pyx_1 = (((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->closed == (-1));
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1149 */
+    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_SerializerError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; goto __pyx_L1;}
+    __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; goto __pyx_L1;}
+    Py_INCREF(__pyx_k100p);
+    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_k100p);
+    __pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; goto __pyx_L1;}
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    __Pyx_Raise(__pyx_4, 0, 0);
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; goto __pyx_L1;}
+    goto __pyx_L2;
+  }
+  __pyx_1 = (((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->closed == 1);
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1151 */
+    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_SerializerError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1151; goto __pyx_L1;}
+    __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1151; goto __pyx_L1;}
+    Py_INCREF(__pyx_k101p);
+    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_k101p);
+    __pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1151; goto __pyx_L1;}
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    __Pyx_Raise(__pyx_4, 0, 0);
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1151; goto __pyx_L1;}
+    goto __pyx_L2;
+  }
+  __pyx_L2:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1152 */
+  __pyx_2 = PyList_New(0); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1152; goto __pyx_L1;}
+  Py_DECREF(__pyx_v_cache);
+  __pyx_v_cache = __pyx_2;
+  __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1153 */
+  __pyx_v_version_directive = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1154 */
+  __pyx_1 = PyObject_IsTrue(((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->use_version); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; goto __pyx_L1;}
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1155 */
+    __pyx_3 = PyInt_FromLong(0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1155; goto __pyx_L1;}
+    __pyx_4 = PyObject_GetItem(((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->use_version, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1155; goto __pyx_L1;}
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    __pyx_1 = PyInt_AsLong(__pyx_4); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1155; goto __pyx_L1;}
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    __pyx_v_version_directive_value.major = __pyx_1;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1156 */
+    __pyx_2 = PyInt_FromLong(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1156; goto __pyx_L1;}
+    __pyx_3 = PyObject_GetItem(((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->use_version, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1156; goto __pyx_L1;}
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    __pyx_1 = PyInt_AsLong(__pyx_3); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1156; goto __pyx_L1;}
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    __pyx_v_version_directive_value.minor = __pyx_1;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1157 */
+    __pyx_v_version_directive = (&__pyx_v_version_directive_value);
+    goto __pyx_L3;
+  }
+  __pyx_L3:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1158 */
+  __pyx_v_tag_directives_start = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1159 */
+  __pyx_v_tag_directives_end = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1160 */
+  __pyx_1 = PyObject_IsTrue(((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->use_tags); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1160; goto __pyx_L1;}
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1161 */
+    __pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_len); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1161; goto __pyx_L1;}
+    __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1161; goto __pyx_L1;}
+    Py_INCREF(((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->use_tags);
+    PyTuple_SET_ITEM(__pyx_2, 0, ((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->use_tags);
+    __pyx_3 = PyObject_CallObject(__pyx_4, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1161; goto __pyx_L1;}
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    __pyx_4 = PyInt_FromLong(128); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1161; goto __pyx_L1;}
+    if (PyObject_Cmp(__pyx_3, __pyx_4, &__pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1161; goto __pyx_L1;}
+    __pyx_1 = __pyx_1 > 0;
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    if (__pyx_1) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1162 */
+      __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_ValueError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; goto __pyx_L1;}
+      __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; goto __pyx_L1;}
+      Py_INCREF(__pyx_k102p);
+      PyTuple_SET_ITEM(__pyx_3, 0, __pyx_k102p);
+      __pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; goto __pyx_L1;}
+      Py_DECREF(__pyx_2); __pyx_2 = 0;
+      Py_DECREF(__pyx_3); __pyx_3 = 0;
+      __Pyx_Raise(__pyx_4, 0, 0);
+      Py_DECREF(__pyx_4); __pyx_4 = 0;
+      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; goto __pyx_L1;}
+      goto __pyx_L5;
+    }
+    __pyx_L5:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1163 */
+    __pyx_v_tag_directives_start = __pyx_v_tag_directives_value;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1164 */
+    __pyx_v_tag_directives_end = __pyx_v_tag_directives_value;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1165 */
+    __pyx_2 = PyObject_GetIter(((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->use_tags); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; goto __pyx_L1;}
+    for (;;) {
+      __pyx_L6:;
+      __pyx_3 = PyIter_Next(__pyx_2);
+      if (!__pyx_3) {
+        if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; goto __pyx_L1;}
+        break;
+      }
+      Py_DECREF(__pyx_v_handle);
+      __pyx_v_handle = __pyx_3;
+      __pyx_3 = 0;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1166 */
+      __pyx_4 = PyObject_GetItem(((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->use_tags, __pyx_v_handle); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_prefix);
+      __pyx_v_prefix = __pyx_4;
+      __pyx_4 = 0;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1167 */
+      __pyx_1 = PyUnicode_CheckExact(__pyx_v_handle);
+      if (__pyx_1) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1168 */
+        __pyx_3 = PyUnicode_AsUTF8String(__pyx_v_handle); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; goto __pyx_L1;}
+        Py_DECREF(__pyx_v_handle);
+        __pyx_v_handle = __pyx_3;
+        __pyx_3 = 0;
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1169 */
+        __pyx_4 = PyObject_GetAttr(__pyx_v_cache, __pyx_n_append); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; goto __pyx_L1;}
+        __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; goto __pyx_L1;}
+        Py_INCREF(__pyx_v_handle);
+        PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_handle);
+        __pyx_5 = PyObject_CallObject(__pyx_4, __pyx_3); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; goto __pyx_L1;}
+        Py_DECREF(__pyx_4); __pyx_4 = 0;
+        Py_DECREF(__pyx_3); __pyx_3 = 0;
+        Py_DECREF(__pyx_5); __pyx_5 = 0;
+        goto __pyx_L8;
+      }
+      __pyx_L8:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1170 */
+      __pyx_1 = (!PyString_CheckExact(__pyx_v_handle));
+      if (__pyx_1) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1171 */
+        __pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_TypeError); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1171; goto __pyx_L1;}
+        __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1171; goto __pyx_L1;}
+        Py_INCREF(__pyx_k103p);
+        PyTuple_SET_ITEM(__pyx_3, 0, __pyx_k103p);
+        __pyx_5 = PyObject_CallObject(__pyx_4, __pyx_3); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1171; goto __pyx_L1;}
+        Py_DECREF(__pyx_4); __pyx_4 = 0;
+        Py_DECREF(__pyx_3); __pyx_3 = 0;
+        __Pyx_Raise(__pyx_5, 0, 0);
+        Py_DECREF(__pyx_5); __pyx_5 = 0;
+        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1171; goto __pyx_L1;}
+        goto __pyx_L9;
+      }
+      __pyx_L9:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1172 */
+      __pyx_v_tag_directives_end->handle = PyString_AS_STRING(__pyx_v_handle);
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1173 */
+      __pyx_1 = PyUnicode_CheckExact(__pyx_v_prefix);
+      if (__pyx_1) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1174 */
+        __pyx_4 = PyUnicode_AsUTF8String(__pyx_v_prefix); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; goto __pyx_L1;}
+        Py_DECREF(__pyx_v_prefix);
+        __pyx_v_prefix = __pyx_4;
+        __pyx_4 = 0;
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1175 */
+        __pyx_3 = PyObject_GetAttr(__pyx_v_cache, __pyx_n_append); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1175; goto __pyx_L1;}
+        __pyx_5 = PyTuple_New(1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1175; goto __pyx_L1;}
+        Py_INCREF(__pyx_v_prefix);
+        PyTuple_SET_ITEM(__pyx_5, 0, __pyx_v_prefix);
+        __pyx_4 = PyObject_CallObject(__pyx_3, __pyx_5); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1175; goto __pyx_L1;}
+        Py_DECREF(__pyx_3); __pyx_3 = 0;
+        Py_DECREF(__pyx_5); __pyx_5 = 0;
+        Py_DECREF(__pyx_4); __pyx_4 = 0;
+        goto __pyx_L10;
+      }
+      __pyx_L10:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1176 */
+      __pyx_1 = (!PyString_CheckExact(__pyx_v_prefix));
+      if (__pyx_1) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1177 */
+        __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_TypeError); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1177; goto __pyx_L1;}
+        __pyx_5 = PyTuple_New(1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1177; goto __pyx_L1;}
+        Py_INCREF(__pyx_k104p);
+        PyTuple_SET_ITEM(__pyx_5, 0, __pyx_k104p);
+        __pyx_4 = PyObject_CallObject(__pyx_3, __pyx_5); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1177; goto __pyx_L1;}
+        Py_DECREF(__pyx_3); __pyx_3 = 0;
+        Py_DECREF(__pyx_5); __pyx_5 = 0;
+        __Pyx_Raise(__pyx_4, 0, 0);
+        Py_DECREF(__pyx_4); __pyx_4 = 0;
+        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1177; goto __pyx_L1;}
+        goto __pyx_L11;
+      }
+      __pyx_L11:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1178 */
+      __pyx_v_tag_directives_end->prefix = PyString_AS_STRING(__pyx_v_prefix);
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1179 */
+      __pyx_v_tag_directives_end = (__pyx_v_tag_directives_end + 1);
+    }
+    __pyx_L7:;
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    goto __pyx_L4;
+  }
+  __pyx_L4:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1180 */
+  __pyx_1 = (yaml_document_start_event_initialize((&__pyx_v_event),__pyx_v_version_directive,__pyx_v_tag_directives_start,__pyx_v_tag_directives_end,((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->document_start_implicit) == 0);
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1183 */
+    __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_MemoryError); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; goto __pyx_L1;}
+    __Pyx_Raise(__pyx_3, 0, 0);
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; goto __pyx_L1;}
+    goto __pyx_L12;
+  }
+  __pyx_L12:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1184 */
+  __pyx_1 = yaml_emitter_emit((&((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->emitter),(&__pyx_v_event)); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; goto __pyx_L1;}
+  __pyx_6 = (__pyx_1 == 0);
+  if (__pyx_6) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1185 */
+    __pyx_5 = ((struct __pyx_vtabstruct_5_yaml_CEmitter *)((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->__pyx_vtab)->_emitter_error(((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1185; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_error);
+    __pyx_v_error = __pyx_5;
+    __pyx_5 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1186 */
+    __Pyx_Raise(__pyx_v_error, 0, 0);
+    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; goto __pyx_L1;}
+    goto __pyx_L13;
+  }
+  __pyx_L13:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1187 */
+  __pyx_1 = ((struct __pyx_vtabstruct_5_yaml_CEmitter *)((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->__pyx_vtab)->_anchor_node(((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self),__pyx_v_node); if (__pyx_1 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1187; goto __pyx_L1;}
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1188 */
+  __pyx_6 = ((struct __pyx_vtabstruct_5_yaml_CEmitter *)((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->__pyx_vtab)->_serialize_node(((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self),__pyx_v_node,Py_None,Py_None); if (__pyx_6 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; goto __pyx_L1;}
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1189 */
+  yaml_document_end_event_initialize((&__pyx_v_event),((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->document_end_implicit);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1190 */
+  __pyx_1 = yaml_emitter_emit((&((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->emitter),(&__pyx_v_event)); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; goto __pyx_L1;}
+  __pyx_6 = (__pyx_1 == 0);
+  if (__pyx_6) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1191 */
+    __pyx_4 = ((struct __pyx_vtabstruct_5_yaml_CEmitter *)((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->__pyx_vtab)->_emitter_error(((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_error);
+    __pyx_v_error = __pyx_4;
+    __pyx_4 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1192 */
+    __Pyx_Raise(__pyx_v_error, 0, 0);
+    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; goto __pyx_L1;}
+    goto __pyx_L14;
+  }
+  __pyx_L14:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1193 */
+  __pyx_2 = PyDict_New(); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; goto __pyx_L1;}
+  Py_DECREF(((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->serialized_nodes);
+  ((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->serialized_nodes = __pyx_2;
+  __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1194 */
+  __pyx_3 = PyDict_New(); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1194; goto __pyx_L1;}
+  Py_DECREF(((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->anchors);
+  ((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->anchors = __pyx_3;
+  __pyx_3 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1195 */
+  ((struct __pyx_obj_5_yaml_CEmitter *)__pyx_v_self)->last_alias_id = 0;
+
+  __pyx_r = Py_None; Py_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_2);
+  Py_XDECREF(__pyx_3);
+  Py_XDECREF(__pyx_4);
+  Py_XDECREF(__pyx_5);
+  __Pyx_AddTraceback("_yaml.CEmitter.serialize");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_cache);
+  Py_DECREF(__pyx_v_handle);
+  Py_DECREF(__pyx_v_prefix);
+  Py_DECREF(__pyx_v_error);
+  Py_DECREF(__pyx_v_self);
+  Py_DECREF(__pyx_v_node);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_k105p;
+
+static char (__pyx_k105[]) = "id%03d";
+
+static int __pyx_f_5_yaml_8CEmitter__anchor_node(struct __pyx_obj_5_yaml_CEmitter *__pyx_v_self,PyObject *__pyx_v_node) {
+  PyObject *__pyx_v_node_class;
+  PyObject *__pyx_v_item;
+  PyObject *__pyx_v_key;
+  PyObject *__pyx_v_value;
+  int __pyx_r;
+  int __pyx_1;
+  PyObject *__pyx_2 = 0;
+  PyObject *__pyx_3 = 0;
+  PyObject *__pyx_4 = 0;
+  PyObject *__pyx_5 = 0;
+  Py_INCREF(__pyx_v_self);
+  Py_INCREF(__pyx_v_node);
+  __pyx_v_node_class = Py_None; Py_INCREF(Py_None);
+  __pyx_v_item = Py_None; Py_INCREF(Py_None);
+  __pyx_v_key = Py_None; Py_INCREF(Py_None);
+  __pyx_v_value = Py_None; Py_INCREF(Py_None);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1198 */
+  __pyx_1 = PySequence_Contains(__pyx_v_self->anchors, __pyx_v_node); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; goto __pyx_L1;}
+  if (__pyx_1) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1199 */
+    __pyx_2 = PyObject_GetItem(__pyx_v_self->anchors, __pyx_v_node); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; goto __pyx_L1;}
+    __pyx_1 = __pyx_2 == Py_None;
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    if (__pyx_1) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1200 */
+      __pyx_v_self->last_alias_id = (__pyx_v_self->last_alias_id + 1);
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1201 */
+      __pyx_2 = PyInt_FromLong(__pyx_v_self->last_alias_id); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1201; goto __pyx_L1;}
+      __pyx_3 = PyNumber_Remainder(__pyx_k105p, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1201; goto __pyx_L1;}
+      Py_DECREF(__pyx_2); __pyx_2 = 0;
+      if (PyObject_SetItem(__pyx_v_self->anchors, __pyx_v_node, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1201; goto __pyx_L1;}
+      Py_DECREF(__pyx_3); __pyx_3 = 0;
+      goto __pyx_L3;
+    }
+    __pyx_L3:;
+    goto __pyx_L2;
+  }
+  /*else*/ {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1203 */
+    if (PyObject_SetItem(__pyx_v_self->anchors, __pyx_v_node, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1203; goto __pyx_L1;}
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1204 */
+    __pyx_2 = PyObject_GetAttr(__pyx_v_node, __pyx_n___class__); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_node_class);
+    __pyx_v_node_class = __pyx_2;
+    __pyx_2 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1205 */
+    __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_SequenceNode); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; goto __pyx_L1;}
+    __pyx_1 = __pyx_v_node_class == __pyx_3;
+    Py_DECREF(__pyx_3); __pyx_3 = 0;
+    if (__pyx_1) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1206 */
+      __pyx_2 = PyObject_GetAttr(__pyx_v_node, __pyx_n_value); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; goto __pyx_L1;}
+      __pyx_3 = PyObject_GetIter(__pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; goto __pyx_L1;}
+      Py_DECREF(__pyx_2); __pyx_2 = 0;
+      for (;;) {
+        __pyx_L5:;
+        __pyx_2 = PyIter_Next(__pyx_3);
+        if (!__pyx_2) {
+          if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; goto __pyx_L1;}
+          break;
+        }
+        Py_DECREF(__pyx_v_item);
+        __pyx_v_item = __pyx_2;
+        __pyx_2 = 0;
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1207 */
+        __pyx_1 = ((struct __pyx_vtabstruct_5_yaml_CEmitter *)__pyx_v_self->__pyx_vtab)->_anchor_node(__pyx_v_self,__pyx_v_item); if (__pyx_1 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1207; goto __pyx_L1;}
+      }
+      __pyx_L6:;
+      Py_DECREF(__pyx_3); __pyx_3 = 0;
+      goto __pyx_L4;
+    }
+    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_MappingNode); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; goto __pyx_L1;}
+    __pyx_1 = __pyx_v_node_class == __pyx_2;
+    Py_DECREF(__pyx_2); __pyx_2 = 0;
+    if (__pyx_1) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1209 */
+      __pyx_3 = PyObject_GetAttr(__pyx_v_node, __pyx_n_value); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1209; goto __pyx_L1;}
+      __pyx_2 = PyObject_GetIter(__pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1209; goto __pyx_L1;}
+      Py_DECREF(__pyx_3); __pyx_3 = 0;
+      for (;;) {
+        __pyx_L7:;
+        __pyx_3 = PyIter_Next(__pyx_2);
+        if (!__pyx_3) {
+          if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1209; goto __pyx_L1;}
+          break;
+        }
+        __pyx_4 = __Pyx_UnpackItem(__pyx_3, 0); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1209; goto __pyx_L1;}
+        Py_DECREF(__pyx_v_key);
+        __pyx_v_key = __pyx_4;
+        __pyx_4 = 0;
+        __pyx_5 = __Pyx_UnpackItem(__pyx_3, 1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1209; goto __pyx_L1;}
+        Py_DECREF(__pyx_v_value);
+        __pyx_v_value = __pyx_5;
+        __pyx_5 = 0;
+        if (__Pyx_EndUnpack(__pyx_3, 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1209; goto __pyx_L1;}
+        Py_DECREF(__pyx_3); __pyx_3 = 0;
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1210 */
+        __pyx_1 = ((struct __pyx_vtabstruct_5_yaml_CEmitter *)__pyx_v_self->__pyx_vtab)->_anchor_node(__pyx_v_self,__pyx_v_key); if (__pyx_1 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; goto __pyx_L1;}
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1211 */
+        __pyx_1 = ((struct __pyx_vtabstruct_5_yaml_CEmitter *)__pyx_v_self->__pyx_vtab)->_anchor_node(__pyx_v_self,__pyx_v_value); if (__pyx_1 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1211; goto __pyx_L1;}
+      }
+      __pyx_L8:;
+      Py_DECREF(__pyx_2); __pyx_2 = 0;
+      goto __pyx_L4;
+    }
+    __pyx_L4:;
+  }
+  __pyx_L2:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1212 */
+  __pyx_r = 1;
+  goto __pyx_L0;
+
+  __pyx_r = 0;
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_2);
+  Py_XDECREF(__pyx_3);
+  Py_XDECREF(__pyx_4);
+  Py_XDECREF(__pyx_5);
+  __Pyx_AddTraceback("_yaml.CEmitter._anchor_node");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_node_class);
+  Py_DECREF(__pyx_v_item);
+  Py_DECREF(__pyx_v_key);
+  Py_DECREF(__pyx_v_value);
+  Py_DECREF(__pyx_v_self);
+  Py_DECREF(__pyx_v_node);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_k106p;
+static PyObject *__pyx_k107p;
+static PyObject *__pyx_k108p;
+static PyObject *__pyx_k109p;
+static PyObject *__pyx_k110p;
+static PyObject *__pyx_k111p;
+static PyObject *__pyx_k112p;
+static PyObject *__pyx_k113p;
+
+static char (__pyx_k106[]) = "tag must be a string";
+static char (__pyx_k107[]) = "value must be a string";
+static char (__pyx_k108[]) = "\'";
+static char (__pyx_k109[]) = "\"";
+static char (__pyx_k110[]) = "|";
+static char (__pyx_k111[]) = ">";
+static char (__pyx_k112[]) = "tag must be a string";
+static char (__pyx_k113[]) = "tag must be a string";
+
+static int __pyx_f_5_yaml_8CEmitter__serialize_node(struct __pyx_obj_5_yaml_CEmitter *__pyx_v_self,PyObject *__pyx_v_node,PyObject *__pyx_v_parent,PyObject *__pyx_v_index) {
+  yaml_event_t __pyx_v_event;
+  int __pyx_v_implicit;
+  int __pyx_v_plain_implicit;
+  int __pyx_v_quoted_implicit;
+  char (*__pyx_v_anchor);
+  char (*__pyx_v_tag);
+  char (*__pyx_v_value);
+  int __pyx_v_length;
+  int __pyx_v_item_index;
+  yaml_scalar_style_t __pyx_v_scalar_style;
+  yaml_sequence_style_t __pyx_v_sequence_style;
+  yaml_mapping_style_t __pyx_v_mapping_style;
+  PyObject *__pyx_v_anchor_object;
+  PyObject *__pyx_v_error;
+  PyObject *__pyx_v_node_class;
+  PyObject *__pyx_v_tag_object;
+  PyObject *__pyx_v_value_object;
+  PyObject *__pyx_v_style_object;
+  PyObject *__pyx_v_item;
+  PyObject *__pyx_v_item_key;
+  PyObject *__pyx_v_item_value;
+  int __pyx_r;
+  PyObject *__pyx_1 = 0;
+  int __pyx_2;
+  int __pyx_3;
+  PyObject *__pyx_4 = 0;
+  PyObject *__pyx_5 = 0;
+  PyObject *__pyx_6 = 0;
+  PyObject *__pyx_7 = 0;
+  PyObject *__pyx_8 = 0;
+  Py_INCREF(__pyx_v_self);
+  Py_INCREF(__pyx_v_node);
+  Py_INCREF(__pyx_v_parent);
+  Py_INCREF(__pyx_v_index);
+  __pyx_v_anchor_object = Py_None; Py_INCREF(Py_None);
+  __pyx_v_error = Py_None; Py_INCREF(Py_None);
+  __pyx_v_node_class = Py_None; Py_INCREF(Py_None);
+  __pyx_v_tag_object = Py_None; Py_INCREF(Py_None);
+  __pyx_v_value_object = Py_None; Py_INCREF(Py_None);
+  __pyx_v_style_object = Py_None; Py_INCREF(Py_None);
+  __pyx_v_item = Py_None; Py_INCREF(Py_None);
+  __pyx_v_item_key = Py_None; Py_INCREF(Py_None);
+  __pyx_v_item_value = Py_None; Py_INCREF(Py_None);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1227 */
+  __pyx_1 = PyObject_GetItem(__pyx_v_self->anchors, __pyx_v_node); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1227; goto __pyx_L1;}
+  Py_DECREF(__pyx_v_anchor_object);
+  __pyx_v_anchor_object = __pyx_1;
+  __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1228 */
+  __pyx_v_anchor = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1229 */
+  __pyx_2 = __pyx_v_anchor_object != Py_None;
+  if (__pyx_2) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1230 */
+    __pyx_v_anchor = PyString_AS_STRING(__pyx_v_anchor_object);
+    goto __pyx_L2;
+  }
+  __pyx_L2:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1231 */
+  __pyx_2 = PySequence_Contains(__pyx_v_self->serialized_nodes, __pyx_v_node); if (__pyx_2 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1231; goto __pyx_L1;}
+  if (__pyx_2) {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1232 */
+    __pyx_2 = (yaml_alias_event_initialize((&__pyx_v_event),__pyx_v_anchor) == 0);
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1233 */
+      __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_MemoryError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1233; goto __pyx_L1;}
+      __Pyx_Raise(__pyx_1, 0, 0);
+      Py_DECREF(__pyx_1); __pyx_1 = 0;
+      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1233; goto __pyx_L1;}
+      goto __pyx_L4;
+    }
+    __pyx_L4:;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1234 */
+    __pyx_2 = yaml_emitter_emit((&__pyx_v_self->emitter),(&__pyx_v_event)); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; goto __pyx_L1;}
+    __pyx_3 = (__pyx_2 == 0);
+    if (__pyx_3) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1235 */
+      __pyx_1 = ((struct __pyx_vtabstruct_5_yaml_CEmitter *)__pyx_v_self->__pyx_vtab)->_emitter_error(__pyx_v_self); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1235; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_error);
+      __pyx_v_error = __pyx_1;
+      __pyx_1 = 0;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1236 */
+      __Pyx_Raise(__pyx_v_error, 0, 0);
+      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; goto __pyx_L1;}
+      goto __pyx_L5;
+    }
+    __pyx_L5:;
+    goto __pyx_L3;
+  }
+  /*else*/ {
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1238 */
+    __pyx_1 = PyObject_GetAttr(__pyx_v_node, __pyx_n___class__); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1238; goto __pyx_L1;}
+    Py_DECREF(__pyx_v_node_class);
+    __pyx_v_node_class = __pyx_1;
+    __pyx_1 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1239 */
+    __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_True); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1239; goto __pyx_L1;}
+    if (PyObject_SetItem(__pyx_v_self->serialized_nodes, __pyx_v_node, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1239; goto __pyx_L1;}
+    Py_DECREF(__pyx_1); __pyx_1 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1240 */
+    __pyx_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_descend_resolver); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1240; goto __pyx_L1;}
+    __pyx_4 = PyTuple_New(2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1240; goto __pyx_L1;}
+    Py_INCREF(__pyx_v_parent);
+    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_parent);
+    Py_INCREF(__pyx_v_index);
+    PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_index);
+    __pyx_5 = PyObject_CallObject(__pyx_1, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1240; goto __pyx_L1;}
+    Py_DECREF(__pyx_1); __pyx_1 = 0;
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    Py_DECREF(__pyx_5); __pyx_5 = 0;
+
+    /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1241 */
+    __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_ScalarNode); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1241; goto __pyx_L1;}
+    __pyx_2 = __pyx_v_node_class == __pyx_1;
+    Py_DECREF(__pyx_1); __pyx_1 = 0;
+    if (__pyx_2) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1242 */
+      __pyx_v_plain_implicit = 0;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1243 */
+      __pyx_v_quoted_implicit = 0;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1244 */
+      __pyx_4 = PyObject_GetAttr(__pyx_v_node, __pyx_n_tag); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_tag_object);
+      __pyx_v_tag_object = __pyx_4;
+      __pyx_4 = 0;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1245 */
+      __pyx_5 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_resolve); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; goto __pyx_L1;}
+      __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_ScalarNode); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; goto __pyx_L1;}
+      __pyx_4 = PyObject_GetAttr(__pyx_v_node, __pyx_n_value); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; goto __pyx_L1;}
+      __pyx_6 = __Pyx_GetName(__pyx_b, __pyx_n_True); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; goto __pyx_L1;}
+      __pyx_7 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; goto __pyx_L1;}
+      __pyx_8 = PyTuple_New(2); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; goto __pyx_L1;}
+      PyTuple_SET_ITEM(__pyx_8, 0, __pyx_6);
+      PyTuple_SET_ITEM(__pyx_8, 1, __pyx_7);
+      __pyx_6 = 0;
+      __pyx_7 = 0;
+      __pyx_6 = PyTuple_New(3); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; goto __pyx_L1;}
+      PyTuple_SET_ITEM(__pyx_6, 0, __pyx_1);
+      PyTuple_SET_ITEM(__pyx_6, 1, __pyx_4);
+      PyTuple_SET_ITEM(__pyx_6, 2, __pyx_8);
+      __pyx_1 = 0;
+      __pyx_4 = 0;
+      __pyx_8 = 0;
+      __pyx_7 = PyObject_CallObject(__pyx_5, __pyx_6); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; goto __pyx_L1;}
+      Py_DECREF(__pyx_5); __pyx_5 = 0;
+      Py_DECREF(__pyx_6); __pyx_6 = 0;
+      if (PyObject_Cmp(__pyx_7, __pyx_v_tag_object, &__pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; goto __pyx_L1;}
+      __pyx_3 = __pyx_3 == 0;
+      Py_DECREF(__pyx_7); __pyx_7 = 0;
+      if (__pyx_3) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1246 */
+        __pyx_v_plain_implicit = 1;
+        goto __pyx_L7;
+      }
+      __pyx_L7:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1247 */
+      __pyx_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_resolve); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1247; goto __pyx_L1;}
+      __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n_ScalarNode); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1247; goto __pyx_L1;}
+      __pyx_8 = PyObject_GetAttr(__pyx_v_node, __pyx_n_value); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1247; goto __pyx_L1;}
+      __pyx_5 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1247; goto __pyx_L1;}
+      __pyx_6 = __Pyx_GetName(__pyx_b, __pyx_n_True); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1247; goto __pyx_L1;}
+      __pyx_7 = PyTuple_New(2); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1247; goto __pyx_L1;}
+      PyTuple_SET_ITEM(__pyx_7, 0, __pyx_5);
+      PyTuple_SET_ITEM(__pyx_7, 1, __pyx_6);
+      __pyx_5 = 0;
+      __pyx_6 = 0;
+      __pyx_5 = PyTuple_New(3); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1247; goto __pyx_L1;}
+      PyTuple_SET_ITEM(__pyx_5, 0, __pyx_4);
+      PyTuple_SET_ITEM(__pyx_5, 1, __pyx_8);
+      PyTuple_SET_ITEM(__pyx_5, 2, __pyx_7);
+      __pyx_4 = 0;
+      __pyx_8 = 0;
+      __pyx_7 = 0;
+      __pyx_6 = PyObject_CallObject(__pyx_1, __pyx_5); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1247; goto __pyx_L1;}
+      Py_DECREF(__pyx_1); __pyx_1 = 0;
+      Py_DECREF(__pyx_5); __pyx_5 = 0;
+      if (PyObject_Cmp(__pyx_6, __pyx_v_tag_object, &__pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1247; goto __pyx_L1;}
+      __pyx_2 = __pyx_2 == 0;
+      Py_DECREF(__pyx_6); __pyx_6 = 0;
+      if (__pyx_2) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1248 */
+        __pyx_v_quoted_implicit = 1;
+        goto __pyx_L8;
+      }
+      __pyx_L8:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1249 */
+      __pyx_v_tag = 0;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1250 */
+      __pyx_3 = __pyx_v_tag_object != Py_None;
+      if (__pyx_3) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1251 */
+        __pyx_2 = PyUnicode_CheckExact(__pyx_v_tag_object);
+        if (__pyx_2) {
+
+          /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1252 */
+          __pyx_4 = PyUnicode_AsUTF8String(__pyx_v_tag_object); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; goto __pyx_L1;}
+          Py_DECREF(__pyx_v_tag_object);
+          __pyx_v_tag_object = __pyx_4;
+          __pyx_4 = 0;
+          goto __pyx_L10;
+        }
+        __pyx_L10:;
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1253 */
+        __pyx_3 = (!PyString_CheckExact(__pyx_v_tag_object));
+        if (__pyx_3) {
+
+          /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1254 */
+          __pyx_8 = __Pyx_GetName(__pyx_b, __pyx_n_TypeError); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; goto __pyx_L1;}
+          __pyx_7 = PyTuple_New(1); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; goto __pyx_L1;}
+          Py_INCREF(__pyx_k106p);
+          PyTuple_SET_ITEM(__pyx_7, 0, __pyx_k106p);
+          __pyx_1 = PyObject_CallObject(__pyx_8, __pyx_7); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; goto __pyx_L1;}
+          Py_DECREF(__pyx_8); __pyx_8 = 0;
+          Py_DECREF(__pyx_7); __pyx_7 = 0;
+          __Pyx_Raise(__pyx_1, 0, 0);
+          Py_DECREF(__pyx_1); __pyx_1 = 0;
+          {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; goto __pyx_L1;}
+          goto __pyx_L11;
+        }
+        __pyx_L11:;
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1255 */
+        __pyx_v_tag = PyString_AS_STRING(__pyx_v_tag_object);
+        goto __pyx_L9;
+      }
+      __pyx_L9:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1256 */
+      __pyx_5 = PyObject_GetAttr(__pyx_v_node, __pyx_n_value); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1256; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_value_object);
+      __pyx_v_value_object = __pyx_5;
+      __pyx_5 = 0;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1257 */
+      __pyx_2 = PyUnicode_CheckExact(__pyx_v_value_object);
+      if (__pyx_2) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1258 */
+        __pyx_6 = PyUnicode_AsUTF8String(__pyx_v_value_object); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; goto __pyx_L1;}
+        Py_DECREF(__pyx_v_value_object);
+        __pyx_v_value_object = __pyx_6;
+        __pyx_6 = 0;
+        goto __pyx_L12;
+      }
+      __pyx_L12:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1259 */
+      __pyx_3 = (!PyString_CheckExact(__pyx_v_value_object));
+      if (__pyx_3) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1260 */
+        __pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_TypeError); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; goto __pyx_L1;}
+        __pyx_8 = PyTuple_New(1); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; goto __pyx_L1;}
+        Py_INCREF(__pyx_k107p);
+        PyTuple_SET_ITEM(__pyx_8, 0, __pyx_k107p);
+        __pyx_7 = PyObject_CallObject(__pyx_4, __pyx_8); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; goto __pyx_L1;}
+        Py_DECREF(__pyx_4); __pyx_4 = 0;
+        Py_DECREF(__pyx_8); __pyx_8 = 0;
+        __Pyx_Raise(__pyx_7, 0, 0);
+        Py_DECREF(__pyx_7); __pyx_7 = 0;
+        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; goto __pyx_L1;}
+        goto __pyx_L13;
+      }
+      __pyx_L13:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1261 */
+      __pyx_v_value = PyString_AS_STRING(__pyx_v_value_object);
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1262 */
+      __pyx_v_length = PyString_GET_SIZE(__pyx_v_value_object);
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1263 */
+      __pyx_1 = PyObject_GetAttr(__pyx_v_node, __pyx_n_style); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_style_object);
+      __pyx_v_style_object = __pyx_1;
+      __pyx_1 = 0;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1264 */
+      __pyx_v_scalar_style = YAML_PLAIN_SCALAR_STYLE;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1265 */
+      if (PyObject_Cmp(__pyx_v_style_object, __pyx_k108p, &__pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; goto __pyx_L1;}
+      __pyx_2 = __pyx_2 == 0;
+      if (__pyx_2) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1266 */
+        __pyx_v_scalar_style = YAML_SINGLE_QUOTED_SCALAR_STYLE;
+        goto __pyx_L14;
+      }
+      if (PyObject_Cmp(__pyx_v_style_object, __pyx_k109p, &__pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; goto __pyx_L1;}
+      __pyx_3 = __pyx_3 == 0;
+      if (__pyx_3) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1268 */
+        __pyx_v_scalar_style = YAML_DOUBLE_QUOTED_SCALAR_STYLE;
+        goto __pyx_L14;
+      }
+      if (PyObject_Cmp(__pyx_v_style_object, __pyx_k110p, &__pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1269; goto __pyx_L1;}
+      __pyx_2 = __pyx_2 == 0;
+      if (__pyx_2) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1270 */
+        __pyx_v_scalar_style = YAML_LITERAL_SCALAR_STYLE;
+        goto __pyx_L14;
+      }
+      if (PyObject_Cmp(__pyx_v_style_object, __pyx_k111p, &__pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1271; goto __pyx_L1;}
+      __pyx_3 = __pyx_3 == 0;
+      if (__pyx_3) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1272 */
+        __pyx_v_scalar_style = YAML_FOLDED_SCALAR_STYLE;
+        goto __pyx_L14;
+      }
+      __pyx_L14:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1273 */
+      __pyx_2 = (yaml_scalar_event_initialize((&__pyx_v_event),__pyx_v_anchor,__pyx_v_tag,__pyx_v_value,__pyx_v_length,__pyx_v_plain_implicit,__pyx_v_quoted_implicit,__pyx_v_scalar_style) == 0);
+      if (__pyx_2) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1275 */
+        __pyx_5 = __Pyx_GetName(__pyx_b, __pyx_n_MemoryError); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; goto __pyx_L1;}
+        __Pyx_Raise(__pyx_5, 0, 0);
+        Py_DECREF(__pyx_5); __pyx_5 = 0;
+        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; goto __pyx_L1;}
+        goto __pyx_L15;
+      }
+      __pyx_L15:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1276 */
+      __pyx_3 = yaml_emitter_emit((&__pyx_v_self->emitter),(&__pyx_v_event)); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; goto __pyx_L1;}
+      __pyx_2 = (__pyx_3 == 0);
+      if (__pyx_2) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1277 */
+        __pyx_6 = ((struct __pyx_vtabstruct_5_yaml_CEmitter *)__pyx_v_self->__pyx_vtab)->_emitter_error(__pyx_v_self); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; goto __pyx_L1;}
+        Py_DECREF(__pyx_v_error);
+        __pyx_v_error = __pyx_6;
+        __pyx_6 = 0;
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1278 */
+        __Pyx_Raise(__pyx_v_error, 0, 0);
+        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; goto __pyx_L1;}
+        goto __pyx_L16;
+      }
+      __pyx_L16:;
+      goto __pyx_L6;
+    }
+    __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n_SequenceNode); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; goto __pyx_L1;}
+    __pyx_3 = __pyx_v_node_class == __pyx_4;
+    Py_DECREF(__pyx_4); __pyx_4 = 0;
+    if (__pyx_3) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1280 */
+      __pyx_v_implicit = 0;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1281 */
+      __pyx_8 = PyObject_GetAttr(__pyx_v_node, __pyx_n_tag); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_tag_object);
+      __pyx_v_tag_object = __pyx_8;
+      __pyx_8 = 0;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1282 */
+      __pyx_7 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_resolve); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; goto __pyx_L1;}
+      __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_SequenceNode); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; goto __pyx_L1;}
+      __pyx_5 = PyObject_GetAttr(__pyx_v_node, __pyx_n_value); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; goto __pyx_L1;}
+      __pyx_6 = __Pyx_GetName(__pyx_b, __pyx_n_True); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; goto __pyx_L1;}
+      __pyx_4 = PyTuple_New(3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; goto __pyx_L1;}
+      PyTuple_SET_ITEM(__pyx_4, 0, __pyx_1);
+      PyTuple_SET_ITEM(__pyx_4, 1, __pyx_5);
+      PyTuple_SET_ITEM(__pyx_4, 2, __pyx_6);
+      __pyx_1 = 0;
+      __pyx_5 = 0;
+      __pyx_6 = 0;
+      __pyx_8 = PyObject_CallObject(__pyx_7, __pyx_4); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; goto __pyx_L1;}
+      Py_DECREF(__pyx_7); __pyx_7 = 0;
+      Py_DECREF(__pyx_4); __pyx_4 = 0;
+      if (PyObject_Cmp(__pyx_8, __pyx_v_tag_object, &__pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; goto __pyx_L1;}
+      __pyx_2 = __pyx_2 == 0;
+      Py_DECREF(__pyx_8); __pyx_8 = 0;
+      if (__pyx_2) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1283 */
+        __pyx_v_implicit = 1;
+        goto __pyx_L17;
+      }
+      __pyx_L17:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1284 */
+      __pyx_v_tag = 0;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1285 */
+      __pyx_3 = __pyx_v_tag_object != Py_None;
+      if (__pyx_3) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1286 */
+        __pyx_2 = PyUnicode_CheckExact(__pyx_v_tag_object);
+        if (__pyx_2) {
+
+          /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1287 */
+          __pyx_1 = PyUnicode_AsUTF8String(__pyx_v_tag_object); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1287; goto __pyx_L1;}
+          Py_DECREF(__pyx_v_tag_object);
+          __pyx_v_tag_object = __pyx_1;
+          __pyx_1 = 0;
+          goto __pyx_L19;
+        }
+        __pyx_L19:;
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1288 */
+        __pyx_3 = (!PyString_CheckExact(__pyx_v_tag_object));
+        if (__pyx_3) {
+
+          /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1289 */
+          __pyx_5 = __Pyx_GetName(__pyx_b, __pyx_n_TypeError); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; goto __pyx_L1;}
+          __pyx_6 = PyTuple_New(1); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; goto __pyx_L1;}
+          Py_INCREF(__pyx_k112p);
+          PyTuple_SET_ITEM(__pyx_6, 0, __pyx_k112p);
+          __pyx_7 = PyObject_CallObject(__pyx_5, __pyx_6); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; goto __pyx_L1;}
+          Py_DECREF(__pyx_5); __pyx_5 = 0;
+          Py_DECREF(__pyx_6); __pyx_6 = 0;
+          __Pyx_Raise(__pyx_7, 0, 0);
+          Py_DECREF(__pyx_7); __pyx_7 = 0;
+          {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; goto __pyx_L1;}
+          goto __pyx_L20;
+        }
+        __pyx_L20:;
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1290 */
+        __pyx_v_tag = PyString_AS_STRING(__pyx_v_tag_object);
+        goto __pyx_L18;
+      }
+      __pyx_L18:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1291 */
+      __pyx_v_sequence_style = YAML_BLOCK_SEQUENCE_STYLE;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1292 */
+      __pyx_4 = PyObject_GetAttr(__pyx_v_node, __pyx_n_flow_style); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; goto __pyx_L1;}
+      __pyx_2 = PyObject_IsTrue(__pyx_4); if (__pyx_2 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; goto __pyx_L1;}
+      Py_DECREF(__pyx_4); __pyx_4 = 0;
+      if (__pyx_2) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1293 */
+        __pyx_v_sequence_style = YAML_FLOW_SEQUENCE_STYLE;
+        goto __pyx_L21;
+      }
+      __pyx_L21:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1294 */
+      __pyx_3 = (yaml_sequence_start_event_initialize((&__pyx_v_event),__pyx_v_anchor,__pyx_v_tag,__pyx_v_implicit,__pyx_v_sequence_style) == 0);
+      if (__pyx_3) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1296 */
+        __pyx_8 = __Pyx_GetName(__pyx_b, __pyx_n_MemoryError); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1296; goto __pyx_L1;}
+        __Pyx_Raise(__pyx_8, 0, 0);
+        Py_DECREF(__pyx_8); __pyx_8 = 0;
+        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1296; goto __pyx_L1;}
+        goto __pyx_L22;
+      }
+      __pyx_L22:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1297 */
+      __pyx_2 = yaml_emitter_emit((&__pyx_v_self->emitter),(&__pyx_v_event)); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1297; goto __pyx_L1;}
+      __pyx_3 = (__pyx_2 == 0);
+      if (__pyx_3) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1298 */
+        __pyx_1 = ((struct __pyx_vtabstruct_5_yaml_CEmitter *)__pyx_v_self->__pyx_vtab)->_emitter_error(__pyx_v_self); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1298; goto __pyx_L1;}
+        Py_DECREF(__pyx_v_error);
+        __pyx_v_error = __pyx_1;
+        __pyx_1 = 0;
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1299 */
+        __Pyx_Raise(__pyx_v_error, 0, 0);
+        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1299; goto __pyx_L1;}
+        goto __pyx_L23;
+      }
+      __pyx_L23:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1300 */
+      __pyx_v_item_index = 0;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1301 */
+      __pyx_5 = PyObject_GetAttr(__pyx_v_node, __pyx_n_value); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1301; goto __pyx_L1;}
+      __pyx_6 = PyObject_GetIter(__pyx_5); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1301; goto __pyx_L1;}
+      Py_DECREF(__pyx_5); __pyx_5 = 0;
+      for (;;) {
+        __pyx_L24:;
+        __pyx_7 = PyIter_Next(__pyx_6);
+        if (!__pyx_7) {
+          if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1301; goto __pyx_L1;}
+          break;
+        }
+        Py_DECREF(__pyx_v_item);
+        __pyx_v_item = __pyx_7;
+        __pyx_7 = 0;
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1302 */
+        __pyx_4 = PyInt_FromLong(__pyx_v_item_index); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1302; goto __pyx_L1;}
+        __pyx_2 = ((struct __pyx_vtabstruct_5_yaml_CEmitter *)__pyx_v_self->__pyx_vtab)->_serialize_node(__pyx_v_self,__pyx_v_item,__pyx_v_node,__pyx_4); if (__pyx_2 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1302; goto __pyx_L1;}
+        Py_DECREF(__pyx_4); __pyx_4 = 0;
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1303 */
+        __pyx_v_item_index = (__pyx_v_item_index + 1);
+      }
+      __pyx_L25:;
+      Py_DECREF(__pyx_6); __pyx_6 = 0;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1304 */
+      yaml_sequence_end_event_initialize((&__pyx_v_event));
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1305 */
+      __pyx_3 = yaml_emitter_emit((&__pyx_v_self->emitter),(&__pyx_v_event)); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1305; goto __pyx_L1;}
+      __pyx_2 = (__pyx_3 == 0);
+      if (__pyx_2) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1306 */
+        __pyx_8 = ((struct __pyx_vtabstruct_5_yaml_CEmitter *)__pyx_v_self->__pyx_vtab)->_emitter_error(__pyx_v_self); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1306; goto __pyx_L1;}
+        Py_DECREF(__pyx_v_error);
+        __pyx_v_error = __pyx_8;
+        __pyx_8 = 0;
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1307 */
+        __Pyx_Raise(__pyx_v_error, 0, 0);
+        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; goto __pyx_L1;}
+        goto __pyx_L26;
+      }
+      __pyx_L26:;
+      goto __pyx_L6;
+    }
+    __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_MappingNode); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; goto __pyx_L1;}
+    __pyx_3 = __pyx_v_node_class == __pyx_1;
+    Py_DECREF(__pyx_1); __pyx_1 = 0;
+    if (__pyx_3) {
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1309 */
+      __pyx_v_implicit = 0;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1310 */
+      __pyx_5 = PyObject_GetAttr(__pyx_v_node, __pyx_n_tag); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1310; goto __pyx_L1;}
+      Py_DECREF(__pyx_v_tag_object);
+      __pyx_v_tag_object = __pyx_5;
+      __pyx_5 = 0;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1311 */
+      __pyx_7 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_resolve); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; goto __pyx_L1;}
+      __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n_MappingNode); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; goto __pyx_L1;}
+      __pyx_6 = PyObject_GetAttr(__pyx_v_node, __pyx_n_value); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; goto __pyx_L1;}
+      __pyx_8 = __Pyx_GetName(__pyx_b, __pyx_n_True); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; goto __pyx_L1;}
+      __pyx_1 = PyTuple_New(3); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; goto __pyx_L1;}
+      PyTuple_SET_ITEM(__pyx_1, 0, __pyx_4);
+      PyTuple_SET_ITEM(__pyx_1, 1, __pyx_6);
+      PyTuple_SET_ITEM(__pyx_1, 2, __pyx_8);
+      __pyx_4 = 0;
+      __pyx_6 = 0;
+      __pyx_8 = 0;
+      __pyx_5 = PyObject_CallObject(__pyx_7, __pyx_1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; goto __pyx_L1;}
+      Py_DECREF(__pyx_7); __pyx_7 = 0;
+      Py_DECREF(__pyx_1); __pyx_1 = 0;
+      if (PyObject_Cmp(__pyx_5, __pyx_v_tag_object, &__pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; goto __pyx_L1;}
+      __pyx_2 = __pyx_2 == 0;
+      Py_DECREF(__pyx_5); __pyx_5 = 0;
+      if (__pyx_2) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1312 */
+        __pyx_v_implicit = 1;
+        goto __pyx_L27;
+      }
+      __pyx_L27:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1313 */
+      __pyx_v_tag = 0;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1314 */
+      __pyx_3 = __pyx_v_tag_object != Py_None;
+      if (__pyx_3) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1315 */
+        __pyx_2 = PyUnicode_CheckExact(__pyx_v_tag_object);
+        if (__pyx_2) {
+
+          /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1316 */
+          __pyx_4 = PyUnicode_AsUTF8String(__pyx_v_tag_object); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; goto __pyx_L1;}
+          Py_DECREF(__pyx_v_tag_object);
+          __pyx_v_tag_object = __pyx_4;
+          __pyx_4 = 0;
+          goto __pyx_L29;
+        }
+        __pyx_L29:;
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1317 */
+        __pyx_3 = (!PyString_CheckExact(__pyx_v_tag_object));
+        if (__pyx_3) {
+
+          /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1318 */
+          __pyx_6 = __Pyx_GetName(__pyx_b, __pyx_n_TypeError); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; goto __pyx_L1;}
+          __pyx_8 = PyTuple_New(1); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; goto __pyx_L1;}
+          Py_INCREF(__pyx_k113p);
+          PyTuple_SET_ITEM(__pyx_8, 0, __pyx_k113p);
+          __pyx_7 = PyObject_CallObject(__pyx_6, __pyx_8); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; goto __pyx_L1;}
+          Py_DECREF(__pyx_6); __pyx_6 = 0;
+          Py_DECREF(__pyx_8); __pyx_8 = 0;
+          __Pyx_Raise(__pyx_7, 0, 0);
+          Py_DECREF(__pyx_7); __pyx_7 = 0;
+          {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; goto __pyx_L1;}
+          goto __pyx_L30;
+        }
+        __pyx_L30:;
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1319 */
+        __pyx_v_tag = PyString_AS_STRING(__pyx_v_tag_object);
+        goto __pyx_L28;
+      }
+      __pyx_L28:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1320 */
+      __pyx_v_mapping_style = YAML_BLOCK_MAPPING_STYLE;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1321 */
+      __pyx_1 = PyObject_GetAttr(__pyx_v_node, __pyx_n_flow_style); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1321; goto __pyx_L1;}
+      __pyx_2 = PyObject_IsTrue(__pyx_1); if (__pyx_2 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1321; goto __pyx_L1;}
+      Py_DECREF(__pyx_1); __pyx_1 = 0;
+      if (__pyx_2) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1322 */
+        __pyx_v_mapping_style = YAML_FLOW_MAPPING_STYLE;
+        goto __pyx_L31;
+      }
+      __pyx_L31:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1323 */
+      __pyx_3 = (yaml_mapping_start_event_initialize((&__pyx_v_event),__pyx_v_anchor,__pyx_v_tag,__pyx_v_implicit,__pyx_v_mapping_style) == 0);
+      if (__pyx_3) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1325 */
+        __pyx_5 = __Pyx_GetName(__pyx_b, __pyx_n_MemoryError); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; goto __pyx_L1;}
+        __Pyx_Raise(__pyx_5, 0, 0);
+        Py_DECREF(__pyx_5); __pyx_5 = 0;
+        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; goto __pyx_L1;}
+        goto __pyx_L32;
+      }
+      __pyx_L32:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1326 */
+      __pyx_2 = yaml_emitter_emit((&__pyx_v_self->emitter),(&__pyx_v_event)); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1326; goto __pyx_L1;}
+      __pyx_3 = (__pyx_2 == 0);
+      if (__pyx_3) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1327 */
+        __pyx_4 = ((struct __pyx_vtabstruct_5_yaml_CEmitter *)__pyx_v_self->__pyx_vtab)->_emitter_error(__pyx_v_self); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; goto __pyx_L1;}
+        Py_DECREF(__pyx_v_error);
+        __pyx_v_error = __pyx_4;
+        __pyx_4 = 0;
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1328 */
+        __Pyx_Raise(__pyx_v_error, 0, 0);
+        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; goto __pyx_L1;}
+        goto __pyx_L33;
+      }
+      __pyx_L33:;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1329 */
+      __pyx_6 = PyObject_GetAttr(__pyx_v_node, __pyx_n_value); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; goto __pyx_L1;}
+      __pyx_8 = PyObject_GetIter(__pyx_6); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; goto __pyx_L1;}
+      Py_DECREF(__pyx_6); __pyx_6 = 0;
+      for (;;) {
+        __pyx_L34:;
+        __pyx_7 = PyIter_Next(__pyx_8);
+        if (!__pyx_7) {
+          if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; goto __pyx_L1;}
+          break;
+        }
+        __pyx_1 = __Pyx_UnpackItem(__pyx_7, 0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; goto __pyx_L1;}
+        Py_DECREF(__pyx_v_item_key);
+        __pyx_v_item_key = __pyx_1;
+        __pyx_1 = 0;
+        __pyx_5 = __Pyx_UnpackItem(__pyx_7, 1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; goto __pyx_L1;}
+        Py_DECREF(__pyx_v_item_value);
+        __pyx_v_item_value = __pyx_5;
+        __pyx_5 = 0;
+        if (__Pyx_EndUnpack(__pyx_7, 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; goto __pyx_L1;}
+        Py_DECREF(__pyx_7); __pyx_7 = 0;
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1330 */
+        __pyx_2 = ((struct __pyx_vtabstruct_5_yaml_CEmitter *)__pyx_v_self->__pyx_vtab)->_serialize_node(__pyx_v_self,__pyx_v_item_key,__pyx_v_node,Py_None); if (__pyx_2 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; goto __pyx_L1;}
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1331 */
+        __pyx_3 = ((struct __pyx_vtabstruct_5_yaml_CEmitter *)__pyx_v_self->__pyx_vtab)->_serialize_node(__pyx_v_self,__pyx_v_item_value,__pyx_v_node,__pyx_v_item_key); if (__pyx_3 == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; goto __pyx_L1;}
+      }
+      __pyx_L35:;
+      Py_DECREF(__pyx_8); __pyx_8 = 0;
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1332 */
+      yaml_mapping_end_event_initialize((&__pyx_v_event));
+
+      /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1333 */
+      __pyx_2 = yaml_emitter_emit((&__pyx_v_self->emitter),(&__pyx_v_event)); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; goto __pyx_L1;}
+      __pyx_3 = (__pyx_2 == 0);
+      if (__pyx_3) {
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1334 */
+        __pyx_4 = ((struct __pyx_vtabstruct_5_yaml_CEmitter *)__pyx_v_self->__pyx_vtab)->_emitter_error(__pyx_v_self); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; goto __pyx_L1;}
+        Py_DECREF(__pyx_v_error);
+        __pyx_v_error = __pyx_4;
+        __pyx_4 = 0;
+
+        /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1335 */
+        __Pyx_Raise(__pyx_v_error, 0, 0);
+        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1335; goto __pyx_L1;}
+        goto __pyx_L36;
+      }
+      __pyx_L36:;
+      goto __pyx_L6;
+    }
+    __pyx_L6:;
+  }
+  __pyx_L3:;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1336 */
+  __pyx_r = 1;
+  goto __pyx_L0;
+
+  __pyx_r = 0;
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_1);
+  Py_XDECREF(__pyx_4);
+  Py_XDECREF(__pyx_5);
+  Py_XDECREF(__pyx_6);
+  Py_XDECREF(__pyx_7);
+  Py_XDECREF(__pyx_8);
+  __Pyx_AddTraceback("_yaml.CEmitter._serialize_node");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_anchor_object);
+  Py_DECREF(__pyx_v_error);
+  Py_DECREF(__pyx_v_node_class);
+  Py_DECREF(__pyx_v_tag_object);
+  Py_DECREF(__pyx_v_value_object);
+  Py_DECREF(__pyx_v_style_object);
+  Py_DECREF(__pyx_v_item);
+  Py_DECREF(__pyx_v_item_key);
+  Py_DECREF(__pyx_v_item_value);
+  Py_DECREF(__pyx_v_self);
+  Py_DECREF(__pyx_v_node);
+  Py_DECREF(__pyx_v_parent);
+  Py_DECREF(__pyx_v_index);
+  return __pyx_r;
+}
+
+static PyObject *__pyx_n_write;
+
+static int __pyx_f_5_yaml_output_handler(void (*__pyx_v_data),char (*__pyx_v_buffer),int __pyx_v_size) {
+  struct __pyx_obj_5_yaml_CEmitter *__pyx_v_emitter;
+  PyObject *__pyx_v_value;
+  int __pyx_r;
+  PyObject *__pyx_1 = 0;
+  PyObject *__pyx_2 = 0;
+  PyObject *__pyx_3 = 0;
+  __pyx_v_emitter = ((struct __pyx_obj_5_yaml_CEmitter *)Py_None); Py_INCREF(Py_None);
+  __pyx_v_value = Py_None; Py_INCREF(Py_None);
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1340 */
+  __pyx_1 = (PyObject *)__pyx_v_data;
+  Py_INCREF(__pyx_1);
+  Py_DECREF(((PyObject *)__pyx_v_emitter));
+  __pyx_v_emitter = ((struct __pyx_obj_5_yaml_CEmitter *)__pyx_1);
+  __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1341 */
+  __pyx_1 = PyString_FromStringAndSize(__pyx_v_buffer,__pyx_v_size); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; goto __pyx_L1;}
+  Py_DECREF(__pyx_v_value);
+  __pyx_v_value = __pyx_1;
+  __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1342 */
+  __pyx_1 = PyObject_GetAttr(__pyx_v_emitter->stream, __pyx_n_write); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; goto __pyx_L1;}
+  __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; goto __pyx_L1;}
+  Py_INCREF(__pyx_v_value);
+  PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_value);
+  __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  Py_DECREF(__pyx_3); __pyx_3 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1343 */
+  __pyx_r = 1;
+  goto __pyx_L0;
+
+  __pyx_r = 0;
+  goto __pyx_L0;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_1);
+  Py_XDECREF(__pyx_2);
+  Py_XDECREF(__pyx_3);
+  __Pyx_AddTraceback("_yaml.output_handler");
+  __pyx_r = 0;
+  __pyx_L0:;
+  Py_DECREF(__pyx_v_emitter);
+  Py_DECREF(__pyx_v_value);
+  return __pyx_r;
+}
+
+static __Pyx_InternTabEntry __pyx_intern_tab[] = {
+  {&__pyx_n_AliasEvent, "AliasEvent"},
+  {&__pyx_n_AliasToken, "AliasToken"},
+  {&__pyx_n_AnchorToken, "AnchorToken"},
+  {&__pyx_n_AttributeError, "AttributeError"},
+  {&__pyx_n_BlockEndToken, "BlockEndToken"},
+  {&__pyx_n_BlockEntryToken, "BlockEntryToken"},
+  {&__pyx_n_BlockMappingStartToken, "BlockMappingStartToken"},
+  {&__pyx_n_BlockSequenceStartToken, "BlockSequenceStartToken"},
+  {&__pyx_n_ComposerError, "ComposerError"},
+  {&__pyx_n_ConstructorError, "ConstructorError"},
+  {&__pyx_n_DirectiveToken, "DirectiveToken"},
+  {&__pyx_n_DocumentEndEvent, "DocumentEndEvent"},
+  {&__pyx_n_DocumentEndToken, "DocumentEndToken"},
+  {&__pyx_n_DocumentStartEvent, "DocumentStartEvent"},
+  {&__pyx_n_DocumentStartToken, "DocumentStartToken"},
+  {&__pyx_n_EmitterError, "EmitterError"},
+  {&__pyx_n_False, "False"},
+  {&__pyx_n_FlowEntryToken, "FlowEntryToken"},
+  {&__pyx_n_FlowMappingEndToken, "FlowMappingEndToken"},
+  {&__pyx_n_FlowMappingStartToken, "FlowMappingStartToken"},
+  {&__pyx_n_FlowSequenceEndToken, "FlowSequenceEndToken"},
+  {&__pyx_n_FlowSequenceStartToken, "FlowSequenceStartToken"},
+  {&__pyx_n_KeyToken, "KeyToken"},
+  {&__pyx_n_MappingEndEvent, "MappingEndEvent"},
+  {&__pyx_n_MappingNode, "MappingNode"},
+  {&__pyx_n_MappingStartEvent, "MappingStartEvent"},
+  {&__pyx_n_MemoryError, "MemoryError"},
+  {&__pyx_n_ParserError, "ParserError"},
+  {&__pyx_n_ReaderError, "ReaderError"},
+  {&__pyx_n_RepresenterError, "RepresenterError"},
+  {&__pyx_n_ScalarEvent, "ScalarEvent"},
+  {&__pyx_n_ScalarNode, "ScalarNode"},
+  {&__pyx_n_ScalarToken, "ScalarToken"},
+  {&__pyx_n_ScannerError, "ScannerError"},
+  {&__pyx_n_SequenceEndEvent, "SequenceEndEvent"},
+  {&__pyx_n_SequenceNode, "SequenceNode"},
+  {&__pyx_n_SequenceStartEvent, "SequenceStartEvent"},
+  {&__pyx_n_SerializerError, "SerializerError"},
+  {&__pyx_n_StreamEndEvent, "StreamEndEvent"},
+  {&__pyx_n_StreamEndToken, "StreamEndToken"},
+  {&__pyx_n_StreamStartEvent, "StreamStartEvent"},
+  {&__pyx_n_StreamStartToken, "StreamStartToken"},
+  {&__pyx_n_TAG, "TAG"},
+  {&__pyx_n_TagToken, "TagToken"},
+  {&__pyx_n_True, "True"},
+  {&__pyx_n_TypeError, "TypeError"},
+  {&__pyx_n_ValueError, "ValueError"},
+  {&__pyx_n_ValueToken, "ValueToken"},
+  {&__pyx_n_YAML, "YAML"},
+  {&__pyx_n_YAMLError, "YAMLError"},
+  {&__pyx_n___class__, "__class__"},
+  {&__pyx_n_anchor, "anchor"},
+  {&__pyx_n_append, "append"},
+  {&__pyx_n_ascend_resolver, "ascend_resolver"},
+  {&__pyx_n_composer, "composer"},
+  {&__pyx_n_constructor, "constructor"},
+  {&__pyx_n_descend_resolver, "descend_resolver"},
+  {&__pyx_n_emitter, "emitter"},
+  {&__pyx_n_encoding, "encoding"},
+  {&__pyx_n_end_mark, "end_mark"},
+  {&__pyx_n_error, "error"},
+  {&__pyx_n_events, "events"},
+  {&__pyx_n_explicit, "explicit"},
+  {&__pyx_n_flow_style, "flow_style"},
+  {&__pyx_n_get_version, "get_version"},
+  {&__pyx_n_get_version_string, "get_version_string"},
+  {&__pyx_n_hasattr, "hasattr"},
+  {&__pyx_n_implicit, "implicit"},
+  {&__pyx_n_len, "len"},
+  {&__pyx_n_name, "name"},
+  {&__pyx_n_nodes, "nodes"},
+  {&__pyx_n_parser, "parser"},
+  {&__pyx_n_read, "read"},
+  {&__pyx_n_reader, "reader"},
+  {&__pyx_n_representer, "representer"},
+  {&__pyx_n_resolve, "resolve"},
+  {&__pyx_n_scanner, "scanner"},
+  {&__pyx_n_serializer, "serializer"},
+  {&__pyx_n_start_mark, "start_mark"},
+  {&__pyx_n_style, "style"},
+  {&__pyx_n_tag, "tag"},
+  {&__pyx_n_tags, "tags"},
+  {&__pyx_n_tokens, "tokens"},
+  {&__pyx_n_value, "value"},
+  {&__pyx_n_version, "version"},
+  {&__pyx_n_write, "write"},
+  {&__pyx_n_yaml, "yaml"},
+  {0, 0}
+};
+
+static __Pyx_StringTabEntry __pyx_string_tab[] = {
+  {&__pyx_k12p, __pyx_k12, sizeof(__pyx_k12)},
+  {&__pyx_k14p, __pyx_k14, sizeof(__pyx_k14)},
+  {&__pyx_k15p, __pyx_k15, sizeof(__pyx_k15)},
+  {&__pyx_k16p, __pyx_k16, sizeof(__pyx_k16)},
+  {&__pyx_k17p, __pyx_k17, sizeof(__pyx_k17)},
+  {&__pyx_k18p, __pyx_k18, sizeof(__pyx_k18)},
+  {&__pyx_k19p, __pyx_k19, sizeof(__pyx_k19)},
+  {&__pyx_k20p, __pyx_k20, sizeof(__pyx_k20)},
+  {&__pyx_k21p, __pyx_k21, sizeof(__pyx_k21)},
+  {&__pyx_k22p, __pyx_k22, sizeof(__pyx_k22)},
+  {&__pyx_k30p, __pyx_k30, sizeof(__pyx_k30)},
+  {&__pyx_k31p, __pyx_k31, sizeof(__pyx_k31)},
+  {&__pyx_k32p, __pyx_k32, sizeof(__pyx_k32)},
+  {&__pyx_k33p, __pyx_k33, sizeof(__pyx_k33)},
+  {&__pyx_k34p, __pyx_k34, sizeof(__pyx_k34)},
+  {&__pyx_k35p, __pyx_k35, sizeof(__pyx_k35)},
+  {&__pyx_k36p, __pyx_k36, sizeof(__pyx_k36)},
+  {&__pyx_k37p, __pyx_k37, sizeof(__pyx_k37)},
+  {&__pyx_k38p, __pyx_k38, sizeof(__pyx_k38)},
+  {&__pyx_k45p, __pyx_k45, sizeof(__pyx_k45)},
+  {&__pyx_k46p, __pyx_k46, sizeof(__pyx_k46)},
+  {&__pyx_k47p, __pyx_k47, sizeof(__pyx_k47)},
+  {&__pyx_k48p, __pyx_k48, sizeof(__pyx_k48)},
+  {&__pyx_k49p, __pyx_k49, sizeof(__pyx_k49)},
+  {&__pyx_k54p, __pyx_k54, sizeof(__pyx_k54)},
+  {&__pyx_k56p, __pyx_k56, sizeof(__pyx_k56)},
+  {&__pyx_k60p, __pyx_k60, sizeof(__pyx_k60)},
+  {&__pyx_k61p, __pyx_k61, sizeof(__pyx_k61)},
+  {&__pyx_k64p, __pyx_k64, sizeof(__pyx_k64)},
+  {&__pyx_k65p, __pyx_k65, sizeof(__pyx_k65)},
+  {&__pyx_k66p, __pyx_k66, sizeof(__pyx_k66)},
+  {&__pyx_k67p, __pyx_k67, sizeof(__pyx_k67)},
+  {&__pyx_k68p, __pyx_k68, sizeof(__pyx_k68)},
+  {&__pyx_k71p, __pyx_k71, sizeof(__pyx_k71)},
+  {&__pyx_k72p, __pyx_k72, sizeof(__pyx_k72)},
+  {&__pyx_k73p, __pyx_k73, sizeof(__pyx_k73)},
+  {&__pyx_k74p, __pyx_k74, sizeof(__pyx_k74)},
+  {&__pyx_k75p, __pyx_k75, sizeof(__pyx_k75)},
+  {&__pyx_k76p, __pyx_k76, sizeof(__pyx_k76)},
+  {&__pyx_k77p, __pyx_k77, sizeof(__pyx_k77)},
+  {&__pyx_k78p, __pyx_k78, sizeof(__pyx_k78)},
+  {&__pyx_k79p, __pyx_k79, sizeof(__pyx_k79)},
+  {&__pyx_k80p, __pyx_k80, sizeof(__pyx_k80)},
+  {&__pyx_k81p, __pyx_k81, sizeof(__pyx_k81)},
+  {&__pyx_k82p, __pyx_k82, sizeof(__pyx_k82)},
+  {&__pyx_k83p, __pyx_k83, sizeof(__pyx_k83)},
+  {&__pyx_k84p, __pyx_k84, sizeof(__pyx_k84)},
+  {&__pyx_k85p, __pyx_k85, sizeof(__pyx_k85)},
+  {&__pyx_k86p, __pyx_k86, sizeof(__pyx_k86)},
+  {&__pyx_k87p, __pyx_k87, sizeof(__pyx_k87)},
+  {&__pyx_k88p, __pyx_k88, sizeof(__pyx_k88)},
+  {&__pyx_k89p, __pyx_k89, sizeof(__pyx_k89)},
+  {&__pyx_k90p, __pyx_k90, sizeof(__pyx_k90)},
+  {&__pyx_k91p, __pyx_k91, sizeof(__pyx_k91)},
+  {&__pyx_k92p, __pyx_k92, sizeof(__pyx_k92)},
+  {&__pyx_k93p, __pyx_k93, sizeof(__pyx_k93)},
+  {&__pyx_k94p, __pyx_k94, sizeof(__pyx_k94)},
+  {&__pyx_k95p, __pyx_k95, sizeof(__pyx_k95)},
+  {&__pyx_k96p, __pyx_k96, sizeof(__pyx_k96)},
+  {&__pyx_k97p, __pyx_k97, sizeof(__pyx_k97)},
+  {&__pyx_k98p, __pyx_k98, sizeof(__pyx_k98)},
+  {&__pyx_k99p, __pyx_k99, sizeof(__pyx_k99)},
+  {&__pyx_k100p, __pyx_k100, sizeof(__pyx_k100)},
+  {&__pyx_k101p, __pyx_k101, sizeof(__pyx_k101)},
+  {&__pyx_k102p, __pyx_k102, sizeof(__pyx_k102)},
+  {&__pyx_k103p, __pyx_k103, sizeof(__pyx_k103)},
+  {&__pyx_k104p, __pyx_k104, sizeof(__pyx_k104)},
+  {&__pyx_k105p, __pyx_k105, sizeof(__pyx_k105)},
+  {&__pyx_k106p, __pyx_k106, sizeof(__pyx_k106)},
+  {&__pyx_k107p, __pyx_k107, sizeof(__pyx_k107)},
+  {&__pyx_k108p, __pyx_k108, sizeof(__pyx_k108)},
+  {&__pyx_k109p, __pyx_k109, sizeof(__pyx_k109)},
+  {&__pyx_k110p, __pyx_k110, sizeof(__pyx_k110)},
+  {&__pyx_k111p, __pyx_k111, sizeof(__pyx_k111)},
+  {&__pyx_k112p, __pyx_k112, sizeof(__pyx_k112)},
+  {&__pyx_k113p, __pyx_k113, sizeof(__pyx_k113)},
+  {0, 0, 0}
+};
+
+static PyObject *__pyx_tp_new_5_yaml_Mark(PyTypeObject *t, PyObject *a, PyObject *k) {
+  PyObject *o = (*t->tp_alloc)(t, 0);
+  struct __pyx_obj_5_yaml_Mark *p = (struct __pyx_obj_5_yaml_Mark *)o;
+  p->name = Py_None; Py_INCREF(Py_None);
+  p->buffer = Py_None; Py_INCREF(Py_None);
+  p->pointer = Py_None; Py_INCREF(Py_None);
+  return o;
+}
+
+static void __pyx_tp_dealloc_5_yaml_Mark(PyObject *o) {
+  struct __pyx_obj_5_yaml_Mark *p = (struct __pyx_obj_5_yaml_Mark *)o;
+  Py_XDECREF(p->name);
+  Py_XDECREF(p->buffer);
+  Py_XDECREF(p->pointer);
+  (*o->ob_type->tp_free)(o);
+}
+
+static int __pyx_tp_traverse_5_yaml_Mark(PyObject *o, visitproc v, void *a) {
+  int e;
+  struct __pyx_obj_5_yaml_Mark *p = (struct __pyx_obj_5_yaml_Mark *)o;
+  if (p->name) {
+    e = (*v)(p->name, a); if (e) return e;
+  }
+  if (p->buffer) {
+    e = (*v)(p->buffer, a); if (e) return e;
+  }
+  if (p->pointer) {
+    e = (*v)(p->pointer, a); if (e) return e;
+  }
+  return 0;
+}
+
+static int __pyx_tp_clear_5_yaml_Mark(PyObject *o) {
+  struct __pyx_obj_5_yaml_Mark *p = (struct __pyx_obj_5_yaml_Mark *)o;
+  Py_XDECREF(p->name);
+  p->name = Py_None; Py_INCREF(Py_None);
+  Py_XDECREF(p->buffer);
+  p->buffer = Py_None; Py_INCREF(Py_None);
+  Py_XDECREF(p->pointer);
+  p->pointer = Py_None; Py_INCREF(Py_None);
+  return 0;
+}
+
+static struct PyMethodDef __pyx_methods_5_yaml_Mark[] = {
+  {"get_snippet", (PyCFunction)__pyx_f_5_yaml_4Mark_get_snippet, METH_VARARGS|METH_KEYWORDS, 0},
+  {0, 0, 0, 0}
+};
+
+static struct PyMemberDef __pyx_members_5_yaml_Mark[] = {
+  {"name", T_OBJECT, offsetof(struct __pyx_obj_5_yaml_Mark, name), READONLY, 0},
+  {"index", T_INT, offsetof(struct __pyx_obj_5_yaml_Mark, index), READONLY, 0},
+  {"line", T_INT, offsetof(struct __pyx_obj_5_yaml_Mark, line), READONLY, 0},
+  {"column", T_INT, offsetof(struct __pyx_obj_5_yaml_Mark, column), READONLY, 0},
+  {"buffer", T_OBJECT, offsetof(struct __pyx_obj_5_yaml_Mark, buffer), READONLY, 0},
+  {"pointer", T_OBJECT, offsetof(struct __pyx_obj_5_yaml_Mark, pointer), READONLY, 0},
+  {0, 0, 0, 0, 0}
+};
+
+static PyNumberMethods __pyx_tp_as_number_Mark = {
+  0, /*nb_add*/
+  0, /*nb_subtract*/
+  0, /*nb_multiply*/
+  0, /*nb_divide*/
+  0, /*nb_remainder*/
+  0, /*nb_divmod*/
+  0, /*nb_power*/
+  0, /*nb_negative*/
+  0, /*nb_positive*/
+  0, /*nb_absolute*/
+  0, /*nb_nonzero*/
+  0, /*nb_invert*/
+  0, /*nb_lshift*/
+  0, /*nb_rshift*/
+  0, /*nb_and*/
+  0, /*nb_xor*/
+  0, /*nb_or*/
+  0, /*nb_coerce*/
+  0, /*nb_int*/
+  0, /*nb_long*/
+  0, /*nb_float*/
+  0, /*nb_oct*/
+  0, /*nb_hex*/
+  0, /*nb_inplace_add*/
+  0, /*nb_inplace_subtract*/
+  0, /*nb_inplace_multiply*/
+  0, /*nb_inplace_divide*/
+  0, /*nb_inplace_remainder*/
+  0, /*nb_inplace_power*/
+  0, /*nb_inplace_lshift*/
+  0, /*nb_inplace_rshift*/
+  0, /*nb_inplace_and*/
+  0, /*nb_inplace_xor*/
+  0, /*nb_inplace_or*/
+  0, /*nb_floor_divide*/
+  0, /*nb_true_divide*/
+  0, /*nb_inplace_floor_divide*/
+  0, /*nb_inplace_true_divide*/
+};
+
+static PySequenceMethods __pyx_tp_as_sequence_Mark = {
+  0, /*sq_length*/
+  0, /*sq_concat*/
+  0, /*sq_repeat*/
+  0, /*sq_item*/
+  0, /*sq_slice*/
+  0, /*sq_ass_item*/
+  0, /*sq_ass_slice*/
+  0, /*sq_contains*/
+  0, /*sq_inplace_concat*/
+  0, /*sq_inplace_repeat*/
+};
+
+static PyMappingMethods __pyx_tp_as_mapping_Mark = {
+  0, /*mp_length*/
+  0, /*mp_subscript*/
+  0, /*mp_ass_subscript*/
+};
+
+static PyBufferProcs __pyx_tp_as_buffer_Mark = {
+  0, /*bf_getreadbuffer*/
+  0, /*bf_getwritebuffer*/
+  0, /*bf_getsegcount*/
+  0, /*bf_getcharbuffer*/
+};
+
+PyTypeObject __pyx_type_5_yaml_Mark = {
+  PyObject_HEAD_INIT(0)
+  0, /*ob_size*/
+  "_yaml.Mark", /*tp_name*/
+  sizeof(struct __pyx_obj_5_yaml_Mark), /*tp_basicsize*/
+  0, /*tp_itemsize*/
+  __pyx_tp_dealloc_5_yaml_Mark, /*tp_dealloc*/
+  0, /*tp_print*/
+  0, /*tp_getattr*/
+  0, /*tp_setattr*/
+  0, /*tp_compare*/
+  0, /*tp_repr*/
+  &__pyx_tp_as_number_Mark, /*tp_as_number*/
+  &__pyx_tp_as_sequence_Mark, /*tp_as_sequence*/
+  &__pyx_tp_as_mapping_Mark, /*tp_as_mapping*/
+  0, /*tp_hash*/
+  0, /*tp_call*/
+  __pyx_f_5_yaml_4Mark___str__, /*tp_str*/
+  0, /*tp_getattro*/
+  0, /*tp_setattro*/
+  &__pyx_tp_as_buffer_Mark, /*tp_as_buffer*/
+  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+  0, /*tp_doc*/
+  __pyx_tp_traverse_5_yaml_Mark, /*tp_traverse*/
+  __pyx_tp_clear_5_yaml_Mark, /*tp_clear*/
+  0, /*tp_richcompare*/
+  0, /*tp_weaklistoffset*/
+  0, /*tp_iter*/
+  0, /*tp_iternext*/
+  __pyx_methods_5_yaml_Mark, /*tp_methods*/
+  __pyx_members_5_yaml_Mark, /*tp_members*/
+  0, /*tp_getset*/
+  0, /*tp_base*/
+  0, /*tp_dict*/
+  0, /*tp_descr_get*/
+  0, /*tp_descr_set*/
+  0, /*tp_dictoffset*/
+  __pyx_f_5_yaml_4Mark___init__, /*tp_init*/
+  0, /*tp_alloc*/
+  __pyx_tp_new_5_yaml_Mark, /*tp_new*/
+  0, /*tp_free*/
+  0, /*tp_is_gc*/
+  0, /*tp_bases*/
+  0, /*tp_mro*/
+  0, /*tp_cache*/
+  0, /*tp_subclasses*/
+  0, /*tp_weaklist*/
+};
+static struct __pyx_vtabstruct_5_yaml_CParser __pyx_vtable_5_yaml_CParser;
+
+static PyObject *__pyx_tp_new_5_yaml_CParser(PyTypeObject *t, PyObject *a, PyObject *k) {
+  PyObject *o = (*t->tp_alloc)(t, 0);
+  struct __pyx_obj_5_yaml_CParser *p = (struct __pyx_obj_5_yaml_CParser *)o;
+  *(struct __pyx_vtabstruct_5_yaml_CParser **)&p->__pyx_vtab = __pyx_vtabptr_5_yaml_CParser;
+  p->stream = Py_None; Py_INCREF(Py_None);
+  p->stream_name = Py_None; Py_INCREF(Py_None);
+  p->current_token = Py_None; Py_INCREF(Py_None);
+  p->current_event = Py_None; Py_INCREF(Py_None);
+  p->anchors = Py_None; Py_INCREF(Py_None);
+  return o;
+}
+
+static void __pyx_tp_dealloc_5_yaml_CParser(PyObject *o) {
+  struct __pyx_obj_5_yaml_CParser *p = (struct __pyx_obj_5_yaml_CParser *)o;
+  {
+    PyObject *etype, *eval, *etb;
+    PyErr_Fetch(&etype, &eval, &etb);
+    ++o->ob_refcnt;
+    __pyx_f_5_yaml_7CParser___dealloc__(o);
+    if (PyErr_Occurred()) PyErr_WriteUnraisable(o);
+    --o->ob_refcnt;
+    PyErr_Restore(etype, eval, etb);
+  }
+  Py_XDECREF(p->stream);
+  Py_XDECREF(p->stream_name);
+  Py_XDECREF(p->current_token);
+  Py_XDECREF(p->current_event);
+  Py_XDECREF(p->anchors);
+  (*o->ob_type->tp_free)(o);
+}
+
+static int __pyx_tp_traverse_5_yaml_CParser(PyObject *o, visitproc v, void *a) {
+  int e;
+  struct __pyx_obj_5_yaml_CParser *p = (struct __pyx_obj_5_yaml_CParser *)o;
+  if (p->stream) {
+    e = (*v)(p->stream, a); if (e) return e;
+  }
+  if (p->stream_name) {
+    e = (*v)(p->stream_name, a); if (e) return e;
+  }
+  if (p->current_token) {
+    e = (*v)(p->current_token, a); if (e) return e;
+  }
+  if (p->current_event) {
+    e = (*v)(p->current_event, a); if (e) return e;
+  }
+  if (p->anchors) {
+    e = (*v)(p->anchors, a); if (e) return e;
+  }
+  return 0;
+}
+
+static int __pyx_tp_clear_5_yaml_CParser(PyObject *o) {
+  struct __pyx_obj_5_yaml_CParser *p = (struct __pyx_obj_5_yaml_CParser *)o;
+  Py_XDECREF(p->stream);
+  p->stream = Py_None; Py_INCREF(Py_None);
+  Py_XDECREF(p->stream_name);
+  p->stream_name = Py_None; Py_INCREF(Py_None);
+  Py_XDECREF(p->current_token);
+  p->current_token = Py_None; Py_INCREF(Py_None);
+  Py_XDECREF(p->current_event);
+  p->current_event = Py_None; Py_INCREF(Py_None);
+  Py_XDECREF(p->anchors);
+  p->anchors = Py_None; Py_INCREF(Py_None);
+  return 0;
+}
+
+static struct PyMethodDef __pyx_methods_5_yaml_CParser[] = {
+  {"raw_scan", (PyCFunction)__pyx_f_5_yaml_7CParser_raw_scan, METH_VARARGS|METH_KEYWORDS, 0},
+  {"get_token", (PyCFunction)__pyx_f_5_yaml_7CParser_get_token, METH_VARARGS|METH_KEYWORDS, 0},
+  {"peek_token", (PyCFunction)__pyx_f_5_yaml_7CParser_peek_token, METH_VARARGS|METH_KEYWORDS, 0},
+  {"check_token", (PyCFunction)__pyx_f_5_yaml_7CParser_check_token, METH_VARARGS|METH_KEYWORDS, 0},
+  {"raw_parse", (PyCFunction)__pyx_f_5_yaml_7CParser_raw_parse, METH_VARARGS|METH_KEYWORDS, 0},
+  {"get_event", (PyCFunction)__pyx_f_5_yaml_7CParser_get_event, METH_VARARGS|METH_KEYWORDS, 0},
+  {"peek_event", (PyCFunction)__pyx_f_5_yaml_7CParser_peek_event, METH_VARARGS|METH_KEYWORDS, 0},
+  {"check_event", (PyCFunction)__pyx_f_5_yaml_7CParser_check_event, METH_VARARGS|METH_KEYWORDS, 0},
+  {"check_node", (PyCFunction)__pyx_f_5_yaml_7CParser_check_node, METH_VARARGS|METH_KEYWORDS, 0},
+  {"get_node", (PyCFunction)__pyx_f_5_yaml_7CParser_get_node, METH_VARARGS|METH_KEYWORDS, 0},
+  {0, 0, 0, 0}
+};
+
+static PyNumberMethods __pyx_tp_as_number_CParser = {
+  0, /*nb_add*/
+  0, /*nb_subtract*/
+  0, /*nb_multiply*/
+  0, /*nb_divide*/
+  0, /*nb_remainder*/
+  0, /*nb_divmod*/
+  0, /*nb_power*/
+  0, /*nb_negative*/
+  0, /*nb_positive*/
+  0, /*nb_absolute*/
+  0, /*nb_nonzero*/
+  0, /*nb_invert*/
+  0, /*nb_lshift*/
+  0, /*nb_rshift*/
+  0, /*nb_and*/
+  0, /*nb_xor*/
+  0, /*nb_or*/
+  0, /*nb_coerce*/
+  0, /*nb_int*/
+  0, /*nb_long*/
+  0, /*nb_float*/
+  0, /*nb_oct*/
+  0, /*nb_hex*/
+  0, /*nb_inplace_add*/
+  0, /*nb_inplace_subtract*/
+  0, /*nb_inplace_multiply*/
+  0, /*nb_inplace_divide*/
+  0, /*nb_inplace_remainder*/
+  0, /*nb_inplace_power*/
+  0, /*nb_inplace_lshift*/
+  0, /*nb_inplace_rshift*/
+  0, /*nb_inplace_and*/
+  0, /*nb_inplace_xor*/
+  0, /*nb_inplace_or*/
+  0, /*nb_floor_divide*/
+  0, /*nb_true_divide*/
+  0, /*nb_inplace_floor_divide*/
+  0, /*nb_inplace_true_divide*/
+};
+
+static PySequenceMethods __pyx_tp_as_sequence_CParser = {
+  0, /*sq_length*/
+  0, /*sq_concat*/
+  0, /*sq_repeat*/
+  0, /*sq_item*/
+  0, /*sq_slice*/
+  0, /*sq_ass_item*/
+  0, /*sq_ass_slice*/
+  0, /*sq_contains*/
+  0, /*sq_inplace_concat*/
+  0, /*sq_inplace_repeat*/
+};
+
+static PyMappingMethods __pyx_tp_as_mapping_CParser = {
+  0, /*mp_length*/
+  0, /*mp_subscript*/
+  0, /*mp_ass_subscript*/
+};
+
+static PyBufferProcs __pyx_tp_as_buffer_CParser = {
+  0, /*bf_getreadbuffer*/
+  0, /*bf_getwritebuffer*/
+  0, /*bf_getsegcount*/
+  0, /*bf_getcharbuffer*/
+};
+
+PyTypeObject __pyx_type_5_yaml_CParser = {
+  PyObject_HEAD_INIT(0)
+  0, /*ob_size*/
+  "_yaml.CParser", /*tp_name*/
+  sizeof(struct __pyx_obj_5_yaml_CParser), /*tp_basicsize*/
+  0, /*tp_itemsize*/
+  __pyx_tp_dealloc_5_yaml_CParser, /*tp_dealloc*/
+  0, /*tp_print*/
+  0, /*tp_getattr*/
+  0, /*tp_setattr*/
+  0, /*tp_compare*/
+  0, /*tp_repr*/
+  &__pyx_tp_as_number_CParser, /*tp_as_number*/
+  &__pyx_tp_as_sequence_CParser, /*tp_as_sequence*/
+  &__pyx_tp_as_mapping_CParser, /*tp_as_mapping*/
+  0, /*tp_hash*/
+  0, /*tp_call*/
+  0, /*tp_str*/
+  0, /*tp_getattro*/
+  0, /*tp_setattro*/
+  &__pyx_tp_as_buffer_CParser, /*tp_as_buffer*/
+  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+  0, /*tp_doc*/
+  __pyx_tp_traverse_5_yaml_CParser, /*tp_traverse*/
+  __pyx_tp_clear_5_yaml_CParser, /*tp_clear*/
+  0, /*tp_richcompare*/
+  0, /*tp_weaklistoffset*/
+  0, /*tp_iter*/
+  0, /*tp_iternext*/
+  __pyx_methods_5_yaml_CParser, /*tp_methods*/
+  0, /*tp_members*/
+  0, /*tp_getset*/
+  0, /*tp_base*/
+  0, /*tp_dict*/
+  0, /*tp_descr_get*/
+  0, /*tp_descr_set*/
+  0, /*tp_dictoffset*/
+  __pyx_f_5_yaml_7CParser___init__, /*tp_init*/
+  0, /*tp_alloc*/
+  __pyx_tp_new_5_yaml_CParser, /*tp_new*/
+  0, /*tp_free*/
+  0, /*tp_is_gc*/
+  0, /*tp_bases*/
+  0, /*tp_mro*/
+  0, /*tp_cache*/
+  0, /*tp_subclasses*/
+  0, /*tp_weaklist*/
+};
+static struct __pyx_vtabstruct_5_yaml_CEmitter __pyx_vtable_5_yaml_CEmitter;
+
+static PyObject *__pyx_tp_new_5_yaml_CEmitter(PyTypeObject *t, PyObject *a, PyObject *k) {
+  PyObject *o = (*t->tp_alloc)(t, 0);
+  struct __pyx_obj_5_yaml_CEmitter *p = (struct __pyx_obj_5_yaml_CEmitter *)o;
+  *(struct __pyx_vtabstruct_5_yaml_CEmitter **)&p->__pyx_vtab = __pyx_vtabptr_5_yaml_CEmitter;
+  p->stream = Py_None; Py_INCREF(Py_None);
+  p->use_version = Py_None; Py_INCREF(Py_None);
+  p->use_tags = Py_None; Py_INCREF(Py_None);
+  p->serialized_nodes = Py_None; Py_INCREF(Py_None);
+  p->anchors = Py_None; Py_INCREF(Py_None);
+  return o;
+}
+
+static void __pyx_tp_dealloc_5_yaml_CEmitter(PyObject *o) {
+  struct __pyx_obj_5_yaml_CEmitter *p = (struct __pyx_obj_5_yaml_CEmitter *)o;
+  {
+    PyObject *etype, *eval, *etb;
+    PyErr_Fetch(&etype, &eval, &etb);
+    ++o->ob_refcnt;
+    __pyx_f_5_yaml_8CEmitter___dealloc__(o);
+    if (PyErr_Occurred()) PyErr_WriteUnraisable(o);
+    --o->ob_refcnt;
+    PyErr_Restore(etype, eval, etb);
+  }
+  Py_XDECREF(p->stream);
+  Py_XDECREF(p->use_version);
+  Py_XDECREF(p->use_tags);
+  Py_XDECREF(p->serialized_nodes);
+  Py_XDECREF(p->anchors);
+  (*o->ob_type->tp_free)(o);
+}
+
+static int __pyx_tp_traverse_5_yaml_CEmitter(PyObject *o, visitproc v, void *a) {
+  int e;
+  struct __pyx_obj_5_yaml_CEmitter *p = (struct __pyx_obj_5_yaml_CEmitter *)o;
+  if (p->stream) {
+    e = (*v)(p->stream, a); if (e) return e;
+  }
+  if (p->use_version) {
+    e = (*v)(p->use_version, a); if (e) return e;
+  }
+  if (p->use_tags) {
+    e = (*v)(p->use_tags, a); if (e) return e;
+  }
+  if (p->serialized_nodes) {
+    e = (*v)(p->serialized_nodes, a); if (e) return e;
+  }
+  if (p->anchors) {
+    e = (*v)(p->anchors, a); if (e) return e;
+  }
+  return 0;
+}
+
+static int __pyx_tp_clear_5_yaml_CEmitter(PyObject *o) {
+  struct __pyx_obj_5_yaml_CEmitter *p = (struct __pyx_obj_5_yaml_CEmitter *)o;
+  Py_XDECREF(p->stream);
+  p->stream = Py_None; Py_INCREF(Py_None);
+  Py_XDECREF(p->use_version);
+  p->use_version = Py_None; Py_INCREF(Py_None);
+  Py_XDECREF(p->use_tags);
+  p->use_tags = Py_None; Py_INCREF(Py_None);
+  Py_XDECREF(p->serialized_nodes);
+  p->serialized_nodes = Py_None; Py_INCREF(Py_None);
+  Py_XDECREF(p->anchors);
+  p->anchors = Py_None; Py_INCREF(Py_None);
+  return 0;
+}
+
+static struct PyMethodDef __pyx_methods_5_yaml_CEmitter[] = {
+  {"emit", (PyCFunction)__pyx_f_5_yaml_8CEmitter_emit, METH_VARARGS|METH_KEYWORDS, 0},
+  {"open", (PyCFunction)__pyx_f_5_yaml_8CEmitter_open, METH_VARARGS|METH_KEYWORDS, 0},
+  {"close", (PyCFunction)__pyx_f_5_yaml_8CEmitter_close, METH_VARARGS|METH_KEYWORDS, 0},
+  {"serialize", (PyCFunction)__pyx_f_5_yaml_8CEmitter_serialize, METH_VARARGS|METH_KEYWORDS, 0},
+  {0, 0, 0, 0}
+};
+
+static PyNumberMethods __pyx_tp_as_number_CEmitter = {
+  0, /*nb_add*/
+  0, /*nb_subtract*/
+  0, /*nb_multiply*/
+  0, /*nb_divide*/
+  0, /*nb_remainder*/
+  0, /*nb_divmod*/
+  0, /*nb_power*/
+  0, /*nb_negative*/
+  0, /*nb_positive*/
+  0, /*nb_absolute*/
+  0, /*nb_nonzero*/
+  0, /*nb_invert*/
+  0, /*nb_lshift*/
+  0, /*nb_rshift*/
+  0, /*nb_and*/
+  0, /*nb_xor*/
+  0, /*nb_or*/
+  0, /*nb_coerce*/
+  0, /*nb_int*/
+  0, /*nb_long*/
+  0, /*nb_float*/
+  0, /*nb_oct*/
+  0, /*nb_hex*/
+  0, /*nb_inplace_add*/
+  0, /*nb_inplace_subtract*/
+  0, /*nb_inplace_multiply*/
+  0, /*nb_inplace_divide*/
+  0, /*nb_inplace_remainder*/
+  0, /*nb_inplace_power*/
+  0, /*nb_inplace_lshift*/
+  0, /*nb_inplace_rshift*/
+  0, /*nb_inplace_and*/
+  0, /*nb_inplace_xor*/
+  0, /*nb_inplace_or*/
+  0, /*nb_floor_divide*/
+  0, /*nb_true_divide*/
+  0, /*nb_inplace_floor_divide*/
+  0, /*nb_inplace_true_divide*/
+};
+
+static PySequenceMethods __pyx_tp_as_sequence_CEmitter = {
+  0, /*sq_length*/
+  0, /*sq_concat*/
+  0, /*sq_repeat*/
+  0, /*sq_item*/
+  0, /*sq_slice*/
+  0, /*sq_ass_item*/
+  0, /*sq_ass_slice*/
+  0, /*sq_contains*/
+  0, /*sq_inplace_concat*/
+  0, /*sq_inplace_repeat*/
+};
+
+static PyMappingMethods __pyx_tp_as_mapping_CEmitter = {
+  0, /*mp_length*/
+  0, /*mp_subscript*/
+  0, /*mp_ass_subscript*/
+};
+
+static PyBufferProcs __pyx_tp_as_buffer_CEmitter = {
+  0, /*bf_getreadbuffer*/
+  0, /*bf_getwritebuffer*/
+  0, /*bf_getsegcount*/
+  0, /*bf_getcharbuffer*/
+};
+
+PyTypeObject __pyx_type_5_yaml_CEmitter = {
+  PyObject_HEAD_INIT(0)
+  0, /*ob_size*/
+  "_yaml.CEmitter", /*tp_name*/
+  sizeof(struct __pyx_obj_5_yaml_CEmitter), /*tp_basicsize*/
+  0, /*tp_itemsize*/
+  __pyx_tp_dealloc_5_yaml_CEmitter, /*tp_dealloc*/
+  0, /*tp_print*/
+  0, /*tp_getattr*/
+  0, /*tp_setattr*/
+  0, /*tp_compare*/
+  0, /*tp_repr*/
+  &__pyx_tp_as_number_CEmitter, /*tp_as_number*/
+  &__pyx_tp_as_sequence_CEmitter, /*tp_as_sequence*/
+  &__pyx_tp_as_mapping_CEmitter, /*tp_as_mapping*/
+  0, /*tp_hash*/
+  0, /*tp_call*/
+  0, /*tp_str*/
+  0, /*tp_getattro*/
+  0, /*tp_setattro*/
+  &__pyx_tp_as_buffer_CEmitter, /*tp_as_buffer*/
+  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+  0, /*tp_doc*/
+  __pyx_tp_traverse_5_yaml_CEmitter, /*tp_traverse*/
+  __pyx_tp_clear_5_yaml_CEmitter, /*tp_clear*/
+  0, /*tp_richcompare*/
+  0, /*tp_weaklistoffset*/
+  0, /*tp_iter*/
+  0, /*tp_iternext*/
+  __pyx_methods_5_yaml_CEmitter, /*tp_methods*/
+  0, /*tp_members*/
+  0, /*tp_getset*/
+  0, /*tp_base*/
+  0, /*tp_dict*/
+  0, /*tp_descr_get*/
+  0, /*tp_descr_set*/
+  0, /*tp_dictoffset*/
+  __pyx_f_5_yaml_8CEmitter___init__, /*tp_init*/
+  0, /*tp_alloc*/
+  __pyx_tp_new_5_yaml_CEmitter, /*tp_new*/
+  0, /*tp_free*/
+  0, /*tp_is_gc*/
+  0, /*tp_bases*/
+  0, /*tp_mro*/
+  0, /*tp_cache*/
+  0, /*tp_subclasses*/
+  0, /*tp_weaklist*/
+};
+
+static struct PyMethodDef __pyx_methods[] = {
+  {"get_version_string", (PyCFunction)__pyx_f_5_yaml_get_version_string, METH_VARARGS|METH_KEYWORDS, 0},
+  {"get_version", (PyCFunction)__pyx_f_5_yaml_get_version, METH_VARARGS|METH_KEYWORDS, 0},
+  {0, 0, 0, 0}
+};
+
+static void __pyx_init_filenames(void); /*proto*/
+
+PyMODINIT_FUNC init_yaml(void); /*proto*/
+PyMODINIT_FUNC init_yaml(void) {
+  PyObject *__pyx_1 = 0;
+  PyObject *__pyx_2 = 0;
+  __pyx_init_filenames();
+  __pyx_m = Py_InitModule4("_yaml", __pyx_methods, 0, 0, PYTHON_API_VERSION);
+  if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2; goto __pyx_L1;};
+  __pyx_b = PyImport_AddModule("__builtin__");
+  if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2; goto __pyx_L1;};
+  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2; goto __pyx_L1;};
+  if (__Pyx_InternStrings(__pyx_intern_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2; goto __pyx_L1;};
+  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2; goto __pyx_L1;};
+  __pyx_type_5_yaml_Mark.tp_free = _PyObject_GC_Del;
+  if (PyType_Ready(&__pyx_type_5_yaml_Mark) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; goto __pyx_L1;}
+  if (PyObject_SetAttrString(__pyx_m, "Mark", (PyObject *)&__pyx_type_5_yaml_Mark) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; goto __pyx_L1;}
+  __pyx_ptype_5_yaml_Mark = &__pyx_type_5_yaml_Mark;
+  __pyx_vtabptr_5_yaml_CParser = &__pyx_vtable_5_yaml_CParser;
+  *(void **)&__pyx_vtable_5_yaml_CParser._parser_error = (void *)__pyx_f_5_yaml_7CParser__parser_error;
+  *(void **)&__pyx_vtable_5_yaml_CParser._scan = (void *)__pyx_f_5_yaml_7CParser__scan;
+  *(void **)&__pyx_vtable_5_yaml_CParser._token_to_object = (void *)__pyx_f_5_yaml_7CParser__token_to_object;
+  *(void **)&__pyx_vtable_5_yaml_CParser._parse = (void *)__pyx_f_5_yaml_7CParser__parse;
+  *(void **)&__pyx_vtable_5_yaml_CParser._event_to_object = (void *)__pyx_f_5_yaml_7CParser__event_to_object;
+  *(void **)&__pyx_vtable_5_yaml_CParser._compose_document = (void *)__pyx_f_5_yaml_7CParser__compose_document;
+  *(void **)&__pyx_vtable_5_yaml_CParser._compose_node = (void *)__pyx_f_5_yaml_7CParser__compose_node;
+  *(void **)&__pyx_vtable_5_yaml_CParser._compose_scalar_node = (void *)__pyx_f_5_yaml_7CParser__compose_scalar_node;
+  *(void **)&__pyx_vtable_5_yaml_CParser._compose_sequence_node = (void *)__pyx_f_5_yaml_7CParser__compose_sequence_node;
+  *(void **)&__pyx_vtable_5_yaml_CParser._compose_mapping_node = (void *)__pyx_f_5_yaml_7CParser__compose_mapping_node;
+  *(void **)&__pyx_vtable_5_yaml_CParser._parse_next_event = (void *)__pyx_f_5_yaml_7CParser__parse_next_event;
+  __pyx_type_5_yaml_CParser.tp_free = _PyObject_GC_Del;
+  if (PyType_Ready(&__pyx_type_5_yaml_CParser) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; goto __pyx_L1;}
+  if (__Pyx_SetVtable(__pyx_type_5_yaml_CParser.tp_dict, __pyx_vtabptr_5_yaml_CParser) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; goto __pyx_L1;}
+  if (PyObject_SetAttrString(__pyx_m, "CParser", (PyObject *)&__pyx_type_5_yaml_CParser) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; goto __pyx_L1;}
+  __pyx_ptype_5_yaml_CParser = &__pyx_type_5_yaml_CParser;
+  __pyx_vtabptr_5_yaml_CEmitter = &__pyx_vtable_5_yaml_CEmitter;
+  *(void **)&__pyx_vtable_5_yaml_CEmitter._emitter_error = (void *)__pyx_f_5_yaml_8CEmitter__emitter_error;
+  *(void **)&__pyx_vtable_5_yaml_CEmitter._object_to_event = (void *)__pyx_f_5_yaml_8CEmitter__object_to_event;
+  *(void **)&__pyx_vtable_5_yaml_CEmitter._anchor_node = (void *)__pyx_f_5_yaml_8CEmitter__anchor_node;
+  *(void **)&__pyx_vtable_5_yaml_CEmitter._serialize_node = (void *)__pyx_f_5_yaml_8CEmitter__serialize_node;
+  __pyx_type_5_yaml_CEmitter.tp_free = _PyObject_GC_Del;
+  if (PyType_Ready(&__pyx_type_5_yaml_CEmitter) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; goto __pyx_L1;}
+  if (__Pyx_SetVtable(__pyx_type_5_yaml_CEmitter.tp_dict, __pyx_vtabptr_5_yaml_CEmitter) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; goto __pyx_L1;}
+  if (PyObject_SetAttrString(__pyx_m, "CEmitter", (PyObject *)&__pyx_type_5_yaml_CEmitter) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; goto __pyx_L1;}
+  __pyx_ptype_5_yaml_CEmitter = &__pyx_type_5_yaml_CEmitter;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":2 */
+  __pyx_1 = __Pyx_Import(__pyx_n_yaml, 0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2; goto __pyx_L1;}
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_yaml, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":13 */
+  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; goto __pyx_L1;}
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_error); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_YAMLError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_YAMLError, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":14 */
+  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; goto __pyx_L1;}
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_reader); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_ReaderError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_ReaderError, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":15 */
+  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; goto __pyx_L1;}
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_scanner); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_ScannerError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_ScannerError, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":16 */
+  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; goto __pyx_L1;}
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_parser); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_ParserError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_ParserError, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":17 */
+  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; goto __pyx_L1;}
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_composer); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_ComposerError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_ComposerError, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":18 */
+  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; goto __pyx_L1;}
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_constructor); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_ConstructorError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_ConstructorError, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":19 */
+  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; goto __pyx_L1;}
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_emitter); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_EmitterError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_EmitterError, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":20 */
+  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; goto __pyx_L1;}
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_serializer); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_SerializerError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_SerializerError, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":21 */
+  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; goto __pyx_L1;}
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_representer); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_RepresenterError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_RepresenterError, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":23 */
+  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; goto __pyx_L1;}
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_tokens); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_StreamStartToken); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_StreamStartToken, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":24 */
+  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; goto __pyx_L1;}
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_tokens); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_StreamEndToken); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_StreamEndToken, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":25 */
+  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; goto __pyx_L1;}
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_tokens); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_DirectiveToken); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_DirectiveToken, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":26 */
+  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; goto __pyx_L1;}
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_tokens); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_DocumentStartToken); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_DocumentStartToken, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":27 */
+  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; goto __pyx_L1;}
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_tokens); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_DocumentEndToken); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_DocumentEndToken, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":28 */
+  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; goto __pyx_L1;}
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_tokens); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_BlockSequenceStartToken); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_BlockSequenceStartToken, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":29 */
+  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; goto __pyx_L1;}
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_tokens); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_BlockMappingStartToken); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_BlockMappingStartToken, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":30 */
+  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; goto __pyx_L1;}
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_tokens); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_BlockEndToken); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_BlockEndToken, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":31 */
+  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; goto __pyx_L1;}
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_tokens); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_FlowSequenceStartToken); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_FlowSequenceStartToken, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":32 */
+  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; goto __pyx_L1;}
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_tokens); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_FlowMappingStartToken); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_FlowMappingStartToken, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":33 */
+  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; goto __pyx_L1;}
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_tokens); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_FlowSequenceEndToken); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_FlowSequenceEndToken, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":34 */
+  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; goto __pyx_L1;}
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_tokens); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_FlowMappingEndToken); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_FlowMappingEndToken, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":35 */
+  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; goto __pyx_L1;}
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_tokens); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_KeyToken); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_KeyToken, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":36 */
+  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; goto __pyx_L1;}
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_tokens); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_ValueToken); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_ValueToken, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":37 */
+  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; goto __pyx_L1;}
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_tokens); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_BlockEntryToken); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_BlockEntryToken, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":38 */
+  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; goto __pyx_L1;}
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_tokens); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_FlowEntryToken); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_FlowEntryToken, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":39 */
+  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; goto __pyx_L1;}
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_tokens); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_AliasToken); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_AliasToken, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":40 */
+  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; goto __pyx_L1;}
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_tokens); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_AnchorToken); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_AnchorToken, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":41 */
+  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; goto __pyx_L1;}
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_tokens); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_TagToken); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_TagToken, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":42 */
+  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; goto __pyx_L1;}
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_tokens); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_ScalarToken); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_ScalarToken, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":44 */
+  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; goto __pyx_L1;}
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_events); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_StreamStartEvent); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_StreamStartEvent, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":45 */
+  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; goto __pyx_L1;}
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_events); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_StreamEndEvent); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_StreamEndEvent, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":46 */
+  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; goto __pyx_L1;}
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_events); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_DocumentStartEvent); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_DocumentStartEvent, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":47 */
+  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; goto __pyx_L1;}
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_events); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_DocumentEndEvent); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_DocumentEndEvent, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":48 */
+  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; goto __pyx_L1;}
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_events); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_AliasEvent); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_AliasEvent, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":49 */
+  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; goto __pyx_L1;}
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_events); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_ScalarEvent); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_ScalarEvent, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":50 */
+  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; goto __pyx_L1;}
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_events); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_SequenceStartEvent); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_SequenceStartEvent, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":51 */
+  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; goto __pyx_L1;}
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_events); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_SequenceEndEvent); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_SequenceEndEvent, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":52 */
+  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; goto __pyx_L1;}
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_events); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_MappingStartEvent); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_MappingStartEvent, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":53 */
+  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;}
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_events); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_MappingEndEvent); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_MappingEndEvent, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":55 */
+  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; goto __pyx_L1;}
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_nodes); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_ScalarNode); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_ScalarNode, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":56 */
+  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; goto __pyx_L1;}
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_nodes); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_SequenceNode); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_SequenceNode, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":57 */
+  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_yaml); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; goto __pyx_L1;}
+  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_nodes); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_MappingNode); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; goto __pyx_L1;}
+  Py_DECREF(__pyx_1); __pyx_1 = 0;
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_MappingNode, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; goto __pyx_L1;}
+  Py_DECREF(__pyx_2); __pyx_2 = 0;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":880 */
+  Py_INCREF(Py_None);
+  __pyx_k2 = Py_None;
+  Py_INCREF(Py_None);
+  __pyx_k3 = Py_None;
+  Py_INCREF(Py_None);
+  __pyx_k4 = Py_None;
+  Py_INCREF(Py_None);
+  __pyx_k5 = Py_None;
+  Py_INCREF(Py_None);
+  __pyx_k6 = Py_None;
+  Py_INCREF(Py_None);
+  __pyx_k7 = Py_None;
+  Py_INCREF(Py_None);
+  __pyx_k8 = Py_None;
+  Py_INCREF(Py_None);
+  __pyx_k9 = Py_None;
+  Py_INCREF(Py_None);
+  __pyx_k10 = Py_None;
+  Py_INCREF(Py_None);
+  __pyx_k11 = Py_None;
+
+  /* "/home/xi/xitology/pyyaml-org/pyyaml/trunk/ext/_yaml.pyx":1338 */
+  return;
+  __pyx_L1:;
+  Py_XDECREF(__pyx_1);
+  Py_XDECREF(__pyx_2);
+  __Pyx_AddTraceback("_yaml");
+}
+
+static char *__pyx_filenames[] = {
+  "_yaml.pyx",
+};
+
+/* Runtime support code */
+
+static void __pyx_init_filenames(void) {
+  __pyx_f = __pyx_filenames;
+}
+
+static int __Pyx_GetStarArgs(
+    PyObject **args, 
+    PyObject **kwds,
+    char *kwd_list[], 
+    Py_ssize_t nargs,
+    PyObject **args2, 
+    PyObject **kwds2)
+{
+    PyObject *x = 0, *args1 = 0, *kwds1 = 0;
+    
+    if (args2)
+        *args2 = 0;
+    if (kwds2)
+        *kwds2 = 0;
+    
+    if (args2) {
+        args1 = PyTuple_GetSlice(*args, 0, nargs);
+        if (!args1)
+            goto bad;
+        *args2 = PyTuple_GetSlice(*args, nargs, PyTuple_Size(*args));
+        if (!*args2)
+            goto bad;
+    }
+    else {
+        args1 = *args;
+        Py_INCREF(args1);
+    }
+    
+    if (kwds2) {
+        if (*kwds) {
+            char **p;
+            kwds1 = PyDict_New();
+            if (!kwds)
+                goto bad;
+            *kwds2 = PyDict_Copy(*kwds);
+            if (!*kwds2)
+                goto bad;
+            for (p = kwd_list; *p; p++) {
+                x = PyDict_GetItemString(*kwds, *p);
+                if (x) {
+                    if (PyDict_SetItemString(kwds1, *p, x) < 0)
+                        goto bad;
+                    if (PyDict_DelItemString(*kwds2, *p) < 0)
+                        goto bad;
+                }
+            }
+        }
+        else {
+            *kwds2 = PyDict_New();
+            if (!*kwds2)
+                goto bad;
+        }
+    }
+    else {
+        kwds1 = *kwds;
+        Py_XINCREF(kwds1);
+    }
+    
+    *args = args1;
+    *kwds = kwds1;
+    return 0;
+bad:
+    Py_XDECREF(args1);
+    Py_XDECREF(kwds1);
+    Py_XDECREF(*args2);
+    Py_XDECREF(*kwds2);
+    return -1;
+}
+
+static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list) {
+    PyObject *__import__ = 0;
+    PyObject *empty_list = 0;
+    PyObject *module = 0;
+    PyObject *global_dict = 0;
+    PyObject *empty_dict = 0;
+    PyObject *list;
+    __import__ = PyObject_GetAttrString(__pyx_b, "__import__");
+    if (!__import__)
+        goto bad;
+    if (from_list)
+        list = from_list;
+    else {
+        empty_list = PyList_New(0);
+        if (!empty_list)
+            goto bad;
+        list = empty_list;
+    }
+    global_dict = PyModule_GetDict(__pyx_m);
+    if (!global_dict)
+        goto bad;
+    empty_dict = PyDict_New();
+    if (!empty_dict)
+        goto bad;
+    module = PyObject_CallFunction(__import__, "OOOO",
+        name, global_dict, empty_dict, list);
+bad:
+    Py_XDECREF(empty_list);
+    Py_XDECREF(__import__);
+    Py_XDECREF(empty_dict);
+    return module;
+}
+
+static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
+    PyObject *result;
+    result = PyObject_GetAttr(dict, name);
+    if (!result)
+        PyErr_SetObject(PyExc_NameError, name);
+    return result;
+}
+
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) {
+    Py_XINCREF(type);
+    Py_XINCREF(value);
+    Py_XINCREF(tb);
+    /* First, check the traceback argument, replacing None with NULL. */
+    if (tb == Py_None) {
+        Py_DECREF(tb);
+        tb = 0;
+    }
+    else if (tb != NULL && !PyTraceBack_Check(tb)) {
+        PyErr_SetString(PyExc_TypeError,
+            "raise: arg 3 must be a traceback or None");
+        goto raise_error;
+    }
+    /* Next, replace a missing value with None */
+    if (value == NULL) {
+        value = Py_None;
+        Py_INCREF(value);
+    }
+    /* Next, repeatedly, replace a tuple exception with its first item */
+    while (PyTuple_Check(type) && PyTuple_Size(type) > 0) {
+        PyObject *tmp = type;
+        type = PyTuple_GET_ITEM(type, 0);
+        Py_INCREF(type);
+        Py_DECREF(tmp);
+    }
+    if (PyString_Check(type))
+        ;
+    else if (PyType_Check(type) || PyClass_Check(type))
+        ; /*PyErr_NormalizeException(&type, &value, &tb);*/
+    else if (PyInstance_Check(type)) {
+        /* Raising an instance.  The value should be a dummy. */
+        if (value != Py_None) {
+            PyErr_SetString(PyExc_TypeError,
+              "instance exception may not have a separate value");
+            goto raise_error;
+        }
+        else {
+            /* Normalize to raise <class>, <instance> */
+            Py_DECREF(value);
+            value = type;
+            type = (PyObject*) ((PyInstanceObject*)type)->in_class;
+            Py_INCREF(type);
+        }
+    }
+    else {
+        /* Not something you can raise.  You get an exception
+           anyway, just not what you specified :-) */
+        PyErr_Format(PyExc_TypeError,
+                 "exceptions must be strings, classes, or "
+                 "instances, not %s", type->ob_type->tp_name);
+        goto raise_error;
+    }
+    PyErr_Restore(type, value, tb);
+    return;
+raise_error:
+    Py_XDECREF(value);
+    Py_XDECREF(type);
+    Py_XDECREF(tb);
+    return;
+}
+
+static PyObject *__Pyx_GetExcValue(void) {
+    PyObject *type = 0, *value = 0, *tb = 0;
+    PyObject *result = 0;
+    PyThreadState *tstate = PyThreadState_Get();
+    PyErr_Fetch(&type, &value, &tb);
+    PyErr_NormalizeException(&type, &value, &tb);
+    if (PyErr_Occurred())
+        goto bad;
+    if (!value) {
+        value = Py_None;
+        Py_INCREF(value);
+    }
+    Py_XDECREF(tstate->exc_type);
+    Py_XDECREF(tstate->exc_value);
+    Py_XDECREF(tstate->exc_traceback);
+    tstate->exc_type = type;
+    tstate->exc_value = value;
+    tstate->exc_traceback = tb;
+    result = value;
+    Py_XINCREF(result);
+    type = 0;
+    value = 0;
+    tb = 0;
+bad:
+    Py_XDECREF(type);
+    Py_XDECREF(value);
+    Py_XDECREF(tb);
+    return result;
+}
+
+static void __Pyx_UnpackError(void) {
+    PyErr_SetString(PyExc_ValueError, "unpack sequence of wrong size");
+}
+
+static PyObject *__Pyx_UnpackItem(PyObject *seq, Py_ssize_t i) {
+  PyObject *item;
+  if (!(item = PySequence_GetItem(seq, i))) {
+    if (PyErr_ExceptionMatches(PyExc_IndexError))
+    	__Pyx_UnpackError();
+  }
+  return item;
+}
+
+static int __Pyx_EndUnpack(PyObject *seq, Py_ssize_t i) {
+  PyObject *item;
+  if (item = PySequence_GetItem(seq, i)) {
+    Py_DECREF(item);
+    __Pyx_UnpackError();
+    return -1;
+  }
+  PyErr_Clear();
+    return 0;
+}
+
+static int __Pyx_InternStrings(__Pyx_InternTabEntry *t) {
+    while (t->p) {
+        *t->p = PyString_InternFromString(t->s);
+        if (!*t->p)
+            return -1;
+        ++t;
+    }
+    return 0;
+}
+
+static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
+    while (t->p) {
+        *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
+        if (!*t->p)
+            return -1;
+        ++t;
+    }
+    return 0;
+}
+
+static int __Pyx_SetVtable(PyObject *dict, void *vtable) {
+    PyObject *pycobj = 0;
+    int result;
+    
+    pycobj = PyCObject_FromVoidPtr(vtable, 0);
+    if (!pycobj)
+        goto bad;
+    if (PyDict_SetItemString(dict, "__pyx_vtable__", pycobj) < 0)
+        goto bad;
+    result = 0;
+    goto done;
+
+bad:
+    result = -1;
+done:
+    Py_XDECREF(pycobj);
+    return result;
+}
+
+#include "compile.h"
+#include "frameobject.h"
+#include "traceback.h"
+
+static void __Pyx_AddTraceback(char *funcname) {
+    PyObject *py_srcfile = 0;
+    PyObject *py_funcname = 0;
+    PyObject *py_globals = 0;
+    PyObject *empty_tuple = 0;
+    PyObject *empty_string = 0;
+    PyCodeObject *py_code = 0;
+    PyFrameObject *py_frame = 0;
+    
+    py_srcfile = PyString_FromString(__pyx_filename);
+    if (!py_srcfile) goto bad;
+    py_funcname = PyString_FromString(funcname);
+    if (!py_funcname) goto bad;
+    py_globals = PyModule_GetDict(__pyx_m);
+    if (!py_globals) goto bad;
+    empty_tuple = PyTuple_New(0);
+    if (!empty_tuple) goto bad;
+    empty_string = PyString_FromString("");
+    if (!empty_string) goto bad;
+    py_code = PyCode_New(
+        0,            /*int argcount,*/
+        0,            /*int nlocals,*/
+        0,            /*int stacksize,*/
+        0,            /*int flags,*/
+        empty_string, /*PyObject *code,*/
+        empty_tuple,  /*PyObject *consts,*/
+        empty_tuple,  /*PyObject *names,*/
+        empty_tuple,  /*PyObject *varnames,*/
+        empty_tuple,  /*PyObject *freevars,*/
+        empty_tuple,  /*PyObject *cellvars,*/
+        py_srcfile,   /*PyObject *filename,*/
+        py_funcname,  /*PyObject *name,*/
+        __pyx_lineno,   /*int firstlineno,*/
+        empty_string  /*PyObject *lnotab*/
+    );
+    if (!py_code) goto bad;
+    py_frame = PyFrame_New(
+        PyThreadState_Get(), /*PyThreadState *tstate,*/
+        py_code,             /*PyCodeObject *code,*/
+        py_globals,          /*PyObject *globals,*/
+        0                    /*PyObject *locals*/
+    );
+    if (!py_frame) goto bad;
+    py_frame->f_lineno = __pyx_lineno;
+    PyTraceBack_Here(py_frame);
+bad:
+    Py_XDECREF(py_srcfile);
+    Py_XDECREF(py_funcname);
+    Py_XDECREF(empty_tuple);
+    Py_XDECREF(empty_string);
+    Py_XDECREF(py_code);
+    Py_XDECREF(py_frame);
+}
Index: /package_tags/pyyaml/3.05-2~andersk1/ext/_yaml.h
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/ext/_yaml.h	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/ext/_yaml.h	(revision 902)
@@ -0,0 +1,3 @@
+
+#include <yaml.h>
+
Index: /package_tags/pyyaml/3.05-2~andersk1/ext/_yaml.pxd
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/ext/_yaml.pxd	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/ext/_yaml.pxd	(revision 902)
@@ -0,0 +1,249 @@
+
+cdef extern from "_yaml.h":
+
+    void malloc(int l)
+    void memcpy(char *d, char *s, int l)
+    int strlen(char *s)
+    int PyString_CheckExact(object o)
+    int PyUnicode_CheckExact(object o)
+    char *PyString_AS_STRING(object o)
+    int PyString_GET_SIZE(object o)
+    object PyString_FromStringAndSize(char *v, int l)
+    object PyUnicode_DecodeUTF8(char *s, int s, char *e)
+    object PyUnicode_AsUTF8String(object o)
+
+    ctypedef enum:
+        SIZEOF_VOID_P
+    ctypedef enum yaml_encoding_t:
+        YAML_ANY_ENCODING
+        YAML_UTF8_ENCODING
+        YAML_UTF16LE_ENCODING
+        YAML_UTF16BE_ENCODING
+    ctypedef enum yaml_break_t:
+        YAML_ANY_BREAK
+        YAML_CR_BREAK
+        YAML_LN_BREAK
+        YAML_CRLN_BREAK
+    ctypedef enum yaml_error_type_t:
+        YAML_NO_ERROR
+        YAML_MEMORY_ERROR
+        YAML_READER_ERROR
+        YAML_SCANNER_ERROR
+        YAML_PARSER_ERROR
+        YAML_WRITER_ERROR
+        YAML_EMITTER_ERROR
+    ctypedef enum yaml_scalar_style_t:
+        YAML_ANY_SCALAR_STYLE
+        YAML_PLAIN_SCALAR_STYLE
+        YAML_SINGLE_QUOTED_SCALAR_STYLE
+        YAML_DOUBLE_QUOTED_SCALAR_STYLE
+        YAML_LITERAL_SCALAR_STYLE
+        YAML_FOLDED_SCALAR_STYLE
+    ctypedef enum yaml_sequence_style_t:
+        YAML_ANY_SEQUENCE_STYLE
+        YAML_BLOCK_SEQUENCE_STYLE
+        YAML_FLOW_SEQUENCE_STYLE
+    ctypedef enum yaml_mapping_style_t:
+        YAML_ANY_MAPPING_STYLE
+        YAML_BLOCK_MAPPING_STYLE
+        YAML_FLOW_MAPPING_STYLE
+    ctypedef enum yaml_token_type_t:
+        YAML_NO_TOKEN
+        YAML_STREAM_START_TOKEN
+        YAML_STREAM_END_TOKEN
+        YAML_VERSION_DIRECTIVE_TOKEN
+        YAML_TAG_DIRECTIVE_TOKEN
+        YAML_DOCUMENT_START_TOKEN
+        YAML_DOCUMENT_END_TOKEN
+        YAML_BLOCK_SEQUENCE_START_TOKEN
+        YAML_BLOCK_MAPPING_START_TOKEN
+        YAML_BLOCK_END_TOKEN
+        YAML_FLOW_SEQUENCE_START_TOKEN
+        YAML_FLOW_SEQUENCE_END_TOKEN
+        YAML_FLOW_MAPPING_START_TOKEN
+        YAML_FLOW_MAPPING_END_TOKEN
+        YAML_BLOCK_ENTRY_TOKEN
+        YAML_FLOW_ENTRY_TOKEN
+        YAML_KEY_TOKEN
+        YAML_VALUE_TOKEN
+        YAML_ALIAS_TOKEN
+        YAML_ANCHOR_TOKEN
+        YAML_TAG_TOKEN
+        YAML_SCALAR_TOKEN
+    ctypedef enum yaml_event_type_t:
+        YAML_NO_EVENT
+        YAML_STREAM_START_EVENT
+        YAML_STREAM_END_EVENT
+        YAML_DOCUMENT_START_EVENT
+        YAML_DOCUMENT_END_EVENT
+        YAML_ALIAS_EVENT
+        YAML_SCALAR_EVENT
+        YAML_SEQUENCE_START_EVENT
+        YAML_SEQUENCE_END_EVENT
+        YAML_MAPPING_START_EVENT
+        YAML_MAPPING_END_EVENT
+
+    ctypedef int yaml_read_handler_t(void *data, char *buffer,
+            int size, int *size_read) except 0
+
+    ctypedef int yaml_write_handler_t(void *data, char *buffer,
+            int size) except 0
+
+    ctypedef struct yaml_mark_t:
+        int index
+        int line
+        int column
+    ctypedef struct yaml_version_directive_t:
+        int major
+        int minor
+    ctypedef struct yaml_tag_directive_t:
+        char *handle
+        char *prefix
+
+    ctypedef struct _yaml_token_stream_start_data_t:
+        yaml_encoding_t encoding
+    ctypedef struct _yaml_token_alias_data_t:
+        char *value
+    ctypedef struct _yaml_token_anchor_data_t:
+        char *value
+    ctypedef struct _yaml_token_tag_data_t:
+        char *handle
+        char *suffix
+    ctypedef struct _yaml_token_scalar_data_t:
+        char *value
+        int length
+        yaml_scalar_style_t style
+    ctypedef struct _yaml_token_version_directive_data_t:
+        int major
+        int minor
+    ctypedef struct _yaml_token_tag_directive_data_t:
+        char *handle
+        char *prefix
+    ctypedef union _yaml_token_data_t:
+        _yaml_token_stream_start_data_t stream_start
+        _yaml_token_alias_data_t alias
+        _yaml_token_anchor_data_t anchor
+        _yaml_token_tag_data_t tag
+        _yaml_token_scalar_data_t scalar
+        _yaml_token_version_directive_data_t version_directive
+        _yaml_token_tag_directive_data_t tag_directive
+    ctypedef struct yaml_token_t:
+        yaml_token_type_t type
+        _yaml_token_data_t data
+        yaml_mark_t start_mark
+        yaml_mark_t end_mark
+
+    ctypedef struct _yaml_event_stream_start_data_t:
+        yaml_encoding_t encoding
+    ctypedef struct _yaml_event_document_start_data_tag_directives_t:
+        yaml_tag_directive_t *start
+        yaml_tag_directive_t *end
+    ctypedef struct _yaml_event_document_start_data_t:
+        yaml_version_directive_t *version_directive
+        _yaml_event_document_start_data_tag_directives_t tag_directives
+        int implicit
+    ctypedef struct _yaml_event_document_end_data_t:
+        int implicit
+    ctypedef struct _yaml_event_alias_data_t:
+        char *anchor
+    ctypedef struct _yaml_event_scalar_data_t:
+        char *anchor
+        char *tag
+        char *value
+        int length
+        int plain_implicit
+        int quoted_implicit
+        yaml_scalar_style_t style
+    ctypedef struct _yaml_event_sequence_start_data_t:
+        char *anchor
+        char *tag
+        int implicit
+        yaml_sequence_style_t style
+    ctypedef struct _yaml_event_mapping_start_data_t:
+        char *anchor
+        char *tag
+        int implicit
+        yaml_mapping_style_t style
+    ctypedef union _yaml_event_data_t:
+        _yaml_event_stream_start_data_t stream_start
+        _yaml_event_document_start_data_t document_start
+        _yaml_event_document_end_data_t document_end
+        _yaml_event_alias_data_t alias
+        _yaml_event_scalar_data_t scalar
+        _yaml_event_sequence_start_data_t sequence_start
+        _yaml_event_mapping_start_data_t mapping_start
+    ctypedef struct yaml_event_t:
+        yaml_event_type_t type
+        _yaml_event_data_t data
+        yaml_mark_t start_mark
+        yaml_mark_t end_mark
+
+    ctypedef struct yaml_parser_t:
+        yaml_error_type_t error
+        char *problem
+        int problem_offset
+        int problem_value
+        yaml_mark_t problem_mark
+        char *context
+        yaml_mark_t context_mark
+
+    ctypedef struct yaml_emitter_t:
+        yaml_error_type_t error
+        char *problem
+
+    char *yaml_get_version_string()
+    void yaml_get_version(int *major, int *minor, int *patch)
+
+    void yaml_token_delete(yaml_token_t *token)
+
+    int yaml_stream_start_event_initialize(yaml_event_t *event,
+            yaml_encoding_t encoding)
+    int yaml_stream_end_event_initialize(yaml_event_t *event)
+    int yaml_document_start_event_initialize(yaml_event_t *event,
+            yaml_version_directive_t *version_directive,
+            yaml_tag_directive_t *tag_directives_start,
+            yaml_tag_directive_t *tag_directives_end,
+            int implicit)
+    int yaml_document_end_event_initialize(yaml_event_t *event,
+            int implicit)
+    int yaml_alias_event_initialize(yaml_event_t *event, char *anchor)
+    int yaml_scalar_event_initialize(yaml_event_t *event,
+            char *anchor, char *tag, char *value, int length,
+            int plain_implicit, int quoted_implicit,
+            yaml_scalar_style_t style)
+    int yaml_sequence_start_event_initialize(yaml_event_t *event,
+            char *anchor, char *tag, int implicit, yaml_sequence_style_t style)
+    int yaml_sequence_end_event_initialize(yaml_event_t *event)
+    int yaml_mapping_start_event_initialize(yaml_event_t *event,
+            char *anchor, char *tag, int implicit, yaml_mapping_style_t style)
+    int yaml_mapping_end_event_initialize(yaml_event_t *event)
+    void yaml_event_delete(yaml_event_t *event)
+
+    int yaml_parser_initialize(yaml_parser_t *parser)
+    void yaml_parser_delete(yaml_parser_t *parser)
+    void yaml_parser_set_input_string(yaml_parser_t *parser,
+            char *input, int size)
+    void yaml_parser_set_input(yaml_parser_t *parser,
+            yaml_read_handler_t *handler, void *data)
+    void yaml_parser_set_encoding(yaml_parser_t *parser,
+            yaml_encoding_t encoding)
+    int yaml_parser_scan(yaml_parser_t *parser, yaml_token_t *token) except *
+    int yaml_parser_parse(yaml_parser_t *parser, yaml_event_t *event) except *
+
+    int yaml_emitter_initialize(yaml_emitter_t *emitter)
+    void yaml_emitter_delete(yaml_emitter_t *emitter)
+    void yaml_emitter_set_output_string(yaml_emitter_t *emitter,
+            char *output, int size, int *size_written)
+    void yaml_emitter_set_output(yaml_emitter_t *emitter,
+            yaml_write_handler_t *handler, void *data)
+    void yaml_emitter_set_encoding(yaml_emitter_t *emitter,
+            yaml_encoding_t encoding)
+    void yaml_emitter_set_canonical(yaml_emitter_t *emitter, int canonical)
+    void yaml_emitter_set_indent(yaml_emitter_t *emitter, int indent)
+    void yaml_emitter_set_width(yaml_emitter_t *emitter, int width)
+    void yaml_emitter_set_unicode(yaml_emitter_t *emitter, int unicode)
+    void yaml_emitter_set_break(yaml_emitter_t *emitter,
+            yaml_break_t line_break)
+    int yaml_emitter_emit(yaml_emitter_t *emitter, yaml_event_t *event) except *
+    int yaml_emitter_flush(yaml_emitter_t *emitter)
+
Index: /package_tags/pyyaml/3.05-2~andersk1/ext/_yaml.pyx
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/ext/_yaml.pyx	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/ext/_yaml.pyx	(revision 902)
@@ -0,0 +1,1344 @@
+
+import yaml
+
+def get_version_string():
+    return yaml_get_version_string()
+
+def get_version():
+    cdef int major, minor, patch
+    yaml_get_version(&major, &minor, &patch)
+    return (major, minor, patch)
+
+#Mark = yaml.error.Mark
+YAMLError = yaml.error.YAMLError
+ReaderError = yaml.reader.ReaderError
+ScannerError = yaml.scanner.ScannerError
+ParserError = yaml.parser.ParserError
+ComposerError = yaml.composer.ComposerError
+ConstructorError = yaml.constructor.ConstructorError
+EmitterError = yaml.emitter.EmitterError
+SerializerError = yaml.serializer.SerializerError
+RepresenterError = yaml.representer.RepresenterError
+
+StreamStartToken = yaml.tokens.StreamStartToken
+StreamEndToken = yaml.tokens.StreamEndToken
+DirectiveToken = yaml.tokens.DirectiveToken
+DocumentStartToken = yaml.tokens.DocumentStartToken
+DocumentEndToken = yaml.tokens.DocumentEndToken
+BlockSequenceStartToken = yaml.tokens.BlockSequenceStartToken
+BlockMappingStartToken = yaml.tokens.BlockMappingStartToken
+BlockEndToken = yaml.tokens.BlockEndToken
+FlowSequenceStartToken = yaml.tokens.FlowSequenceStartToken
+FlowMappingStartToken = yaml.tokens.FlowMappingStartToken
+FlowSequenceEndToken = yaml.tokens.FlowSequenceEndToken
+FlowMappingEndToken = yaml.tokens.FlowMappingEndToken
+KeyToken = yaml.tokens.KeyToken
+ValueToken = yaml.tokens.ValueToken
+BlockEntryToken = yaml.tokens.BlockEntryToken
+FlowEntryToken = yaml.tokens.FlowEntryToken
+AliasToken = yaml.tokens.AliasToken
+AnchorToken = yaml.tokens.AnchorToken
+TagToken = yaml.tokens.TagToken
+ScalarToken = yaml.tokens.ScalarToken
+
+StreamStartEvent = yaml.events.StreamStartEvent
+StreamEndEvent = yaml.events.StreamEndEvent
+DocumentStartEvent = yaml.events.DocumentStartEvent
+DocumentEndEvent = yaml.events.DocumentEndEvent
+AliasEvent = yaml.events.AliasEvent
+ScalarEvent = yaml.events.ScalarEvent
+SequenceStartEvent = yaml.events.SequenceStartEvent
+SequenceEndEvent = yaml.events.SequenceEndEvent
+MappingStartEvent = yaml.events.MappingStartEvent
+MappingEndEvent = yaml.events.MappingEndEvent
+
+ScalarNode = yaml.nodes.ScalarNode
+SequenceNode = yaml.nodes.SequenceNode
+MappingNode = yaml.nodes.MappingNode
+
+cdef class Mark:
+    cdef readonly object name
+    cdef readonly int index
+    cdef readonly int line
+    cdef readonly int column
+    cdef readonly buffer
+    cdef readonly pointer
+
+    def __init__(self, object name, int index, int line, int column,
+            object buffer, object pointer):
+        self.name = name
+        self.index = index
+        self.line = line
+        self.column = column
+        self.buffer = buffer
+        self.pointer = pointer
+
+    def get_snippet(self):
+        return None
+
+    def __str__(self):
+        where = "  in \"%s\", line %d, column %d"   \
+                % (self.name, self.line+1, self.column+1)
+        return where
+
+#class YAMLError(Exception):
+#    pass
+#
+#class MarkedYAMLError(YAMLError):
+#
+#    def __init__(self, context=None, context_mark=None,
+#            problem=None, problem_mark=None, note=None):
+#        self.context = context
+#        self.context_mark = context_mark
+#        self.problem = problem
+#        self.problem_mark = problem_mark
+#        self.note = note
+#
+#    def __str__(self):
+#        lines = []
+#        if self.context is not None:
+#            lines.append(self.context)
+#        if self.context_mark is not None  \
+#            and (self.problem is None or self.problem_mark is None
+#                    or self.context_mark.name != self.problem_mark.name
+#                    or self.context_mark.line != self.problem_mark.line
+#                    or self.context_mark.column != self.problem_mark.column):
+#            lines.append(str(self.context_mark))
+#        if self.problem is not None:
+#            lines.append(self.problem)
+#        if self.problem_mark is not None:
+#            lines.append(str(self.problem_mark))
+#        if self.note is not None:
+#            lines.append(self.note)
+#        return '\n'.join(lines)
+#
+#class ReaderError(YAMLError):
+#
+#    def __init__(self, name, position, character, encoding, reason):
+#        self.name = name
+#        self.character = character
+#        self.position = position
+#        self.encoding = encoding
+#        self.reason = reason
+#
+#    def __str__(self):
+#        if isinstance(self.character, str):
+#            return "'%s' codec can't decode byte #x%02x: %s\n"  \
+#                    "  in \"%s\", position %d"    \
+#                    % (self.encoding, ord(self.character), self.reason,
+#                            self.name, self.position)
+#        else:
+#            return "unacceptable character #x%04x: %s\n"    \
+#                    "  in \"%s\", position %d"    \
+#                    % (ord(self.character), self.reason,
+#                            self.name, self.position)
+#
+#class ScannerError(MarkedYAMLError):
+#    pass
+#
+#class ParserError(MarkedYAMLError):
+#    pass
+#
+#class EmitterError(YAMLError):
+#    pass
+#
+#cdef class Token:
+#    cdef readonly Mark start_mark
+#    cdef readonly Mark end_mark
+#    def __init__(self, Mark start_mark, Mark end_mark):
+#        self.start_mark = start_mark
+#        self.end_mark = end_mark
+#
+#cdef class StreamStartToken(Token):
+#    cdef readonly object encoding
+#    def __init__(self, Mark start_mark, Mark end_mark, encoding):
+#        self.start_mark = start_mark
+#        self.end_mark = end_mark
+#        self.encoding = encoding
+#
+#cdef class StreamEndToken(Token):
+#    pass
+#
+#cdef class DirectiveToken(Token):
+#    cdef readonly object name
+#    cdef readonly object value
+#    def __init__(self, name, value, Mark start_mark, Mark end_mark):
+#        self.name = name
+#        self.value = value
+#        self.start_mark = start_mark
+#        self.end_mark = end_mark
+#
+#cdef class DocumentStartToken(Token):
+#    pass
+#
+#cdef class DocumentEndToken(Token):
+#    pass
+#
+#cdef class BlockSequenceStartToken(Token):
+#    pass
+#
+#cdef class BlockMappingStartToken(Token):
+#    pass
+#
+#cdef class BlockEndToken(Token):
+#    pass
+#
+#cdef class FlowSequenceStartToken(Token):
+#    pass
+#
+#cdef class FlowMappingStartToken(Token):
+#    pass
+#
+#cdef class FlowSequenceEndToken(Token):
+#    pass
+#
+#cdef class FlowMappingEndToken(Token):
+#    pass
+#
+#cdef class KeyToken(Token):
+#    pass
+#
+#cdef class ValueToken(Token):
+#    pass
+#
+#cdef class BlockEntryToken(Token):
+#    pass
+#
+#cdef class FlowEntryToken(Token):
+#    pass
+#
+#cdef class AliasToken(Token):
+#    cdef readonly object value
+#    def __init__(self, value, Mark start_mark, Mark end_mark):
+#        self.value = value
+#        self.start_mark = start_mark
+#        self.end_mark = end_mark
+#
+#cdef class AnchorToken(Token):
+#    cdef readonly object value
+#    def __init__(self, value, Mark start_mark, Mark end_mark):
+#        self.value = value
+#        self.start_mark = start_mark
+#        self.end_mark = end_mark
+#
+#cdef class TagToken(Token):
+#    cdef readonly object value
+#    def __init__(self, value, Mark start_mark, Mark end_mark):
+#        self.value = value
+#        self.start_mark = start_mark
+#        self.end_mark = end_mark
+#
+#cdef class ScalarToken(Token):
+#    cdef readonly object value
+#    cdef readonly object plain
+#    cdef readonly object style
+#    def __init__(self, value, plain, Mark start_mark, Mark end_mark, style=None):
+#        self.value = value
+#        self.plain = plain
+#        self.start_mark = start_mark
+#        self.end_mark = end_mark
+#        self.style = style
+
+cdef class CParser:
+
+    cdef yaml_parser_t parser
+    cdef yaml_event_t parsed_event
+
+    cdef object stream
+    cdef object stream_name
+    cdef object current_token
+    cdef object current_event
+    cdef object anchors
+
+    def __init__(self, stream):
+        if yaml_parser_initialize(&self.parser) == 0:
+            raise MemoryError
+        self.parsed_event.type = YAML_NO_EVENT
+        if hasattr(stream, 'read'):
+            self.stream = stream
+            try:
+                self.stream_name = stream.name
+            except AttributeError:
+                self.stream_name = '<file>'
+            yaml_parser_set_input(&self.parser, input_handler, <void *>self)
+        else:
+            if PyUnicode_CheckExact(stream) != 0:
+                stream = PyUnicode_AsUTF8String(stream)
+                self.stream_name = '<unicode string>'
+            else:
+                self.stream_name = '<string>'
+            if PyString_CheckExact(stream) == 0:
+                raise TypeError("a string or stream input is required")
+            self.stream = stream
+            yaml_parser_set_input_string(&self.parser, PyString_AS_STRING(stream), PyString_GET_SIZE(stream))
+        self.current_token = None
+        self.current_event = None
+        self.anchors = {}
+
+    def __dealloc__(self):
+        yaml_parser_delete(&self.parser)
+        yaml_event_delete(&self.parsed_event)
+
+    cdef object _parser_error(self):
+        if self.parser.error == YAML_MEMORY_ERROR:
+            raise MemoryError
+        elif self.parser.error == YAML_READER_ERROR:
+            raise ReaderError(self.stream_name, self.parser.problem_offset,
+                    self.parser.problem_value, '?', self.parser.problem)
+        elif self.parser.error == YAML_SCANNER_ERROR    \
+                or self.parser.error == YAML_PARSER_ERROR:
+            context_mark = None
+            problem_mark = None
+            if self.parser.context != NULL:
+                context_mark = Mark(self.stream_name,
+                        self.parser.context_mark.index,
+                        self.parser.context_mark.line,
+                        self.parser.context_mark.column, None, None)
+            if self.parser.problem != NULL:
+                problem_mark = Mark(self.stream_name,
+                        self.parser.problem_mark.index,
+                        self.parser.problem_mark.line,
+                        self.parser.problem_mark.column, None, None)
+            if self.parser.error == YAML_SCANNER_ERROR:
+                if self.parser.context != NULL:
+                    return ScannerError(self.parser.context, context_mark,
+                            self.parser.problem, problem_mark)
+                else:
+                    return ScannerError(None, None,
+                            self.parser.problem, problem_mark)
+            else:
+                if self.parser.context != NULL:
+                    return ParserError(self.parser.context, context_mark,
+                            self.parser.problem, problem_mark)
+                else:
+                    return ParserError(None, None,
+                            self.parser.problem, problem_mark)
+        raise ValueError("no parser error")
+
+    def raw_scan(self):
+        cdef yaml_token_t token
+        cdef int done
+        cdef int count
+        count = 0
+        done = 0
+        while done == 0:
+            if yaml_parser_scan(&self.parser, &token) == 0:
+                error = self._parser_error()
+                raise error
+            if token.type == YAML_NO_TOKEN:
+                done = 1
+            else:
+                count = count+1
+            yaml_token_delete(&token)
+        return count
+
+    cdef object _scan(self):
+        cdef yaml_token_t token
+        if yaml_parser_scan(&self.parser, &token) == 0:
+            error = self._parser_error()
+            raise error
+        token_object = self._token_to_object(&token)
+        yaml_token_delete(&token)
+        return token_object
+
+    cdef object _token_to_object(self, yaml_token_t *token):
+        start_mark = Mark(self.stream_name,
+                token.start_mark.index,
+                token.start_mark.line,
+                token.start_mark.column,
+                None, None)
+        end_mark = Mark(self.stream_name,
+                token.end_mark.index,
+                token.end_mark.line,
+                token.end_mark.column,
+                None, None)
+        if token.type == YAML_NO_TOKEN:
+            return None
+        elif token.type == YAML_STREAM_START_TOKEN:
+            encoding = None
+            if token.data.stream_start.encoding == YAML_UTF8_ENCODING:
+                encoding = "utf-8"
+            elif token.data.stream_start.encoding == YAML_UTF16LE_ENCODING:
+                encoding = "utf-16-le"
+            elif token.data.stream_start.encoding == YAML_UTF16BE_ENCODING:
+                encoding = "utf-16-be"
+            return StreamStartToken(start_mark, end_mark, encoding)
+        elif token.type == YAML_STREAM_END_TOKEN:
+            return StreamEndToken(start_mark, end_mark)
+        elif token.type == YAML_VERSION_DIRECTIVE_TOKEN:
+            return DirectiveToken("YAML",
+                    (token.data.version_directive.major,
+                        token.data.version_directive.minor),
+                    start_mark, end_mark)
+        elif token.type == YAML_TAG_DIRECTIVE_TOKEN:
+            return DirectiveToken("TAG",
+                    (token.data.tag_directive.handle,
+                        token.data.tag_directive.prefix),
+                    start_mark, end_mark)
+        elif token.type == YAML_DOCUMENT_START_TOKEN:
+            return DocumentStartToken(start_mark, end_mark)
+        elif token.type == YAML_DOCUMENT_END_TOKEN:
+            return DocumentEndToken(start_mark, end_mark)
+        elif token.type == YAML_BLOCK_SEQUENCE_START_TOKEN:
+            return BlockSequenceStartToken(start_mark, end_mark)
+        elif token.type == YAML_BLOCK_MAPPING_START_TOKEN:
+            return BlockMappingStartToken(start_mark, end_mark)
+        elif token.type == YAML_BLOCK_END_TOKEN:
+            return BlockEndToken(start_mark, end_mark)
+        elif token.type == YAML_FLOW_SEQUENCE_START_TOKEN:
+            return FlowSequenceStartToken(start_mark, end_mark)
+        elif token.type == YAML_FLOW_SEQUENCE_END_TOKEN:
+            return FlowSequenceEndToken(start_mark, end_mark)
+        elif token.type == YAML_FLOW_MAPPING_START_TOKEN:
+            return FlowMappingStartToken(start_mark, end_mark)
+        elif token.type == YAML_FLOW_MAPPING_END_TOKEN:
+            return FlowMappingEndToken(start_mark, end_mark)
+        elif token.type == YAML_BLOCK_ENTRY_TOKEN:
+            return BlockEntryToken(start_mark, end_mark)
+        elif token.type == YAML_FLOW_ENTRY_TOKEN:
+            return FlowEntryToken(start_mark, end_mark)
+        elif token.type == YAML_KEY_TOKEN:
+            return KeyToken(start_mark, end_mark)
+        elif token.type == YAML_VALUE_TOKEN:
+            return ValueToken(start_mark, end_mark)
+        elif token.type == YAML_ALIAS_TOKEN:
+            value = PyUnicode_DecodeUTF8(token.data.alias.value,
+                    strlen(token.data.alias.value), 'strict')
+            return AliasToken(value, start_mark, end_mark)
+        elif token.type == YAML_ANCHOR_TOKEN:
+            value = PyUnicode_DecodeUTF8(token.data.anchor.value,
+                    strlen(token.data.anchor.value), 'strict')
+            return AnchorToken(value, start_mark, end_mark)
+        elif token.type == YAML_TAG_TOKEN:
+            handle = PyUnicode_DecodeUTF8(token.data.tag.handle,
+                    strlen(token.data.tag.handle), 'strict')
+            suffix = PyUnicode_DecodeUTF8(token.data.tag.suffix,
+                    strlen(token.data.tag.suffix), 'strict')
+            if not handle:
+                handle = None
+            return TagToken((handle, suffix), start_mark, end_mark)
+        elif token.type == YAML_SCALAR_TOKEN:
+            value = PyUnicode_DecodeUTF8(token.data.scalar.value,
+                    token.data.scalar.length, 'strict')
+            plain = False
+            style = None
+            if token.data.scalar.style == YAML_PLAIN_SCALAR_STYLE:
+                plain = True
+                style = ''
+            elif token.data.scalar.style == YAML_SINGLE_QUOTED_SCALAR_STYLE:
+                style = '\''
+            elif token.data.scalar.style == YAML_DOUBLE_QUOTED_SCALAR_STYLE:
+                style = '"'
+            elif token.data.scalar.style == YAML_LITERAL_SCALAR_STYLE:
+                style = '|'
+            elif token.data.scalar.style == YAML_FOLDED_SCALAR_STYLE:
+                style = '>'
+            return ScalarToken(value, plain,
+                    start_mark, end_mark, style)
+        else:
+            raise ValueError("unknown token type")
+
+    def get_token(self):
+        if self.current_token is not None:
+            value = self.current_token
+            self.current_token = None
+        else:
+            value = self._scan()
+        return value
+
+    def peek_token(self):
+        if self.current_token is None:
+            self.current_token = self._scan()
+        return self.current_token
+
+    def check_token(self, *choices):
+        if self.current_token is None:
+            self.current_token = self._scan()
+        if self.current_token is None:
+            return False
+        if not choices:
+            return True
+        token_class = self.current_token.__class__
+        for choice in choices:
+            if token_class is choice:
+                return True
+        return False
+
+    def raw_parse(self):
+        cdef yaml_event_t event
+        cdef int done
+        cdef int count
+        count = 0
+        done = 0
+        while done == 0:
+            if yaml_parser_parse(&self.parser, &event) == 0:
+                error = self._parser_error()
+                raise error
+            if event.type == YAML_NO_EVENT:
+                done = 1
+            else:
+                count = count+1
+            yaml_event_delete(&event)
+        return count
+
+    cdef object _parse(self):
+        cdef yaml_event_t event
+        if yaml_parser_parse(&self.parser, &event) == 0:
+            error = self._parser_error()
+            raise error
+        event_object = self._event_to_object(&event)
+        yaml_event_delete(&event)
+        return event_object
+
+    cdef object _event_to_object(self, yaml_event_t *event):
+        cdef yaml_tag_directive_t *tag_directive
+        start_mark = Mark(self.stream_name,
+                event.start_mark.index,
+                event.start_mark.line,
+                event.start_mark.column,
+                None, None)
+        end_mark = Mark(self.stream_name,
+                event.end_mark.index,
+                event.end_mark.line,
+                event.end_mark.column,
+                None, None)
+        if event.type == YAML_NO_EVENT:
+            return None
+        elif event.type == YAML_STREAM_START_EVENT:
+            encoding = None
+            if event.data.stream_start.encoding == YAML_UTF8_ENCODING:
+                encoding = "utf-8"
+            elif event.data.stream_start.encoding == YAML_UTF16LE_ENCODING:
+                encoding = "utf-16-le"
+            elif event.data.stream_start.encoding == YAML_UTF16BE_ENCODING:
+                encoding = "utf-16-be"
+            return StreamStartEvent(start_mark, end_mark, encoding)
+        elif event.type == YAML_STREAM_END_EVENT:
+            return StreamEndEvent(start_mark, end_mark)
+
+        elif event.type == YAML_DOCUMENT_START_EVENT:
+            explicit = False
+            if event.data.document_start.implicit == 0:
+                explicit = True
+            version = None
+            if event.data.document_start.version_directive != NULL:
+                version = (event.data.document_start.version_directive.major,
+                        event.data.document_start.version_directive.minor)
+            tags = None
+            if event.data.document_start.tag_directives.start != NULL:
+                tags = {}
+                tag_directive = event.data.document_start.tag_directives.start
+                while tag_directive != event.data.document_start.tag_directives.end:
+                    handle = PyUnicode_DecodeUTF8(tag_directive.handle,
+                            strlen(tag_directive.handle), 'strict')
+                    prefix = PyUnicode_DecodeUTF8(tag_directive.prefix,
+                            strlen(tag_directive.prefix), 'strict')
+                    tags[handle] = prefix
+                    tag_directive = tag_directive+1
+            return DocumentStartEvent(start_mark, end_mark,
+                    explicit, version, tags)
+        elif event.type == YAML_DOCUMENT_END_EVENT:
+            explicit = False
+            if event.data.document_end.implicit == 0:
+                explicit = True
+            return DocumentEndEvent(start_mark, end_mark, explicit)
+        elif event.type == YAML_ALIAS_EVENT:
+            anchor = PyUnicode_DecodeUTF8(event.data.alias.anchor,
+                    strlen(event.data.alias.anchor), 'strict')
+            return AliasEvent(anchor, start_mark, end_mark)
+        elif event.type == YAML_SCALAR_EVENT:
+            anchor = None
+            if event.data.scalar.anchor != NULL:
+                anchor = PyUnicode_DecodeUTF8(event.data.scalar.anchor,
+                        strlen(event.data.scalar.anchor), 'strict')
+            tag = None
+            if event.data.scalar.tag != NULL:
+                tag = PyUnicode_DecodeUTF8(event.data.scalar.tag,
+                        strlen(event.data.scalar.tag), 'strict')
+            value = PyUnicode_DecodeUTF8(event.data.scalar.value,
+                    event.data.scalar.length, 'strict')
+            plain_implicit = False
+            if event.data.scalar.plain_implicit == 1:
+                plain_implicit = True
+            quoted_implicit = False
+            if event.data.scalar.quoted_implicit == 1:
+                quoted_implicit = True
+            style = None
+            if event.data.scalar.style == YAML_PLAIN_SCALAR_STYLE:
+                style = ''
+            elif event.data.scalar.style == YAML_SINGLE_QUOTED_SCALAR_STYLE:
+                style = '\''
+            elif event.data.scalar.style == YAML_DOUBLE_QUOTED_SCALAR_STYLE:
+                style = '"'
+            elif event.data.scalar.style == YAML_LITERAL_SCALAR_STYLE:
+                style = '|'
+            elif event.data.scalar.style == YAML_FOLDED_SCALAR_STYLE:
+                style = '>'
+            return ScalarEvent(anchor, tag,
+                    (plain_implicit, quoted_implicit),
+                    value, start_mark, end_mark, style)
+        elif event.type == YAML_SEQUENCE_START_EVENT:
+            anchor = None
+            if event.data.sequence_start.anchor != NULL:
+                anchor = PyUnicode_DecodeUTF8(event.data.sequence_start.anchor,
+                        strlen(event.data.sequence_start.anchor), 'strict')
+            tag = None
+            if event.data.sequence_start.tag != NULL:
+                tag = PyUnicode_DecodeUTF8(event.data.sequence_start.tag,
+                        strlen(event.data.sequence_start.tag), 'strict')
+            implicit = False
+            if event.data.sequence_start.implicit == 1:
+                implicit = True
+            flow_style = None
+            if event.data.sequence_start.style == YAML_FLOW_SEQUENCE_STYLE:
+                flow_style = True
+            elif event.data.sequence_start.style == YAML_BLOCK_SEQUENCE_STYLE:
+                flow_style = False
+            return SequenceStartEvent(anchor, tag, implicit,
+                    start_mark, end_mark, flow_style)
+        elif event.type == YAML_MAPPING_START_EVENT:
+            anchor = None
+            if event.data.mapping_start.anchor != NULL:
+                anchor = PyUnicode_DecodeUTF8(event.data.mapping_start.anchor,
+                        strlen(event.data.mapping_start.anchor), 'strict')
+            tag = None
+            if event.data.mapping_start.tag != NULL:
+                tag = PyUnicode_DecodeUTF8(event.data.mapping_start.tag,
+                        strlen(event.data.mapping_start.tag), 'strict')
+            implicit = False
+            if event.data.mapping_start.implicit == 1:
+                implicit = True
+            flow_style = None
+            if event.data.mapping_start.style == YAML_FLOW_SEQUENCE_STYLE:
+                flow_style = True
+            elif event.data.mapping_start.style == YAML_BLOCK_SEQUENCE_STYLE:
+                flow_style = False
+            return MappingStartEvent(anchor, tag, implicit,
+                    start_mark, end_mark, flow_style)
+        elif event.type == YAML_SEQUENCE_END_EVENT:
+            return SequenceEndEvent(start_mark, end_mark)
+        elif event.type == YAML_MAPPING_END_EVENT:
+            return MappingEndEvent(start_mark, end_mark)
+
+        else:
+            raise ValueError("unknown token type")
+
+    def get_event(self):
+        if self.current_event is not None:
+            value = self.current_event
+            self.current_event = None
+        else:
+            value = self._parse()
+        return value
+
+    def peek_event(self):
+        if self.current_event is None:
+            self.current_event = self._parse()
+        return self.current_event
+
+    def check_event(self, *choices):
+        if self.current_event is None:
+            self.current_event = self._parse()
+        if self.current_event is None:
+            return False
+        if not choices:
+            return True
+        event_class = self.current_event.__class__
+        for choice in choices:
+            if event_class is choice:
+                return True
+        return False
+
+    def check_node(self):
+        self._parse_next_event()
+        if self.parsed_event.type == YAML_STREAM_START_EVENT:
+            yaml_event_delete(&self.parsed_event)
+            self._parse_next_event()
+        if self.parsed_event.type != YAML_STREAM_END_EVENT:
+            return True
+        return False
+
+    def get_node(self):
+        self._parse_next_event()
+        if self.parsed_event.type != YAML_STREAM_END_EVENT:
+            return self._compose_document()
+
+    cdef object _compose_document(self):
+        yaml_event_delete(&self.parsed_event)
+        node = self._compose_node(None, None)
+        self._parse_next_event()
+        yaml_event_delete(&self.parsed_event)
+        self.anchors = {}
+        return node
+
+    cdef object _compose_node(self, object parent, object index):
+        self._parse_next_event()
+        if self.parsed_event.type == YAML_ALIAS_EVENT:
+            anchor = PyUnicode_DecodeUTF8(self.parsed_event.data.alias.anchor,
+                    strlen(self.parsed_event.data.alias.anchor), 'strict')
+            if anchor not in self.anchors:
+                mark = Mark(self.stream_name,
+                        self.parsed_event.start_mark.index,
+                        self.parsed_event.start_mark.line,
+                        self.parsed_event.start_mark.column,
+                        None, None)
+                raise ComposerError(None, None, "found undefined alias", mark)
+            yaml_event_delete(&self.parsed_event)
+            return self.anchors[anchor]
+        anchor = None
+        if self.parsed_event.type == YAML_SCALAR_EVENT  \
+                and self.parsed_event.data.scalar.anchor != NULL:
+            anchor = PyUnicode_DecodeUTF8(self.parsed_event.data.scalar.anchor,
+                    strlen(self.parsed_event.data.scalar.anchor), 'strict')
+        elif self.parsed_event.type == YAML_SEQUENCE_START_EVENT    \
+                and self.parsed_event.data.sequence_start.anchor != NULL:
+            anchor = PyUnicode_DecodeUTF8(self.parsed_event.data.sequence_start.anchor,
+                    strlen(self.parsed_event.data.sequence_start.anchor), 'strict')
+        elif self.parsed_event.type == YAML_MAPPING_START_EVENT    \
+                and self.parsed_event.data.mapping_start.anchor != NULL:
+            anchor = PyUnicode_DecodeUTF8(self.parsed_event.data.mapping_start.anchor,
+                    strlen(self.parsed_event.data.mapping_start.anchor), 'strict')
+        if anchor is not None:
+            if anchor in self.anchors:
+                mark = Mark(self.stream_name,
+                        self.parsed_event.start_mark.index,
+                        self.parsed_event.start_mark.line,
+                        self.parsed_event.start_mark.column,
+                        None, None)
+                raise ComposerError("found duplicate anchor; first occurence",
+                        self.anchors[anchor].start_mark, "second occurence", mark)
+        self.descend_resolver(parent, index)
+        if self.parsed_event.type == YAML_SCALAR_EVENT:
+            node = self._compose_scalar_node(anchor)
+        elif self.parsed_event.type == YAML_SEQUENCE_START_EVENT:
+            node = self._compose_sequence_node(anchor)
+        elif self.parsed_event.type == YAML_MAPPING_START_EVENT:
+            node = self._compose_mapping_node(anchor)
+        self.ascend_resolver()
+        return node
+
+    cdef _compose_scalar_node(self, object anchor):
+        start_mark = Mark(self.stream_name,
+                self.parsed_event.start_mark.index,
+                self.parsed_event.start_mark.line,
+                self.parsed_event.start_mark.column,
+                None, None)
+        end_mark = Mark(self.stream_name,
+                self.parsed_event.end_mark.index,
+                self.parsed_event.end_mark.line,
+                self.parsed_event.end_mark.column,
+                None, None)
+        value = PyUnicode_DecodeUTF8(self.parsed_event.data.scalar.value,
+                self.parsed_event.data.scalar.length, 'strict')
+        plain_implicit = False
+        if self.parsed_event.data.scalar.plain_implicit == 1:
+            plain_implicit = True
+        quoted_implicit = False
+        if self.parsed_event.data.scalar.quoted_implicit == 1:
+            quoted_implicit = True
+        if self.parsed_event.data.scalar.tag == NULL    \
+                or (self.parsed_event.data.scalar.tag[0] == c'!'
+                        and self.parsed_event.data.scalar.tag[1] == c'\0'):
+            tag = self.resolve(ScalarNode, value, (plain_implicit, quoted_implicit))
+        else:
+            tag = PyUnicode_DecodeUTF8(self.parsed_event.data.scalar.tag,
+                    strlen(self.parsed_event.data.scalar.tag), 'strict')
+        style = None
+        if self.parsed_event.data.scalar.style == YAML_PLAIN_SCALAR_STYLE:
+            style = ''
+        elif self.parsed_event.data.scalar.style == YAML_SINGLE_QUOTED_SCALAR_STYLE:
+            style = '\''
+        elif self.parsed_event.data.scalar.style == YAML_DOUBLE_QUOTED_SCALAR_STYLE:
+            style = '"'
+        elif self.parsed_event.data.scalar.style == YAML_LITERAL_SCALAR_STYLE:
+            style = '|'
+        elif self.parsed_event.data.scalar.style == YAML_FOLDED_SCALAR_STYLE:
+            style = '>'
+        node = ScalarNode(tag, value, start_mark, end_mark, style)
+        if anchor is not None:
+            self.anchors[anchor] = node
+        yaml_event_delete(&self.parsed_event)
+        return node
+
+    cdef _compose_sequence_node(self, object anchor):
+        cdef int index
+        start_mark = Mark(self.stream_name,
+                self.parsed_event.start_mark.index,
+                self.parsed_event.start_mark.line,
+                self.parsed_event.start_mark.column,
+                None, None)
+        implicit = False
+        if self.parsed_event.data.sequence_start.implicit == 1:
+            implicit = True
+        if self.parsed_event.data.sequence_start.tag == NULL    \
+                or (self.parsed_event.data.sequence_start.tag[0] == c'!'
+                        and self.parsed_event.data.sequence_start.tag[1] == c'\0'):
+            tag = self.resolve(SequenceNode, None, implicit)
+        else:
+            tag = PyUnicode_DecodeUTF8(self.parsed_event.data.sequence_start.tag,
+                    strlen(self.parsed_event.data.sequence_start.tag), 'strict')
+        flow_style = None
+        if self.parsed_event.data.sequence_start.style == YAML_FLOW_SEQUENCE_STYLE:
+            flow_style = True
+        elif self.parsed_event.data.sequence_start.style == YAML_BLOCK_SEQUENCE_STYLE:
+            flow_style = False
+        value = []
+        node = SequenceNode(tag, value, start_mark, None, flow_style)
+        if anchor is not None:
+            self.anchors[anchor] = node
+        yaml_event_delete(&self.parsed_event)
+        index = 0
+        self._parse_next_event()
+        while self.parsed_event.type != YAML_SEQUENCE_END_EVENT:
+            value.append(self._compose_node(node, index))
+            index = index+1
+            self._parse_next_event()
+        node.end_mark = Mark(self.stream_name,
+                self.parsed_event.end_mark.index,
+                self.parsed_event.end_mark.line,
+                self.parsed_event.end_mark.column,
+                None, None)
+        yaml_event_delete(&self.parsed_event)
+        return node
+
+    cdef _compose_mapping_node(self, object anchor):
+        start_mark = Mark(self.stream_name,
+                self.parsed_event.start_mark.index,
+                self.parsed_event.start_mark.line,
+                self.parsed_event.start_mark.column,
+                None, None)
+        implicit = False
+        if self.parsed_event.data.mapping_start.implicit == 1:
+            implicit = True
+        if self.parsed_event.data.mapping_start.tag == NULL    \
+                or (self.parsed_event.data.mapping_start.tag[0] == c'!'
+                        and self.parsed_event.data.mapping_start.tag[1] == c'\0'):
+            tag = self.resolve(MappingNode, None, implicit)
+        else:
+            tag = PyUnicode_DecodeUTF8(self.parsed_event.data.mapping_start.tag,
+                    strlen(self.parsed_event.data.mapping_start.tag), 'strict')
+        flow_style = None
+        if self.parsed_event.data.mapping_start.style == YAML_FLOW_MAPPING_STYLE:
+            flow_style = True
+        elif self.parsed_event.data.mapping_start.style == YAML_BLOCK_MAPPING_STYLE:
+            flow_style = False
+        value = []
+        node = MappingNode(tag, value, start_mark, None, flow_style)
+        if anchor is not None:
+            self.anchors[anchor] = node
+        yaml_event_delete(&self.parsed_event)
+        self._parse_next_event()
+        while self.parsed_event.type != YAML_MAPPING_END_EVENT:
+            item_key = self._compose_node(node, None)
+            item_value = self._compose_node(node, item_key)
+            value.append((item_key, item_value))
+            self._parse_next_event()
+        node.end_mark = Mark(self.stream_name,
+                self.parsed_event.end_mark.index,
+                self.parsed_event.end_mark.line,
+                self.parsed_event.end_mark.column,
+                None, None)
+        yaml_event_delete(&self.parsed_event)
+        return node
+
+    cdef int _parse_next_event(self) except 0:
+        if self.parsed_event.type == YAML_NO_EVENT:
+            if yaml_parser_parse(&self.parser, &self.parsed_event) == 0:
+                error = self._parser_error()
+                raise error
+        return 1
+
+cdef int input_handler(void *data, char *buffer, int size, int *read) except 0:
+    cdef CParser parser
+    parser = <CParser>data
+    value = parser.stream.read(size)
+    if PyString_CheckExact(value) == 0:
+        raise TypeError("a string value is expected")
+    if PyString_GET_SIZE(value) > size:
+        raise ValueError("a string value it too long")
+    memcpy(buffer, PyString_AS_STRING(value), PyString_GET_SIZE(value))
+    read[0] = PyString_GET_SIZE(value)
+    return 1
+
+cdef class CEmitter:
+
+    cdef yaml_emitter_t emitter
+
+    cdef object stream
+
+    cdef yaml_encoding_t use_encoding
+    cdef int document_start_implicit
+    cdef int document_end_implicit
+    cdef object use_version
+    cdef object use_tags
+
+    cdef object serialized_nodes
+    cdef object anchors
+    cdef int last_alias_id
+    cdef int closed
+
+    def __init__(self, stream, canonical=None, indent=None, width=None,
+            allow_unicode=None, line_break=None, encoding=None,
+            explicit_start=None, explicit_end=None, version=None, tags=None):
+        if yaml_emitter_initialize(&self.emitter) == 0:
+            raise MemoryError
+        self.stream = stream
+        yaml_emitter_set_output(&self.emitter, output_handler, <void *>self)    
+        if canonical is not None:
+            yaml_emitter_set_canonical(&self.emitter, 1)
+        if indent is not None:
+            yaml_emitter_set_indent(&self.emitter, indent)
+        if width is not None:
+            yaml_emitter_set_width(&self.emitter, width)
+        if allow_unicode is not None:
+            yaml_emitter_set_unicode(&self.emitter, 1)
+        if line_break is not None:
+            if line_break == '\r':
+                yaml_emitter_set_break(&self.emitter, YAML_CR_BREAK)
+            elif line_break == '\n':
+                yaml_emitter_set_break(&self.emitter, YAML_LN_BREAK)
+            elif line_break == '\r\n':
+                yaml_emitter_set_break(&self.emitter, YAML_CRLN_BREAK)
+        if encoding == 'utf-16-le':
+            self.use_encoding = YAML_UTF16LE_ENCODING
+        elif encoding == 'utf-16-be':
+            self.use_encoding = YAML_UTF16BE_ENCODING
+        else:
+            self.use_encoding = YAML_UTF8_ENCODING
+        self.document_start_implicit = 1
+        if explicit_start:
+            self.document_start_implicit = 0
+        self.document_end_implicit = 1
+        if explicit_end:
+            self.document_end_implicit = 0
+        self.use_version = version
+        self.use_tags = tags
+        self.serialized_nodes = {}
+        self.anchors = {}
+        self.last_alias_id = 0
+        self.closed = -1
+
+    def __dealloc__(self):
+        yaml_emitter_delete(&self.emitter)
+
+    cdef object _emitter_error(self):
+        if self.emitter.error == YAML_MEMORY_ERROR:
+            return MemoryError
+        elif self.emitter.error == YAML_EMITTER_ERROR:
+            return EmitterError(self.emitter.problem)
+        raise ValueError("no emitter error")
+
+    cdef int _object_to_event(self, object event_object, yaml_event_t *event) except 0:
+        cdef yaml_encoding_t encoding
+        cdef yaml_version_directive_t version_directive_value
+        cdef yaml_version_directive_t *version_directive
+        cdef yaml_tag_directive_t tag_directives_value[128]
+        cdef yaml_tag_directive_t *tag_directives_start
+        cdef yaml_tag_directive_t *tag_directives_end
+        cdef int implicit
+        cdef int plain_implicit
+        cdef int quoted_implicit
+        cdef char *anchor
+        cdef char *tag
+        cdef char *value
+        cdef int length
+        cdef yaml_scalar_style_t scalar_style
+        cdef yaml_sequence_style_t sequence_style
+        cdef yaml_mapping_style_t mapping_style
+        event_class = event_object.__class__
+        if event_class is StreamStartEvent:
+            encoding = YAML_UTF8_ENCODING
+            if event_object.encoding == 'utf-16-le':
+                encoding = YAML_UTF16LE_ENCODING
+            elif event_object.encoding == 'utf-16-be':
+                encoding = YAML_UTF16BE_ENCODING
+            yaml_stream_start_event_initialize(event, encoding)
+        elif event_class is StreamEndEvent:
+            yaml_stream_end_event_initialize(event)
+        elif event_class is DocumentStartEvent:
+            version_directive = NULL
+            if event_object.version:
+                version_directive_value.major = event_object.version[0]
+                version_directive_value.minor = event_object.version[1]
+                version_directive = &version_directive_value
+            tag_directives_start = NULL
+            tag_directives_end = NULL
+            if event_object.tags:
+                if len(event_object.tags) > 128:
+                    raise ValueError("too many tags")
+                tag_directives_start = tag_directives_value
+                tag_directives_end = tag_directives_value
+                cache = []
+                for handle in event_object.tags:
+                    prefix = event_object.tags[handle]
+                    if PyUnicode_CheckExact(handle):
+                        handle = PyUnicode_AsUTF8String(handle)
+                        cache.append(handle)
+                    if not PyString_CheckExact(handle):
+                        raise TypeError("tag handle must be a string")
+                    tag_directives_end.handle = PyString_AS_STRING(handle)
+                    if PyUnicode_CheckExact(prefix):
+                        prefix = PyUnicode_AsUTF8String(prefix)
+                        cache.append(prefix)
+                    if not PyString_CheckExact(prefix):
+                        raise TypeError("tag prefix must be a string")
+                    tag_directives_end.prefix = PyString_AS_STRING(prefix)
+                    tag_directives_end = tag_directives_end+1
+            implicit = 1
+            if event_object.explicit:
+                implicit = 0
+            if yaml_document_start_event_initialize(event, version_directive,
+                    tag_directives_start, tag_directives_end, implicit) == 0:
+                raise MemoryError
+        elif event_class is DocumentEndEvent:
+            implicit = 1
+            if event_object.explicit:
+                implicit = 0
+            yaml_document_end_event_initialize(event, implicit)
+        elif event_class is AliasEvent:
+            anchor = NULL
+            anchor_object = event_object.anchor
+            if PyUnicode_CheckExact(anchor_object):
+                anchor_object = PyUnicode_AsUTF8String(anchor_object)
+            if not PyString_CheckExact(anchor_object):
+                raise TypeError("anchor must be a string")
+            anchor = PyString_AS_STRING(anchor_object)
+            if yaml_alias_event_initialize(event, anchor) == 0:
+                raise MemoryError
+        elif event_class is ScalarEvent:
+            anchor = NULL
+            anchor_object = event_object.anchor
+            if anchor_object is not None:
+                if PyUnicode_CheckExact(anchor_object):
+                    anchor_object = PyUnicode_AsUTF8String(anchor_object)
+                if not PyString_CheckExact(anchor_object):
+                    raise TypeError("anchor must be a string")
+                anchor = PyString_AS_STRING(anchor_object)
+            tag = NULL
+            tag_object = event_object.tag
+            if tag_object is not None:
+                if PyUnicode_CheckExact(tag_object):
+                    tag_object = PyUnicode_AsUTF8String(tag_object)
+                if not PyString_CheckExact(tag_object):
+                    raise TypeError("tag must be a string")
+                tag = PyString_AS_STRING(tag_object)
+            value_object = event_object.value
+            if PyUnicode_CheckExact(value_object):
+                value_object = PyUnicode_AsUTF8String(value_object)
+            if not PyString_CheckExact(value_object):
+                raise TypeError("value must be a string")
+            value = PyString_AS_STRING(value_object)
+            length = PyString_GET_SIZE(value_object)
+            plain_implicit = 0
+            quoted_implicit = 0
+            if event_object.implicit is not None:
+                plain_implicit = event_object.implicit[0]
+                quoted_implicit = event_object.implicit[1]
+            style_object = event_object.style
+            scalar_style = YAML_PLAIN_SCALAR_STYLE
+            if style_object == "'":
+                scalar_style = YAML_SINGLE_QUOTED_SCALAR_STYLE
+            elif style_object == "\"":
+                scalar_style = YAML_DOUBLE_QUOTED_SCALAR_STYLE
+            elif style_object == "|":
+                scalar_style = YAML_LITERAL_SCALAR_STYLE
+            elif style_object == ">":
+                scalar_style = YAML_FOLDED_SCALAR_STYLE
+            if yaml_scalar_event_initialize(event, anchor, tag, value, length,
+                    plain_implicit, quoted_implicit, scalar_style) == 0:
+                raise MemoryError
+        elif event_class is SequenceStartEvent:
+            anchor = NULL
+            anchor_object = event_object.anchor
+            if anchor_object is not None:
+                if PyUnicode_CheckExact(anchor_object):
+                    anchor_object = PyUnicode_AsUTF8String(anchor_object)
+                if not PyString_CheckExact(anchor_object):
+                    raise TypeError("anchor must be a string")
+                anchor = PyString_AS_STRING(anchor_object)
+            tag = NULL
+            tag_object = event_object.tag
+            if tag_object is not None:
+                if PyUnicode_CheckExact(tag_object):
+                    tag_object = PyUnicode_AsUTF8String(tag_object)
+                if not PyString_CheckExact(tag_object):
+                    raise TypeError("tag must be a string")
+                tag = PyString_AS_STRING(tag_object)
+            implicit = 0
+            if event_object.implicit:
+                implicit = 1
+            sequence_style = YAML_BLOCK_SEQUENCE_STYLE
+            if event_object.flow_style:
+                sequence_style = YAML_FLOW_SEQUENCE_STYLE
+            if yaml_sequence_start_event_initialize(event, anchor, tag,
+                    implicit, sequence_style) == 0:
+                raise MemoryError
+        elif event_class is MappingStartEvent:
+            anchor = NULL
+            anchor_object = event_object.anchor
+            if anchor_object is not None:
+                if PyUnicode_CheckExact(anchor_object):
+                    anchor_object = PyUnicode_AsUTF8String(anchor_object)
+                if not PyString_CheckExact(anchor_object):
+                    raise TypeError("anchor must be a string")
+                anchor = PyString_AS_STRING(anchor_object)
+            tag = NULL
+            tag_object = event_object.tag
+            if tag_object is not None:
+                if PyUnicode_CheckExact(tag_object):
+                    tag_object = PyUnicode_AsUTF8String(tag_object)
+                if not PyString_CheckExact(tag_object):
+                    raise TypeError("tag must be a string")
+                tag = PyString_AS_STRING(tag_object)
+            implicit = 0
+            if event_object.implicit:
+                implicit = 1
+            mapping_style = YAML_BLOCK_MAPPING_STYLE
+            if event_object.flow_style:
+                mapping_style = YAML_FLOW_MAPPING_STYLE
+            if yaml_mapping_start_event_initialize(event, anchor, tag,
+                    implicit, mapping_style) == 0:
+                raise MemoryError
+        elif event_class is SequenceEndEvent:
+            yaml_sequence_end_event_initialize(event)
+        elif event_class is MappingEndEvent:
+            yaml_mapping_end_event_initialize(event)
+        else:
+            raise TypeError("invalid event %s" % event_object)
+        return 1
+
+    def emit(self, event_object):
+        cdef yaml_event_t event
+        self._object_to_event(event_object, &event)
+        if yaml_emitter_emit(&self.emitter, &event) == 0:
+            error = self._emitter_error()
+            raise error
+
+    def open(self):
+        cdef yaml_event_t event
+        if self.closed == -1:
+            yaml_stream_start_event_initialize(&event, self.use_encoding)
+            if yaml_emitter_emit(&self.emitter, &event) == 0:
+                error = self._emitter_error()
+                raise error
+            self.closed = 0
+        elif self.closed == 1:
+            raise SerializerError("serializer is closed")
+        else:
+            raise SerializerError("serializer is already opened")
+
+    def close(self):
+        cdef yaml_event_t event
+        if self.closed == -1:
+            raise SerializerError("serializer is not opened")
+        elif self.closed == 0:
+            yaml_stream_end_event_initialize(&event)
+            if yaml_emitter_emit(&self.emitter, &event) == 0:
+                error = self._emitter_error()
+                raise error
+            self.closed = 1
+
+    def serialize(self, node):
+        cdef yaml_event_t event
+        cdef yaml_version_directive_t version_directive_value
+        cdef yaml_version_directive_t *version_directive
+        cdef yaml_tag_directive_t tag_directives_value[128]
+        cdef yaml_tag_directive_t *tag_directives_start
+        cdef yaml_tag_directive_t *tag_directives_end
+        if self.closed == -1:
+            raise SerializerError("serializer is not opened")
+        elif self.closed == 1:
+            raise SerializerError("serializer is closed")
+        cache = []
+        version_directive = NULL
+        if self.use_version:
+            version_directive_value.major = self.use_version[0]
+            version_directive_value.minor = self.use_version[1]
+            version_directive = &version_directive_value
+        tag_directives_start = NULL
+        tag_directives_end = NULL
+        if self.use_tags:
+            if len(self.use_tags) > 128:
+                raise ValueError("too many tags")
+            tag_directives_start = tag_directives_value
+            tag_directives_end = tag_directives_value
+            for handle in self.use_tags:
+                prefix = self.use_tags[handle]
+                if PyUnicode_CheckExact(handle):
+                    handle = PyUnicode_AsUTF8String(handle)
+                    cache.append(handle)
+                if not PyString_CheckExact(handle):
+                    raise TypeError("tag handle must be a string")
+                tag_directives_end.handle = PyString_AS_STRING(handle)
+                if PyUnicode_CheckExact(prefix):
+                    prefix = PyUnicode_AsUTF8String(prefix)
+                    cache.append(prefix)
+                if not PyString_CheckExact(prefix):
+                    raise TypeError("tag prefix must be a string")
+                tag_directives_end.prefix = PyString_AS_STRING(prefix)
+                tag_directives_end = tag_directives_end+1
+        if yaml_document_start_event_initialize(&event, version_directive,
+                tag_directives_start, tag_directives_end,
+                self.document_start_implicit) == 0:
+            raise MemoryError
+        if yaml_emitter_emit(&self.emitter, &event) == 0:
+            error = self._emitter_error()
+            raise error
+        self._anchor_node(node)
+        self._serialize_node(node, None, None)
+        yaml_document_end_event_initialize(&event, self.document_end_implicit)
+        if yaml_emitter_emit(&self.emitter, &event) == 0:
+            error = self._emitter_error()
+            raise error
+        self.serialized_nodes = {}
+        self.anchors = {}
+        self.last_alias_id = 0
+
+    cdef int _anchor_node(self, object node) except 0:
+        if node in self.anchors:
+            if self.anchors[node] is None:
+                self.last_alias_id = self.last_alias_id+1
+                self.anchors[node] = "id%03d" % self.last_alias_id
+        else:
+            self.anchors[node] = None
+            node_class = node.__class__
+            if node_class is SequenceNode:
+                for item in node.value:
+                    self._anchor_node(item)
+            elif node_class is MappingNode:
+                for key, value in node.value:
+                    self._anchor_node(key)
+                    self._anchor_node(value)
+        return 1
+
+    cdef int _serialize_node(self, object node, object parent, object index) except 0:
+        cdef yaml_event_t event
+        cdef int implicit
+        cdef int plain_implicit
+        cdef int quoted_implicit
+        cdef char *anchor
+        cdef char *tag
+        cdef char *value
+        cdef int length
+        cdef int item_index
+        cdef yaml_scalar_style_t scalar_style
+        cdef yaml_sequence_style_t sequence_style
+        cdef yaml_mapping_style_t mapping_style
+        anchor_object = self.anchors[node]
+        anchor = NULL
+        if anchor_object is not None:
+            anchor = PyString_AS_STRING(anchor_object)
+        if node in self.serialized_nodes:
+            if yaml_alias_event_initialize(&event, anchor) == 0:
+                raise MemoryError
+            if yaml_emitter_emit(&self.emitter, &event) == 0:
+                error = self._emitter_error()
+                raise error
+        else:
+            node_class = node.__class__
+            self.serialized_nodes[node] = True
+            self.descend_resolver(parent, index)
+            if node_class is ScalarNode:
+                plain_implicit = 0
+                quoted_implicit = 0
+                tag_object = node.tag
+                if self.resolve(ScalarNode, node.value, (True, False)) == tag_object:
+                    plain_implicit = 1
+                if self.resolve(ScalarNode, node.value, (False, True)) == tag_object:
+                    quoted_implicit = 1
+                tag = NULL
+                if tag_object is not None:
+                    if PyUnicode_CheckExact(tag_object):
+                        tag_object = PyUnicode_AsUTF8String(tag_object)
+                    if not PyString_CheckExact(tag_object):
+                        raise TypeError("tag must be a string")
+                    tag = PyString_AS_STRING(tag_object)
+                value_object = node.value
+                if PyUnicode_CheckExact(value_object):
+                    value_object = PyUnicode_AsUTF8String(value_object)
+                if not PyString_CheckExact(value_object):
+                    raise TypeError("value must be a string")
+                value = PyString_AS_STRING(value_object)
+                length = PyString_GET_SIZE(value_object)
+                style_object = node.style
+                scalar_style = YAML_PLAIN_SCALAR_STYLE
+                if style_object == "'":
+                    scalar_style = YAML_SINGLE_QUOTED_SCALAR_STYLE
+                elif style_object == "\"":
+                    scalar_style = YAML_DOUBLE_QUOTED_SCALAR_STYLE
+                elif style_object == "|":
+                    scalar_style = YAML_LITERAL_SCALAR_STYLE
+                elif style_object == ">":
+                    scalar_style = YAML_FOLDED_SCALAR_STYLE
+                if yaml_scalar_event_initialize(&event, anchor, tag, value, length,
+                        plain_implicit, quoted_implicit, scalar_style) == 0:
+                    raise MemoryError
+                if yaml_emitter_emit(&self.emitter, &event) == 0:
+                    error = self._emitter_error()
+                    raise error
+            elif node_class is SequenceNode:
+                implicit = 0
+                tag_object = node.tag
+                if self.resolve(SequenceNode, node.value, True) == tag_object:
+                    implicit = 1
+                tag = NULL
+                if tag_object is not None:
+                    if PyUnicode_CheckExact(tag_object):
+                        tag_object = PyUnicode_AsUTF8String(tag_object)
+                    if not PyString_CheckExact(tag_object):
+                        raise TypeError("tag must be a string")
+                    tag = PyString_AS_STRING(tag_object)
+                sequence_style = YAML_BLOCK_SEQUENCE_STYLE
+                if node.flow_style:
+                    sequence_style = YAML_FLOW_SEQUENCE_STYLE
+                if yaml_sequence_start_event_initialize(&event, anchor, tag,
+                        implicit, sequence_style) == 0:
+                    raise MemoryError
+                if yaml_emitter_emit(&self.emitter, &event) == 0:
+                    error = self._emitter_error()
+                    raise error
+                item_index = 0
+                for item in node.value:
+                    self._serialize_node(item, node, item_index)
+                    item_index = item_index+1
+                yaml_sequence_end_event_initialize(&event)
+                if yaml_emitter_emit(&self.emitter, &event) == 0:
+                    error = self._emitter_error()
+                    raise error
+            elif node_class is MappingNode:
+                implicit = 0
+                tag_object = node.tag
+                if self.resolve(MappingNode, node.value, True) == tag_object:
+                    implicit = 1
+                tag = NULL
+                if tag_object is not None:
+                    if PyUnicode_CheckExact(tag_object):
+                        tag_object = PyUnicode_AsUTF8String(tag_object)
+                    if not PyString_CheckExact(tag_object):
+                        raise TypeError("tag must be a string")
+                    tag = PyString_AS_STRING(tag_object)
+                mapping_style = YAML_BLOCK_MAPPING_STYLE
+                if node.flow_style:
+                    mapping_style = YAML_FLOW_MAPPING_STYLE
+                if yaml_mapping_start_event_initialize(&event, anchor, tag,
+                        implicit, mapping_style) == 0:
+                    raise MemoryError
+                if yaml_emitter_emit(&self.emitter, &event) == 0:
+                    error = self._emitter_error()
+                    raise error
+                for item_key, item_value in node.value:
+                    self._serialize_node(item_key, node, None)
+                    self._serialize_node(item_value, node, item_key)
+                yaml_mapping_end_event_initialize(&event)
+                if yaml_emitter_emit(&self.emitter, &event) == 0:
+                    error = self._emitter_error()
+                    raise error
+        return 1
+
+cdef int output_handler(void *data, char *buffer, int size) except 0:
+    cdef CEmitter emitter
+    emitter = <CEmitter>data
+    value = PyString_FromStringAndSize(buffer, size)
+    emitter.stream.write(value)
+    return 1
+
Index: /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/__init__.py
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/__init__.py	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/__init__.py	(revision 902)
@@ -0,0 +1,290 @@
+
+from error import *
+
+from tokens import *
+from events import *
+from nodes import *
+
+from loader import *
+from dumper import *
+
+try:
+    from cyaml import *
+except ImportError:
+    pass
+
+def scan(stream, Loader=Loader):
+    """
+    Scan a YAML stream and produce scanning tokens.
+    """
+    loader = Loader(stream)
+    while loader.check_token():
+        yield loader.get_token()
+
+def parse(stream, Loader=Loader):
+    """
+    Parse a YAML stream and produce parsing events.
+    """
+    loader = Loader(stream)
+    while loader.check_event():
+        yield loader.get_event()
+
+def compose(stream, Loader=Loader):
+    """
+    Parse the first YAML document in a stream
+    and produce the corresponding representation tree.
+    """
+    loader = Loader(stream)
+    if loader.check_node():
+        return loader.get_node()
+
+def compose_all(stream, Loader=Loader):
+    """
+    Parse all YAML documents in a stream
+    and produce corresponsing representation trees.
+    """
+    loader = Loader(stream)
+    while loader.check_node():
+        yield loader.get_node()
+
+def load_all(stream, Loader=Loader):
+    """
+    Parse all YAML documents in a stream
+    and produce corresponding Python objects.
+    """
+    loader = Loader(stream)
+    while loader.check_data():
+        yield loader.get_data()
+
+def load(stream, Loader=Loader):
+    """
+    Parse the first YAML document in a stream
+    and produce the corresponding Python object.
+    """
+    loader = Loader(stream)
+    if loader.check_data():
+        return loader.get_data()
+
+def safe_load_all(stream):
+    """
+    Parse all YAML documents in a stream
+    and produce corresponding Python objects.
+    Resolve only basic YAML tags.
+    """
+    return load_all(stream, SafeLoader)
+
+def safe_load(stream):
+    """
+    Parse the first YAML document in a stream
+    and produce the corresponding Python object.
+    Resolve only basic YAML tags.
+    """
+    return load(stream, SafeLoader)
+
+def emit(events, stream=None, Dumper=Dumper,
+        canonical=None, indent=None, width=None,
+        allow_unicode=None, line_break=None):
+    """
+    Emit YAML parsing events into a stream.
+    If stream is None, return the produced string instead.
+    """
+    getvalue = None
+    if stream is None:
+        try:
+            from cStringIO import StringIO
+        except ImportError:
+            from StringIO import StringIO
+        stream = StringIO()
+        getvalue = stream.getvalue
+    dumper = Dumper(stream, canonical=canonical, indent=indent, width=width,
+            allow_unicode=allow_unicode, line_break=line_break)
+    for event in events:
+        dumper.emit(event)
+    if getvalue:
+        return getvalue()
+
+def serialize_all(nodes, stream=None, Dumper=Dumper,
+        canonical=None, indent=None, width=None,
+        allow_unicode=None, line_break=None,
+        encoding='utf-8', explicit_start=None, explicit_end=None,
+        version=None, tags=None):
+    """
+    Serialize a sequence of representation trees into a YAML stream.
+    If stream is None, return the produced string instead.
+    """
+    getvalue = None
+    if stream is None:
+        try:
+            from cStringIO import StringIO
+        except ImportError:
+            from StringIO import StringIO
+        stream = StringIO()
+        getvalue = stream.getvalue
+    dumper = Dumper(stream, canonical=canonical, indent=indent, width=width,
+            allow_unicode=allow_unicode, line_break=line_break,
+            encoding=encoding, version=version, tags=tags,
+            explicit_start=explicit_start, explicit_end=explicit_end)
+    dumper.open()
+    for node in nodes:
+        dumper.serialize(node)
+    dumper.close()
+    if getvalue:
+        return getvalue()
+
+def serialize(node, stream=None, Dumper=Dumper, **kwds):
+    """
+    Serialize a representation tree into a YAML stream.
+    If stream is None, return the produced string instead.
+    """
+    return serialize_all([node], stream, Dumper=Dumper, **kwds)
+
+def dump_all(documents, stream=None, Dumper=Dumper,
+        default_style=None, default_flow_style=None,
+        canonical=None, indent=None, width=None,
+        allow_unicode=None, line_break=None,
+        encoding='utf-8', explicit_start=None, explicit_end=None,
+        version=None, tags=None):
+    """
+    Serialize a sequence of Python objects into a YAML stream.
+    If stream is None, return the produced string instead.
+    """
+    getvalue = None
+    if stream is None:
+        try:
+            from cStringIO import StringIO
+        except ImportError:
+            from StringIO import StringIO
+        stream = StringIO()
+        getvalue = stream.getvalue
+    dumper = Dumper(stream, default_style=default_style,
+            default_flow_style=default_flow_style,
+            canonical=canonical, indent=indent, width=width,
+            allow_unicode=allow_unicode, line_break=line_break,
+            encoding=encoding, version=version, tags=tags,
+            explicit_start=explicit_start, explicit_end=explicit_end)
+    dumper.open()
+    for data in documents:
+        dumper.represent(data)
+    dumper.close()
+    if getvalue:
+        return getvalue()
+
+def dump(data, stream=None, Dumper=Dumper, **kwds):
+    """
+    Serialize a Python object into a YAML stream.
+    If stream is None, return the produced string instead.
+    """
+    return dump_all([data], stream, Dumper=Dumper, **kwds)
+
+def safe_dump_all(documents, stream=None, **kwds):
+    """
+    Serialize a sequence of Python objects into a YAML stream.
+    Produce only basic YAML tags.
+    If stream is None, return the produced string instead.
+    """
+    return dump_all(documents, stream, Dumper=SafeDumper, **kwds)
+
+def safe_dump(data, stream=None, **kwds):
+    """
+    Serialize a Python object into a YAML stream.
+    Produce only basic YAML tags.
+    If stream is None, return the produced string instead.
+    """
+    return dump_all([data], stream, Dumper=SafeDumper, **kwds)
+
+def add_implicit_resolver(tag, regexp, first=None,
+        Loader=Loader, Dumper=Dumper):
+    """
+    Add an implicit scalar detector.
+    If an implicit scalar value matches the given regexp,
+    the corresponding tag is assigned to the scalar.
+    first is a sequence of possible initial characters or None.
+    """
+    Loader.add_implicit_resolver(tag, regexp, first)
+    Dumper.add_implicit_resolver(tag, regexp, first)
+
+def add_path_resolver(tag, path, kind=None, Loader=Loader, Dumper=Dumper):
+    """
+    Add a path based resolver for the given tag.
+    A path is a list of keys that forms a path
+    to a node in the representation tree.
+    Keys can be string values, integers, or None.
+    """
+    Loader.add_path_resolver(tag, path, kind)
+    Dumper.add_path_resolver(tag, path, kind)
+
+def add_constructor(tag, constructor, Loader=Loader):
+    """
+    Add a constructor for the given tag.
+    Constructor is a function that accepts a Loader instance
+    and a node object and produces the corresponding Python object.
+    """
+    Loader.add_constructor(tag, constructor)
+
+def add_multi_constructor(tag_prefix, multi_constructor, Loader=Loader):
+    """
+    Add a multi-constructor for the given tag prefix.
+    Multi-constructor is called for a node if its tag starts with tag_prefix.
+    Multi-constructor accepts a Loader instance, a tag suffix,
+    and a node object and produces the corresponding Python object.
+    """
+    Loader.add_multi_constructor(tag_prefix, multi_constructor)
+
+def add_representer(data_type, representer, Dumper=Dumper):
+    """
+    Add a representer for the given type.
+    Representer is a function accepting a Dumper instance
+    and an instance of the given data type
+    and producing the corresponding representation node.
+    """
+    Dumper.add_representer(data_type, representer)
+
+def add_multi_representer(data_type, multi_representer, Dumper=Dumper):
+    """
+    Add a representer for the given type.
+    Multi-representer is a function accepting a Dumper instance
+    and an instance of the given data type or subtype
+    and producing the corresponding representation node.
+    """
+    Dumper.add_multi_representer(data_type, multi_representer)
+
+class YAMLObjectMetaclass(type):
+    """
+    The metaclass for YAMLObject.
+    """
+    def __init__(cls, name, bases, kwds):
+        super(YAMLObjectMetaclass, cls).__init__(name, bases, kwds)
+        if 'yaml_tag' in kwds and kwds['yaml_tag'] is not None:
+            cls.yaml_loader.add_constructor(cls.yaml_tag, cls.from_yaml)
+            cls.yaml_dumper.add_representer(cls, cls.to_yaml)
+
+class YAMLObject(object):
+    """
+    An object that can dump itself to a YAML stream
+    and load itself from a YAML stream.
+    """
+
+    __metaclass__ = YAMLObjectMetaclass
+    __slots__ = ()  # no direct instantiation, so allow immutable subclasses
+
+    yaml_loader = Loader
+    yaml_dumper = Dumper
+
+    yaml_tag = None
+    yaml_flow_style = None
+
+    def from_yaml(cls, loader, node):
+        """
+        Convert a representation node to a Python object.
+        """
+        return loader.construct_yaml_object(node, cls)
+    from_yaml = classmethod(from_yaml)
+
+    def to_yaml(cls, dumper, data):
+        """
+        Convert a Python object to a representation node.
+        """
+        return dumper.represent_yaml_object(cls.yaml_tag, data, cls,
+                flow_style=cls.yaml_flow_style)
+    to_yaml = classmethod(to_yaml)
+
Index: /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/composer.py
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/composer.py	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/composer.py	(revision 902)
@@ -0,0 +1,118 @@
+
+__all__ = ['Composer', 'ComposerError']
+
+from error import MarkedYAMLError
+from events import *
+from nodes import *
+
+class ComposerError(MarkedYAMLError):
+    pass
+
+class Composer(object):
+
+    def __init__(self):
+        self.anchors = {}
+
+    def check_node(self):
+        # Drop the STREAM-START event.
+        if self.check_event(StreamStartEvent):
+            self.get_event()
+
+        # If there are more documents available?
+        return not self.check_event(StreamEndEvent)
+
+    def get_node(self):
+        # Get the root node of the next document.
+        if not self.check_event(StreamEndEvent):
+            return self.compose_document()
+
+    def compose_document(self):
+        # Drop the DOCUMENT-START event.
+        self.get_event()
+
+        # Compose the root node.
+        node = self.compose_node(None, None)
+
+        # Drop the DOCUMENT-END event.
+        self.get_event()
+
+        self.anchors = {}
+        return node
+
+    def compose_node(self, parent, index):
+        if self.check_event(AliasEvent):
+            event = self.get_event()
+            anchor = event.anchor
+            if anchor not in self.anchors:
+                raise ComposerError(None, None, "found undefined alias %r"
+                        % anchor.encode('utf-8'), event.start_mark)
+            return self.anchors[anchor]
+        event = self.peek_event()
+        anchor = event.anchor
+        if anchor is not None:
+            if anchor in self.anchors:
+                raise ComposerError("found duplicate anchor %r; first occurence"
+                        % anchor.encode('utf-8'), self.anchors[anchor].start_mark,
+                        "second occurence", event.start_mark)
+        self.descend_resolver(parent, index)
+        if self.check_event(ScalarEvent):
+            node = self.compose_scalar_node(anchor)
+        elif self.check_event(SequenceStartEvent):
+            node = self.compose_sequence_node(anchor)
+        elif self.check_event(MappingStartEvent):
+            node = self.compose_mapping_node(anchor)
+        self.ascend_resolver()
+        return node
+
+    def compose_scalar_node(self, anchor):
+        event = self.get_event()
+        tag = event.tag
+        if tag is None or tag == u'!':
+            tag = self.resolve(ScalarNode, event.value, event.implicit)
+        node = ScalarNode(tag, event.value,
+                event.start_mark, event.end_mark, style=event.style)
+        if anchor is not None:
+            self.anchors[anchor] = node
+        return node
+
+    def compose_sequence_node(self, anchor):
+        start_event = self.get_event()
+        tag = start_event.tag
+        if tag is None or tag == u'!':
+            tag = self.resolve(SequenceNode, None, start_event.implicit)
+        node = SequenceNode(tag, [],
+                start_event.start_mark, None,
+                flow_style=start_event.flow_style)
+        if anchor is not None:
+            self.anchors[anchor] = node
+        index = 0
+        while not self.check_event(SequenceEndEvent):
+            node.value.append(self.compose_node(node, index))
+            index += 1
+        end_event = self.get_event()
+        node.end_mark = end_event.end_mark
+        return node
+
+    def compose_mapping_node(self, anchor):
+        start_event = self.get_event()
+        tag = start_event.tag
+        if tag is None or tag == u'!':
+            tag = self.resolve(MappingNode, None, start_event.implicit)
+        node = MappingNode(tag, [],
+                start_event.start_mark, None,
+                flow_style=start_event.flow_style)
+        if anchor is not None:
+            self.anchors[anchor] = node
+        while not self.check_event(MappingEndEvent):
+            #key_event = self.peek_event()
+            item_key = self.compose_node(node, None)
+            #if item_key in node.value:
+            #    raise ComposerError("while composing a mapping", start_event.start_mark,
+            #            "found duplicate key", key_event.start_mark)
+            item_value = self.compose_node(node, item_key)
+            #node.value[item_key] = item_value
+            node.value.append((item_key, item_value))
+        end_event = self.get_event()
+        node.end_mark = end_event.end_mark
+        return node
+
Index: /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/constructor.py
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/constructor.py	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/constructor.py	(revision 902)
@@ -0,0 +1,675 @@
+
+__all__ = ['BaseConstructor', 'SafeConstructor', 'Constructor',
+    'ConstructorError']
+
+from error import *
+from nodes import *
+
+import datetime
+
+try:
+    set
+except NameError:
+    from sets import Set as set
+
+import binascii, re, sys, types
+
+class ConstructorError(MarkedYAMLError):
+    pass
+
+class BaseConstructor(object):
+
+    yaml_constructors = {}
+    yaml_multi_constructors = {}
+
+    def __init__(self):
+        self.constructed_objects = {}
+        self.recursive_objects = {}
+        self.state_generators = []
+        self.deep_construct = False
+
+    def check_data(self):
+        # If there are more documents available?
+        return self.check_node()
+
+    def get_data(self):
+        # Construct and return the next document.
+        if self.check_node():
+            return self.construct_document(self.get_node())
+
+    def construct_document(self, node):
+        data = self.construct_object(node)
+        while self.state_generators:
+            state_generators = self.state_generators
+            self.state_generators = []
+            for generator in state_generators:
+                for dummy in generator:
+                    pass
+        self.constructed_objects = {}
+        self.recursive_objects = {}
+        self.deep_construct = False
+        return data
+
+    def construct_object(self, node, deep=False):
+        if deep:
+            old_deep = self.deep_construct
+            self.deep_construct = True
+        if node in self.constructed_objects:
+            return self.constructed_objects[node]
+        if node in self.recursive_objects:
+            raise ConstructorError(None, None,
+                    "found unconstructable recursive node", node.start_mark)
+        self.recursive_objects[node] = None
+        constructor = None
+        state_constructor = None
+        tag_suffix = None
+        if node.tag in self.yaml_constructors:
+            constructor = self.yaml_constructors[node.tag]
+        else:
+            for tag_prefix in self.yaml_multi_constructors:
+                if node.tag.startswith(tag_prefix):
+                    tag_suffix = node.tag[len(tag_prefix):]
+                    constructor = self.yaml_multi_constructors[tag_prefix]
+                    break
+            else:
+                if None in self.yaml_multi_constructors:
+                    tag_suffix = node.tag
+                    constructor = self.yaml_multi_constructors[None]
+                elif None in self.yaml_constructors:
+                    constructor = self.yaml_constructors[None]
+                elif isinstance(node, ScalarNode):
+                    constructor = self.__class__.construct_scalar
+                elif isinstance(node, SequenceNode):
+                    constructor = self.__class__.construct_sequence
+                elif isinstance(node, MappingNode):
+                    constructor = self.__class__.construct_mapping
+        if tag_suffix is None:
+            data = constructor(self, node)
+        else:
+            data = constructor(self, tag_suffix, node)
+        if isinstance(data, types.GeneratorType):
+            generator = data
+            data = generator.next()
+            if self.deep_construct:
+                for dummy in generator:
+                    pass
+            else:
+                self.state_generators.append(generator)
+        self.constructed_objects[node] = data
+        del self.recursive_objects[node]
+        if deep:
+            self.deep_construct = old_deep
+        return data
+
+    def construct_scalar(self, node):
+        if not isinstance(node, ScalarNode):
+            raise ConstructorError(None, None,
+                    "expected a scalar node, but found %s" % node.id,
+                    node.start_mark)
+        return node.value
+
+    def construct_sequence(self, node, deep=False):
+        if not isinstance(node, SequenceNode):
+            raise ConstructorError(None, None,
+                    "expected a sequence node, but found %s" % node.id,
+                    node.start_mark)
+        return [self.construct_object(child, deep=deep)
+                for child in node.value]
+
+    def construct_mapping(self, node, deep=False):
+        if not isinstance(node, MappingNode):
+            raise ConstructorError(None, None,
+                    "expected a mapping node, but found %s" % node.id,
+                    node.start_mark)
+        mapping = {}
+        for key_node, value_node in node.value:
+            key = self.construct_object(key_node, deep=deep)
+            try:
+                hash(key)
+            except TypeError, exc:
+                raise ConstructorError("while constructing a mapping", node.start_mark,
+                        "found unacceptable key (%s)" % exc, key_node.start_mark)
+            value = self.construct_object(value_node, deep=deep)
+            mapping[key] = value
+        return mapping
+
+    def construct_pairs(self, node, deep=False):
+        if not isinstance(node, MappingNode):
+            raise ConstructorError(None, None,
+                    "expected a mapping node, but found %s" % node.id,
+                    node.start_mark)
+        pairs = []
+        for key_node, value_node in node.value:
+            key = self.construct_object(key_node, deep=deep)
+            value = self.construct_object(value_node, deep=deep)
+            pairs.append((key, value))
+        return pairs
+
+    def add_constructor(cls, tag, constructor):
+        if not 'yaml_constructors' in cls.__dict__:
+            cls.yaml_constructors = cls.yaml_constructors.copy()
+        cls.yaml_constructors[tag] = constructor
+    add_constructor = classmethod(add_constructor)
+
+    def add_multi_constructor(cls, tag_prefix, multi_constructor):
+        if not 'yaml_multi_constructors' in cls.__dict__:
+            cls.yaml_multi_constructors = cls.yaml_multi_constructors.copy()
+        cls.yaml_multi_constructors[tag_prefix] = multi_constructor
+    add_multi_constructor = classmethod(add_multi_constructor)
+
+class SafeConstructor(BaseConstructor):
+
+    def construct_scalar(self, node):
+        if isinstance(node, MappingNode):
+            for key_node, value_node in node.value:
+                if key_node.tag == u'tag:yaml.org,2002:value':
+                    return self.construct_scalar(value_node)
+        return BaseConstructor.construct_scalar(self, node)
+
+    def flatten_mapping(self, node):
+        merge = []
+        index = 0
+        while index < len(node.value):
+            key_node, value_node = node.value[index]
+            if key_node.tag == u'tag:yaml.org,2002:merge':
+                del node.value[index]
+                if isinstance(value_node, MappingNode):
+                    self.flatten_mapping(value_node)
+                    merge.extend(value_node.value)
+                elif isinstance(value_node, SequenceNode):
+                    submerge = []
+                    for subnode in value_node.value:
+                        if not isinstance(subnode, MappingNode):
+                            raise ConstructorError("while constructing a mapping",
+                                    node.start_mark,
+                                    "expected a mapping for merging, but found %s"
+                                    % subnode.id, subnode.start_mark)
+                        self.flatten_mapping(subnode)
+                        submerge.append(subnode.value)
+                    submerge.reverse()
+                    for value in submerge:
+                        merge.extend(value)
+                else:
+                    raise ConstructorError("while constructing a mapping", node.start_mark,
+                            "expected a mapping or list of mappings for merging, but found %s"
+                            % value_node.id, value_node.start_mark)
+            elif key_node.tag == u'tag:yaml.org,2002:value':
+                key_node.tag = u'tag:yaml.org,2002:str'
+                index += 1
+            else:
+                index += 1
+        if merge:
+            node.value = merge + node.value
+
+    def construct_mapping(self, node, deep=False):
+        if isinstance(node, MappingNode):
+            self.flatten_mapping(node)
+        return BaseConstructor.construct_mapping(self, node, deep=deep)
+
+    def construct_yaml_null(self, node):
+        self.construct_scalar(node)
+        return None
+
+    bool_values = {
+        u'yes':     True,
+        u'no':      False,
+        u'true':    True,
+        u'false':   False,
+        u'on':      True,
+        u'off':     False,
+    }
+
+    def construct_yaml_bool(self, node):
+        value = self.construct_scalar(node)
+        return self.bool_values[value.lower()]
+
+    def construct_yaml_int(self, node):
+        value = str(self.construct_scalar(node))
+        value = value.replace('_', '')
+        sign = +1
+        if value[0] == '-':
+            sign = -1
+        if value[0] in '+-':
+            value = value[1:]
+        if value == '0':
+            return 0
+        elif value.startswith('0b'):
+            return sign*int(value[2:], 2)
+        elif value.startswith('0x'):
+            return sign*int(value[2:], 16)
+        elif value[0] == '0':
+            return sign*int(value, 8)
+        elif ':' in value:
+            digits = [int(part) for part in value.split(':')]
+            digits.reverse()
+            base = 1
+            value = 0
+            for digit in digits:
+                value += digit*base
+                base *= 60
+            return sign*value
+        else:
+            return sign*int(value)
+
+    inf_value = 1e300
+    while inf_value != inf_value*inf_value:
+        inf_value *= inf_value
+    nan_value = -inf_value/inf_value   # Trying to make a quiet NaN (like C99).
+
+    def construct_yaml_float(self, node):
+        value = str(self.construct_scalar(node))
+        value = value.replace('_', '').lower()
+        sign = +1
+        if value[0] == '-':
+            sign = -1
+        if value[0] in '+-':
+            value = value[1:]
+        if value == '.inf':
+            return sign*self.inf_value
+        elif value == '.nan':
+            return self.nan_value
+        elif ':' in value:
+            digits = [float(part) for part in value.split(':')]
+            digits.reverse()
+            base = 1
+            value = 0.0
+            for digit in digits:
+                value += digit*base
+                base *= 60
+            return sign*value
+        else:
+            return sign*float(value)
+
+    def construct_yaml_binary(self, node):
+        value = self.construct_scalar(node)
+        try:
+            return str(value).decode('base64')
+        except (binascii.Error, UnicodeEncodeError), exc:
+            raise ConstructorError(None, None,
+                    "failed to decode base64 data: %s" % exc, node.start_mark) 
+
+    timestamp_regexp = re.compile(
+            ur'''^(?P<year>[0-9][0-9][0-9][0-9])
+                -(?P<month>[0-9][0-9]?)
+                -(?P<day>[0-9][0-9]?)
+                (?:(?:[Tt]|[ \t]+)
+                (?P<hour>[0-9][0-9]?)
+                :(?P<minute>[0-9][0-9])
+                :(?P<second>[0-9][0-9])
+                (?:\.(?P<fraction>[0-9]*))?
+                (?:[ \t]*(?P<tz>Z|(?P<tz_sign>[-+])(?P<tz_hour>[0-9][0-9]?)
+                (?::(?P<tz_minute>[0-9][0-9]))?))?)?$''', re.X)
+
+    def construct_yaml_timestamp(self, node):
+        value = self.construct_scalar(node)
+        match = self.timestamp_regexp.match(node.value)
+        values = match.groupdict()
+        year = int(values['year'])
+        month = int(values['month'])
+        day = int(values['day'])
+        if not values['hour']:
+            return datetime.date(year, month, day)
+        hour = int(values['hour'])
+        minute = int(values['minute'])
+        second = int(values['second'])
+        fraction = 0
+        if values['fraction']:
+            fraction = int(values['fraction'][:6].ljust(6, '0'))
+        delta = None
+        if values['tz_sign']:
+            tz_hour = int(values['tz_hour'])
+            tz_minute = int(values['tz_minute'] or 0)
+            delta = datetime.timedelta(hours=tz_hour, minutes=tz_minute)
+            if values['tz_sign'] == '-':
+                delta = -delta
+        data = datetime.datetime(year, month, day, hour, minute, second, fraction)
+        if delta:
+            data -= delta
+        return data
+
+    def construct_yaml_omap(self, node):
+        # Note: we do not check for duplicate keys, because it's too
+        # CPU-expensive.
+        omap = []
+        yield omap
+        if not isinstance(node, SequenceNode):
+            raise ConstructorError("while constructing an ordered map", node.start_mark,
+                    "expected a sequence, but found %s" % node.id, node.start_mark)
+        for subnode in node.value:
+            if not isinstance(subnode, MappingNode):
+                raise ConstructorError("while constructing an ordered map", node.start_mark,
+                        "expected a mapping of length 1, but found %s" % subnode.id,
+                        subnode.start_mark)
+            if len(subnode.value) != 1:
+                raise ConstructorError("while constructing an ordered map", node.start_mark,
+                        "expected a single mapping item, but found %d items" % len(subnode.value),
+                        subnode.start_mark)
+            key_node, value_node = subnode.value[0]
+            key = self.construct_object(key_node)
+            value = self.construct_object(value_node)
+            omap.append((key, value))
+
+    def construct_yaml_pairs(self, node):
+        # Note: the same code as `construct_yaml_omap`.
+        pairs = []
+        yield pairs
+        if not isinstance(node, SequenceNode):
+            raise ConstructorError("while constructing pairs", node.start_mark,
+                    "expected a sequence, but found %s" % node.id, node.start_mark)
+        for subnode in node.value:
+            if not isinstance(subnode, MappingNode):
+                raise ConstructorError("while constructing pairs", node.start_mark,
+                        "expected a mapping of length 1, but found %s" % subnode.id,
+                        subnode.start_mark)
+            if len(subnode.value) != 1:
+                raise ConstructorError("while constructing pairs", node.start_mark,
+                        "expected a single mapping item, but found %d items" % len(subnode.value),
+                        subnode.start_mark)
+            key_node, value_node = subnode.value[0]
+            key = self.construct_object(key_node)
+            value = self.construct_object(value_node)
+            pairs.append((key, value))
+
+    def construct_yaml_set(self, node):
+        data = set()
+        yield data
+        value = self.construct_mapping(node)
+        data.update(value)
+
+    def construct_yaml_str(self, node):
+        value = self.construct_scalar(node)
+        try:
+            return value.encode('ascii')
+        except UnicodeEncodeError:
+            return value
+
+    def construct_yaml_seq(self, node):
+        data = []
+        yield data
+        data.extend(self.construct_sequence(node))
+
+    def construct_yaml_map(self, node):
+        data = {}
+        yield data
+        value = self.construct_mapping(node)
+        data.update(value)
+
+    def construct_yaml_object(self, node, cls):
+        data = cls.__new__(cls)
+        yield data
+        if hasattr(data, '__setstate__'):
+            state = self.construct_mapping(node, deep=True)
+            data.__setstate__(state)
+        else:
+            state = self.construct_mapping(node)
+            data.__dict__.update(state)
+
+    def construct_undefined(self, node):
+        raise ConstructorError(None, None,
+                "could not determine a constructor for the tag %r" % node.tag.encode('utf-8'),
+                node.start_mark)
+
+SafeConstructor.add_constructor(
+        u'tag:yaml.org,2002:null',
+        SafeConstructor.construct_yaml_null)
+
+SafeConstructor.add_constructor(
+        u'tag:yaml.org,2002:bool',
+        SafeConstructor.construct_yaml_bool)
+
+SafeConstructor.add_constructor(
+        u'tag:yaml.org,2002:int',
+        SafeConstructor.construct_yaml_int)
+
+SafeConstructor.add_constructor(
+        u'tag:yaml.org,2002:float',
+        SafeConstructor.construct_yaml_float)
+
+SafeConstructor.add_constructor(
+        u'tag:yaml.org,2002:binary',
+        SafeConstructor.construct_yaml_binary)
+
+SafeConstructor.add_constructor(
+        u'tag:yaml.org,2002:timestamp',
+        SafeConstructor.construct_yaml_timestamp)
+
+SafeConstructor.add_constructor(
+        u'tag:yaml.org,2002:omap',
+        SafeConstructor.construct_yaml_omap)
+
+SafeConstructor.add_constructor(
+        u'tag:yaml.org,2002:pairs',
+        SafeConstructor.construct_yaml_pairs)
+
+SafeConstructor.add_constructor(
+        u'tag:yaml.org,2002:set',
+        SafeConstructor.construct_yaml_set)
+
+SafeConstructor.add_constructor(
+        u'tag:yaml.org,2002:str',
+        SafeConstructor.construct_yaml_str)
+
+SafeConstructor.add_constructor(
+        u'tag:yaml.org,2002:seq',
+        SafeConstructor.construct_yaml_seq)
+
+SafeConstructor.add_constructor(
+        u'tag:yaml.org,2002:map',
+        SafeConstructor.construct_yaml_map)
+
+SafeConstructor.add_constructor(None,
+        SafeConstructor.construct_undefined)
+
+class Constructor(SafeConstructor):
+
+    def construct_python_str(self, node):
+        return self.construct_scalar(node).encode('utf-8')
+
+    def construct_python_unicode(self, node):
+        return self.construct_scalar(node)
+
+    def construct_python_long(self, node):
+        return long(self.construct_yaml_int(node))
+
+    def construct_python_complex(self, node):
+       return complex(self.construct_scalar(node))
+
+    def construct_python_tuple(self, node):
+        return tuple(self.construct_sequence(node))
+
+    def find_python_module(self, name, mark):
+        if not name:
+            raise ConstructorError("while constructing a Python module", mark,
+                    "expected non-empty name appended to the tag", mark)
+        try:
+            __import__(name)
+        except ImportError, exc:
+            raise ConstructorError("while constructing a Python module", mark,
+                    "cannot find module %r (%s)" % (name.encode('utf-8'), exc), mark)
+        return sys.modules[name]
+
+    def find_python_name(self, name, mark):
+        if not name:
+            raise ConstructorError("while constructing a Python object", mark,
+                    "expected non-empty name appended to the tag", mark)
+        if u'.' in name:
+            # Python 2.4 only
+            #module_name, object_name = name.rsplit('.', 1)
+            items = name.split('.')
+            object_name = items.pop()
+            module_name = '.'.join(items)
+        else:
+            module_name = '__builtin__'
+            object_name = name
+        try:
+            __import__(module_name)
+        except ImportError, exc:
+            raise ConstructorError("while constructing a Python object", mark,
+                    "cannot find module %r (%s)" % (module_name.encode('utf-8'), exc), mark)
+        module = sys.modules[module_name]
+        if not hasattr(module, object_name):
+            raise ConstructorError("while constructing a Python object", mark,
+                    "cannot find %r in the module %r" % (object_name.encode('utf-8'),
+                        module.__name__), mark)
+        return getattr(module, object_name)
+
+    def construct_python_name(self, suffix, node):
+        value = self.construct_scalar(node)
+        if value:
+            raise ConstructorError("while constructing a Python name", node.start_mark,
+                    "expected the empty value, but found %r" % value.encode('utf-8'),
+                    node.start_mark)
+        return self.find_python_name(suffix, node.start_mark)
+
+    def construct_python_module(self, suffix, node):
+        value = self.construct_scalar(node)
+        if value:
+            raise ConstructorError("while constructing a Python module", node.start_mark,
+                    "expected the empty value, but found %r" % value.encode('utf-8'),
+                    node.start_mark)
+        return self.find_python_module(suffix, node.start_mark)
+
+    class classobj: pass
+
+    def make_python_instance(self, suffix, node,
+            args=None, kwds=None, newobj=False):
+        if not args:
+            args = []
+        if not kwds:
+            kwds = {}
+        cls = self.find_python_name(suffix, node.start_mark)
+        if newobj and isinstance(cls, type(self.classobj))  \
+                and not args and not kwds:
+            instance = self.classobj()
+            instance.__class__ = cls
+            return instance
+        elif newobj and isinstance(cls, type):
+            return cls.__new__(cls, *args, **kwds)
+        else:
+            return cls(*args, **kwds)
+
+    def set_python_instance_state(self, instance, state):
+        if hasattr(instance, '__setstate__'):
+            instance.__setstate__(state)
+        else:
+            slotstate = {}
+            if isinstance(state, tuple) and len(state) == 2:
+                state, slotstate = state
+            if hasattr(instance, '__dict__'):
+                instance.__dict__.update(state)
+            elif state:
+                slotstate.update(state)
+            for key, value in slotstate.items():
+                setattr(object, key, value)
+
+    def construct_python_object(self, suffix, node):
+        # Format:
+        #   !!python/object:module.name { ... state ... }
+        instance = self.make_python_instance(suffix, node, newobj=True)
+        yield instance
+        deep = hasattr(instance, '__setstate__')
+        state = self.construct_mapping(node, deep=deep)
+        self.set_python_instance_state(instance, state)
+
+    def construct_python_object_apply(self, suffix, node, newobj=False):
+        # Format:
+        #   !!python/object/apply       # (or !!python/object/new)
+        #   args: [ ... arguments ... ]
+        #   kwds: { ... keywords ... }
+        #   state: ... state ...
+        #   listitems: [ ... listitems ... ]
+        #   dictitems: { ... dictitems ... }
+        # or short format:
+        #   !!python/object/apply [ ... arguments ... ]
+        # The difference between !!python/object/apply and !!python/object/new
+        # is how an object is created, check make_python_instance for details.
+        if isinstance(node, SequenceNode):
+            args = self.construct_sequence(node, deep=True)
+            kwds = {}
+            state = {}
+            listitems = []
+            dictitems = {}
+        else:
+            value = self.construct_mapping(node, deep=True)
+            args = value.get('args', [])
+            kwds = value.get('kwds', {})
+            state = value.get('state', {})
+            listitems = value.get('listitems', [])
+            dictitems = value.get('dictitems', {})
+        instance = self.make_python_instance(suffix, node, args, kwds, newobj)
+        if state:
+            self.set_python_instance_state(instance, state)
+        if listitems:
+            instance.extend(listitems)
+        if dictitems:
+            for key in dictitems:
+                instance[key] = dictitems[key]
+        return instance
+
+    def construct_python_object_new(self, suffix, node):
+        return self.construct_python_object_apply(suffix, node, newobj=True)
+
+Constructor.add_constructor(
+    u'tag:yaml.org,2002:python/none',
+    Constructor.construct_yaml_null)
+
+Constructor.add_constructor(
+    u'tag:yaml.org,2002:python/bool',
+    Constructor.construct_yaml_bool)
+
+Constructor.add_constructor(
+    u'tag:yaml.org,2002:python/str',
+    Constructor.construct_python_str)
+
+Constructor.add_constructor(
+    u'tag:yaml.org,2002:python/unicode',
+    Constructor.construct_python_unicode)
+
+Constructor.add_constructor(
+    u'tag:yaml.org,2002:python/int',
+    Constructor.construct_yaml_int)
+
+Constructor.add_constructor(
+    u'tag:yaml.org,2002:python/long',
+    Constructor.construct_python_long)
+
+Constructor.add_constructor(
+    u'tag:yaml.org,2002:python/float',
+    Constructor.construct_yaml_float)
+
+Constructor.add_constructor(
+    u'tag:yaml.org,2002:python/complex',
+    Constructor.construct_python_complex)
+
+Constructor.add_constructor(
+    u'tag:yaml.org,2002:python/list',
+    Constructor.construct_yaml_seq)
+
+Constructor.add_constructor(
+    u'tag:yaml.org,2002:python/tuple',
+    Constructor.construct_python_tuple)
+
+Constructor.add_constructor(
+    u'tag:yaml.org,2002:python/dict',
+    Constructor.construct_yaml_map)
+
+Constructor.add_multi_constructor(
+    u'tag:yaml.org,2002:python/name:',
+    Constructor.construct_python_name)
+
+Constructor.add_multi_constructor(
+    u'tag:yaml.org,2002:python/module:',
+    Constructor.construct_python_module)
+
+Constructor.add_multi_constructor(
+    u'tag:yaml.org,2002:python/object:',
+    Constructor.construct_python_object)
+
+Constructor.add_multi_constructor(
+    u'tag:yaml.org,2002:python/object/apply:',
+    Constructor.construct_python_object_apply)
+
+Constructor.add_multi_constructor(
+    u'tag:yaml.org,2002:python/object/new:',
+    Constructor.construct_python_object_new)
+
Index: /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/cyaml.py
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/cyaml.py	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/cyaml.py	(revision 902)
@@ -0,0 +1,85 @@
+
+__all__ = ['CBaseLoader', 'CSafeLoader', 'CLoader',
+        'CBaseDumper', 'CSafeDumper', 'CDumper']
+
+from _yaml import CParser, CEmitter
+
+from constructor import *
+
+from serializer import *
+from representer import *
+
+from resolver import *
+
+class CBaseLoader(CParser, BaseConstructor, BaseResolver):
+
+    def __init__(self, stream):
+        CParser.__init__(self, stream)
+        BaseConstructor.__init__(self)
+        BaseResolver.__init__(self)
+
+class CSafeLoader(CParser, SafeConstructor, Resolver):
+
+    def __init__(self, stream):
+        CParser.__init__(self, stream)
+        SafeConstructor.__init__(self)
+        Resolver.__init__(self)
+
+class CLoader(CParser, Constructor, Resolver):
+
+    def __init__(self, stream):
+        CParser.__init__(self, stream)
+        Constructor.__init__(self)
+        Resolver.__init__(self)
+
+class CBaseDumper(CEmitter, BaseRepresenter, BaseResolver):
+
+    def __init__(self, stream,
+            default_style=None, default_flow_style=None,
+            canonical=None, indent=None, width=None,
+            allow_unicode=None, line_break=None,
+            encoding=None, explicit_start=None, explicit_end=None,
+            version=None, tags=None):
+        CEmitter.__init__(self, stream, canonical=canonical,
+                indent=indent, width=width,
+                allow_unicode=allow_unicode, line_break=line_break,
+                explicit_start=explicit_start, explicit_end=explicit_end,
+                version=version, tags=tags)
+        Representer.__init__(self, default_style=default_style,
+                default_flow_style=default_flow_style)
+        Resolver.__init__(self)
+
+class CSafeDumper(CEmitter, SafeRepresenter, Resolver):
+
+    def __init__(self, stream,
+            default_style=None, default_flow_style=None,
+            canonical=None, indent=None, width=None,
+            allow_unicode=None, line_break=None,
+            encoding=None, explicit_start=None, explicit_end=None,
+            version=None, tags=None):
+        CEmitter.__init__(self, stream, canonical=canonical,
+                indent=indent, width=width,
+                allow_unicode=allow_unicode, line_break=line_break,
+                explicit_start=explicit_start, explicit_end=explicit_end,
+                version=version, tags=tags)
+        SafeRepresenter.__init__(self, default_style=default_style,
+                default_flow_style=default_flow_style)
+        Resolver.__init__(self)
+
+class CDumper(CEmitter, Serializer, Representer, Resolver):
+
+    def __init__(self, stream,
+            default_style=None, default_flow_style=None,
+            canonical=None, indent=None, width=None,
+            allow_unicode=None, line_break=None,
+            encoding=None, explicit_start=None, explicit_end=None,
+            version=None, tags=None):
+        CEmitter.__init__(self, stream, canonical=canonical,
+                indent=indent, width=width,
+                allow_unicode=allow_unicode, line_break=line_break,
+                explicit_start=explicit_start, explicit_end=explicit_end,
+                version=version, tags=tags)
+        Representer.__init__(self, default_style=default_style,
+                default_flow_style=default_flow_style)
+        Resolver.__init__(self)
+
Index: /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/dumper.py
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/dumper.py	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/dumper.py	(revision 902)
@@ -0,0 +1,62 @@
+
+__all__ = ['BaseDumper', 'SafeDumper', 'Dumper']
+
+from emitter import *
+from serializer import *
+from representer import *
+from resolver import *
+
+class BaseDumper(Emitter, Serializer, BaseRepresenter, BaseResolver):
+
+    def __init__(self, stream,
+            default_style=None, default_flow_style=None,
+            canonical=None, indent=None, width=None,
+            allow_unicode=None, line_break=None,
+            encoding=None, explicit_start=None, explicit_end=None,
+            version=None, tags=None):
+        Emitter.__init__(self, stream, canonical=canonical,
+                indent=indent, width=width,
+                allow_uncode=allow_unicode, line_break=line_break)
+        Serializer.__init__(self, encoding=encoding,
+                explicit_start=explicit_start, explicit_end=explicit_end,
+                version=version, tags=tags)
+        Representer.__init__(self, default_style=default_style,
+                default_flow_style=default_flow_style)
+        Resolver.__init__(self)
+
+class SafeDumper(Emitter, Serializer, SafeRepresenter, Resolver):
+
+    def __init__(self, stream,
+            default_style=None, default_flow_style=None,
+            canonical=None, indent=None, width=None,
+            allow_unicode=None, line_break=None,
+            encoding=None, explicit_start=None, explicit_end=None,
+            version=None, tags=None):
+        Emitter.__init__(self, stream, canonical=canonical,
+                indent=indent, width=width,
+                allow_unicode=allow_unicode, line_break=line_break)
+        Serializer.__init__(self, encoding=encoding,
+                explicit_start=explicit_start, explicit_end=explicit_end,
+                version=version, tags=tags)
+        SafeRepresenter.__init__(self, default_style=default_style,
+                default_flow_style=default_flow_style)
+        Resolver.__init__(self)
+
+class Dumper(Emitter, Serializer, Representer, Resolver):
+
+    def __init__(self, stream,
+            default_style=None, default_flow_style=None,
+            canonical=None, indent=None, width=None,
+            allow_unicode=None, line_break=None,
+            encoding=None, explicit_start=None, explicit_end=None,
+            version=None, tags=None):
+        Emitter.__init__(self, stream, canonical=canonical,
+                indent=indent, width=width,
+                allow_unicode=allow_unicode, line_break=line_break)
+        Serializer.__init__(self, encoding=encoding,
+                explicit_start=explicit_start, explicit_end=explicit_end,
+                version=version, tags=tags)
+        Representer.__init__(self, default_style=default_style,
+                default_flow_style=default_flow_style)
+        Resolver.__init__(self)
+
Index: /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/emitter.py
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/emitter.py	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/emitter.py	(revision 902)
@@ -0,0 +1,1163 @@
+
+# Emitter expects events obeying the following grammar:
+# stream ::= STREAM-START document* STREAM-END
+# document ::= DOCUMENT-START node DOCUMENT-END
+# node ::= SCALAR | sequence | mapping
+# sequence ::= SEQUENCE-START node* SEQUENCE-END
+# mapping ::= MAPPING-START (node node)* MAPPING-END
+
+__all__ = ['Emitter', 'EmitterError']
+
+from error import YAMLError
+from events import *
+
+import re
+
+class EmitterError(YAMLError):
+    pass
+
+class ScalarAnalysis(object):
+    def __init__(self, scalar, empty, multiline,
+            allow_flow_plain, allow_block_plain,
+            allow_single_quoted, allow_double_quoted,
+            allow_block):
+        self.scalar = scalar
+        self.empty = empty
+        self.multiline = multiline
+        self.allow_flow_plain = allow_flow_plain
+        self.allow_block_plain = allow_block_plain
+        self.allow_single_quoted = allow_single_quoted
+        self.allow_double_quoted = allow_double_quoted
+        self.allow_block = allow_block
+
+class Emitter(object):
+
+    DEFAULT_TAG_PREFIXES = {
+        u'!' : u'!',
+        u'tag:yaml.org,2002:' : u'!!',
+    }
+
+    def __init__(self, stream, canonical=None, indent=None, width=None,
+            allow_unicode=None, line_break=None):
+
+        # The stream should have the methods `write` and possibly `flush`.
+        self.stream = stream
+
+        # Encoding can be overriden by STREAM-START.
+        self.encoding = None
+
+        # Emitter is a state machine with a stack of states to handle nested
+        # structures.
+        self.states = []
+        self.state = self.expect_stream_start
+
+        # Current event and the event queue.
+        self.events = []
+        self.event = None
+
+        # The current indentation level and the stack of previous indents.
+        self.indents = []
+        self.indent = None
+
+        # Flow level.
+        self.flow_level = 0
+
+        # Contexts.
+        self.root_context = False
+        self.sequence_context = False
+        self.mapping_context = False
+        self.simple_key_context = False
+
+        # Characteristics of the last emitted character:
+        #  - current position.
+        #  - is it a whitespace?
+        #  - is it an indention character
+        #    (indentation space, '-', '?', or ':')?
+        self.line = 0
+        self.column = 0
+        self.whitespace = True
+        self.indention = True
+
+        # Formatting details.
+        self.canonical = canonical
+        self.allow_unicode = allow_unicode
+        self.best_indent = 2
+        if indent and 1 < indent < 10:
+            self.best_indent = indent
+        self.best_width = 80
+        if width and width > self.best_indent*2:
+            self.best_width = width
+        self.best_line_break = u'\n'
+        if line_break in [u'\r', u'\n', u'\r\n']:
+            self.best_line_break = line_break
+
+        # Tag prefixes.
+        self.tag_prefixes = None
+
+        # Prepared anchor and tag.
+        self.prepared_anchor = None
+        self.prepared_tag = None
+
+        # Scalar analysis and style.
+        self.analysis = None
+        self.style = None
+
+    def emit(self, event):
+        self.events.append(event)
+        while not self.need_more_events():
+            self.event = self.events.pop(0)
+            self.state()
+            self.event = None
+
+    # In some cases, we wait for a few next events before emitting.
+
+    def need_more_events(self):
+        if not self.events:
+            return True
+        event = self.events[0]
+        if isinstance(event, DocumentStartEvent):
+            return self.need_events(1)
+        elif isinstance(event, SequenceStartEvent):
+            return self.need_events(2)
+        elif isinstance(event, MappingStartEvent):
+            return self.need_events(3)
+        else:
+            return False
+
+    def need_events(self, count):
+        level = 0
+        for event in self.events[1:]:
+            if isinstance(event, (DocumentStartEvent, CollectionStartEvent)):
+                level += 1
+            elif isinstance(event, (DocumentEndEvent, CollectionEndEvent)):
+                level -= 1
+            elif isinstance(event, StreamEndEvent):
+                level = -1
+            if level < 0:
+                return False
+        return (len(self.events) < count+1)
+
+    def increase_indent(self, flow=False, indentless=False):
+        self.indents.append(self.indent)
+        if self.indent is None:
+            if flow:
+                self.indent = self.best_indent
+            else:
+                self.indent = 0
+        elif not indentless:
+            self.indent += self.best_indent
+
+    # States.
+
+    # Stream handlers.
+
+    def expect_stream_start(self):
+        if isinstance(self.event, StreamStartEvent):
+            if self.event.encoding:
+                self.encoding = self.event.encoding
+            self.write_stream_start()
+            self.state = self.expect_first_document_start
+        else:
+            raise EmitterError("expected StreamStartEvent, but got %s"
+                    % self.event)
+
+    def expect_nothing(self):
+        raise EmitterError("expected nothing, but got %s" % self.event)
+
+    # Document handlers.
+
+    def expect_first_document_start(self):
+        return self.expect_document_start(first=True)
+
+    def expect_document_start(self, first=False):
+        if isinstance(self.event, DocumentStartEvent):
+            if self.event.version:
+                version_text = self.prepare_version(self.event.version)
+                self.write_version_directive(version_text)
+            self.tag_prefixes = self.DEFAULT_TAG_PREFIXES.copy()
+            if self.event.tags:
+                handles = self.event.tags.keys()
+                handles.sort()
+                for handle in handles:
+                    prefix = self.event.tags[handle]
+                    self.tag_prefixes[prefix] = handle
+                    handle_text = self.prepare_tag_handle(handle)
+                    prefix_text = self.prepare_tag_prefix(prefix)
+                    self.write_tag_directive(handle_text, prefix_text)
+            implicit = (first and not self.event.explicit and not self.canonical
+                    and not self.event.version and not self.event.tags
+                    and not self.check_empty_document())
+            if not implicit:
+                self.write_indent()
+                self.write_indicator(u'---', True)
+                if self.canonical:
+                    self.write_indent()
+            self.state = self.expect_document_root
+        elif isinstance(self.event, StreamEndEvent):
+            self.write_stream_end()
+            self.state = self.expect_nothing
+        else:
+            raise EmitterError("expected DocumentStartEvent, but got %s"
+                    % self.event)
+
+    def expect_document_end(self):
+        if isinstance(self.event, DocumentEndEvent):
+            self.write_indent()
+            if self.event.explicit:
+                self.write_indicator(u'...', True)
+                self.write_indent()
+            self.flush_stream()
+            self.state = self.expect_document_start
+        else:
+            raise EmitterError("expected DocumentEndEvent, but got %s"
+                    % self.event)
+
+    def expect_document_root(self):
+        self.states.append(self.expect_document_end)
+        self.expect_node(root=True)
+
+    # Node handlers.
+
+    def expect_node(self, root=False, sequence=False, mapping=False,
+            simple_key=False):
+        self.root_context = root
+        self.sequence_context = sequence
+        self.mapping_context = mapping
+        self.simple_key_context = simple_key
+        if isinstance(self.event, AliasEvent):
+            self.expect_alias()
+        elif isinstance(self.event, (ScalarEvent, CollectionStartEvent)):
+            self.process_anchor(u'&')
+            self.process_tag()
+            if isinstance(self.event, ScalarEvent):
+                self.expect_scalar()
+            elif isinstance(self.event, SequenceStartEvent):
+                if self.flow_level or self.canonical or self.event.flow_style   \
+                        or self.check_empty_sequence():
+                    self.expect_flow_sequence()
+                else:
+                    self.expect_block_sequence()
+            elif isinstance(self.event, MappingStartEvent):
+                if self.flow_level or self.canonical or self.event.flow_style   \
+                        or self.check_empty_mapping():
+                    self.expect_flow_mapping()
+                else:
+                    self.expect_block_mapping()
+        else:
+            raise EmitterError("expected NodeEvent, but got %s" % self.event)
+
+    def expect_alias(self):
+        if self.event.anchor is None:
+            raise EmitterError("anchor is not specified for alias")
+        self.process_anchor(u'*')
+        self.state = self.states.pop()
+
+    def expect_scalar(self):
+        self.increase_indent(flow=True)
+        self.process_scalar()
+        self.indent = self.indents.pop()
+        self.state = self.states.pop()
+
+    # Flow sequence handlers.
+
+    def expect_flow_sequence(self):
+        self.write_indicator(u'[', True, whitespace=True)
+        self.flow_level += 1
+        self.increase_indent(flow=True)
+        self.state = self.expect_first_flow_sequence_item
+
+    def expect_first_flow_sequence_item(self):
+        if isinstance(self.event, SequenceEndEvent):
+            self.indent = self.indents.pop()
+            self.flow_level -= 1
+            self.write_indicator(u']', False)
+            self.state = self.states.pop()
+        else:
+            if self.canonical or self.column > self.best_width:
+                self.write_indent()
+            self.states.append(self.expect_flow_sequence_item)
+            self.expect_node(sequence=True)
+
+    def expect_flow_sequence_item(self):
+        if isinstance(self.event, SequenceEndEvent):
+            self.indent = self.indents.pop()
+            self.flow_level -= 1
+            if self.canonical:
+                self.write_indicator(u',', False)
+                self.write_indent()
+            self.write_indicator(u']', False)
+            self.state = self.states.pop()
+        else:
+            self.write_indicator(u',', False)
+            if self.canonical or self.column > self.best_width:
+                self.write_indent()
+            self.states.append(self.expect_flow_sequence_item)
+            self.expect_node(sequence=True)
+
+    # Flow mapping handlers.
+
+    def expect_flow_mapping(self):
+        self.write_indicator(u'{', True, whitespace=True)
+        self.flow_level += 1
+        self.increase_indent(flow=True)
+        self.state = self.expect_first_flow_mapping_key
+
+    def expect_first_flow_mapping_key(self):
+        if isinstance(self.event, MappingEndEvent):
+            self.indent = self.indents.pop()
+            self.flow_level -= 1
+            self.write_indicator(u'}', False)
+            self.state = self.states.pop()
+        else:
+            if self.canonical or self.column > self.best_width:
+                self.write_indent()
+            if not self.canonical and self.check_simple_key():
+                self.states.append(self.expect_flow_mapping_simple_value)
+                self.expect_node(mapping=True, simple_key=True)
+            else:
+                self.write_indicator(u'?', True)
+                self.states.append(self.expect_flow_mapping_value)
+                self.expect_node(mapping=True)
+
+    def expect_flow_mapping_key(self):
+        if isinstance(self.event, MappingEndEvent):
+            self.indent = self.indents.pop()
+            self.flow_level -= 1
+            if self.canonical:
+                self.write_indicator(u',', False)
+                self.write_indent()
+            self.write_indicator(u'}', False)
+            self.state = self.states.pop()
+        else:
+            self.write_indicator(u',', False)
+            if self.canonical or self.column > self.best_width:
+                self.write_indent()
+            if not self.canonical and self.check_simple_key():
+                self.states.append(self.expect_flow_mapping_simple_value)
+                self.expect_node(mapping=True, simple_key=True)
+            else:
+                self.write_indicator(u'?', True)
+                self.states.append(self.expect_flow_mapping_value)
+                self.expect_node(mapping=True)
+
+    def expect_flow_mapping_simple_value(self):
+        self.write_indicator(u':', False)
+        self.states.append(self.expect_flow_mapping_key)
+        self.expect_node(mapping=True)
+
+    def expect_flow_mapping_value(self):
+        if self.canonical or self.column > self.best_width:
+            self.write_indent()
+        self.write_indicator(u':', True)
+        self.states.append(self.expect_flow_mapping_key)
+        self.expect_node(mapping=True)
+
+    # Block sequence handlers.
+
+    def expect_block_sequence(self):
+        indentless = (self.mapping_context and not self.indention)
+        self.increase_indent(flow=False, indentless=indentless)
+        self.state = self.expect_first_block_sequence_item
+
+    def expect_first_block_sequence_item(self):
+        return self.expect_block_sequence_item(first=True)
+
+    def expect_block_sequence_item(self, first=False):
+        if not first and isinstance(self.event, SequenceEndEvent):
+            self.indent = self.indents.pop()
+            self.state = self.states.pop()
+        else:
+            self.write_indent()
+            self.write_indicator(u'-', True, indention=True)
+            self.states.append(self.expect_block_sequence_item)
+            self.expect_node(sequence=True)
+
+    # Block mapping handlers.
+
+    def expect_block_mapping(self):
+        self.increase_indent(flow=False)
+        self.state = self.expect_first_block_mapping_key
+
+    def expect_first_block_mapping_key(self):
+        return self.expect_block_mapping_key(first=True)
+
+    def expect_block_mapping_key(self, first=False):
+        if not first and isinstance(self.event, MappingEndEvent):
+            self.indent = self.indents.pop()
+            self.state = self.states.pop()
+        else:
+            self.write_indent()
+            if self.check_simple_key():
+                self.states.append(self.expect_block_mapping_simple_value)
+                self.expect_node(mapping=True, simple_key=True)
+            else:
+                self.write_indicator(u'?', True, indention=True)
+                self.states.append(self.expect_block_mapping_value)
+                self.expect_node(mapping=True)
+
+    def expect_block_mapping_simple_value(self):
+        self.write_indicator(u':', False)
+        self.states.append(self.expect_block_mapping_key)
+        self.expect_node(mapping=True)
+
+    def expect_block_mapping_value(self):
+        self.write_indent()
+        self.write_indicator(u':', True, indention=True)
+        self.states.append(self.expect_block_mapping_key)
+        self.expect_node(mapping=True)
+
+    # Checkers.
+
+    def check_empty_sequence(self):
+        return (isinstance(self.event, SequenceStartEvent) and self.events
+                and isinstance(self.events[0], SequenceEndEvent))
+
+    def check_empty_mapping(self):
+        return (isinstance(self.event, MappingStartEvent) and self.events
+                and isinstance(self.events[0], MappingEndEvent))
+
+    def check_empty_document(self):
+        if not isinstance(self.event, DocumentStartEvent) or not self.events:
+            return False
+        event = self.events[0]
+        return (isinstance(event, ScalarEvent) and event.anchor is None
+                and event.tag is None and event.implicit and event.value == u'')
+
+    def check_simple_key(self):
+        length = 0
+        if isinstance(self.event, NodeEvent) and self.event.anchor is not None:
+            if self.prepared_anchor is None:
+                self.prepared_anchor = self.prepare_anchor(self.event.anchor)
+            length += len(self.prepared_anchor)
+        if isinstance(self.event, (ScalarEvent, CollectionStartEvent))  \
+                and self.event.tag is not None:
+            if self.prepared_tag is None:
+                self.prepared_tag = self.prepare_tag(self.event.tag)
+            length += len(self.prepared_tag)
+        if isinstance(self.event, ScalarEvent):
+            if self.analysis is None:
+                self.analysis = self.analyze_scalar(self.event.value)
+            length += len(self.analysis.scalar)
+        return (length < 128 and (isinstance(self.event, AliasEvent)
+            or (isinstance(self.event, ScalarEvent)
+                    and not self.analysis.empty and not self.analysis.multiline)
+            or self.check_empty_sequence() or self.check_empty_mapping()))
+
+    # Anchor, Tag, and Scalar processors.
+
+    def process_anchor(self, indicator):
+        if self.event.anchor is None:
+            self.prepared_anchor = None
+            return
+        if self.prepared_anchor is None:
+            self.prepared_anchor = self.prepare_anchor(self.event.anchor)
+        if self.prepared_anchor:
+            self.write_indicator(indicator+self.prepared_anchor, True)
+        self.prepared_anchor = None
+
+    def process_tag(self):
+        tag = self.event.tag
+        if isinstance(self.event, ScalarEvent):
+            if self.style is None:
+                self.style = self.choose_scalar_style()
+            if ((not self.canonical or tag is None) and
+                ((self.style == '' and self.event.implicit[0])
+                        or (self.style != '' and self.event.implicit[1]))):
+                self.prepared_tag = None
+                return
+            if self.event.implicit[0] and tag is None:
+                tag = u'!'
+                self.prepared_tag = None
+        else:
+            if (not self.canonical or tag is None) and self.event.implicit:
+                self.prepared_tag = None
+                return
+        if tag is None:
+            raise EmitterError("tag is not specified")
+        if self.prepared_tag is None:
+            self.prepared_tag = self.prepare_tag(tag)
+        if self.prepared_tag:
+            self.write_indicator(self.prepared_tag, True)
+        self.prepared_tag = None
+
+    def choose_scalar_style(self):
+        if self.analysis is None:
+            self.analysis = self.analyze_scalar(self.event.value)
+        if self.event.style == '"' or self.canonical:
+            return '"'
+        if not self.event.style and self.event.implicit[0]:
+            if (not (self.simple_key_context and
+                    (self.analysis.empty or self.analysis.multiline))
+                and (self.flow_level and self.analysis.allow_flow_plain
+                    or (not self.flow_level and self.analysis.allow_block_plain))):
+                return ''
+        if self.event.style and self.event.style in '|>':
+            if (not self.flow_level and not self.simple_key_context
+                    and self.analysis.allow_block):
+                return self.event.style
+        if not self.event.style or self.event.style == '\'':
+            if (self.analysis.allow_single_quoted and
+                    not (self.simple_key_context and self.analysis.multiline)):
+                return '\''
+        return '"'
+
+    def process_scalar(self):
+        if self.analysis is None:
+            self.analysis = self.analyze_scalar(self.event.value)
+        if self.style is None:
+            self.style = self.choose_scalar_style()
+        split = (not self.simple_key_context)
+        #if self.analysis.multiline and split    \
+        #        and (not self.style or self.style in '\'\"'):
+        #    self.write_indent()
+        if self.style == '"':
+            self.write_double_quoted(self.analysis.scalar, split)
+        elif self.style == '\'':
+            self.write_single_quoted(self.analysis.scalar, split)
+        elif self.style == '>':
+            self.write_folded(self.analysis.scalar)
+        elif self.style == '|':
+            self.write_literal(self.analysis.scalar)
+        else:
+            self.write_plain(self.analysis.scalar, split)
+        self.analysis = None
+        self.style = None
+
+    # Analyzers.
+
+    def prepare_version(self, version):
+        major, minor = version
+        if major != 1:
+            raise EmitterError("unsupported YAML version: %d.%d" % (major, minor))
+        return u'%d.%d' % (major, minor)
+
+    def prepare_tag_handle(self, handle):
+        if not handle:
+            raise EmitterError("tag handle must not be empty")
+        if handle[0] != u'!' or handle[-1] != u'!':
+            raise EmitterError("tag handle must start and end with '!': %r"
+                    % (handle.encode('utf-8')))
+        for ch in handle[1:-1]:
+            if not (u'0' <= ch <= u'9' or u'A' <= ch <= 'Z' or u'a' <= ch <= 'z'    \
+                    or ch in u'-_'):
+                raise EmitterError("invalid character %r in the tag handle: %r"
+                        % (ch.encode('utf-8'), handle.encode('utf-8')))
+        return handle
+
+    def prepare_tag_prefix(self, prefix):
+        if not prefix:
+            raise EmitterError("tag prefix must not be empty")
+        chunks = []
+        start = end = 0
+        if prefix[0] == u'!':
+            end = 1
+        while end < len(prefix):
+            ch = prefix[end]
+            if u'0' <= ch <= u'9' or u'A' <= ch <= 'Z' or u'a' <= ch <= 'z'  \
+                    or ch in u'-;/?!:@&=+$,_.~*\'()[]':
+                end += 1
+            else:
+                if start < end:
+                    chunks.append(prefix[start:end])
+                start = end = end+1
+                data = ch.encode('utf-8')
+                for ch in data:
+                    chunks.append(u'%%%02X' % ord(ch))
+        if start < end:
+            chunks.append(prefix[start:end])
+        return u''.join(chunks)
+
+    def prepare_tag(self, tag):
+        if not tag:
+            raise EmitterError("tag must not be empty")
+        if tag == u'!':
+            return tag
+        handle = None
+        suffix = tag
+        for prefix in self.tag_prefixes:
+            if tag.startswith(prefix)   \
+                    and (prefix == u'!' or len(prefix) < len(tag)):
+                handle = self.tag_prefixes[prefix]
+                suffix = tag[len(prefix):]
+        chunks = []
+        start = end = 0
+        while end < len(suffix):
+            ch = suffix[end]
+            if u'0' <= ch <= u'9' or u'A' <= ch <= 'Z' or u'a' <= ch <= 'z'  \
+                    or ch in u'-;/?:@&=+$,_.~*\'()[]'   \
+                    or (ch == u'!' and handle != u'!'):
+                end += 1
+            else:
+                if start < end:
+                    chunks.append(suffix[start:end])
+                start = end = end+1
+                data = ch.encode('utf-8')
+                for ch in data:
+                    chunks.append(u'%%%02X' % ord(ch))
+        if start < end:
+            chunks.append(suffix[start:end])
+        suffix_text = u''.join(chunks)
+        if handle:
+            return u'%s%s' % (handle, suffix_text)
+        else:
+            return u'!<%s>' % suffix_text
+
+    def prepare_anchor(self, anchor):
+        if not anchor:
+            raise EmitterError("anchor must not be empty")
+        for ch in anchor:
+            if not (u'0' <= ch <= u'9' or u'A' <= ch <= 'Z' or u'a' <= ch <= 'z'    \
+                    or ch in u'-_'):
+                raise EmitterError("invalid character %r in the anchor: %r"
+                        % (ch.encode('utf-8'), anchor.encode('utf-8')))
+        return anchor
+
+    def analyze_scalar(self, scalar):
+
+        # Empty scalar is a special case.
+        if not scalar:
+            return ScalarAnalysis(scalar=scalar, empty=True, multiline=False,
+                    allow_flow_plain=False, allow_block_plain=True,
+                    allow_single_quoted=True, allow_double_quoted=True,
+                    allow_block=False)
+
+        # Indicators and special characters.
+        block_indicators = False
+        flow_indicators = False
+        line_breaks = False
+        special_characters = False
+
+        # Whitespaces.
+        inline_spaces = False          # non-space space+ non-space
+        inline_breaks = False          # non-space break+ non-space
+        leading_spaces = False         # ^ space+ (non-space | $)
+        leading_breaks = False         # ^ break+ (non-space | $)
+        trailing_spaces = False        # (^ | non-space) space+ $
+        trailing_breaks = False        # (^ | non-space) break+ $
+        inline_breaks_spaces = False   # non-space break+ space+ non-space
+        mixed_breaks_spaces = False    # anything else
+
+        # Check document indicators.
+        if scalar.startswith(u'---') or scalar.startswith(u'...'):
+            block_indicators = True
+            flow_indicators = True
+
+        # First character or preceded by a whitespace.
+        preceeded_by_space = True
+
+        # Last character or followed by a whitespace.
+        followed_by_space = (len(scalar) == 1 or
+                scalar[1] in u'\0 \t\r\n\x85\u2028\u2029')
+
+        # The current series of whitespaces contain plain spaces.
+        spaces = False
+
+        # The current series of whitespaces contain line breaks.
+        breaks = False
+
+        # The current series of whitespaces contain a space followed by a
+        # break.
+        mixed = False
+
+        # The current series of whitespaces start at the beginning of the
+        # scalar.
+        leading = False
+
+        index = 0
+        while index < len(scalar):
+            ch = scalar[index]
+
+            # Check for indicators.
+
+            if index == 0:
+                # Leading indicators are special characters.
+                if ch in u'#,[]{}&*!|>\'\"%@`': 
+                    flow_indicators = True
+                    block_indicators = True
+                if ch in u'?:':
+                    flow_indicators = True
+                    if followed_by_space:
+                        block_indicators = True
+                if ch == u'-' and followed_by_space:
+                    flow_indicators = True
+                    block_indicators = True
+            else:
+                # Some indicators cannot appear within a scalar as well.
+                if ch in u',?[]{}':
+                    flow_indicators = True
+                if ch == u':':
+                    flow_indicators = True
+                    if followed_by_space:
+                        block_indicators = True
+                if ch == u'#' and preceeded_by_space:
+                    flow_indicators = True
+                    block_indicators = True
+
+            # Check for line breaks, special, and unicode characters.
+
+            if ch in u'\n\x85\u2028\u2029':
+                line_breaks = True
+            if not (ch == u'\n' or u'\x20' <= ch <= u'\x7E'):
+                if (ch == u'\x85' or u'\xA0' <= ch <= u'\uD7FF'
+                        or u'\uE000' <= ch <= u'\uFFFD') and ch != u'\uFEFF':
+                    unicode_characters = True
+                    if not self.allow_unicode:
+                        special_characters = True
+                else:
+                    special_characters = True
+
+            # Spaces, line breaks, and how they are mixed. State machine.
+
+            # Start or continue series of whitespaces.
+            if ch in u' \n\x85\u2028\u2029':
+                if spaces and breaks:
+                    if ch != u' ':      # break+ (space+ break+)    => mixed
+                        mixed = True
+                elif spaces:
+                    if ch != u' ':      # (space+ break+)   => mixed
+                        breaks = True
+                        mixed = True
+                elif breaks:
+                    if ch == u' ':      # break+ space+
+                        spaces = True
+                else:
+                    leading = (index == 0)
+                    if ch == u' ':      # space+
+                        spaces = True
+                    else:               # break+
+                        breaks = True
+
+            # Series of whitespaces ended with a non-space.
+            elif spaces or breaks:
+                if leading:
+                    if spaces and breaks:
+                        mixed_breaks_spaces = True
+                    elif spaces:
+                        leading_spaces = True
+                    elif breaks:
+                        leading_breaks = True
+                else:
+                    if mixed:
+                        mixed_breaks_spaces = True
+                    elif spaces and breaks:
+                        inline_breaks_spaces = True
+                    elif spaces:
+                        inline_spaces = True
+                    elif breaks:
+                        inline_breaks = True
+                spaces = breaks = mixed = leading = False
+
+            # Series of whitespaces reach the end.
+            if (spaces or breaks) and (index == len(scalar)-1):
+                if spaces and breaks:
+                    mixed_breaks_spaces = True
+                elif spaces:
+                    trailing_spaces = True
+                    if leading:
+                        leading_spaces = True
+                elif breaks:
+                    trailing_breaks = True
+                    if leading:
+                        leading_breaks = True
+                spaces = breaks = mixed = leading = False
+
+            # Prepare for the next character.
+            index += 1
+            preceeded_by_space = (ch in u'\0 \t\r\n\x85\u2028\u2029')
+            followed_by_space = (index+1 >= len(scalar) or
+                    scalar[index+1] in u'\0 \t\r\n\x85\u2028\u2029')
+
+        # Let's decide what styles are allowed.
+        allow_flow_plain = True
+        allow_block_plain = True
+        allow_single_quoted = True
+        allow_double_quoted = True
+        allow_block = True
+
+        # Leading and trailing whitespace are bad for plain scalars. We also
+        # do not want to mess with leading whitespaces for block scalars.
+        if leading_spaces or leading_breaks or trailing_spaces:
+            allow_flow_plain = allow_block_plain = allow_block = False
+
+        # Trailing breaks are fine for block scalars, but unacceptable for
+        # plain scalars.
+        if trailing_breaks:
+            allow_flow_plain = allow_block_plain = False
+
+        # The combination of (space+ break+) is only acceptable for block
+        # scalars.
+        if inline_breaks_spaces:
+            allow_flow_plain = allow_block_plain = allow_single_quoted = False
+
+        # Mixed spaces and breaks, as well as special character are only
+        # allowed for double quoted scalars.
+        if mixed_breaks_spaces or special_characters:
+            allow_flow_plain = allow_block_plain =  \
+            allow_single_quoted = allow_block = False
+
+        # We don't emit multiline plain scalars.
+        if line_breaks:
+            allow_flow_plain = allow_block_plain = False
+
+        # Flow indicators are forbidden for flow plain scalars.
+        if flow_indicators:
+            allow_flow_plain = False
+
+        # Block indicators are forbidden for block plain scalars.
+        if block_indicators:
+            allow_block_plain = False
+
+        return ScalarAnalysis(scalar=scalar,
+                empty=False, multiline=line_breaks,
+                allow_flow_plain=allow_flow_plain,
+                allow_block_plain=allow_block_plain,
+                allow_single_quoted=allow_single_quoted,
+                allow_double_quoted=allow_double_quoted,
+                allow_block=allow_block)
+
+    # Writers.
+
+    def flush_stream(self):
+        if hasattr(self.stream, 'flush'):
+            self.stream.flush()
+
+    def write_stream_start(self):
+        # Write BOM if needed.
+        if self.encoding and self.encoding.startswith('utf-16'):
+            self.stream.write(u'\xFF\xFE'.encode(self.encoding))
+
+    def write_stream_end(self):
+        self.flush_stream()
+
+    def write_indicator(self, indicator, need_whitespace,
+            whitespace=False, indention=False):
+        if self.whitespace or not need_whitespace:
+            data = indicator
+        else:
+            data = u' '+indicator
+        self.whitespace = whitespace
+        self.indention = self.indention and indention
+        self.column += len(data)
+        if self.encoding:
+            data = data.encode(self.encoding)
+        self.stream.write(data)
+
+    def write_indent(self):
+        indent = self.indent or 0
+        if not self.indention or self.column > indent   \
+                or (self.column == indent and not self.whitespace):
+            self.write_line_break()
+        if self.column < indent:
+            self.whitespace = True
+            data = u' '*(indent-self.column)
+            self.column = indent
+            if self.encoding:
+                data = data.encode(self.encoding)
+            self.stream.write(data)
+
+    def write_line_break(self, data=None):
+        if data is None:
+            data = self.best_line_break
+        self.whitespace = True
+        self.indention = True
+        self.line += 1
+        self.column = 0
+        if self.encoding:
+            data = data.encode(self.encoding)
+        self.stream.write(data)
+
+    def write_version_directive(self, version_text):
+        data = u'%%YAML %s' % version_text
+        if self.encoding:
+            data = data.encode(self.encoding)
+        self.stream.write(data)
+        self.write_line_break()
+
+    def write_tag_directive(self, handle_text, prefix_text):
+        data = u'%%TAG %s %s' % (handle_text, prefix_text)
+        if self.encoding:
+            data = data.encode(self.encoding)
+        self.stream.write(data)
+        self.write_line_break()
+
+    # Scalar streams.
+
+    def write_single_quoted(self, text, split=True):
+        self.write_indicator(u'\'', True)
+        spaces = False
+        breaks = False
+        start = end = 0
+        while end <= len(text):
+            ch = None
+            if end < len(text):
+                ch = text[end]
+            if spaces:
+                if ch is None or ch != u' ':
+                    if start+1 == end and self.column > self.best_width and split   \
+                            and start != 0 and end != len(text):
+                        self.write_indent()
+                    else:
+                        data = text[start:end]
+                        self.column += len(data)
+                        if self.encoding:
+                            data = data.encode(self.encoding)
+                        self.stream.write(data)
+                    start = end
+            elif breaks:
+                if ch is None or ch not in u'\n\x85\u2028\u2029':
+                    if text[start] == u'\n':
+                        self.write_line_break()
+                    for br in text[start:end]:
+                        if br == u'\n':
+                            self.write_line_break()
+                        else:
+                            self.write_line_break(br)
+                    self.write_indent()
+                    start = end
+            else:
+                if ch is None or ch in u' \n\x85\u2028\u2029' or ch == u'\'':
+                    if start < end:
+                        data = text[start:end]
+                        self.column += len(data)
+                        if self.encoding:
+                            data = data.encode(self.encoding)
+                        self.stream.write(data)
+                        start = end
+            if ch == u'\'':
+                data = u'\'\''
+                self.column += 2
+                if self.encoding:
+                    data = data.encode(self.encoding)
+                self.stream.write(data)
+                start = end + 1
+            if ch is not None:
+                spaces = (ch == u' ')
+                breaks = (ch in u'\n\x85\u2028\u2029')
+            end += 1
+        self.write_indicator(u'\'', False)
+
+    ESCAPE_REPLACEMENTS = {
+        u'\0':      u'0',
+        u'\x07':    u'a',
+        u'\x08':    u'b',
+        u'\x09':    u't',
+        u'\x0A':    u'n',
+        u'\x0B':    u'v',
+        u'\x0C':    u'f',
+        u'\x0D':    u'r',
+        u'\x1B':    u'e',
+        u'\"':      u'\"',
+        u'\\':      u'\\',
+        u'\x85':    u'N',
+        u'\xA0':    u'_',
+        u'\u2028':  u'L',
+        u'\u2029':  u'P',
+    }
+
+    def write_double_quoted(self, text, split=True):
+        self.write_indicator(u'"', True)
+        start = end = 0
+        while end <= len(text):
+            ch = None
+            if end < len(text):
+                ch = text[end]
+            if ch is None or ch in u'"\\\x85\u2028\u2029\uFEFF' \
+                    or not (u'\x20' <= ch <= u'\x7E'
+                        or (self.allow_unicode
+                            and (u'\xA0' <= ch <= u'\uD7FF'
+                                or u'\uE000' <= ch <= u'\uFFFD'))):
+                if start < end:
+                    data = text[start:end]
+                    self.column += len(data)
+                    if self.encoding:
+                        data = data.encode(self.encoding)
+                    self.stream.write(data)
+                    start = end
+                if ch is not None:
+                    if ch in self.ESCAPE_REPLACEMENTS:
+                        data = u'\\'+self.ESCAPE_REPLACEMENTS[ch]
+                    elif ch <= u'\xFF':
+                        data = u'\\x%02X' % ord(ch)
+                    elif ch <= u'\uFFFF':
+                        data = u'\\u%04X' % ord(ch)
+                    else:
+                        data = u'\\U%08X' % ord(ch)
+                    self.column += len(data)
+                    if self.encoding:
+                        data = data.encode(self.encoding)
+                    self.stream.write(data)
+                    start = end+1
+            if 0 < end < len(text)-1 and (ch == u' ' or start >= end)   \
+                    and self.column+(end-start) > self.best_width and split:
+                data = text[start:end]+u'\\'
+                if start < end:
+                    start = end
+                self.column += len(data)
+                if self.encoding:
+                    data = data.encode(self.encoding)
+                self.stream.write(data)
+                self.write_indent()
+                self.whitespace = False
+                self.indention = False
+                if text[start] == u' ':
+                    data = u'\\'
+                    self.column += len(data)
+                    if self.encoding:
+                        data = data.encode(self.encoding)
+                    self.stream.write(data)
+            end += 1
+        self.write_indicator(u'"', False)
+
+    def determine_chomp(self, text):
+        tail = text[-2:]
+        while len(tail) < 2:
+            tail = u' '+tail
+        if tail[-1] in u'\n\x85\u2028\u2029':
+            if tail[-2] in u'\n\x85\u2028\u2029':
+                return u'+'
+            else:
+                return u''
+        else:
+            return u'-'
+
+    def write_folded(self, text):
+        chomp = self.determine_chomp(text)
+        self.write_indicator(u'>'+chomp, True)
+        self.write_indent()
+        leading_space = False
+        spaces = False
+        breaks = False
+        start = end = 0
+        while end <= len(text):
+            ch = None
+            if end < len(text):
+                ch = text[end]
+            if breaks:
+                if ch is None or ch not in u'\n\x85\u2028\u2029':
+                    if not leading_space and ch is not None and ch != u' '  \
+                            and text[start] == u'\n':
+                        self.write_line_break()
+                    leading_space = (ch == u' ')
+                    for br in text[start:end]:
+                        if br == u'\n':
+                            self.write_line_break()
+                        else:
+                            self.write_line_break(br)
+                    if ch is not None:
+                        self.write_indent()
+                    start = end
+            elif spaces:
+                if ch != u' ':
+                    if start+1 == end and self.column > self.best_width:
+                        self.write_indent()
+                    else:
+                        data = text[start:end]
+                        self.column += len(data)
+                        if self.encoding:
+                            data = data.encode(self.encoding)
+                        self.stream.write(data)
+                    start = end
+            else:
+                if ch is None or ch in u' \n\x85\u2028\u2029':
+                    data = text[start:end]
+                    if self.encoding:
+                        data = data.encode(self.encoding)
+                    self.stream.write(data)
+                    if ch is None:
+                        self.write_line_break()
+                    start = end
+            if ch is not None:
+                breaks = (ch in u'\n\x85\u2028\u2029')
+                spaces = (ch == u' ')
+            end += 1
+
+    def write_literal(self, text):
+        chomp = self.determine_chomp(text)
+        self.write_indicator(u'|'+chomp, True)
+        self.write_indent()
+        breaks = False
+        start = end = 0
+        while end <= len(text):
+            ch = None
+            if end < len(text):
+                ch = text[end]
+            if breaks:
+                if ch is None or ch not in u'\n\x85\u2028\u2029':
+                    for br in text[start:end]:
+                        if br == u'\n':
+                            self.write_line_break()
+                        else:
+                            self.write_line_break(br)
+                    if ch is not None:
+                        self.write_indent()
+                    start = end
+            else:
+                if ch is None or ch in u'\n\x85\u2028\u2029':
+                    data = text[start:end]
+                    if self.encoding:
+                        data = data.encode(self.encoding)
+                    self.stream.write(data)
+                    if ch is None:
+                        self.write_line_break()
+                    start = end
+            if ch is not None:
+                breaks = (ch in u'\n\x85\u2028\u2029')
+            end += 1
+
+    def write_plain(self, text, split=True):
+        if not text:
+            return
+        if not self.whitespace:
+            data = u' '
+            self.column += len(data)
+            if self.encoding:
+                data = data.encode(self.encoding)
+            self.stream.write(data)
+        self.writespace = False
+        self.indention = False
+        spaces = False
+        breaks = False
+        start = end = 0
+        while end <= len(text):
+            ch = None
+            if end < len(text):
+                ch = text[end]
+            if spaces:
+                if ch != u' ':
+                    if start+1 == end and self.column > self.best_width and split:
+                        self.write_indent()
+                        self.writespace = False
+                        self.indention = False
+                    else:
+                        data = text[start:end]
+                        self.column += len(data)
+                        if self.encoding:
+                            data = data.encode(self.encoding)
+                        self.stream.write(data)
+                    start = end
+            elif breaks:
+                if ch not in u'\n\x85\u2028\u2029':
+                    if text[start] == u'\n':
+                        self.write_line_break()
+                    for br in text[start:end]:
+                        if br == u'\n':
+                            self.write_line_break()
+                        else:
+                            self.write_line_break(br)
+                    self.write_indent()
+                    self.whitespace = False
+                    self.indention = False
+                    start = end
+            else:
+                if ch is None or ch in u' \n\x85\u2028\u2029':
+                    data = text[start:end]
+                    self.column += len(data)
+                    if self.encoding:
+                        data = data.encode(self.encoding)
+                    self.stream.write(data)
+                    start = end
+            if ch is not None:
+                spaces = (ch == u' ')
+                breaks = (ch in u'\n\x85\u2028\u2029')
+            end += 1
+
Index: /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/error.py
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/error.py	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/error.py	(revision 902)
@@ -0,0 +1,75 @@
+
+__all__ = ['Mark', 'YAMLError', 'MarkedYAMLError']
+
+class Mark(object):
+
+    def __init__(self, name, index, line, column, buffer, pointer):
+        self.name = name
+        self.index = index
+        self.line = line
+        self.column = column
+        self.buffer = buffer
+        self.pointer = pointer
+
+    def get_snippet(self, indent=4, max_length=75):
+        if self.buffer is None:
+            return None
+        head = ''
+        start = self.pointer
+        while start > 0 and self.buffer[start-1] not in u'\0\r\n\x85\u2028\u2029':
+            start -= 1
+            if self.pointer-start > max_length/2-1:
+                head = ' ... '
+                start += 5
+                break
+        tail = ''
+        end = self.pointer
+        while end < len(self.buffer) and self.buffer[end] not in u'\0\r\n\x85\u2028\u2029':
+            end += 1
+            if end-self.pointer > max_length/2-1:
+                tail = ' ... '
+                end -= 5
+                break
+        snippet = self.buffer[start:end].encode('utf-8')
+        return ' '*indent + head + snippet + tail + '\n'  \
+                + ' '*(indent+self.pointer-start+len(head)) + '^'
+
+    def __str__(self):
+        snippet = self.get_snippet()
+        where = "  in \"%s\", line %d, column %d"   \
+                % (self.name, self.line+1, self.column+1)
+        if snippet is not None:
+            where += ":\n"+snippet
+        return where
+
+class YAMLError(Exception):
+    pass
+
+class MarkedYAMLError(YAMLError):
+
+    def __init__(self, context=None, context_mark=None,
+            problem=None, problem_mark=None, note=None):
+        self.context = context
+        self.context_mark = context_mark
+        self.problem = problem
+        self.problem_mark = problem_mark
+        self.note = note
+
+    def __str__(self):
+        lines = []
+        if self.context is not None:
+            lines.append(self.context)
+        if self.context_mark is not None  \
+            and (self.problem is None or self.problem_mark is None
+                    or self.context_mark.name != self.problem_mark.name
+                    or self.context_mark.line != self.problem_mark.line
+                    or self.context_mark.column != self.problem_mark.column):
+            lines.append(str(self.context_mark))
+        if self.problem is not None:
+            lines.append(self.problem)
+        if self.problem_mark is not None:
+            lines.append(str(self.problem_mark))
+        if self.note is not None:
+            lines.append(self.note)
+        return '\n'.join(lines)
+
Index: /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/events.py
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/events.py	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/events.py	(revision 902)
@@ -0,0 +1,86 @@
+
+# Abstract classes.
+
+class Event(object):
+    def __init__(self, start_mark=None, end_mark=None):
+        self.start_mark = start_mark
+        self.end_mark = end_mark
+    def __repr__(self):
+        attributes = [key for key in ['anchor', 'tag', 'implicit', 'value']
+                if hasattr(self, key)]
+        arguments = ', '.join(['%s=%r' % (key, getattr(self, key))
+                for key in attributes])
+        return '%s(%s)' % (self.__class__.__name__, arguments)
+
+class NodeEvent(Event):
+    def __init__(self, anchor, start_mark=None, end_mark=None):
+        self.anchor = anchor
+        self.start_mark = start_mark
+        self.end_mark = end_mark
+
+class CollectionStartEvent(NodeEvent):
+    def __init__(self, anchor, tag, implicit, start_mark=None, end_mark=None,
+            flow_style=None):
+        self.anchor = anchor
+        self.tag = tag
+        self.implicit = implicit
+        self.start_mark = start_mark
+        self.end_mark = end_mark
+        self.flow_style = flow_style
+
+class CollectionEndEvent(Event):
+    pass
+
+# Implementations.
+
+class StreamStartEvent(Event):
+    def __init__(self, start_mark=None, end_mark=None, encoding=None):
+        self.start_mark = start_mark
+        self.end_mark = end_mark
+        self.encoding = encoding
+
+class StreamEndEvent(Event):
+    pass
+
+class DocumentStartEvent(Event):
+    def __init__(self, start_mark=None, end_mark=None,
+            explicit=None, version=None, tags=None):
+        self.start_mark = start_mark
+        self.end_mark = end_mark
+        self.explicit = explicit
+        self.version = version
+        self.tags = tags
+
+class DocumentEndEvent(Event):
+    def __init__(self, start_mark=None, end_mark=None,
+            explicit=None):
+        self.start_mark = start_mark
+        self.end_mark = end_mark
+        self.explicit = explicit
+
+class AliasEvent(NodeEvent):
+    pass
+
+class ScalarEvent(NodeEvent):
+    def __init__(self, anchor, tag, implicit, value,
+            start_mark=None, end_mark=None, style=None):
+        self.anchor = anchor
+        self.tag = tag
+        self.implicit = implicit
+        self.value = value
+        self.start_mark = start_mark
+        self.end_mark = end_mark
+        self.style = style
+
+class SequenceStartEvent(CollectionStartEvent):
+    pass
+
+class SequenceEndEvent(CollectionEndEvent):
+    pass
+
+class MappingStartEvent(CollectionStartEvent):
+    pass
+
+class MappingEndEvent(CollectionEndEvent):
+    pass
+
Index: /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/loader.py
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/loader.py	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/loader.py	(revision 902)
@@ -0,0 +1,40 @@
+
+__all__ = ['BaseLoader', 'SafeLoader', 'Loader']
+
+from reader import *
+from scanner import *
+from parser import *
+from composer import *
+from constructor import *
+from resolver import *
+
+class BaseLoader(Reader, Scanner, Parser, Composer, BaseConstructor, BaseResolver):
+
+    def __init__(self, stream):
+        Reader.__init__(self, stream)
+        Scanner.__init__(self)
+        Parser.__init__(self)
+        Composer.__init__(self)
+        BaseConstructor.__init__(self)
+        BaseResolver.__init__(self)
+
+class SafeLoader(Reader, Scanner, Parser, Composer, SafeConstructor, Resolver):
+
+    def __init__(self, stream):
+        Reader.__init__(self, stream)
+        Scanner.__init__(self)
+        Parser.__init__(self)
+        Composer.__init__(self)
+        SafeConstructor.__init__(self)
+        Resolver.__init__(self)
+
+class Loader(Reader, Scanner, Parser, Composer, Constructor, Resolver):
+
+    def __init__(self, stream):
+        Reader.__init__(self, stream)
+        Scanner.__init__(self)
+        Parser.__init__(self)
+        Composer.__init__(self)
+        Constructor.__init__(self)
+        Resolver.__init__(self)
+
Index: /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/nodes.py
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/nodes.py	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/nodes.py	(revision 902)
@@ -0,0 +1,49 @@
+
+class Node(object):
+    def __init__(self, tag, value, start_mark, end_mark):
+        self.tag = tag
+        self.value = value
+        self.start_mark = start_mark
+        self.end_mark = end_mark
+    def __repr__(self):
+        value = self.value
+        #if isinstance(value, list):
+        #    if len(value) == 0:
+        #        value = '<empty>'
+        #    elif len(value) == 1:
+        #        value = '<1 item>'
+        #    else:
+        #        value = '<%d items>' % len(value)
+        #else:
+        #    if len(value) > 75:
+        #        value = repr(value[:70]+u' ... ')
+        #    else:
+        #        value = repr(value)
+        value = repr(value)
+        return '%s(tag=%r, value=%s)' % (self.__class__.__name__, self.tag, value)
+
+class ScalarNode(Node):
+    id = 'scalar'
+    def __init__(self, tag, value,
+            start_mark=None, end_mark=None, style=None):
+        self.tag = tag
+        self.value = value
+        self.start_mark = start_mark
+        self.end_mark = end_mark
+        self.style = style
+
+class CollectionNode(Node):
+    def __init__(self, tag, value,
+            start_mark=None, end_mark=None, flow_style=None):
+        self.tag = tag
+        self.value = value
+        self.start_mark = start_mark
+        self.end_mark = end_mark
+        self.flow_style = flow_style
+
+class SequenceNode(CollectionNode):
+    id = 'sequence'
+
+class MappingNode(CollectionNode):
+    id = 'mapping'
+
Index: /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/parser.py
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/parser.py	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/parser.py	(revision 902)
@@ -0,0 +1,586 @@
+
+# The following YAML grammar is LL(1) and is parsed by a recursive descent
+# parser.
+#
+# stream            ::= STREAM-START implicit_document? explicit_document* STREAM-END
+# implicit_document ::= block_node DOCUMENT-END*
+# explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END*
+# block_node_or_indentless_sequence ::=
+#                       ALIAS
+#                       | properties (block_content | indentless_block_sequence)?
+#                       | block_content
+#                       | indentless_block_sequence
+# block_node        ::= ALIAS
+#                       | properties block_content?
+#                       | block_content
+# flow_node         ::= ALIAS
+#                       | properties flow_content?
+#                       | flow_content
+# properties        ::= TAG ANCHOR? | ANCHOR TAG?
+# block_content     ::= block_collection | flow_collection | SCALAR
+# flow_content      ::= flow_collection | SCALAR
+# block_collection  ::= block_sequence | block_mapping
+# flow_collection   ::= flow_sequence | flow_mapping
+# block_sequence    ::= BLOCK-SEQUENCE-START (BLOCK-ENTRY block_node?)* BLOCK-END
+# indentless_sequence   ::= (BLOCK-ENTRY block_node?)+
+# block_mapping     ::= BLOCK-MAPPING_START
+#                       ((KEY block_node_or_indentless_sequence?)?
+#                       (VALUE block_node_or_indentless_sequence?)?)*
+#                       BLOCK-END
+# flow_sequence     ::= FLOW-SEQUENCE-START
+#                       (flow_sequence_entry FLOW-ENTRY)*
+#                       flow_sequence_entry?
+#                       FLOW-SEQUENCE-END
+# flow_sequence_entry   ::= flow_node | KEY flow_node? (VALUE flow_node?)?
+# flow_mapping      ::= FLOW-MAPPING-START
+#                       (flow_mapping_entry FLOW-ENTRY)*
+#                       flow_mapping_entry?
+#                       FLOW-MAPPING-END
+# flow_mapping_entry    ::= flow_node | KEY flow_node? (VALUE flow_node?)?
+#
+# FIRST sets:
+#
+# stream: { STREAM-START }
+# explicit_document: { DIRECTIVE DOCUMENT-START }
+# implicit_document: FIRST(block_node)
+# block_node: { ALIAS TAG ANCHOR SCALAR BLOCK-SEQUENCE-START BLOCK-MAPPING-START FLOW-SEQUENCE-START FLOW-MAPPING-START }
+# flow_node: { ALIAS ANCHOR TAG SCALAR FLOW-SEQUENCE-START FLOW-MAPPING-START }
+# block_content: { BLOCK-SEQUENCE-START BLOCK-MAPPING-START FLOW-SEQUENCE-START FLOW-MAPPING-START SCALAR }
+# flow_content: { FLOW-SEQUENCE-START FLOW-MAPPING-START SCALAR }
+# block_collection: { BLOCK-SEQUENCE-START BLOCK-MAPPING-START }
+# flow_collection: { FLOW-SEQUENCE-START FLOW-MAPPING-START }
+# block_sequence: { BLOCK-SEQUENCE-START }
+# block_mapping: { BLOCK-MAPPING-START }
+# block_node_or_indentless_sequence: { ALIAS ANCHOR TAG SCALAR BLOCK-SEQUENCE-START BLOCK-MAPPING-START FLOW-SEQUENCE-START FLOW-MAPPING-START BLOCK-ENTRY }
+# indentless_sequence: { ENTRY }
+# flow_collection: { FLOW-SEQUENCE-START FLOW-MAPPING-START }
+# flow_sequence: { FLOW-SEQUENCE-START }
+# flow_mapping: { FLOW-MAPPING-START }
+# flow_sequence_entry: { ALIAS ANCHOR TAG SCALAR FLOW-SEQUENCE-START FLOW-MAPPING-START KEY }
+# flow_mapping_entry: { ALIAS ANCHOR TAG SCALAR FLOW-SEQUENCE-START FLOW-MAPPING-START KEY }
+
+__all__ = ['Parser', 'ParserError']
+
+from error import MarkedYAMLError
+from tokens import *
+from events import *
+from scanner import *
+
+class ParserError(MarkedYAMLError):
+    pass
+
+class Parser(object):
+    # Since writing a recursive-descendant parser is a straightforward task, we
+    # do not give many comments here.
+    # Note that we use Python generators. If you rewrite the parser in another
+    # language, you may replace all 'yield'-s with event handler calls.
+
+    DEFAULT_TAGS = {
+        u'!':   u'!',
+        u'!!':  u'tag:yaml.org,2002:',
+    }
+
+    def __init__(self):
+        self.current_event = None
+        self.yaml_version = None
+        self.tag_handles = {}
+        self.states = []
+        self.marks = []
+        self.state = self.parse_stream_start
+
+    def check_event(self, *choices):
+        # Check the type of the next event.
+        if self.current_event is None:
+            if self.state:
+                self.current_event = self.state()
+        if self.current_event is not None:
+            if not choices:
+                return True
+            for choice in choices:
+                if isinstance(self.current_event, choice):
+                    return True
+        return False
+
+    def peek_event(self):
+        # Get the next event.
+        if self.current_event is None:
+            if self.state:
+                self.current_event = self.state()
+        return self.current_event
+
+    def get_event(self):
+        # Get the next event and proceed further.
+        if self.current_event is None:
+            if self.state:
+                self.current_event = self.state()
+        value = self.current_event
+        self.current_event = None
+        return value
+
+    # stream    ::= STREAM-START implicit_document? explicit_document* STREAM-END
+    # implicit_document ::= block_node DOCUMENT-END*
+    # explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END*
+
+    def parse_stream_start(self):
+
+        # Parse the stream start.
+        token = self.get_token()
+        event = StreamStartEvent(token.start_mark, token.end_mark,
+                encoding=token.encoding)
+
+        # Prepare the next state.
+        self.state = self.parse_implicit_document_start
+
+        return event
+
+    def parse_implicit_document_start(self):
+
+        # Parse an implicit document.
+        if not self.check_token(DirectiveToken, DocumentStartToken,
+                StreamEndToken):
+            self.tag_handles = self.DEFAULT_TAGS
+            token = self.peek_token()
+            start_mark = end_mark = token.start_mark
+            event = DocumentStartEvent(start_mark, end_mark,
+                    explicit=False)
+
+            # Prepare the next state.
+            self.states.append(self.parse_document_end)
+            self.state = self.parse_block_node
+
+            return event
+
+        else:
+            return self.parse_document_start()
+
+    def parse_document_start(self):
+
+        # Parse any extra document end indicators.
+        while self.check_token(DocumentEndToken):
+            self.get_token()
+
+        # Parse an explicit document.
+        if not self.check_token(StreamEndToken):
+            token = self.peek_token()
+            start_mark = token.start_mark
+            version, tags = self.process_directives()
+            if not self.check_token(DocumentStartToken):
+                raise ParserError(None, None,
+                        "expected '<document start>', but found %r"
+                        % self.peek_token().id,
+                        self.peek_token().start_mark)
+            token = self.get_token()
+            end_mark = token.end_mark
+            event = DocumentStartEvent(start_mark, end_mark,
+                    explicit=True, version=version, tags=tags)
+            self.states.append(self.parse_document_end)
+            self.state = self.parse_document_content
+        else:
+            # Parse the end of the stream.
+            token = self.get_token()
+            event = StreamEndEvent(token.start_mark, token.end_mark)
+            assert not self.states
+            assert not self.marks
+            self.state = None
+        return event
+
+    def parse_document_end(self):
+
+        # Parse the document end.
+        token = self.peek_token()
+        start_mark = end_mark = token.start_mark
+        explicit = False
+        if self.check_token(DocumentEndToken):
+            token = self.get_token()
+            end_mark = token.end_mark
+            explicit = True
+        event = DocumentEndEvent(start_mark, end_mark,
+                explicit=explicit)
+
+        # Prepare the next state.
+        self.state = self.parse_document_start
+
+        return event
+
+    def parse_document_content(self):
+        if self.check_token(DirectiveToken,
+                DocumentStartToken, DocumentEndToken, StreamEndToken):
+            event = self.process_empty_scalar(self.peek_token().start_mark)
+            self.state = self.states.pop()
+            return event
+        else:
+            return self.parse_block_node()
+
+    def process_directives(self):
+        self.yaml_version = None
+        self.tag_handles = {}
+        while self.check_token(DirectiveToken):
+            token = self.get_token()
+            if token.name == u'YAML':
+                if self.yaml_version is not None:
+                    raise ParserError(None, None,
+                            "found duplicate YAML directive", token.start_mark)
+                major, minor = token.value
+                if major != 1:
+                    raise ParserError(None, None,
+                            "found incompatible YAML document (version 1.* is required)",
+                            token.start_mark)
+                self.yaml_version = token.value
+            elif token.name == u'TAG':
+                handle, prefix = token.value
+                if handle in self.tag_handles:
+                    raise ParserError(None, None,
+                            "duplicate tag handle %r" % handle.encode('utf-8'),
+                            token.start_mark)
+                self.tag_handles[handle] = prefix
+        if self.tag_handles:
+            value = self.yaml_version, self.tag_handles.copy()
+        else:
+            value = self.yaml_version, None
+        for key in self.DEFAULT_TAGS:
+            if key not in self.tag_handles:
+                self.tag_handles[key] = self.DEFAULT_TAGS[key]
+        return value
+
+    # block_node_or_indentless_sequence ::= ALIAS
+    #               | properties (block_content | indentless_block_sequence)?
+    #               | block_content
+    #               | indentless_block_sequence
+    # block_node    ::= ALIAS
+    #                   | properties block_content?
+    #                   | block_content
+    # flow_node     ::= ALIAS
+    #                   | properties flow_content?
+    #                   | flow_content
+    # properties    ::= TAG ANCHOR? | ANCHOR TAG?
+    # block_content     ::= block_collection | flow_collection | SCALAR
+    # flow_content      ::= flow_collection | SCALAR
+    # block_collection  ::= block_sequence | block_mapping
+    # flow_collection   ::= flow_sequence | flow_mapping
+
+    def parse_block_node(self):
+        return self.parse_node(block=True)
+
+    def parse_flow_node(self):
+        return self.parse_node()
+
+    def parse_block_node_or_indentless_sequence(self):
+        return self.parse_node(block=True, indentless_sequence=True)
+
+    def parse_node(self, block=False, indentless_sequence=False):
+        if self.check_token(AliasToken):
+            token = self.get_token()
+            event = AliasEvent(token.value, token.start_mark, token.end_mark)
+            self.state = self.states.pop()
+        else:
+            anchor = None
+            tag = None
+            start_mark = end_mark = tag_mark = None
+            if self.check_token(AnchorToken):
+                token = self.get_token()
+                start_mark = token.start_mark
+                end_mark = token.end_mark
+                anchor = token.value
+                if self.check_token(TagToken):
+                    token = self.get_token()
+                    tag_mark = token.start_mark
+                    end_mark = token.end_mark
+                    tag = token.value
+            elif self.check_token(TagToken):
+                token = self.get_token()
+                start_mark = tag_mark = token.start_mark
+                end_mark = token.end_mark
+                tag = token.value
+                if self.check_token(AnchorToken):
+                    token = self.get_token()
+                    end_mark = token.end_mark
+                    anchor = token.value
+            if tag is not None:
+                handle, suffix = tag
+                if handle is not None:
+                    if handle not in self.tag_handles:
+                        raise ParserError("while parsing a node", start_mark,
+                                "found undefined tag handle %r" % handle.encode('utf-8'),
+                                tag_mark)
+                    tag = self.tag_handles[handle]+suffix
+                else:
+                    tag = suffix
+            #if tag == u'!':
+            #    raise ParserError("while parsing a node", start_mark,
+            #            "found non-specific tag '!'", tag_mark,
+            #            "Please check 'http://pyyaml.org/wiki/YAMLNonSpecificTag' and share your opinion.")
+            if start_mark is None:
+                start_mark = end_mark = self.peek_token().start_mark
+            event = None
+            implicit = (tag is None or tag == u'!')
+            if indentless_sequence and self.check_token(BlockEntryToken):
+                end_mark = self.peek_token().end_mark
+                event = SequenceStartEvent(anchor, tag, implicit,
+                        start_mark, end_mark)
+                self.state = self.parse_indentless_sequence_entry
+            else:
+                if self.check_token(ScalarToken):
+                    token = self.get_token()
+                    end_mark = token.end_mark
+                    if (token.plain and tag is None) or tag == u'!':
+                        implicit = (True, False)
+                    elif tag is None:
+                        implicit = (False, True)
+                    else:
+                        implicit = (False, False)
+                    event = ScalarEvent(anchor, tag, implicit, token.value,
+                            start_mark, end_mark, style=token.style)
+                    self.state = self.states.pop()
+                elif self.check_token(FlowSequenceStartToken):
+                    end_mark = self.peek_token().end_mark
+                    event = SequenceStartEvent(anchor, tag, implicit,
+                            start_mark, end_mark, flow_style=True)
+                    self.state = self.parse_flow_sequence_first_entry
+                elif self.check_token(FlowMappingStartToken):
+                    end_mark = self.peek_token().end_mark
+                    event = MappingStartEvent(anchor, tag, implicit,
+                            start_mark, end_mark, flow_style=True)
+                    self.state = self.parse_flow_mapping_first_key
+                elif block and self.check_token(BlockSequenceStartToken):
+                    end_mark = self.peek_token().start_mark
+                    event = SequenceStartEvent(anchor, tag, implicit,
+                            start_mark, end_mark, flow_style=False)
+                    self.state = self.parse_block_sequence_first_entry
+                elif block and self.check_token(BlockMappingStartToken):
+                    end_mark = self.peek_token().start_mark
+                    event = MappingStartEvent(anchor, tag, implicit,
+                            start_mark, end_mark, flow_style=False)
+                    self.state = self.parse_block_mapping_first_key
+                elif anchor is not None or tag is not None:
+                    # Empty scalars are allowed even if a tag or an anchor is
+                    # specified.
+                    event = ScalarEvent(anchor, tag, (implicit, False), u'',
+                            start_mark, end_mark)
+                    self.state = self.states.pop()
+                else:
+                    if block:
+                        node = 'block'
+                    else:
+                        node = 'flow'
+                    token = self.peek_token()
+                    raise ParserError("while parsing a %s node" % node, start_mark,
+                            "expected the node content, but found %r" % token.id,
+                            token.start_mark)
+        return event
+
+    # block_sequence ::= BLOCK-SEQUENCE-START (BLOCK-ENTRY block_node?)* BLOCK-END
+
+    def parse_block_sequence_first_entry(self):
+        token = self.get_token()
+        self.marks.append(token.start_mark)
+        return self.parse_block_sequence_entry()
+
+    def parse_block_sequence_entry(self):
+        if self.check_token(BlockEntryToken):
+            token = self.get_token()
+            if not self.check_token(BlockEntryToken, BlockEndToken):
+                self.states.append(self.parse_block_sequence_entry)
+                return self.parse_block_node()
+            else:
+                self.state = self.parse_block_sequence_entry
+                return self.process_empty_scalar(token.end_mark)
+        if not self.check_token(BlockEndToken):
+            token = self.peek_token()
+            raise ParserError("while parsing a block collection", self.marks[-1],
+                    "expected <block end>, but found %r" % token.id, token.start_mark)
+        token = self.get_token()
+        event = SequenceEndEvent(token.start_mark, token.end_mark)
+        self.state = self.states.pop()
+        self.marks.pop()
+        return event
+
+    # indentless_sequence ::= (BLOCK-ENTRY block_node?)+
+
+    def parse_indentless_sequence_entry(self):
+        if self.check_token(BlockEntryToken):
+            token = self.get_token()
+            if not self.check_token(BlockEntryToken,
+                    KeyToken, ValueToken, BlockEndToken):
+                self.states.append(self.parse_indentless_sequence_entry)
+                return self.parse_block_node()
+            else:
+                self.state = self.parse_indentless_sequence_entry
+                return self.process_empty_scalar(token.end_mark)
+        token = self.peek_token()
+        event = SequenceEndEvent(token.start_mark, token.start_mark)
+        self.state = self.states.pop()
+        return event
+
+    # block_mapping     ::= BLOCK-MAPPING_START
+    #                       ((KEY block_node_or_indentless_sequence?)?
+    #                       (VALUE block_node_or_indentless_sequence?)?)*
+    #                       BLOCK-END
+
+    def parse_block_mapping_first_key(self):
+        token = self.get_token()
+        self.marks.append(token.start_mark)
+        return self.parse_block_mapping_key()
+
+    def parse_block_mapping_key(self):
+        if self.check_token(KeyToken):
+            token = self.get_token()
+            if not self.check_token(KeyToken, ValueToken, BlockEndToken):
+                self.states.append(self.parse_block_mapping_value)
+                return self.parse_block_node_or_indentless_sequence()
+            else:
+                self.state = self.parse_block_mapping_value
+                return self.process_empty_scalar(token.end_mark)
+        if not self.check_token(BlockEndToken):
+            token = self.peek_token()
+            raise ParserError("while parsing a block mapping", self.marks[-1],
+                    "expected <block end>, but found %r" % token.id, token.start_mark)
+        token = self.get_token()
+        event = MappingEndEvent(token.start_mark, token.end_mark)
+        self.state = self.states.pop()
+        self.marks.pop()
+        return event
+
+    def parse_block_mapping_value(self):
+        if self.check_token(ValueToken):
+            token = self.get_token()
+            if not self.check_token(KeyToken, ValueToken, BlockEndToken):
+                self.states.append(self.parse_block_mapping_key)
+                return self.parse_block_node_or_indentless_sequence()
+            else:
+                self.state = self.parse_block_mapping_key
+                return self.process_empty_scalar(token.end_mark)
+        else:
+            self.state = self.parse_block_mapping_key
+            token = self.peek_token()
+            return self.process_empty_scalar(token.start_mark)
+
+    # flow_sequence     ::= FLOW-SEQUENCE-START
+    #                       (flow_sequence_entry FLOW-ENTRY)*
+    #                       flow_sequence_entry?
+    #                       FLOW-SEQUENCE-END
+    # flow_sequence_entry   ::= flow_node | KEY flow_node? (VALUE flow_node?)?
+    #
+    # Note that while production rules for both flow_sequence_entry and
+    # flow_mapping_entry are equal, their interpretations are different.
+    # For `flow_sequence_entry`, the part `KEY flow_node? (VALUE flow_node?)?`
+    # generate an inline mapping (set syntax).
+
+    def parse_flow_sequence_first_entry(self):
+        token = self.get_token()
+        self.marks.append(token.start_mark)
+        return self.parse_flow_sequence_entry(first=True)
+
+    def parse_flow_sequence_entry(self, first=False):
+        if not self.check_token(FlowSequenceEndToken):
+            if not first:
+                if self.check_token(FlowEntryToken):
+                    self.get_token()
+                else:
+                    token = self.peek_token()
+                    raise ParserError("while parsing a flow sequence", self.marks[-1],
+                            "expected ',' or ']', but got %r" % token.id, token.start_mark)
+            
+            if self.check_token(KeyToken):
+                token = self.peek_token()
+                event = MappingStartEvent(None, None, True,
+                        token.start_mark, token.end_mark,
+                        flow_style=True)
+                self.state = self.parse_flow_sequence_entry_mapping_key
+                return event
+            elif not self.check_token(FlowSequenceEndToken):
+                self.states.append(self.parse_flow_sequence_entry)
+                return self.parse_flow_node()
+        token = self.get_token()
+        event = SequenceEndEvent(token.start_mark, token.end_mark)
+        self.state = self.states.pop()
+        self.marks.pop()
+        return event
+
+    def parse_flow_sequence_entry_mapping_key(self):
+        token = self.get_token()
+        if not self.check_token(ValueToken,
+                FlowEntryToken, FlowSequenceEndToken):
+            self.states.append(self.parse_flow_sequence_entry_mapping_value)
+            return self.parse_flow_node()
+        else:
+            self.state = self.parse_flow_sequence_entry_mapping_value
+            return self.process_empty_scalar(token.end_mark)
+
+    def parse_flow_sequence_entry_mapping_value(self):
+        if self.check_token(ValueToken):
+            token = self.get_token()
+            if not self.check_token(FlowEntryToken, FlowSequenceEndToken):
+                self.states.append(self.parse_flow_sequence_entry_mapping_end)
+                return self.parse_flow_node()
+            else:
+                self.state = self.parse_flow_sequence_entry_mapping_end
+                return self.process_empty_scalar(token.end_mark)
+        else:
+            self.state = self.parse_flow_sequence_entry_mapping_end
+            token = self.peek_token()
+            return self.process_empty_scalar(token.start_mark)
+
+    def parse_flow_sequence_entry_mapping_end(self):
+        self.state = self.parse_flow_sequence_entry
+        token = self.peek_token()
+        return MappingEndEvent(token.start_mark, token.start_mark)
+
+    # flow_mapping  ::= FLOW-MAPPING-START
+    #                   (flow_mapping_entry FLOW-ENTRY)*
+    #                   flow_mapping_entry?
+    #                   FLOW-MAPPING-END
+    # flow_mapping_entry    ::= flow_node | KEY flow_node? (VALUE flow_node?)?
+
+    def parse_flow_mapping_first_key(self):
+        token = self.get_token()
+        self.marks.append(token.start_mark)
+        return self.parse_flow_mapping_key(first=True)
+
+    def parse_flow_mapping_key(self, first=False):
+        if not self.check_token(FlowMappingEndToken):
+            if not first:
+                if self.check_token(FlowEntryToken):
+                    self.get_token()
+                else:
+                    token = self.peek_token()
+                    raise ParserError("while parsing a flow mapping", self.marks[-1],
+                            "expected ',' or '}', but got %r" % token.id, token.start_mark)
+            if self.check_token(KeyToken):
+                token = self.get_token()
+                if not self.check_token(ValueToken,
+                        FlowEntryToken, FlowMappingEndToken):
+                    self.states.append(self.parse_flow_mapping_value)
+                    return self.parse_flow_node()
+                else:
+                    self.state = self.parse_flow_mapping_value
+                    return self.process_empty_scalar(token.end_mark)
+            elif not self.check_token(FlowMappingEndToken):
+                self.states.append(self.parse_flow_mapping_empty_value)
+                return self.parse_flow_node()
+        token = self.get_token()
+        event = MappingEndEvent(token.start_mark, token.end_mark)
+        self.state = self.states.pop()
+        self.marks.pop()
+        return event
+
+    def parse_flow_mapping_value(self):
+        if self.check_token(ValueToken):
+            token = self.get_token()
+            if not self.check_token(FlowEntryToken, FlowMappingEndToken):
+                self.states.append(self.parse_flow_mapping_key)
+                return self.parse_flow_node()
+            else:
+                self.state = self.parse_flow_mapping_key
+                return self.process_empty_scalar(token.end_mark)
+        else:
+            self.state = self.parse_flow_mapping_key
+            token = self.peek_token()
+            return self.process_empty_scalar(token.start_mark)
+
+    def parse_flow_mapping_empty_value(self):
+        self.state = self.parse_flow_mapping_key
+        return self.process_empty_scalar(self.peek_token().start_mark)
+
+    def process_empty_scalar(self, mark):
+        return ScalarEvent(None, None, (True, False), u'', mark, mark)
+
Index: /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/reader.py
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/reader.py	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/reader.py	(revision 902)
@@ -0,0 +1,225 @@
+# This module contains abstractions for the input stream. You don't have to
+# looks further, there are no pretty code.
+#
+# We define two classes here.
+#
+#   Mark(source, line, column)
+# It's just a record and its only use is producing nice error messages.
+# Parser does not use it for any other purposes.
+#
+#   Reader(source, data)
+# Reader determines the encoding of `data` and converts it to unicode.
+# Reader provides the following methods and attributes:
+#   reader.peek(length=1) - return the next `length` characters
+#   reader.forward(length=1) - move the current position to `length` characters.
+#   reader.index - the number of the current character.
+#   reader.line, stream.column - the line and the column of the current character.
+
+__all__ = ['Reader', 'ReaderError']
+
+from error import YAMLError, Mark
+
+import codecs, re
+
+# Unfortunately, codec functions in Python 2.3 does not support the `finish`
+# arguments, so we have to write our own wrappers.
+
+try:
+    codecs.utf_8_decode('', 'strict', False)
+    from codecs import utf_8_decode, utf_16_le_decode, utf_16_be_decode
+
+except TypeError:
+
+    def utf_16_le_decode(data, errors, finish=False):
+        if not finish and len(data) % 2 == 1:
+            data = data[:-1]
+        return codecs.utf_16_le_decode(data, errors)
+
+    def utf_16_be_decode(data, errors, finish=False):
+        if not finish and len(data) % 2 == 1:
+            data = data[:-1]
+        return codecs.utf_16_be_decode(data, errors)
+
+    def utf_8_decode(data, errors, finish=False):
+        if not finish:
+            # We are trying to remove a possible incomplete multibyte character
+            # from the suffix of the data.
+            # The first byte of a multi-byte sequence is in the range 0xc0 to 0xfd.
+            # All further bytes are in the range 0x80 to 0xbf.
+            # UTF-8 encoded UCS characters may be up to six bytes long.
+            count = 0
+            while count < 5 and count < len(data)   \
+                    and '\x80' <= data[-count-1] <= '\xBF':
+                count -= 1
+            if count < 5 and count < len(data)  \
+                    and '\xC0' <= data[-count-1] <= '\xFD':
+                data = data[:-count-1]
+        return codecs.utf_8_decode(data, errors)
+
+class ReaderError(YAMLError):
+
+    def __init__(self, name, position, character, encoding, reason):
+        self.name = name
+        self.character = character
+        self.position = position
+        self.encoding = encoding
+        self.reason = reason
+
+    def __str__(self):
+        if isinstance(self.character, str):
+            return "'%s' codec can't decode byte #x%02x: %s\n"  \
+                    "  in \"%s\", position %d"    \
+                    % (self.encoding, ord(self.character), self.reason,
+                            self.name, self.position)
+        else:
+            return "unacceptable character #x%04x: %s\n"    \
+                    "  in \"%s\", position %d"    \
+                    % (ord(self.character), self.reason,
+                            self.name, self.position)
+
+class Reader(object):
+    # Reader:
+    # - determines the data encoding and converts it to unicode,
+    # - checks if characters are in allowed range,
+    # - adds '\0' to the end.
+
+    # Reader accepts
+    #  - a `str` object,
+    #  - a `unicode` object,
+    #  - a file-like object with its `read` method returning `str`,
+    #  - a file-like object with its `read` method returning `unicode`.
+
+    # Yeah, it's ugly and slow.
+
+    def __init__(self, stream):
+        self.name = None
+        self.stream = None
+        self.stream_pointer = 0
+        self.eof = True
+        self.buffer = u''
+        self.pointer = 0
+        self.raw_buffer = None
+        self.raw_decode = None
+        self.encoding = None
+        self.index = 0
+        self.line = 0
+        self.column = 0
+        if isinstance(stream, unicode):
+            self.name = "<unicode string>"
+            self.check_printable(stream)
+            self.buffer = stream+u'\0'
+        elif isinstance(stream, str):
+            self.name = "<string>"
+            self.raw_buffer = stream
+            self.determine_encoding()
+        else:
+            self.stream = stream
+            self.name = getattr(stream, 'name', "<file>")
+            self.eof = False
+            self.raw_buffer = ''
+            self.determine_encoding()
+
+    def peek(self, index=0):
+        try:
+            return self.buffer[self.pointer+index]
+        except IndexError:
+            self.update(index+1)
+            return self.buffer[self.pointer+index]
+
+    def prefix(self, length=1):
+        if self.pointer+length >= len(self.buffer):
+            self.update(length)
+        return self.buffer[self.pointer:self.pointer+length]
+
+    def forward(self, length=1):
+        if self.pointer+length+1 >= len(self.buffer):
+            self.update(length+1)
+        while length:
+            ch = self.buffer[self.pointer]
+            self.pointer += 1
+            self.index += 1
+            if ch in u'\n\x85\u2028\u2029'  \
+                    or (ch == u'\r' and self.buffer[self.pointer] != u'\n'):
+                self.line += 1
+                self.column = 0
+            elif ch != u'\uFEFF':
+                self.column += 1
+            length -= 1
+
+    def get_mark(self):
+        if self.stream is None:
+            return Mark(self.name, self.index, self.line, self.column,
+                    self.buffer, self.pointer)
+        else:
+            return Mark(self.name, self.index, self.line, self.column,
+                    None, None)
+
+    def determine_encoding(self):
+        while not self.eof and len(self.raw_buffer) < 2:
+            self.update_raw()
+        if not isinstance(self.raw_buffer, unicode):
+            if self.raw_buffer.startswith(codecs.BOM_UTF16_LE):
+                self.raw_decode = utf_16_le_decode
+                self.encoding = 'utf-16-le'
+            elif self.raw_buffer.startswith(codecs.BOM_UTF16_BE):
+                self.raw_decode = utf_16_be_decode
+                self.encoding = 'utf-16-be'
+            else:
+                self.raw_decode = utf_8_decode
+                self.encoding = 'utf-8'
+        self.update(1)
+
+    NON_PRINTABLE = re.compile(u'[^\x09\x0A\x0D\x20-\x7E\x85\xA0-\uD7FF\uE000-\uFFFD]')
+    def check_printable(self, data):
+        match = self.NON_PRINTABLE.search(data)
+        if match:
+            character = match.group()
+            position = self.index+(len(self.buffer)-self.pointer)+match.start()
+            raise ReaderError(self.name, position, character,
+                    'unicode', "special characters are not allowed")
+
+    def update(self, length):
+        if self.raw_buffer is None:
+            return
+        self.buffer = self.buffer[self.pointer:]
+        self.pointer = 0
+        while len(self.buffer) < length:
+            if not self.eof:
+                self.update_raw()
+            if self.raw_decode is not None:
+                try:
+                    data, converted = self.raw_decode(self.raw_buffer,
+                            'strict', self.eof)
+                except UnicodeDecodeError, exc:
+                    character = exc.object[exc.start]
+                    if self.stream is not None:
+                        position = self.stream_pointer-len(self.raw_buffer)+exc.start
+                    else:
+                        position = exc.start
+                    raise ReaderError(self.name, position, character,
+                            exc.encoding, exc.reason)
+            else:
+                data = self.raw_buffer
+                converted = len(data)
+            self.check_printable(data)
+            self.buffer += data
+            self.raw_buffer = self.raw_buffer[converted:]
+            if self.eof:
+                self.buffer += u'\0'
+                self.raw_buffer = None
+                break
+
+    def update_raw(self, size=1024):
+        data = self.stream.read(size)
+        if data:
+            self.raw_buffer += data
+            self.stream_pointer += len(data)
+        else:
+            self.eof = True
+
+#try:
+#    import psyco
+#    psyco.bind(Reader)
+#except ImportError:
+#    pass
+
Index: /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/representer.py
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/representer.py	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/representer.py	(revision 902)
@@ -0,0 +1,488 @@
+
+__all__ = ['BaseRepresenter', 'SafeRepresenter', 'Representer',
+    'RepresenterError']
+
+from error import *
+from nodes import *
+
+import datetime
+
+try:
+    set
+except NameError:
+    from sets import Set as set
+
+import sys, copy_reg, types
+
+class RepresenterError(YAMLError):
+    pass
+
+class BaseRepresenter(object):
+
+    yaml_representers = {}
+    yaml_multi_representers = {}
+
+    def __init__(self, default_style=None, default_flow_style=None):
+        self.default_style = default_style
+        self.default_flow_style = default_flow_style
+        self.represented_objects = {}
+        self.object_keeper = []
+        self.alias_key = None
+
+    def represent(self, data):
+        node = self.represent_data(data)
+        self.serialize(node)
+        self.represented_objects = {}
+        self.object_keeper = []
+        self.alias_key = None
+
+    def get_classobj_bases(self, cls):
+        bases = [cls]
+        for base in cls.__bases__:
+            bases.extend(self.get_classobj_bases(base))
+        return bases
+
+    def represent_data(self, data):
+        if self.ignore_aliases(data):
+            self.alias_key = None
+        else:
+            self.alias_key = id(data)
+        if self.alias_key is not None:
+            if self.alias_key in self.represented_objects:
+                node = self.represented_objects[self.alias_key]
+                #if node is None:
+                #    raise RepresenterError("recursive objects are not allowed: %r" % data)
+                return node
+            #self.represented_objects[alias_key] = None
+            self.object_keeper.append(data)
+        data_types = type(data).__mro__
+        if type(data) is types.InstanceType:
+            data_types = self.get_classobj_bases(data.__class__)+list(data_types)
+        if data_types[0] in self.yaml_representers:
+            node = self.yaml_representers[data_types[0]](self, data)
+        else:
+            for data_type in data_types:
+                if data_type in self.yaml_multi_representers:
+                    node = self.yaml_multi_representers[data_type](self, data)
+                    break
+            else:
+                if None in self.yaml_multi_representers:
+                    node = self.yaml_multi_representers[None](self, data)
+                elif None in self.yaml_representers:
+                    node = self.yaml_representers[None](self, data)
+                else:
+                    node = ScalarNode(None, unicode(data))
+        #if alias_key is not None:
+        #    self.represented_objects[alias_key] = node
+        return node
+
+    def add_representer(cls, data_type, representer):
+        if not 'yaml_representers' in cls.__dict__:
+            cls.yaml_representers = cls.yaml_representers.copy()
+        cls.yaml_representers[data_type] = representer
+    add_representer = classmethod(add_representer)
+
+    def add_multi_representer(cls, data_type, representer):
+        if not 'yaml_multi_representers' in cls.__dict__:
+            cls.yaml_multi_representers = cls.yaml_multi_representers.copy()
+        cls.yaml_multi_representers[data_type] = representer
+    add_multi_representer = classmethod(add_multi_representer)
+
+    def represent_scalar(self, tag, value, style=None):
+        if style is None:
+            style = self.default_style
+        node = ScalarNode(tag, value, style=style)
+        if self.alias_key is not None:
+            self.represented_objects[self.alias_key] = node
+        return node
+
+    def represent_sequence(self, tag, sequence, flow_style=None):
+        value = []
+        node = SequenceNode(tag, value, flow_style=flow_style)
+        if self.alias_key is not None:
+            self.represented_objects[self.alias_key] = node
+        best_style = True
+        for item in sequence:
+            node_item = self.represent_data(item)
+            if not (isinstance(node_item, ScalarNode) and not node_item.style):
+                best_style = False
+            value.append(node_item)
+        if flow_style is None:
+            if self.default_flow_style is not None:
+                node.flow_style = self.default_flow_style
+            else:
+                node.flow_style = best_style
+        return node
+
+    def represent_mapping(self, tag, mapping, flow_style=None):
+        value = []
+        node = MappingNode(tag, value, flow_style=flow_style)
+        if self.alias_key is not None:
+            self.represented_objects[self.alias_key] = node
+        best_style = True
+        if hasattr(mapping, 'items'):
+            mapping = mapping.items()
+            mapping.sort()
+        for item_key, item_value in mapping:
+            node_key = self.represent_data(item_key)
+            node_value = self.represent_data(item_value)
+            if not (isinstance(node_key, ScalarNode) and not node_key.style):
+                best_style = False
+            if not (isinstance(node_value, ScalarNode) and not node_value.style):
+                best_style = False
+            value.append((node_key, node_value))
+        if flow_style is None:
+            if self.default_flow_style is not None:
+                node.flow_style = self.default_flow_style
+            else:
+                node.flow_style = best_style
+        return node
+
+    def ignore_aliases(self, data):
+        return False
+
+class SafeRepresenter(BaseRepresenter):
+
+    def ignore_aliases(self, data):
+        if data in [None, ()]:
+            return True
+        if isinstance(data, (str, unicode, bool, int, float)):
+            return True
+
+    def represent_none(self, data):
+        return self.represent_scalar(u'tag:yaml.org,2002:null',
+                u'null')
+
+    def represent_str(self, data):
+        tag = None
+        style = None
+        try:
+            data = unicode(data, 'ascii')
+            tag = u'tag:yaml.org,2002:str'
+        except UnicodeDecodeError:
+            try:
+                data = unicode(data, 'utf-8')
+                tag = u'tag:yaml.org,2002:str'
+            except UnicodeDecodeError:
+                data = data.encode('base64')
+                tag = u'tag:yaml.org,2002:binary'
+                style = '|'
+        return self.represent_scalar(tag, data, style=style)
+
+    def represent_unicode(self, data):
+        return self.represent_scalar(u'tag:yaml.org,2002:str', data)
+
+    def represent_bool(self, data):
+        if data:
+            value = u'true'
+        else:
+            value = u'false'
+        return self.represent_scalar(u'tag:yaml.org,2002:bool', value)
+
+    def represent_int(self, data):
+        return self.represent_scalar(u'tag:yaml.org,2002:int', unicode(data))
+
+    def represent_long(self, data):
+        return self.represent_scalar(u'tag:yaml.org,2002:int', unicode(data))
+
+    inf_value = 1e300
+    while repr(inf_value) != repr(inf_value*inf_value):
+        inf_value *= inf_value
+
+    def represent_float(self, data):
+        if data != data or (data == 0.0 and data == 1.0):
+            value = u'.nan'
+        elif data == self.inf_value:
+            value = u'.inf'
+        elif data == -self.inf_value:
+            value = u'-.inf'
+        else:
+            value = unicode(repr(data)).lower()
+            # Note that in some cases `repr(data)` represents a float number
+            # without the decimal parts.  For instance:
+            #   >>> repr(1e17)
+            #   '1e17'
+            # Unfortunately, this is not a valid float representation according
+            # to the definition of the `!!float` tag.  We fix this by adding
+            # '.0' before the 'e' symbol.
+            if u'.' not in value and u'e' in value:
+                value = value.replace(u'e', u'.0e', 1)
+        return self.represent_scalar(u'tag:yaml.org,2002:float', value)
+
+    def represent_list(self, data):
+        #pairs = (len(data) > 0 and isinstance(data, list))
+        #if pairs:
+        #    for item in data:
+        #        if not isinstance(item, tuple) or len(item) != 2:
+        #            pairs = False
+        #            break
+        #if not pairs:
+            return self.represent_sequence(u'tag:yaml.org,2002:seq', data)
+        #value = []
+        #for item_key, item_value in data:
+        #    value.append(self.represent_mapping(u'tag:yaml.org,2002:map',
+        #        [(item_key, item_value)]))
+        #return SequenceNode(u'tag:yaml.org,2002:pairs', value)
+
+    def represent_dict(self, data):
+        return self.represent_mapping(u'tag:yaml.org,2002:map', data)
+
+    def represent_set(self, data):
+        value = {}
+        for key in data:
+            value[key] = None
+        return self.represent_mapping(u'tag:yaml.org,2002:set', value)
+
+    def represent_date(self, data):
+        value = unicode(data.isoformat())
+        return self.represent_scalar(u'tag:yaml.org,2002:timestamp', value)
+
+    def represent_datetime(self, data):
+        value = unicode(data.isoformat(' '))
+        return self.represent_scalar(u'tag:yaml.org,2002:timestamp', value)
+
+    def represent_yaml_object(self, tag, data, cls, flow_style=None):
+        if hasattr(data, '__getstate__'):
+            state = data.__getstate__()
+        else:
+            state = data.__dict__.copy()
+        return self.represent_mapping(tag, state, flow_style=flow_style)
+
+    def represent_undefined(self, data):
+        raise RepresenterError("cannot represent an object: %s" % data)
+
+SafeRepresenter.add_representer(type(None),
+        SafeRepresenter.represent_none)
+
+SafeRepresenter.add_representer(str,
+        SafeRepresenter.represent_str)
+
+SafeRepresenter.add_representer(unicode,
+        SafeRepresenter.represent_unicode)
+
+SafeRepresenter.add_representer(bool,
+        SafeRepresenter.represent_bool)
+
+SafeRepresenter.add_representer(int,
+        SafeRepresenter.represent_int)
+
+SafeRepresenter.add_representer(long,
+        SafeRepresenter.represent_long)
+
+SafeRepresenter.add_representer(float,
+        SafeRepresenter.represent_float)
+
+SafeRepresenter.add_representer(list,
+        SafeRepresenter.represent_list)
+
+SafeRepresenter.add_representer(tuple,
+        SafeRepresenter.represent_list)
+
+SafeRepresenter.add_representer(dict,
+        SafeRepresenter.represent_dict)
+
+SafeRepresenter.add_representer(set,
+        SafeRepresenter.represent_set)
+
+SafeRepresenter.add_representer(datetime.date,
+        SafeRepresenter.represent_date)
+SafeRepresenter.add_representer(datetime.datetime,
+        SafeRepresenter.represent_datetime)
+
+SafeRepresenter.add_representer(None,
+        SafeRepresenter.represent_undefined)
+
+class Representer(SafeRepresenter):
+
+    def represent_str(self, data):
+        tag = None
+        style = None
+        try:
+            data = unicode(data, 'ascii')
+            tag = u'tag:yaml.org,2002:str'
+        except UnicodeDecodeError:
+            try:
+                data = unicode(data, 'utf-8')
+                tag = u'tag:yaml.org,2002:python/str'
+            except UnicodeDecodeError:
+                data = data.encode('base64')
+                tag = u'tag:yaml.org,2002:binary'
+                style = '|'
+        return self.represent_scalar(tag, data, style=style)
+
+    def represent_unicode(self, data):
+        tag = None
+        try:
+            data.encode('ascii')
+            tag = u'tag:yaml.org,2002:python/unicode'
+        except UnicodeEncodeError:
+            tag = u'tag:yaml.org,2002:str'
+        return self.represent_scalar(tag, data)
+
+    def represent_long(self, data):
+        tag = u'tag:yaml.org,2002:int'
+        if int(data) is not data:
+            tag = u'tag:yaml.org,2002:python/long'
+        return self.represent_scalar(tag, unicode(data))
+
+    def represent_complex(self, data):
+        if data.imag == 0.0:
+            data = u'%r' % data.real
+        elif data.real == 0.0:
+            data = u'%rj' % data.imag
+        elif data.imag > 0:
+            data = u'%r+%rj' % (data.real, data.imag)
+        else:
+            data = u'%r%rj' % (data.real, data.imag)
+        return self.represent_scalar(u'tag:yaml.org,2002:python/complex', data)
+
+    def represent_tuple(self, data):
+        return self.represent_sequence(u'tag:yaml.org,2002:python/tuple', data)
+
+    def represent_name(self, data):
+        name = u'%s.%s' % (data.__module__, data.__name__)
+        return self.represent_scalar(u'tag:yaml.org,2002:python/name:'+name, u'')
+
+    def represent_module(self, data):
+        return self.represent_scalar(
+                u'tag:yaml.org,2002:python/module:'+data.__name__, u'')
+
+    def represent_instance(self, data):
+        # For instances of classic classes, we use __getinitargs__ and
+        # __getstate__ to serialize the data.
+
+        # If data.__getinitargs__ exists, the object must be reconstructed by
+        # calling cls(**args), where args is a tuple returned by
+        # __getinitargs__. Otherwise, the cls.__init__ method should never be
+        # called and the class instance is created by instantiating a trivial
+        # class and assigning to the instance's __class__ variable.
+
+        # If data.__getstate__ exists, it returns the state of the object.
+        # Otherwise, the state of the object is data.__dict__.
+
+        # We produce either a !!python/object or !!python/object/new node.
+        # If data.__getinitargs__ does not exist and state is a dictionary, we
+        # produce a !!python/object node . Otherwise we produce a
+        # !!python/object/new node.
+
+        cls = data.__class__
+        class_name = u'%s.%s' % (cls.__module__, cls.__name__)
+        args = None
+        state = None
+        if hasattr(data, '__getinitargs__'):
+            args = list(data.__getinitargs__())
+        if hasattr(data, '__getstate__'):
+            state = data.__getstate__()
+        else:
+            state = data.__dict__
+        if args is None and isinstance(state, dict):
+            return self.represent_mapping(
+                    u'tag:yaml.org,2002:python/object:'+class_name, state)
+        if isinstance(state, dict) and not state:
+            return self.represent_sequence(
+                    u'tag:yaml.org,2002:python/object/new:'+class_name, args)
+        value = {}
+        if args:
+            value['args'] = args
+        value['state'] = state
+        return self.represent_mapping(
+                u'tag:yaml.org,2002:python/object/new:'+class_name, value)
+
+    def represent_object(self, data):
+        # We use __reduce__ API to save the data. data.__reduce__ returns
+        # a tuple of length 2-5:
+        #   (function, args, state, listitems, dictitems)
+
+        # For reconstructing, we calls function(*args), then set its state,
+        # listitems, and dictitems if they are not None.
+
+        # A special case is when function.__name__ == '__newobj__'. In this
+        # case we create the object with args[0].__new__(*args).
+
+        # Another special case is when __reduce__ returns a string - we don't
+        # support it.
+
+        # We produce a !!python/object, !!python/object/new or
+        # !!python/object/apply node.
+
+        cls = type(data)
+        if cls in copy_reg.dispatch_table:
+            reduce = copy_reg.dispatch_table[cls](data)
+        elif hasattr(data, '__reduce_ex__'):
+            reduce = data.__reduce_ex__(2)
+        elif hasattr(data, '__reduce__'):
+            reduce = data.__reduce__()
+        else:
+            raise RepresenterError("cannot represent object: %r" % data)
+        reduce = (list(reduce)+[None]*5)[:5]
+        function, args, state, listitems, dictitems = reduce
+        args = list(args)
+        if state is None:
+            state = {}
+        if listitems is not None:
+            listitems = list(listitems)
+        if dictitems is not None:
+            dictitems = dict(dictitems)
+        if function.__name__ == '__newobj__':
+            function = args[0]
+            args = args[1:]
+            tag = u'tag:yaml.org,2002:python/object/new:'
+            newobj = True
+        else:
+            tag = u'tag:yaml.org,2002:python/object/apply:'
+            newobj = False
+        function_name = u'%s.%s' % (function.__module__, function.__name__)
+        if not args and not listitems and not dictitems \
+                and isinstance(state, dict) and newobj:
+            return self.represent_mapping(
+                    u'tag:yaml.org,2002:python/object:'+function_name, state)
+        if not listitems and not dictitems  \
+                and isinstance(state, dict) and not state:
+            return self.represent_sequence(tag+function_name, args)
+        value = {}
+        if args:
+            value['args'] = args
+        if state or not isinstance(state, dict):
+            value['state'] = state
+        if listitems:
+            value['listitems'] = listitems
+        if dictitems:
+            value['dictitems'] = dictitems
+        return self.represent_mapping(tag+function_name, value)
+
+Representer.add_representer(str,
+        Representer.represent_str)
+
+Representer.add_representer(unicode,
+        Representer.represent_unicode)
+
+Representer.add_representer(long,
+        Representer.represent_long)
+
+Representer.add_representer(complex,
+        Representer.represent_complex)
+
+Representer.add_representer(tuple,
+        Representer.represent_tuple)
+
+Representer.add_representer(type,
+        Representer.represent_name)
+
+Representer.add_representer(types.ClassType,
+        Representer.represent_name)
+
+Representer.add_representer(types.FunctionType,
+        Representer.represent_name)
+
+Representer.add_representer(types.BuiltinFunctionType,
+        Representer.represent_name)
+
+Representer.add_representer(types.ModuleType,
+        Representer.represent_module)
+
+Representer.add_multi_representer(types.InstanceType,
+        Representer.represent_instance)
+
+Representer.add_multi_representer(object,
+        Representer.represent_object)
+
Index: /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/resolver.py
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/resolver.py	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/resolver.py	(revision 902)
@@ -0,0 +1,223 @@
+
+__all__ = ['BaseResolver', 'Resolver']
+
+from error import *
+from nodes import *
+
+import re
+
+class ResolverError(YAMLError):
+    pass
+
+class BaseResolver(object):
+
+    DEFAULT_SCALAR_TAG = u'tag:yaml.org,2002:str'
+    DEFAULT_SEQUENCE_TAG = u'tag:yaml.org,2002:seq'
+    DEFAULT_MAPPING_TAG = u'tag:yaml.org,2002:map'
+
+    yaml_implicit_resolvers = {}
+    yaml_path_resolvers = {}
+
+    def __init__(self):
+        self.resolver_exact_paths = []
+        self.resolver_prefix_paths = []
+
+    def add_implicit_resolver(cls, tag, regexp, first):
+        if not 'yaml_implicit_resolvers' in cls.__dict__:
+            cls.yaml_implicit_resolvers = cls.yaml_implicit_resolvers.copy()
+        if first is None:
+            first = [None]
+        for ch in first:
+            cls.yaml_implicit_resolvers.setdefault(ch, []).append((tag, regexp))
+    add_implicit_resolver = classmethod(add_implicit_resolver)
+
+    def add_path_resolver(cls, tag, path, kind=None):
+        # Note: `add_path_resolver` is experimental.  The API could be changed.
+        # `new_path` is a pattern that is matched against the path from the
+        # root to the node that is being considered.  `node_path` elements are
+        # tuples `(node_check, index_check)`.  `node_check` is a node class:
+        # `ScalarNode`, `SequenceNode`, `MappingNode` or `None`.  `None`
+        # matches any kind of a node.  `index_check` could be `None`, a boolean
+        # value, a string value, or a number.  `None` and `False` match against
+        # any _value_ of sequence and mapping nodes.  `True` matches against
+        # any _key_ of a mapping node.  A string `index_check` matches against
+        # a mapping value that corresponds to a scalar key which content is
+        # equal to the `index_check` value.  An integer `index_check` matches
+        # against a sequence value with the index equal to `index_check`.
+        if not 'yaml_path_resolvers' in cls.__dict__:
+            cls.yaml_path_resolvers = cls.yaml_path_resolvers.copy()
+        new_path = []
+        for element in path:
+            if isinstance(element, (list, tuple)):
+                if len(element) == 2:
+                    node_check, index_check = element
+                elif len(element) == 1:
+                    node_check = element[0]
+                    index_check = True
+                else:
+                    raise ResolverError("Invalid path element: %s" % element)
+            else:
+                node_check = None
+                index_check = element
+            if node_check is str:
+                node_check = ScalarNode
+            elif node_check is list:
+                node_check = SequenceNode
+            elif node_check is dict:
+                node_check = MappingNode
+            elif node_check not in [ScalarNode, SequenceNode, MappingNode]  \
+                    and not isinstance(node_check, basestring)  \
+                    and node_check is not None:
+                raise ResolverError("Invalid node checker: %s" % node_check)
+            if not isinstance(index_check, (basestring, int))   \
+                    and index_check is not None:
+                raise ResolverError("Invalid index checker: %s" % index_check)
+            new_path.append((node_check, index_check))
+        if kind is str:
+            kind = ScalarNode
+        elif kind is list:
+            kind = SequenceNode
+        elif kind is dict:
+            kind = MappingNode
+        elif kind not in [ScalarNode, SequenceNode, MappingNode]    \
+                and kind is not None:
+            raise ResolverError("Invalid node kind: %s" % kind)
+        cls.yaml_path_resolvers[tuple(new_path), kind] = tag
+    add_path_resolver = classmethod(add_path_resolver)
+
+    def descend_resolver(self, current_node, current_index):
+        if not self.yaml_path_resolvers:
+            return
+        exact_paths = {}
+        prefix_paths = []
+        if current_node:
+            depth = len(self.resolver_prefix_paths)
+            for path, kind in self.resolver_prefix_paths[-1]:
+                if self.check_resolver_prefix(depth, path, kind,
+                        current_node, current_index):
+                    if len(path) > depth:
+                        prefix_paths.append((path, kind))
+                    else:
+                        exact_paths[kind] = self.yaml_path_resolvers[path, kind]
+        else:
+            for path, kind in self.yaml_path_resolvers:
+                if not path:
+                    exact_paths[kind] = self.yaml_path_resolvers[path, kind]
+                else:
+                    prefix_paths.append((path, kind))
+        self.resolver_exact_paths.append(exact_paths)
+        self.resolver_prefix_paths.append(prefix_paths)
+
+    def ascend_resolver(self):
+        if not self.yaml_path_resolvers:
+            return
+        self.resolver_exact_paths.pop()
+        self.resolver_prefix_paths.pop()
+
+    def check_resolver_prefix(self, depth, path, kind,
+            current_node, current_index):
+        node_check, index_check = path[depth-1]
+        if isinstance(node_check, basestring):
+            if current_node.tag != node_check:
+                return
+        elif node_check is not None:
+            if not isinstance(current_node, node_check):
+                return
+        if index_check is True and current_index is not None:
+            return
+        if (index_check is False or index_check is None)    \
+                and current_index is None:
+            return
+        if isinstance(index_check, basestring):
+            if not (isinstance(current_index, ScalarNode)
+                    and index_check == current_index.value):
+                return
+        elif isinstance(index_check, int) and not isinstance(index_check, bool):
+            if index_check != current_index:
+                return
+        return True
+
+    def resolve(self, kind, value, implicit):
+        if kind is ScalarNode and implicit[0]:
+            if value == u'':
+                resolvers = self.yaml_implicit_resolvers.get(u'', [])
+            else:
+                resolvers = self.yaml_implicit_resolvers.get(value[0], [])
+            resolvers += self.yaml_implicit_resolvers.get(None, [])
+            for tag, regexp in resolvers:
+                if regexp.match(value):
+                    return tag
+            implicit = implicit[1]
+        if self.yaml_path_resolvers:
+            exact_paths = self.resolver_exact_paths[-1]
+            if kind in exact_paths:
+                return exact_paths[kind]
+            if None in exact_paths:
+                return exact_paths[None]
+        if kind is ScalarNode:
+            return self.DEFAULT_SCALAR_TAG
+        elif kind is SequenceNode:
+            return self.DEFAULT_SEQUENCE_TAG
+        elif kind is MappingNode:
+            return self.DEFAULT_MAPPING_TAG
+
+class Resolver(BaseResolver):
+    pass
+
+Resolver.add_implicit_resolver(
+        u'tag:yaml.org,2002:bool',
+        re.compile(ur'''^(?:yes|Yes|YES|no|No|NO
+                    |true|True|TRUE|false|False|FALSE
+                    |on|On|ON|off|Off|OFF)$''', re.X),
+        list(u'yYnNtTfFoO'))
+
+Resolver.add_implicit_resolver(
+        u'tag:yaml.org,2002:float',
+        re.compile(ur'''^(?:[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*(?:[eE][-+][0-9]+)?
+                    |[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*
+                    |[-+]?\.(?:inf|Inf|INF)
+                    |\.(?:nan|NaN|NAN))$''', re.X),
+        list(u'-+0123456789.'))
+
+Resolver.add_implicit_resolver(
+        u'tag:yaml.org,2002:int',
+        re.compile(ur'''^(?:[-+]?0b[0-1_]+
+                    |[-+]?0[0-7_]+
+                    |[-+]?(?:0|[1-9][0-9_]*)
+                    |[-+]?0x[0-9a-fA-F_]+
+                    |[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)$''', re.X),
+        list(u'-+0123456789'))
+
+Resolver.add_implicit_resolver(
+        u'tag:yaml.org,2002:merge',
+        re.compile(ur'^(?:<<)$'),
+        ['<'])
+
+Resolver.add_implicit_resolver(
+        u'tag:yaml.org,2002:null',
+        re.compile(ur'''^(?: ~
+                    |null|Null|NULL
+                    | )$''', re.X),
+        [u'~', u'n', u'N', u''])
+
+Resolver.add_implicit_resolver(
+        u'tag:yaml.org,2002:timestamp',
+        re.compile(ur'''^(?:[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]
+                    |[0-9][0-9][0-9][0-9] -[0-9][0-9]? -[0-9][0-9]?
+                     (?:[Tt]|[ \t]+)[0-9][0-9]?
+                     :[0-9][0-9] :[0-9][0-9] (?:\.[0-9]*)?
+                     (?:[ \t]*(?:Z|[-+][0-9][0-9]?(?::[0-9][0-9])?))?)$''', re.X),
+        list(u'0123456789'))
+
+Resolver.add_implicit_resolver(
+        u'tag:yaml.org,2002:value',
+        re.compile(ur'^(?:=)$'),
+        ['='])
+
+# The following resolver is only for documentation purposes. It cannot work
+# because plain scalars cannot start with '!', '&', or '*'.
+Resolver.add_implicit_resolver(
+        u'tag:yaml.org,2002:yaml',
+        re.compile(ur'^(?:!|&|\*)$'),
+        list(u'!&*'))
+
Index: /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/scanner.py
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/scanner.py	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/scanner.py	(revision 902)
@@ -0,0 +1,1456 @@
+
+# Scanner produces tokens of the following types:
+# STREAM-START
+# STREAM-END
+# DIRECTIVE(name, value)
+# DOCUMENT-START
+# DOCUMENT-END
+# BLOCK-SEQUENCE-START
+# BLOCK-MAPPING-START
+# BLOCK-END
+# FLOW-SEQUENCE-START
+# FLOW-MAPPING-START
+# FLOW-SEQUENCE-END
+# FLOW-MAPPING-END
+# BLOCK-ENTRY
+# FLOW-ENTRY
+# KEY
+# VALUE
+# ALIAS(value)
+# ANCHOR(value)
+# TAG(value)
+# SCALAR(value, plain, style)
+#
+# Read comments in the Scanner code for more details.
+#
+
+__all__ = ['Scanner', 'ScannerError']
+
+from error import MarkedYAMLError
+from tokens import *
+
+class ScannerError(MarkedYAMLError):
+    pass
+
+class SimpleKey(object):
+    # See below simple keys treatment.
+
+    def __init__(self, token_number, required, index, line, column, mark):
+        self.token_number = token_number
+        self.required = required
+        self.index = index
+        self.line = line
+        self.column = column
+        self.mark = mark
+
+class Scanner(object):
+
+    def __init__(self):
+        """Initialize the scanner."""
+        # It is assumed that Scanner and Reader will have a common descendant.
+        # Reader do the dirty work of checking for BOM and converting the
+        # input data to Unicode. It also adds NUL to the end.
+        #
+        # Reader supports the following methods
+        #   self.peek(i=0)       # peek the next i-th character
+        #   self.prefix(l=1)     # peek the next l characters
+        #   self.forward(l=1)    # read the next l characters and move the pointer.
+
+        # Had we reached the end of the stream?
+        self.done = False
+
+        # The number of unclosed '{' and '['. `flow_level == 0` means block
+        # context.
+        self.flow_level = 0
+
+        # List of processed tokens that are not yet emitted.
+        self.tokens = []
+
+        # Add the STREAM-START token.
+        self.fetch_stream_start()
+
+        # Number of tokens that were emitted through the `get_token` method.
+        self.tokens_taken = 0
+
+        # The current indentation level.
+        self.indent = -1
+
+        # Past indentation levels.
+        self.indents = []
+
+        # Variables related to simple keys treatment.
+
+        # A simple key is a key that is not denoted by the '?' indicator.
+        # Example of simple keys:
+        #   ---
+        #   block simple key: value
+        #   ? not a simple key:
+        #   : { flow simple key: value }
+        # We emit the KEY token before all keys, so when we find a potential
+        # simple key, we try to locate the corresponding ':' indicator.
+        # Simple keys should be limited to a single line and 1024 characters.
+
+        # Can a simple key start at the current position? A simple key may
+        # start:
+        # - at the beginning of the line, not counting indentation spaces
+        #       (in block context),
+        # - after '{', '[', ',' (in the flow context),
+        # - after '?', ':', '-' (in the block context).
+        # In the block context, this flag also signifies if a block collection
+        # may start at the current position.
+        self.allow_simple_key = True
+
+        # Keep track of possible simple keys. This is a dictionary. The key
+        # is `flow_level`; there can be no more that one possible simple key
+        # for each level. The value is a SimpleKey record:
+        #   (token_number, required, index, line, column, mark)
+        # A simple key may start with ALIAS, ANCHOR, TAG, SCALAR(flow),
+        # '[', or '{' tokens.
+        self.possible_simple_keys = {}
+
+    # Public methods.
+
+    def check_token(self, *choices):
+        # Check if the next token is one of the given types.
+        while self.need_more_tokens():
+            self.fetch_more_tokens()
+        if self.tokens:
+            if not choices:
+                return True
+            for choice in choices:
+                if isinstance(self.tokens[0], choice):
+                    return True
+        return False
+
+    def peek_token(self):
+        # Return the next token, but do not delete if from the queue.
+        while self.need_more_tokens():
+            self.fetch_more_tokens()
+        if self.tokens:
+            return self.tokens[0]
+
+    def get_token(self):
+        # Return the next token.
+        while self.need_more_tokens():
+            self.fetch_more_tokens()
+        if self.tokens:
+            self.tokens_taken += 1
+            return self.tokens.pop(0)
+
+    # Private methods.
+
+    def need_more_tokens(self):
+        if self.done:
+            return False
+        if not self.tokens:
+            return True
+        # The current token may be a potential simple key, so we
+        # need to look further.
+        self.stale_possible_simple_keys()
+        if self.next_possible_simple_key() == self.tokens_taken:
+            return True
+
+    def fetch_more_tokens(self):
+
+        # Eat whitespaces and comments until we reach the next token.
+        self.scan_to_next_token()
+
+        # Remove obsolete possible simple keys.
+        self.stale_possible_simple_keys()
+
+        # Compare the current indentation and column. It may add some tokens
+        # and decrease the current indentation level.
+        self.unwind_indent(self.column)
+
+        # Peek the next character.
+        ch = self.peek()
+
+        # Is it the end of stream?
+        if ch == u'\0':
+            return self.fetch_stream_end()
+
+        # Is it a directive?
+        if ch == u'%' and self.check_directive():
+            return self.fetch_directive()
+
+        # Is it the document start?
+        if ch == u'-' and self.check_document_start():
+            return self.fetch_document_start()
+
+        # Is it the document end?
+        if ch == u'.' and self.check_document_end():
+            return self.fetch_document_end()
+
+        # TODO: support for BOM within a stream.
+        #if ch == u'\uFEFF':
+        #    return self.fetch_bom()    <-- issue BOMToken
+
+        # Note: the order of the following checks is NOT significant.
+
+        # Is it the flow sequence start indicator?
+        if ch == u'[':
+            return self.fetch_flow_sequence_start()
+
+        # Is it the flow mapping start indicator?
+        if ch == u'{':
+            return self.fetch_flow_mapping_start()
+
+        # Is it the flow sequence end indicator?
+        if ch == u']':
+            return self.fetch_flow_sequence_end()
+
+        # Is it the flow mapping end indicator?
+        if ch == u'}':
+            return self.fetch_flow_mapping_end()
+
+        # Is it the flow entry indicator?
+        if ch == u',':
+            return self.fetch_flow_entry()
+
+        # Is it the block entry indicator?
+        if ch == u'-' and self.check_block_entry():
+            return self.fetch_block_entry()
+
+        # Is it the key indicator?
+        if ch == u'?' and self.check_key():
+            return self.fetch_key()
+
+        # Is it the value indicator?
+        if ch == u':' and self.check_value():
+            return self.fetch_value()
+
+        # Is it an alias?
+        if ch == u'*':
+            return self.fetch_alias()
+
+        # Is it an anchor?
+        if ch == u'&':
+            return self.fetch_anchor()
+
+        # Is it a tag?
+        if ch == u'!':
+            return self.fetch_tag()
+
+        # Is it a literal scalar?
+        if ch == u'|' and not self.flow_level:
+            return self.fetch_literal()
+
+        # Is it a folded scalar?
+        if ch == u'>' and not self.flow_level:
+            return self.fetch_folded()
+
+        # Is it a single quoted scalar?
+        if ch == u'\'':
+            return self.fetch_single()
+
+        # Is it a double quoted scalar?
+        if ch == u'\"':
+            return self.fetch_double()
+
+        # It must be a plain scalar then.
+        if self.check_plain():
+            return self.fetch_plain()
+
+        # No? It's an error. Let's produce a nice error message.
+        raise ScannerError("while scanning for the next token", None,
+                "found character %r that cannot start any token"
+                % ch.encode('utf-8'), self.get_mark())
+
+    # Simple keys treatment.
+
+    def next_possible_simple_key(self):
+        # Return the number of the nearest possible simple key. Actually we
+        # don't need to loop through the whole dictionary. We may replace it
+        # with the following code:
+        #   if not self.possible_simple_keys:
+        #       return None
+        #   return self.possible_simple_keys[
+        #           min(self.possible_simple_keys.keys())].token_number
+        min_token_number = None
+        for level in self.possible_simple_keys:
+            key = self.possible_simple_keys[level]
+            if min_token_number is None or key.token_number < min_token_number:
+                min_token_number = key.token_number
+        return min_token_number
+
+    def stale_possible_simple_keys(self):
+        # Remove entries that are no longer possible simple keys. According to
+        # the YAML specification, simple keys
+        # - should be limited to a single line,
+        # - should be no longer than 1024 characters.
+        # Disabling this procedure will allow simple keys of any length and
+        # height (may cause problems if indentation is broken though).
+        for level in self.possible_simple_keys.keys():
+            key = self.possible_simple_keys[level]
+            if key.line != self.line  \
+                    or self.index-key.index > 1024:
+                if key.required:
+                    raise ScannerError("while scanning a simple key", key.mark,
+                            "could not found expected ':'", self.get_mark())
+                del self.possible_simple_keys[level]
+
+    def save_possible_simple_key(self):
+        # The next token may start a simple key. We check if it's possible
+        # and save its position. This function is called for
+        #   ALIAS, ANCHOR, TAG, SCALAR(flow), '[', and '{'.
+
+        # Check if a simple key is required at the current position.
+        required = not self.flow_level and self.indent == self.column
+
+        # A simple key is required only if it is the first token in the current
+        # line. Therefore it is always allowed.
+        assert self.allow_simple_key or not required
+
+        # The next token might be a simple key. Let's save it's number and
+        # position.
+        if self.allow_simple_key:
+            self.remove_possible_simple_key()
+            token_number = self.tokens_taken+len(self.tokens)
+            key = SimpleKey(token_number, required,
+                    self.index, self.line, self.column, self.get_mark())
+            self.possible_simple_keys[self.flow_level] = key
+
+    def remove_possible_simple_key(self):
+        # Remove the saved possible key position at the current flow level.
+        if self.flow_level in self.possible_simple_keys:
+            key = self.possible_simple_keys[self.flow_level]
+            
+            if key.required:
+                raise ScannerError("while scanning a simple key", key.mark,
+                        "could not found expected ':'", self.get_mark())
+
+            del self.possible_simple_keys[self.flow_level]
+
+    # Indentation functions.
+
+    def unwind_indent(self, column):
+
+        ## In flow context, tokens should respect indentation.
+        ## Actually the condition should be `self.indent >= column` according to
+        ## the spec. But this condition will prohibit intuitively correct
+        ## constructions such as
+        ## key : {
+        ## }
+        #if self.flow_level and self.indent > column:
+        #    raise ScannerError(None, None,
+        #            "invalid intendation or unclosed '[' or '{'",
+        #            self.get_mark())
+
+        # In the flow context, indentation is ignored. We make the scanner less
+        # restrictive then specification requires.
+        if self.flow_level:
+            return
+
+        # In block context, we may need to issue the BLOCK-END tokens.
+        while self.indent > column:
+            mark = self.get_mark()
+            self.indent = self.indents.pop()
+            self.tokens.append(BlockEndToken(mark, mark))
+
+    def add_indent(self, column):
+        # Check if we need to increase indentation.
+        if self.indent < column:
+            self.indents.append(self.indent)
+            self.indent = column
+            return True
+        return False
+
+    # Fetchers.
+
+    def fetch_stream_start(self):
+        # We always add STREAM-START as the first token and STREAM-END as the
+        # last token.
+
+        # Read the token.
+        mark = self.get_mark()
+        
+        # Add STREAM-START.
+        self.tokens.append(StreamStartToken(mark, mark,
+            encoding=self.encoding))
+        
+
+    def fetch_stream_end(self):
+
+        # Set the current intendation to -1.
+        self.unwind_indent(-1)
+
+        # Reset everything (not really needed).
+        self.allow_simple_key = False
+        self.possible_simple_keys = {}
+
+        # Read the token.
+        mark = self.get_mark()
+        
+        # Add STREAM-END.
+        self.tokens.append(StreamEndToken(mark, mark))
+
+        # The steam is finished.
+        self.done = True
+
+    def fetch_directive(self):
+        
+        # Set the current intendation to -1.
+        self.unwind_indent(-1)
+
+        # Reset simple keys.
+        self.remove_possible_simple_key()
+        self.allow_simple_key = False
+
+        # Scan and add DIRECTIVE.
+        self.tokens.append(self.scan_directive())
+
+    def fetch_document_start(self):
+        self.fetch_document_indicator(DocumentStartToken)
+
+    def fetch_document_end(self):
+        self.fetch_document_indicator(DocumentEndToken)
+
+    def fetch_document_indicator(self, TokenClass):
+
+        # Set the current intendation to -1.
+        self.unwind_indent(-1)
+
+        # Reset simple keys. Note that there could not be a block collection
+        # after '---'.
+        self.remove_possible_simple_key()
+        self.allow_simple_key = False
+
+        # Add DOCUMENT-START or DOCUMENT-END.
+        start_mark = self.get_mark()
+        self.forward(3)
+        end_mark = self.get_mark()
+        self.tokens.append(TokenClass(start_mark, end_mark))
+
+    def fetch_flow_sequence_start(self):
+        self.fetch_flow_collection_start(FlowSequenceStartToken)
+
+    def fetch_flow_mapping_start(self):
+        self.fetch_flow_collection_start(FlowMappingStartToken)
+
+    def fetch_flow_collection_start(self, TokenClass):
+
+        # '[' and '{' may start a simple key.
+        self.save_possible_simple_key()
+
+        # Increase the flow level.
+        self.flow_level += 1
+
+        # Simple keys are allowed after '[' and '{'.
+        self.allow_simple_key = True
+
+        # Add FLOW-SEQUENCE-START or FLOW-MAPPING-START.
+        start_mark = self.get_mark()
+        self.forward()
+        end_mark = self.get_mark()
+        self.tokens.append(TokenClass(start_mark, end_mark))
+
+    def fetch_flow_sequence_end(self):
+        self.fetch_flow_collection_end(FlowSequenceEndToken)
+
+    def fetch_flow_mapping_end(self):
+        self.fetch_flow_collection_end(FlowMappingEndToken)
+
+    def fetch_flow_collection_end(self, TokenClass):
+
+        # Reset possible simple key on the current level.
+        self.remove_possible_simple_key()
+
+        # Decrease the flow level.
+        self.flow_level -= 1
+
+        # No simple keys after ']' or '}'.
+        self.allow_simple_key = False
+
+        # Add FLOW-SEQUENCE-END or FLOW-MAPPING-END.
+        start_mark = self.get_mark()
+        self.forward()
+        end_mark = self.get_mark()
+        self.tokens.append(TokenClass(start_mark, end_mark))
+
+    def fetch_flow_entry(self):
+
+        # Simple keys are allowed after ','.
+        self.allow_simple_key = True
+
+        # Reset possible simple key on the current level.
+        self.remove_possible_simple_key()
+
+        # Add FLOW-ENTRY.
+        start_mark = self.get_mark()
+        self.forward()
+        end_mark = self.get_mark()
+        self.tokens.append(FlowEntryToken(start_mark, end_mark))
+
+    def fetch_block_entry(self):
+
+        # Block context needs additional checks.
+        if not self.flow_level:
+
+            # Are we allowed to start a new entry?
+            if not self.allow_simple_key:
+                raise ScannerError(None, None,
+                        "sequence entries are not allowed here",
+                        self.get_mark())
+
+            # We may need to add BLOCK-SEQUENCE-START.
+            if self.add_indent(self.column):
+                mark = self.get_mark()
+                self.tokens.append(BlockSequenceStartToken(mark, mark))
+
+        # It's an error for the block entry to occur in the flow context,
+        # but we let the parser detect this.
+        else:
+            pass
+
+        # Simple keys are allowed after '-'.
+        self.allow_simple_key = True
+
+        # Reset possible simple key on the current level.
+        self.remove_possible_simple_key()
+
+        # Add BLOCK-ENTRY.
+        start_mark = self.get_mark()
+        self.forward()
+        end_mark = self.get_mark()
+        self.tokens.append(BlockEntryToken(start_mark, end_mark))
+
+    def fetch_key(self):
+        
+        # Block context needs additional checks.
+        if not self.flow_level:
+
+            # Are we allowed to start a key (not nessesary a simple)?
+            if not self.allow_simple_key:
+                raise ScannerError(None, None,
+                        "mapping keys are not allowed here",
+                        self.get_mark())
+
+            # We may need to add BLOCK-MAPPING-START.
+            if self.add_indent(self.column):
+                mark = self.get_mark()
+                self.tokens.append(BlockMappingStartToken(mark, mark))
+
+        # Simple keys are allowed after '?' in the block context.
+        self.allow_simple_key = not self.flow_level
+
+        # Reset possible simple key on the current level.
+        self.remove_possible_simple_key()
+
+        # Add KEY.
+        start_mark = self.get_mark()
+        self.forward()
+        end_mark = self.get_mark()
+        self.tokens.append(KeyToken(start_mark, end_mark))
+
+    def fetch_value(self):
+
+        # Do we determine a simple key?
+        if self.flow_level in self.possible_simple_keys:
+
+            # Add KEY.
+            key = self.possible_simple_keys[self.flow_level]
+            del self.possible_simple_keys[self.flow_level]
+            self.tokens.insert(key.token_number-self.tokens_taken,
+                    KeyToken(key.mark, key.mark))
+
+            # If this key starts a new block mapping, we need to add
+            # BLOCK-MAPPING-START.
+            if not self.flow_level:
+                if self.add_indent(key.column):
+                    self.tokens.insert(key.token_number-self.tokens_taken,
+                            BlockMappingStartToken(key.mark, key.mark))
+
+            # There cannot be two simple keys one after another.
+            self.allow_simple_key = False
+
+        # It must be a part of a complex key.
+        else:
+            
+            # Block context needs additional checks.
+            # (Do we really need them? They will be catched by the parser
+            # anyway.)
+            if not self.flow_level:
+
+                # We are allowed to start a complex value if and only if
+                # we can start a simple key.
+                if not self.allow_simple_key:
+                    raise ScannerError(None, None,
+                            "mapping values are not allowed here",
+                            self.get_mark())
+
+            # If this value starts a new block mapping, we need to add
+            # BLOCK-MAPPING-START.  It will be detected as an error later by
+            # the parser.
+            if not self.flow_level:
+                if self.add_indent(self.column):
+                    mark = self.get_mark()
+                    self.tokens.append(BlockMappingStartToken(mark, mark))
+
+            # Simple keys are allowed after ':' in the block context.
+            self.allow_simple_key = not self.flow_level
+
+            # Reset possible simple key on the current level.
+            self.remove_possible_simple_key()
+
+        # Add VALUE.
+        start_mark = self.get_mark()
+        self.forward()
+        end_mark = self.get_mark()
+        self.tokens.append(ValueToken(start_mark, end_mark))
+
+    def fetch_alias(self):
+
+        # ALIAS could be a simple key.
+        self.save_possible_simple_key()
+
+        # No simple keys after ALIAS.
+        self.allow_simple_key = False
+
+        # Scan and add ALIAS.
+        self.tokens.append(self.scan_anchor(AliasToken))
+
+    def fetch_anchor(self):
+
+        # ANCHOR could start a simple key.
+        self.save_possible_simple_key()
+
+        # No simple keys after ANCHOR.
+        self.allow_simple_key = False
+
+        # Scan and add ANCHOR.
+        self.tokens.append(self.scan_anchor(AnchorToken))
+
+    def fetch_tag(self):
+
+        # TAG could start a simple key.
+        self.save_possible_simple_key()
+
+        # No simple keys after TAG.
+        self.allow_simple_key = False
+
+        # Scan and add TAG.
+        self.tokens.append(self.scan_tag())
+
+    def fetch_literal(self):
+        self.fetch_block_scalar(style='|')
+
+    def fetch_folded(self):
+        self.fetch_block_scalar(style='>')
+
+    def fetch_block_scalar(self, style):
+
+        # A simple key may follow a block scalar.
+        self.allow_simple_key = True
+
+        # Reset possible simple key on the current level.
+        self.remove_possible_simple_key()
+
+        # Scan and add SCALAR.
+        self.tokens.append(self.scan_block_scalar(style))
+
+    def fetch_single(self):
+        self.fetch_flow_scalar(style='\'')
+
+    def fetch_double(self):
+        self.fetch_flow_scalar(style='"')
+
+    def fetch_flow_scalar(self, style):
+
+        # A flow scalar could be a simple key.
+        self.save_possible_simple_key()
+
+        # No simple keys after flow scalars.
+        self.allow_simple_key = False
+
+        # Scan and add SCALAR.
+        self.tokens.append(self.scan_flow_scalar(style))
+
+    def fetch_plain(self):
+
+        # A plain scalar could be a simple key.
+        self.save_possible_simple_key()
+
+        # No simple keys after plain scalars. But note that `scan_plain` will
+        # change this flag if the scan is finished at the beginning of the
+        # line.
+        self.allow_simple_key = False
+
+        # Scan and add SCALAR. May change `allow_simple_key`.
+        self.tokens.append(self.scan_plain())
+
+    # Checkers.
+
+    def check_directive(self):
+
+        # DIRECTIVE:        ^ '%' ...
+        # The '%' indicator is already checked.
+        if self.column == 0:
+            return True
+
+    def check_document_start(self):
+
+        # DOCUMENT-START:   ^ '---' (' '|'\n')
+        if self.column == 0:
+            if self.prefix(3) == u'---'  \
+                    and self.peek(3) in u'\0 \t\r\n\x85\u2028\u2029':
+                return True
+
+    def check_document_end(self):
+
+        # DOCUMENT-END:     ^ '...' (' '|'\n')
+        if self.column == 0:
+            if self.prefix(3) == u'...'  \
+                    and self.peek(3) in u'\0 \t\r\n\x85\u2028\u2029':
+                return True
+
+    def check_block_entry(self):
+
+        # BLOCK-ENTRY:      '-' (' '|'\n')
+        return self.peek(1) in u'\0 \t\r\n\x85\u2028\u2029'
+
+    def check_key(self):
+
+        # KEY(flow context):    '?'
+        if self.flow_level:
+            return True
+
+        # KEY(block context):   '?' (' '|'\n')
+        else:
+            return self.peek(1) in u'\0 \t\r\n\x85\u2028\u2029'
+
+    def check_value(self):
+
+        # VALUE(flow context):  ':'
+        if self.flow_level:
+            return True
+
+        # VALUE(block context): ':' (' '|'\n')
+        else:
+            return self.peek(1) in u'\0 \t\r\n\x85\u2028\u2029'
+
+    def check_plain(self):
+
+        # A plain scalar may start with any non-space character except:
+        #   '-', '?', ':', ',', '[', ']', '{', '}',
+        #   '#', '&', '*', '!', '|', '>', '\'', '\"',
+        #   '%', '@', '`'.
+        #
+        # It may also start with
+        #   '-', '?', ':'
+        # if it is followed by a non-space character.
+        #
+        # Note that we limit the last rule to the block context (except the
+        # '-' character) because we want the flow context to be space
+        # independent.
+        ch = self.peek()
+        return ch not in u'\0 \t\r\n\x85\u2028\u2029-?:,[]{}#&*!|>\'\"%@`'  \
+                or (self.peek(1) not in u'\0 \t\r\n\x85\u2028\u2029'
+                        and (ch == u'-' or (not self.flow_level and ch in u'?:')))
+
+    # Scanners.
+
+    def scan_to_next_token(self):
+        # We ignore spaces, line breaks and comments.
+        # If we find a line break in the block context, we set the flag
+        # `allow_simple_key` on.
+        # The byte order mark is stripped if it's the first character in the
+        # stream. We do not yet support BOM inside the stream as the
+        # specification requires. Any such mark will be considered as a part
+        # of the document.
+        #
+        # TODO: We need to make tab handling rules more sane. A good rule is
+        #   Tabs cannot precede tokens
+        #   BLOCK-SEQUENCE-START, BLOCK-MAPPING-START, BLOCK-END,
+        #   KEY(block), VALUE(block), BLOCK-ENTRY
+        # So the checking code is
+        #   if <TAB>:
+        #       self.allow_simple_keys = False
+        # We also need to add the check for `allow_simple_keys == True` to
+        # `unwind_indent` before issuing BLOCK-END.
+        # Scanners for block, flow, and plain scalars need to be modified.
+
+        if self.index == 0 and self.peek() == u'\uFEFF':
+            self.forward()
+        found = False
+        while not found:
+            while self.peek() == u' ':
+                self.forward()
+            if self.peek() == u'#':
+                while self.peek() not in u'\0\r\n\x85\u2028\u2029':
+                    self.forward()
+            if self.scan_line_break():
+                if not self.flow_level:
+                    self.allow_simple_key = True
+            else:
+                found = True
+
+    def scan_directive(self):
+        # See the specification for details.
+        start_mark = self.get_mark()
+        self.forward()
+        name = self.scan_directive_name(start_mark)
+        value = None
+        if name == u'YAML':
+            value = self.scan_yaml_directive_value(start_mark)
+            end_mark = self.get_mark()
+        elif name == u'TAG':
+            value = self.scan_tag_directive_value(start_mark)
+            end_mark = self.get_mark()
+        else:
+            end_mark = self.get_mark()
+            while self.peek() not in u'\0\r\n\x85\u2028\u2029':
+                self.forward()
+        self.scan_directive_ignored_line(start_mark)
+        return DirectiveToken(name, value, start_mark, end_mark)
+
+    def scan_directive_name(self, start_mark):
+        # See the specification for details.
+        length = 0
+        ch = self.peek(length)
+        while u'0' <= ch <= u'9' or u'A' <= ch <= 'Z' or u'a' <= ch <= 'z'  \
+                or ch in u'-_':
+            length += 1
+            ch = self.peek(length)
+        if not length:
+            raise ScannerError("while scanning a directive", start_mark,
+                    "expected alphabetic or numeric character, but found %r"
+                    % ch.encode('utf-8'), self.get_mark())
+        value = self.prefix(length)
+        self.forward(length)
+        ch = self.peek()
+        if ch not in u'\0 \r\n\x85\u2028\u2029':
+            raise ScannerError("while scanning a directive", start_mark,
+                    "expected alphabetic or numeric character, but found %r"
+                    % ch.encode('utf-8'), self.get_mark())
+        return value
+
+    def scan_yaml_directive_value(self, start_mark):
+        # See the specification for details.
+        while self.peek() == u' ':
+            self.forward()
+        major = self.scan_yaml_directive_number(start_mark)
+        if self.peek() != '.':
+            raise ScannerError("while scanning a directive", start_mark,
+                    "expected a digit or '.', but found %r"
+                    % self.peek().encode('utf-8'),
+                    self.get_mark())
+        self.forward()
+        minor = self.scan_yaml_directive_number(start_mark)
+        if self.peek() not in u'\0 \r\n\x85\u2028\u2029':
+            raise ScannerError("while scanning a directive", start_mark,
+                    "expected a digit or ' ', but found %r"
+                    % self.peek().encode('utf-8'),
+                    self.get_mark())
+        return (major, minor)
+
+    def scan_yaml_directive_number(self, start_mark):
+        # See the specification for details.
+        ch = self.peek()
+        if not (u'0' <= ch <= '9'):
+            raise ScannerError("while scanning a directive", start_mark,
+                    "expected a digit, but found %r" % ch.encode('utf-8'),
+                    self.get_mark())
+        length = 0
+        while u'0' <= self.peek(length) <= u'9':
+            length += 1
+        value = int(self.prefix(length))
+        self.forward(length)
+        return value
+
+    def scan_tag_directive_value(self, start_mark):
+        # See the specification for details.
+        while self.peek() == u' ':
+            self.forward()
+        handle = self.scan_tag_directive_handle(start_mark)
+        while self.peek() == u' ':
+            self.forward()
+        prefix = self.scan_tag_directive_prefix(start_mark)
+        return (handle, prefix)
+
+    def scan_tag_directive_handle(self, start_mark):
+        # See the specification for details.
+        value = self.scan_tag_handle('directive', start_mark)
+        ch = self.peek()
+        if ch != u' ':
+            raise ScannerError("while scanning a directive", start_mark,
+                    "expected ' ', but found %r" % ch.encode('utf-8'),
+                    self.get_mark())
+        return value
+
+    def scan_tag_directive_prefix(self, start_mark):
+        # See the specification for details.
+        value = self.scan_tag_uri('directive', start_mark)
+        ch = self.peek()
+        if ch not in u'\0 \r\n\x85\u2028\u2029':
+            raise ScannerError("while scanning a directive", start_mark,
+                    "expected ' ', but found %r" % ch.encode('utf-8'),
+                    self.get_mark())
+        return value
+
+    def scan_directive_ignored_line(self, start_mark):
+        # See the specification for details.
+        while self.peek() == u' ':
+            self.forward()
+        if self.peek() == u'#':
+            while self.peek() not in u'\0\r\n\x85\u2028\u2029':
+                self.forward()
+        ch = self.peek()
+        if ch not in u'\0\r\n\x85\u2028\u2029':
+            raise ScannerError("while scanning a directive", start_mark,
+                    "expected a comment or a line break, but found %r"
+                        % ch.encode('utf-8'), self.get_mark())
+        self.scan_line_break()
+
+    def scan_anchor(self, TokenClass):
+        # The specification does not restrict characters for anchors and
+        # aliases. This may lead to problems, for instance, the document:
+        #   [ *alias, value ]
+        # can be interpteted in two ways, as
+        #   [ "value" ]
+        # and
+        #   [ *alias , "value" ]
+        # Therefore we restrict aliases to numbers and ASCII letters.
+        start_mark = self.get_mark()
+        indicator = self.peek()
+        if indicator == '*':
+            name = 'alias'
+        else:
+            name = 'anchor'
+        self.forward()
+        length = 0
+        ch = self.peek(length)
+        while u'0' <= ch <= u'9' or u'A' <= ch <= 'Z' or u'a' <= ch <= 'z'  \
+                or ch in u'-_':
+            length += 1
+            ch = self.peek(length)
+        if not length:
+            raise ScannerError("while scanning an %s" % name, start_mark,
+                    "expected alphabetic or numeric character, but found %r"
+                    % ch.encode('utf-8'), self.get_mark())
+        value = self.prefix(length)
+        self.forward(length)
+        ch = self.peek()
+        if ch not in u'\0 \t\r\n\x85\u2028\u2029?:,]}%@`':
+            raise ScannerError("while scanning an %s" % name, start_mark,
+                    "expected alphabetic or numeric character, but found %r"
+                    % ch.encode('utf-8'), self.get_mark())
+        end_mark = self.get_mark()
+        return TokenClass(value, start_mark, end_mark)
+
+    def scan_tag(self):
+        # See the specification for details.
+        start_mark = self.get_mark()
+        ch = self.peek(1)
+        if ch == u'<':
+            handle = None
+            self.forward(2)
+            suffix = self.scan_tag_uri('tag', start_mark)
+            if self.peek() != u'>':
+                raise ScannerError("while parsing a tag", start_mark,
+                        "expected '>', but found %r" % self.peek().encode('utf-8'),
+                        self.get_mark())
+            self.forward()
+        elif ch in u'\0 \t\r\n\x85\u2028\u2029':
+            handle = None
+            suffix = u'!'
+            self.forward()
+        else:
+            length = 1
+            use_handle = False
+            while ch not in u'\0 \r\n\x85\u2028\u2029':
+                if ch == u'!':
+                    use_handle = True
+                    break
+                length += 1
+                ch = self.peek(length)
+            handle = u'!'
+            if use_handle:
+                handle = self.scan_tag_handle('tag', start_mark)
+            else:
+                handle = u'!'
+                self.forward()
+            suffix = self.scan_tag_uri('tag', start_mark)
+        ch = self.peek()
+        if ch not in u'\0 \r\n\x85\u2028\u2029':
+            raise ScannerError("while scanning a tag", start_mark,
+                    "expected ' ', but found %r" % ch.encode('utf-8'),
+                    self.get_mark())
+        value = (handle, suffix)
+        end_mark = self.get_mark()
+        return TagToken(value, start_mark, end_mark)
+
+    def scan_block_scalar(self, style):
+        # See the specification for details.
+
+        if style == '>':
+            folded = True
+        else:
+            folded = False
+
+        chunks = []
+        start_mark = self.get_mark()
+
+        # Scan the header.
+        self.forward()
+        chomping, increment = self.scan_block_scalar_indicators(start_mark)
+        self.scan_block_scalar_ignored_line(start_mark)
+
+        # Determine the indentation level and go to the first non-empty line.
+        min_indent = self.indent+1
+        if min_indent < 1:
+            min_indent = 1
+        if increment is None:
+            breaks, max_indent, end_mark = self.scan_block_scalar_indentation()
+            indent = max(min_indent, max_indent)
+        else:
+            indent = min_indent+increment-1
+            breaks, end_mark = self.scan_block_scalar_breaks(indent)
+        line_break = u''
+
+        # Scan the inner part of the block scalar.
+        while self.column == indent and self.peek() != u'\0':
+            chunks.extend(breaks)
+            leading_non_space = self.peek() not in u' \t'
+            length = 0
+            while self.peek(length) not in u'\0\r\n\x85\u2028\u2029':
+                length += 1
+            chunks.append(self.prefix(length))
+            self.forward(length)
+            line_break = self.scan_line_break()
+            breaks, end_mark = self.scan_block_scalar_breaks(indent)
+            if self.column == indent and self.peek() != u'\0':
+
+                # Unfortunately, folding rules are ambiguous.
+                #
+                # This is the folding according to the specification:
+                
+                if folded and line_break == u'\n'   \
+                        and leading_non_space and self.peek() not in u' \t':
+                    if not breaks:
+                        chunks.append(u' ')
+                else:
+                    chunks.append(line_break)
+                
+                # This is Clark Evans's interpretation (also in the spec
+                # examples):
+                #
+                #if folded and line_break == u'\n':
+                #    if not breaks:
+                #        if self.peek() not in ' \t':
+                #            chunks.append(u' ')
+                #        else:
+                #            chunks.append(line_break)
+                #else:
+                #    chunks.append(line_break)
+            else:
+                break
+
+        # Chomp the tail.
+        if chomping is not False:
+            chunks.append(line_break)
+        if chomping is True:
+            chunks.extend(breaks)
+
+        # We are done.
+        return ScalarToken(u''.join(chunks), False, start_mark, end_mark,
+                style)
+
+    def scan_block_scalar_indicators(self, start_mark):
+        # See the specification for details.
+        chomping = None
+        increment = None
+        ch = self.peek()
+        if ch in u'+-':
+            if ch == '+':
+                chomping = True
+            else:
+                chomping = False
+            self.forward()
+            ch = self.peek()
+            if ch in u'0123456789':
+                increment = int(ch)
+                if increment == 0:
+                    raise ScannerError("while scanning a block scalar", start_mark,
+                            "expected indentation indicator in the range 1-9, but found 0",
+                            self.get_mark())
+                self.forward()
+        elif ch in u'0123456789':
+            increment = int(ch)
+            if increment == 0:
+                raise ScannerError("while scanning a block scalar", start_mark,
+                        "expected indentation indicator in the range 1-9, but found 0",
+                        self.get_mark())
+            self.forward()
+            ch = self.peek()
+            if ch in u'+-':
+                if ch == '+':
+                    chomping = True
+                else:
+                    chomping = False
+                self.forward()
+        ch = self.peek()
+        if ch not in u'\0 \r\n\x85\u2028\u2029':
+            raise ScannerError("while scanning a block scalar", start_mark,
+                    "expected chomping or indentation indicators, but found %r"
+                        % ch.encode('utf-8'), self.get_mark())
+        return chomping, increment
+
+    def scan_block_scalar_ignored_line(self, start_mark):
+        # See the specification for details.
+        while self.peek() == u' ':
+            self.forward()
+        if self.peek() == u'#':
+            while self.peek() not in u'\0\r\n\x85\u2028\u2029':
+                self.forward()
+        ch = self.peek()
+        if ch not in u'\0\r\n\x85\u2028\u2029':
+            raise ScannerError("while scanning a block scalar", start_mark,
+                    "expected a comment or a line break, but found %r"
+                        % ch.encode('utf-8'), self.get_mark())
+        self.scan_line_break()
+
+    def scan_block_scalar_indentation(self):
+        # See the specification for details.
+        chunks = []
+        max_indent = 0
+        end_mark = self.get_mark()
+        while self.peek() in u' \r\n\x85\u2028\u2029':
+            if self.peek() != u' ':
+                chunks.append(self.scan_line_break())
+                end_mark = self.get_mark()
+            else:
+                self.forward()
+                if self.column > max_indent:
+                    max_indent = self.column
+        return chunks, max_indent, end_mark
+
+    def scan_block_scalar_breaks(self, indent):
+        # See the specification for details.
+        chunks = []
+        end_mark = self.get_mark()
+        while self.column < indent and self.peek() == u' ':
+            self.forward()
+        while self.peek() in u'\r\n\x85\u2028\u2029':
+            chunks.append(self.scan_line_break())
+            end_mark = self.get_mark()
+            while self.column < indent and self.peek() == u' ':
+                self.forward()
+        return chunks, end_mark
+
+    def scan_flow_scalar(self, style):
+        # See the specification for details.
+        # Note that we loose indentation rules for quoted scalars. Quoted
+        # scalars don't need to adhere indentation because " and ' clearly
+        # mark the beginning and the end of them. Therefore we are less
+        # restrictive then the specification requires. We only need to check
+        # that document separators are not included in scalars.
+        if style == '"':
+            double = True
+        else:
+            double = False
+        chunks = []
+        start_mark = self.get_mark()
+        quote = self.peek()
+        self.forward()
+        chunks.extend(self.scan_flow_scalar_non_spaces(double, start_mark))
+        while self.peek() != quote:
+            chunks.extend(self.scan_flow_scalar_spaces(double, start_mark))
+            chunks.extend(self.scan_flow_scalar_non_spaces(double, start_mark))
+        self.forward()
+        end_mark = self.get_mark()
+        return ScalarToken(u''.join(chunks), False, start_mark, end_mark,
+                style)
+
+    ESCAPE_REPLACEMENTS = {
+        u'0':   u'\0',
+        u'a':   u'\x07',
+        u'b':   u'\x08',
+        u't':   u'\x09',
+        u'\t':  u'\x09',
+        u'n':   u'\x0A',
+        u'v':   u'\x0B',
+        u'f':   u'\x0C',
+        u'r':   u'\x0D',
+        u'e':   u'\x1B',
+        u' ':   u'\x20',
+        u'\"':  u'\"',
+        u'\\':  u'\\',
+        u'N':   u'\x85',
+        u'_':   u'\xA0',
+        u'L':   u'\u2028',
+        u'P':   u'\u2029',
+    }
+
+    ESCAPE_CODES = {
+        u'x':   2,
+        u'u':   4,
+        u'U':   8,
+    }
+
+    def scan_flow_scalar_non_spaces(self, double, start_mark):
+        # See the specification for details.
+        chunks = []
+        while True:
+            length = 0
+            while self.peek(length) not in u'\'\"\\\0 \t\r\n\x85\u2028\u2029':
+                length += 1
+            if length:
+                chunks.append(self.prefix(length))
+                self.forward(length)
+            ch = self.peek()
+            if not double and ch == u'\'' and self.peek(1) == u'\'':
+                chunks.append(u'\'')
+                self.forward(2)
+            elif (double and ch == u'\'') or (not double and ch in u'\"\\'):
+                chunks.append(ch)
+                self.forward()
+            elif double and ch == u'\\':
+                self.forward()
+                ch = self.peek()
+                if ch in self.ESCAPE_REPLACEMENTS:
+                    chunks.append(self.ESCAPE_REPLACEMENTS[ch])
+                    self.forward()
+                elif ch in self.ESCAPE_CODES:
+                    length = self.ESCAPE_CODES[ch]
+                    self.forward()
+                    for k in range(length):
+                        if self.peek(k) not in u'0123456789ABCDEFabcdef':
+                            raise ScannerError("while scanning a double-quoted scalar", start_mark,
+                                    "expected escape sequence of %d hexdecimal numbers, but found %r" %
+                                        (length, self.peek(k).encode('utf-8')), self.get_mark())
+                    code = int(self.prefix(length), 16)
+                    chunks.append(unichr(code))
+                    self.forward(length)
+                elif ch in u'\r\n\x85\u2028\u2029':
+                    self.scan_line_break()
+                    chunks.extend(self.scan_flow_scalar_breaks(double, start_mark))
+                else:
+                    raise ScannerError("while scanning a double-quoted scalar", start_mark,
+                            "found unknown escape character %r" % ch.encode('utf-8'), self.get_mark())
+            else:
+                return chunks
+
+    def scan_flow_scalar_spaces(self, double, start_mark):
+        # See the specification for details.
+        chunks = []
+        length = 0
+        while self.peek(length) in u' \t':
+            length += 1
+        whitespaces = self.prefix(length)
+        self.forward(length)
+        ch = self.peek()
+        if ch == u'\0':
+            raise ScannerError("while scanning a quoted scalar", start_mark,
+                    "found unexpected end of stream", self.get_mark())
+        elif ch in u'\r\n\x85\u2028\u2029':
+            line_break = self.scan_line_break()
+            breaks = self.scan_flow_scalar_breaks(double, start_mark)
+            if line_break != u'\n':
+                chunks.append(line_break)
+            elif not breaks:
+                chunks.append(u' ')
+            chunks.extend(breaks)
+        else:
+            chunks.append(whitespaces)
+        return chunks
+
+    def scan_flow_scalar_breaks(self, double, start_mark):
+        # See the specification for details.
+        chunks = []
+        while True:
+            # Instead of checking indentation, we check for document
+            # separators.
+            prefix = self.prefix(3)
+            if (prefix == u'---' or prefix == u'...')   \
+                    and self.peek(3) in u'\0 \t\r\n\x85\u2028\u2029':
+                raise ScannerError("while scanning a quoted scalar", start_mark,
+                        "found unexpected document separator", self.get_mark())
+            while self.peek() in u' \t':
+                self.forward()
+            if self.peek() in u'\r\n\x85\u2028\u2029':
+                chunks.append(self.scan_line_break())
+            else:
+                return chunks
+
+    def scan_plain(self):
+        # See the specification for details.
+        # We add an additional restriction for the flow context:
+        #   plain scalars in the flow context cannot contain ',', ':' and '?'.
+        # We also keep track of the `allow_simple_key` flag here.
+        # Indentation rules are loosed for the flow context.
+        chunks = []
+        start_mark = self.get_mark()
+        end_mark = start_mark
+        indent = self.indent+1
+        # We allow zero indentation for scalars, but then we need to check for
+        # document separators at the beginning of the line.
+        #if indent == 0:
+        #    indent = 1
+        spaces = []
+        while True:
+            length = 0
+            if self.peek() == u'#':
+                break
+            while True:
+                ch = self.peek(length)
+                if ch in u'\0 \t\r\n\x85\u2028\u2029'   \
+                        or (not self.flow_level and ch == u':' and
+                                self.peek(length+1) in u'\0 \t\r\n\x85\u2028\u2029') \
+                        or (self.flow_level and ch in u',:?[]{}'):
+                    break
+                length += 1
+            # It's not clear what we should do with ':' in the flow context.
+            if (self.flow_level and ch == u':'
+                    and self.peek(length+1) not in u'\0 \t\r\n\x85\u2028\u2029,[]{}'):
+                self.forward(length)
+                raise ScannerError("while scanning a plain scalar", start_mark,
+                    "found unexpected ':'", self.get_mark(),
+                    "Please check http://pyyaml.org/wiki/YAMLColonInFlowContext for details.")
+            if length == 0:
+                break
+            self.allow_simple_key = False
+            chunks.extend(spaces)
+            chunks.append(self.prefix(length))
+            self.forward(length)
+            end_mark = self.get_mark()
+            spaces = self.scan_plain_spaces(indent, start_mark)
+            if not spaces or self.peek() == u'#' \
+                    or (not self.flow_level and self.column < indent):
+                break
+        return ScalarToken(u''.join(chunks), True, start_mark, end_mark)
+
+    def scan_plain_spaces(self, indent, start_mark):
+        # See the specification for details.
+        # The specification is really confusing about tabs in plain scalars.
+        # We just forbid them completely. Do not use tabs in YAML!
+        chunks = []
+        length = 0
+        while self.peek(length) in u' ':
+            length += 1
+        whitespaces = self.prefix(length)
+        self.forward(length)
+        ch = self.peek()
+        if ch in u'\r\n\x85\u2028\u2029':
+            line_break = self.scan_line_break()
+            self.allow_simple_key = True
+            prefix = self.prefix(3)
+            if (prefix == u'---' or prefix == u'...')   \
+                    and self.peek(3) in u'\0 \t\r\n\x85\u2028\u2029':
+                return
+            breaks = []
+            while self.peek() in u' \r\n\x85\u2028\u2029':
+                if self.peek() == ' ':
+                    self.forward()
+                else:
+                    breaks.append(self.scan_line_break())
+                    prefix = self.prefix(3)
+                    if (prefix == u'---' or prefix == u'...')   \
+                            and self.peek(3) in u'\0 \t\r\n\x85\u2028\u2029':
+                        return
+            if line_break != u'\n':
+                chunks.append(line_break)
+            elif not breaks:
+                chunks.append(u' ')
+            chunks.extend(breaks)
+        elif whitespaces:
+            chunks.append(whitespaces)
+        return chunks
+
+    def scan_tag_handle(self, name, start_mark):
+        # See the specification for details.
+        # For some strange reasons, the specification does not allow '_' in
+        # tag handles. I have allowed it anyway.
+        ch = self.peek()
+        if ch != u'!':
+            raise ScannerError("while scanning a %s" % name, start_mark,
+                    "expected '!', but found %r" % ch.encode('utf-8'),
+                    self.get_mark())
+        length = 1
+        ch = self.peek(length)
+        if ch != u' ':
+            while u'0' <= ch <= u'9' or u'A' <= ch <= 'Z' or u'a' <= ch <= 'z'  \
+                    or ch in u'-_':
+                length += 1
+                ch = self.peek(length)
+            if ch != u'!':
+                self.forward(length)
+                raise ScannerError("while scanning a %s" % name, start_mark,
+                        "expected '!', but found %r" % ch.encode('utf-8'),
+                        self.get_mark())
+            length += 1
+        value = self.prefix(length)
+        self.forward(length)
+        return value
+
+    def scan_tag_uri(self, name, start_mark):
+        # See the specification for details.
+        # Note: we do not check if URI is well-formed.
+        chunks = []
+        length = 0
+        ch = self.peek(length)
+        while u'0' <= ch <= u'9' or u'A' <= ch <= 'Z' or u'a' <= ch <= 'z'  \
+                or ch in u'-;/?:@&=+$,_.!~*\'()[]%':
+            if ch == u'%':
+                chunks.append(self.prefix(length))
+                self.forward(length)
+                length = 0
+                chunks.append(self.scan_uri_escapes(name, start_mark))
+            else:
+                length += 1
+            ch = self.peek(length)
+        if length:
+            chunks.append(self.prefix(length))
+            self.forward(length)
+            length = 0
+        if not chunks:
+            raise ScannerError("while parsing a %s" % name, start_mark,
+                    "expected URI, but found %r" % ch.encode('utf-8'),
+                    self.get_mark())
+        return u''.join(chunks)
+
+    def scan_uri_escapes(self, name, start_mark):
+        # See the specification for details.
+        bytes = []
+        mark = self.get_mark()
+        while self.peek() == u'%':
+            self.forward()
+            for k in range(2):
+                if self.peek(k) not in u'0123456789ABCDEFabcdef':
+                    raise ScannerError("while scanning a %s" % name, start_mark,
+                            "expected URI escape sequence of 2 hexdecimal numbers, but found %r" %
+                                (self.peek(k).encode('utf-8')), self.get_mark())
+            bytes.append(chr(int(self.prefix(2), 16)))
+            self.forward(2)
+        try:
+            value = unicode(''.join(bytes), 'utf-8')
+        except UnicodeDecodeError, exc:
+            raise ScannerError("while scanning a %s" % name, start_mark, str(exc), mark)
+        return value
+
+    def scan_line_break(self):
+        # Transforms:
+        #   '\r\n'      :   '\n'
+        #   '\r'        :   '\n'
+        #   '\n'        :   '\n'
+        #   '\x85'      :   '\n'
+        #   '\u2028'    :   '\u2028'
+        #   '\u2029     :   '\u2029'
+        #   default     :   ''
+        ch = self.peek()
+        if ch in u'\r\n\x85':
+            if self.prefix(2) == u'\r\n':
+                self.forward(2)
+            else:
+                self.forward()
+            return u'\n'
+        elif ch in u'\u2028\u2029':
+            self.forward()
+            return ch
+        return u''
+
+#try:
+#    import psyco
+#    psyco.bind(Scanner)
+#except ImportError:
+#    pass
+
Index: /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/serializer.py
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/serializer.py	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/serializer.py	(revision 902)
@@ -0,0 +1,111 @@
+
+__all__ = ['Serializer', 'SerializerError']
+
+from error import YAMLError
+from events import *
+from nodes import *
+
+class SerializerError(YAMLError):
+    pass
+
+class Serializer(object):
+
+    ANCHOR_TEMPLATE = u'id%03d'
+
+    def __init__(self, encoding=None,
+            explicit_start=None, explicit_end=None, version=None, tags=None):
+        self.use_encoding = encoding
+        self.use_explicit_start = explicit_start
+        self.use_explicit_end = explicit_end
+        self.use_version = version
+        self.use_tags = tags
+        self.serialized_nodes = {}
+        self.anchors = {}
+        self.last_anchor_id = 0
+        self.closed = None
+
+    def open(self):
+        if self.closed is None:
+            self.emit(StreamStartEvent(encoding=self.use_encoding))
+            self.closed = False
+        elif self.closed:
+            raise SerializerError("serializer is closed")
+        else:
+            raise SerializerError("serializer is already opened")
+
+    def close(self):
+        if self.closed is None:
+            raise SerializerError("serializer is not opened")
+        elif not self.closed:
+            self.emit(StreamEndEvent())
+            self.closed = True
+
+    #def __del__(self):
+    #    self.close()
+
+    def serialize(self, node):
+        if self.closed is None:
+            raise SerializerError("serializer is not opened")
+        elif self.closed:
+            raise SerializerError("serializer is closed")
+        self.emit(DocumentStartEvent(explicit=self.use_explicit_start,
+            version=self.use_version, tags=self.use_tags))
+        self.anchor_node(node)
+        self.serialize_node(node, None, None)
+        self.emit(DocumentEndEvent(explicit=self.use_explicit_end))
+        self.serialized_nodes = {}
+        self.anchors = {}
+        self.last_alias_id = 0
+
+    def anchor_node(self, node):
+        if node in self.anchors:
+            if self.anchors[node] is None:
+                self.anchors[node] = self.generate_anchor(node)
+        else:
+            self.anchors[node] = None
+            if isinstance(node, SequenceNode):
+                for item in node.value:
+                    self.anchor_node(item)
+            elif isinstance(node, MappingNode):
+                for key, value in node.value:
+                    self.anchor_node(key)
+                    self.anchor_node(value)
+
+    def generate_anchor(self, node):
+        self.last_anchor_id += 1
+        return self.ANCHOR_TEMPLATE % self.last_anchor_id
+
+    def serialize_node(self, node, parent, index):
+        alias = self.anchors[node]
+        if node in self.serialized_nodes:
+            self.emit(AliasEvent(alias))
+        else:
+            self.serialized_nodes[node] = True
+            self.descend_resolver(parent, index)
+            if isinstance(node, ScalarNode):
+                detected_tag = self.resolve(ScalarNode, node.value, (True, False))
+                default_tag = self.resolve(ScalarNode, node.value, (False, True))
+                implicit = (node.tag == detected_tag), (node.tag == default_tag)
+                self.emit(ScalarEvent(alias, node.tag, implicit, node.value,
+                    style=node.style))
+            elif isinstance(node, SequenceNode):
+                implicit = (node.tag
+                            == self.resolve(SequenceNode, node.value, True))
+                self.emit(SequenceStartEvent(alias, node.tag, implicit,
+                    flow_style=node.flow_style))
+                index = 0
+                for item in node.value:
+                    self.serialize_node(item, node, index)
+                    index += 1
+                self.emit(SequenceEndEvent())
+            elif isinstance(node, MappingNode):
+                implicit = (node.tag
+                            == self.resolve(MappingNode, node.value, True))
+                self.emit(MappingStartEvent(alias, node.tag, implicit,
+                    flow_style=node.flow_style))
+                for key, value in node.value:
+                    self.serialize_node(key, node, None)
+                    self.serialize_node(value, node, key)
+                self.emit(MappingEndEvent())
+            self.ascend_resolver()
+
Index: /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/tokens.py
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/tokens.py	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/lib/yaml/tokens.py	(revision 902)
@@ -0,0 +1,104 @@
+
+class Token(object):
+    def __init__(self, start_mark, end_mark):
+        self.start_mark = start_mark
+        self.end_mark = end_mark
+    def __repr__(self):
+        attributes = [key for key in self.__dict__
+                if not key.endswith('_mark')]
+        attributes.sort()
+        arguments = ', '.join(['%s=%r' % (key, getattr(self, key))
+                for key in attributes])
+        return '%s(%s)' % (self.__class__.__name__, arguments)
+
+#class BOMToken(Token):
+#    id = '<byte order mark>'
+
+class DirectiveToken(Token):
+    id = '<directive>'
+    def __init__(self, name, value, start_mark, end_mark):
+        self.name = name
+        self.value = value
+        self.start_mark = start_mark
+        self.end_mark = end_mark
+
+class DocumentStartToken(Token):
+    id = '<document start>'
+
+class DocumentEndToken(Token):
+    id = '<document end>'
+
+class StreamStartToken(Token):
+    id = '<stream start>'
+    def __init__(self, start_mark=None, end_mark=None,
+            encoding=None):
+        self.start_mark = start_mark
+        self.end_mark = end_mark
+        self.encoding = encoding
+
+class StreamEndToken(Token):
+    id = '<stream end>'
+
+class BlockSequenceStartToken(Token):
+    id = '<block sequence start>'
+
+class BlockMappingStartToken(Token):
+    id = '<block mapping start>'
+
+class BlockEndToken(Token):
+    id = '<block end>'
+
+class FlowSequenceStartToken(Token):
+    id = '['
+
+class FlowMappingStartToken(Token):
+    id = '{'
+
+class FlowSequenceEndToken(Token):
+    id = ']'
+
+class FlowMappingEndToken(Token):
+    id = '}'
+
+class KeyToken(Token):
+    id = '?'
+
+class ValueToken(Token):
+    id = ':'
+
+class BlockEntryToken(Token):
+    id = '-'
+
+class FlowEntryToken(Token):
+    id = ','
+
+class AliasToken(Token):
+    id = '<alias>'
+    def __init__(self, value, start_mark, end_mark):
+        self.value = value
+        self.start_mark = start_mark
+        self.end_mark = end_mark
+
+class AnchorToken(Token):
+    id = '<anchor>'
+    def __init__(self, value, start_mark, end_mark):
+        self.value = value
+        self.start_mark = start_mark
+        self.end_mark = end_mark
+
+class TagToken(Token):
+    id = '<tag>'
+    def __init__(self, value, start_mark, end_mark):
+        self.value = value
+        self.start_mark = start_mark
+        self.end_mark = end_mark
+
+class ScalarToken(Token):
+    id = '<scalar>'
+    def __init__(self, value, plain, start_mark, end_mark, style=None):
+        self.value = value
+        self.plain = plain
+        self.start_mark = start_mark
+        self.end_mark = end_mark
+        self.style = style
+
Index: /package_tags/pyyaml/3.05-2~andersk1/setup.cfg
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/setup.cfg	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/setup.cfg	(revision 902)
@@ -0,0 +1,28 @@
+
+# The INCLUDE and LIB directories to build the '_yaml' extension.
+# You may also set them using the options '-I' and '-L'.
+[build_ext]
+
+# List of directories to search for 'yaml.h' (separated by ':').
+#include_dirs=/usr/local/include:../../include
+
+# List of directories to search for 'libyaml.a' (separated by ':').
+#library_dirs=/usr/local/lib:../../lib
+
+# An alternative compiler to build the extention.
+#compiler=mingw32
+
+# Additional preprocessor definitions might be required.
+#define=YAML_DECLARE_STATIC
+
+# The following options are used to build PyYAML Windows installer
+# for Python 2.3 on my PC:
+#include_dirs=../../libyaml/trunk/include
+#library_dirs=../../libyaml/trunk/win32/vc6/output/release/lib
+#define=YAML_DECLARE_STATIC
+
+# The following options are used to build PyYAML Windows installer
+# for Python 2.4 and Python 2.5 on my PC:
+#include_dirs=../../libyaml/trunk/include
+#library_dirs=../../libyaml/trunk/win32/vs2003/output/release/lib
+#define=YAML_DECLARE_STATIC
Index: /package_tags/pyyaml/3.05-2~andersk1/setup.py
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/setup.py	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/setup.py	(revision 902)
@@ -0,0 +1,53 @@
+
+NAME = 'PyYAML'
+VERSION = '3.05'
+DESCRIPTION = "YAML parser and emitter for Python"
+LONG_DESCRIPTION = """\
+YAML is a data serialization format designed for human readability and
+interaction with scripting languages.  PyYAML is a YAML parser and
+emitter for Python.
+
+PyYAML features a complete YAML 1.1 parser, Unicode support, pickle
+support, capable extension API, and sensible error messages.  PyYAML
+supports standard YAML tags and provides Python-specific tags that allow
+to represent an arbitrary Python object.
+
+PyYAML is applicable for a broad range of tasks from complex
+configuration files to object serialization and persistance."""
+AUTHOR = "Kirill Simonov"
+AUTHOR_EMAIL = 'xi@resolvent.net'
+LICENSE = "MIT"
+PLATFORMS = "Any"
+URL = "http://pyyaml.org/wiki/PyYAML"
+DOWNLOAD_URL = "http://pyyaml.org/download/pyyaml/%s-%s.tar.gz" % (NAME, VERSION)
+CLASSIFIERS = [
+    "Development Status :: 4 - Beta",
+    "Intended Audience :: Developers",
+    "License :: OSI Approved :: MIT License",
+    "Operating System :: OS Independent",
+    "Programming Language :: Python",
+    "Topic :: Software Development :: Libraries :: Python Modules",
+    "Topic :: Text Processing :: Markup",
+]
+
+from distutils.core import setup
+
+if __name__ == '__main__':
+
+    setup(
+        name=NAME,
+        version=VERSION,
+        description=DESCRIPTION,
+        long_description=LONG_DESCRIPTION,
+        author=AUTHOR,
+        author_email=AUTHOR_EMAIL,
+        license=LICENSE,
+        platforms=PLATFORMS,
+        url=URL,
+        download_url=DOWNLOAD_URL,
+        classifiers=CLASSIFIERS,
+
+        package_dir={'': 'lib'},
+        packages=['yaml'],
+    )
+
Index: /package_tags/pyyaml/3.05-2~andersk1/setup_with_libyaml.py
===================================================================
--- /package_tags/pyyaml/3.05-2~andersk1/setup_with_libyaml.py	(revision 902)
+++ /package_tags/pyyaml/3.05-2~andersk1/setup_with_libyaml.py	(revision 902)
@@ -0,0 +1,31 @@
+
+from setup import *
+
+from distutils.core import setup
+from distutils.extension import Extension
+from Pyrex.Distutils import build_ext
+
+if __name__ == '__main__':
+
+    setup(
+        name=NAME,
+        version=VERSION,
+        description=DESCRIPTION,
+        long_description=LONG_DESCRIPTION,
+        author=AUTHOR,
+        author_email=AUTHOR_EMAIL,
+        license=LICENSE,
+        platforms=PLATFORMS,
+        url=URL,
+        download_url=DOWNLOAD_URL,
+        classifiers=CLASSIFIERS,
+
+        package_dir={'': 'lib'},
+        packages=['yaml'],
+        ext_modules=[
+            Extension("_yaml", ["ext/_yaml.pyx"], libraries=['yaml']),
+        ],
+
+        cmdclass = {'build_ext': build_ext}
+    )
+
