From 0cfdbfb91c7bf41f69d0754e28bfbe6999012733 Mon Sep 17 00:00:00 2001 From: Adam Roben Date: Wed, 7 Jan 2015 14:44:40 -0500 Subject: [PATCH 01/62] Merge github-linguist-grammars into github-linguist Now that all our grammars are licensed (or grandfathered in), we can distribute them as part of the standard github-linguist gem. This makes it easier for projects to get up and running with Linguist. --- Gemfile | 1 - Rakefile | 8 ++------ github-linguist-grammars.gemspec | 14 -------------- github-linguist.gemspec | 3 ++- lib/linguist.rb | 1 + lib/linguist/grammars.rb | 3 --- 6 files changed, 5 insertions(+), 25 deletions(-) delete mode 100644 github-linguist-grammars.gemspec diff --git a/Gemfile b/Gemfile index c5f2cc3b..9dc1b4dc 100644 --- a/Gemfile +++ b/Gemfile @@ -1,4 +1,3 @@ source 'https://rubygems.org' gemspec :name => "github-linguist" -gemspec :name => "github-linguist-grammars" gem 'byebug' if RUBY_VERSION >= '2.0' diff --git a/Rakefile b/Rakefile index b38486c0..186bc9c2 100644 --- a/Rakefile +++ b/Rakefile @@ -40,18 +40,14 @@ task :samples do end task :build_gem => :samples do + rm_rf "grammars" + sh "script/convert-grammars" languages = YAML.load_file("lib/linguist/languages.yml") File.write("lib/linguist/languages.json", Yajl.dump(languages)) `gem build github-linguist.gemspec` File.delete("lib/linguist/languages.json") end -task :build_grammars_gem do - rm_rf "grammars" - sh "script/convert-grammars" - sh "gem", "build", "github-linguist-grammars.gemspec" -end - namespace :benchmark do benchmark_path = "benchmark/results" diff --git a/github-linguist-grammars.gemspec b/github-linguist-grammars.gemspec deleted file mode 100644 index 429b3ff1..00000000 --- a/github-linguist-grammars.gemspec +++ /dev/null @@ -1,14 +0,0 @@ -require File.expand_path('../lib/linguist/version', __FILE__) - -Gem::Specification.new do |s| - s.name = 'github-linguist-grammars' - s.version = Linguist::VERSION - s.summary = "Language grammars for use with github-linguist" - - s.authors = "GitHub" - s.homepage = "https://github.com/github/linguist" - - s.files = ['lib/linguist/grammars.rb'] + Dir['grammars/*'] - - s.add_development_dependency 'plist', '~>3.1' -end diff --git a/github-linguist.gemspec b/github-linguist.gemspec index 983db982..974d1bc0 100644 --- a/github-linguist.gemspec +++ b/github-linguist.gemspec @@ -10,7 +10,7 @@ Gem::Specification.new do |s| s.homepage = "https://github.com/github/linguist" s.license = "MIT" - s.files = Dir['lib/**/*'] - ['lib/linguist/grammars.rb'] + s.files = Dir['lib/**/*'] + Dir['grammars/*'] s.executables << 'linguist' s.add_dependency 'charlock_holmes', '~> 0.7.3' @@ -20,6 +20,7 @@ Gem::Specification.new do |s| s.add_development_dependency 'minitest', '>= 5.0' s.add_development_dependency 'mocha' + s.add_development_dependency 'plist', '~>3.1' s.add_development_dependency 'pry' s.add_development_dependency 'rake' s.add_development_dependency 'yajl-ruby' diff --git a/lib/linguist.rb b/lib/linguist.rb index ff9fc3a2..edbd4483 100644 --- a/lib/linguist.rb +++ b/lib/linguist.rb @@ -1,5 +1,6 @@ require 'linguist/blob_helper' require 'linguist/generated' +require 'linguist/grammars' require 'linguist/heuristics' require 'linguist/language' require 'linguist/repository' diff --git a/lib/linguist/grammars.rb b/lib/linguist/grammars.rb index f6468280..b1ccbf6b 100644 --- a/lib/linguist/grammars.rb +++ b/lib/linguist/grammars.rb @@ -1,6 +1,3 @@ -# Note: This file is included in the github-linguist-grammars gem, not the -# github-linguist gem. - module Linguist module Grammars # Get the path to the directory containing the language grammar JSON files. From 23e55e92ca8a01b01f9908e77777d834b97a0f31 Mon Sep 17 00:00:00 2001 From: Adam Roben Date: Thu, 8 Jan 2015 09:19:18 -0500 Subject: [PATCH 02/62] Mention grammar licenses in LICENSE --- LICENSE | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/LICENSE b/LICENSE index f09a7d0a..7981307b 100644 --- a/LICENSE +++ b/LICENSE @@ -1,3 +1,9 @@ +The language grammars included in this gem are covered by their repositories' +respective licenses. See https://github.com/github/linguist/blob/master/grammars.yml +to determine the repository for each grammar. + +All other files are covered by the following license: + Copyright (c) 2011-2014 GitHub, Inc. Permission is hereby granted, free of charge, to any person From aa701c6766e269194cefd1b0888883b15213dabb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C4=9Bj=20T=C3=BD=C4=8D?= Date: Tue, 25 Aug 2015 01:09:42 +0200 Subject: [PATCH 03/62] Update languages.yml --- lib/linguist/languages.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 5b31ed4f..ab094d63 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -1917,6 +1917,15 @@ M: - .m tm_scope: source.lisp ace_mode: lisp + +M4: + type: programming + extensions: + - .m4 + filenames: + - configure.ac + tm_scope: none + ace_mode: text MTML: type: markup From 16e22b3b777ccb2ac123b0a79384af6003d2b3b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C4=9Bj=20T=C3=BD=C4=8D?= Date: Thu, 27 Aug 2015 15:37:32 +0200 Subject: [PATCH 04/62] Added M4 samples --- samples/M4/ax_ruby_devel.m4 | 172 ++++++++++++++++++++++++++++++++++++ samples/M4/configure.ac | 143 ++++++++++++++++++++++++++++++ samples/M4/list.m4 | 46 ++++++++++ 3 files changed, 361 insertions(+) create mode 100644 samples/M4/ax_ruby_devel.m4 create mode 100644 samples/M4/configure.ac create mode 100644 samples/M4/list.m4 diff --git a/samples/M4/ax_ruby_devel.m4 b/samples/M4/ax_ruby_devel.m4 new file mode 100644 index 00000000..3f68c119 --- /dev/null +++ b/samples/M4/ax_ruby_devel.m4 @@ -0,0 +1,172 @@ +# =========================================================================== +# http://www.gnu.org/software/autoconf-archive/ax_ruby_devel.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_RUBY_DEVEL([version]) +# +# DESCRIPTION +# +# This macro checks for Ruby and tries to get the include path to +# 'ruby.h'. It provides the $(RUBY_CPPFLAGS) and $(RUBY_LDFLAGS) output +# variables. It also exports $(RUBY_EXTRA_LIBS) for embedding Ruby in your +# code. +# +# You can search for some particular version of Ruby by passing a +# parameter to this macro, for example "1.8.6". +# +# LICENSE +# +# Copyright (c) 2008 Rafal Rzepecki +# Copyright (c) 2008 Sebastian Huber +# Copyright (c) 2008 Alan W. Irwin +# Copyright (c) 2008 Rafael Laboissiere +# Copyright (c) 2008 Andrew Collier +# Copyright (c) 2008 Matteo Settenvini +# Copyright (c) 2008 Horst Knorr +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 11 + +AC_DEFUN([AX_RUBY_DEVEL],[ + AC_REQUIRE([AX_WITH_RUBY]) + AS_IF([test -n "$1"], [AX_PROG_RUBY_VERSION([$1])]) + + # + # Check if you have mkmf, else fail + # + AC_MSG_CHECKING([for the mkmf Ruby package]) + ac_mkmf_result=`$RUBY -rmkmf -e ";" 2>&1` + if test -z "$ac_mkmf_result"; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + AC_MSG_ERROR([cannot import Ruby module "mkmf". +Please check your Ruby installation. The error was: +$ac_mkmf_result]) + fi + + # + # Check for Ruby include path + # + AC_MSG_CHECKING([for Ruby include path]) + if test -z "$RUBY_CPPFLAGS"; then + ruby_path=`$RUBY -rmkmf -e 'print Config::CONFIG[["archdir"]]'` + if test -n "${ruby_path}"; then + ruby_path="-I$ruby_path" + fi + RUBY_CPPFLAGS=$ruby_path + fi + AC_MSG_RESULT([$RUBY_CPPFLAGS]) + AC_SUBST([RUBY_CPPFLAGS]) + + # + # Check for Ruby library path + # + AC_MSG_CHECKING([for Ruby library path]) + if test -z "$RUBY_LDFLAGS"; then + RUBY_LDFLAGS=`$RUBY -rmkmf -e 'print Config::CONFIG[["LIBRUBYARG_SHARED"]]'` + fi + AC_MSG_RESULT([$RUBY_LDFLAGS]) + AC_SUBST([RUBY_LDFLAGS]) + + # + # Check for site packages + # + AC_MSG_CHECKING([for Ruby site-packages path]) + if test -z "$RUBY_SITE_PKG"; then + RUBY_SITE_PKG=`$RUBY -rmkmf -e 'print Config::CONFIG[["sitearchdir"]]'` + fi + AC_MSG_RESULT([$RUBY_SITE_PKG]) + AC_SUBST([RUBY_SITE_PKG]) + + # + # libraries which must be linked in when embedding + # + AC_MSG_CHECKING(ruby extra libraries) + if test -z "$RUBY_EXTRA_LIBS"; then + RUBY_EXTRA_LIBS=`$RUBY -rmkmf -e 'print Config::CONFIG[["SOLIBS"]]'` + fi + AC_MSG_RESULT([$RUBY_EXTRA_LIBS]) + AC_SUBST(RUBY_EXTRA_LIBS) + + # + # linking flags needed when embedding + # (is it even needed for Ruby?) + # + # AC_MSG_CHECKING(ruby extra linking flags) + # if test -z "$RUBY_EXTRA_LDFLAGS"; then + # RUBY_EXTRA_LDFLAGS=`$RUBY -rmkmf -e 'print Config::CONFIG[["LINKFORSHARED"]]'` + # fi + # AC_MSG_RESULT([$RUBY_EXTRA_LDFLAGS]) + # AC_SUBST(RUBY_EXTRA_LDFLAGS) + + # this flags breaks ruby.h, and is sometimes defined by KDE m4 macros + CFLAGS="`echo "$CFLAGS" | sed -e 's/-std=iso9899:1990//g;'`" + # + # final check to see if everything compiles alright + # + AC_MSG_CHECKING([consistency of all components of ruby development environment]) + AC_LANG_PUSH([C]) + # save current global flags + ac_save_LIBS="$LIBS" + LIBS="$ac_save_LIBS $RUBY_LDFLAGS" + ac_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$ac_save_CPPFLAGS $RUBY_CPPFLAGS" + AC_TRY_LINK([ + #include + ],[ + ruby_init(); + ],[rubyexists=yes],[rubyexists=no]) + + AC_MSG_RESULT([$rubyexists]) + + if test ! "$rubyexists" = "yes"; then + AC_MSG_ERROR([ + Could not link test program to Ruby. Maybe the main Ruby library has been + installed in some non-standard library path. If so, pass it to configure, + via the LDFLAGS environment variable. + Example: ./configure LDFLAGS="-L/usr/non-standard-path/ruby/lib" + ============================================================================ + ERROR! + You probably have to install the development version of the Ruby package + for your distribution. The exact name of this package varies among them. + ============================================================================ + ]) + RUBY_VERSION="" + fi + AC_LANG_POP + # turn back to default flags + CPPFLAGS="$ac_save_CPPFLAGS" + LIBS="$ac_save_LIBS" + + # + # all done! + # +]) diff --git a/samples/M4/configure.ac b/samples/M4/configure.ac new file mode 100644 index 00000000..e65c54b6 --- /dev/null +++ b/samples/M4/configure.ac @@ -0,0 +1,143 @@ +# -*- Autoconf -*- +# Process this file with autoconf to produce a configure script. + +AC_PREREQ(2.68) +AC_INIT([GARDEN], + [1.0.9], + [bubla@users.sourceforge.net]) +AC_CONFIG_AUX_DIR([build-aux]) +AM_INIT_AUTOMAKE([-Wall]) +AC_CONFIG_SRCDIR([src/input.h]) +AC_CONFIG_HEADERS([src/configure.h]) +AC_CONFIG_MACRO_DIR([m4]) + +AC_ARG_ENABLE([debug], + [AS_HELP_STRING([--enable-debug], + [Builds the debug version of the library [[default = no]]]) ], + [], + [enable_debug="no"]) + +AS_IF([test "x$enable_debug" = "xyes"], + [CFLAGS="${CFLAGS} -g -O0"]) + +# Checks for programs. +AC_PROG_CC +AC_PROG_LIBTOOL +LT_PROG_RC + +AC_CANONICAL_HOST + +dnl +dnl Check whether it makes sense to install a garden.desktop file +dnl +AC_CHECK_PROG([have_freedesktop], + [update-desktop-database], + [yes]) + +AM_CONDITIONAL([HAVE_FREEDESKTOP], + [test "x$have_freedesktop" = "xyes"]) + +AM_CONDITIONAL([WANT_FREEDESKTOP], + [test "x$enable_desktop_install" = "xyes"]) + +AC_ARG_ENABLE([desktop-install], + [AS_HELP_STRING([--enable-desktop-install], + [Whether you want to install the garden.desktop file if applicable. !!! DO NOT USE if you are a PACKAGER!!!])] + ) + +AS_CASE([$host], + [*mingw* | *cygwin*], + [AC_DEFINE([WINDOWS_VERSION], + [1], + [Define when building for Windows]) + windows_version="yes"]) + +AM_CONDITIONAL([WINDOWS_VERSION], + [test "x$windows_version" = "xyes" ]) + +dnl now the datadir specification, that is useful if one does want to play without installing +AC_ARG_ENABLE([datadir], + [AS_HELP_STRING([--enable-datadir=path-to-your-garden-datafiles], + [Normally you dont have to use this, but it is handy when you want to play the game without installing it or if you want to use already installed data. In the first case, use for instance --enable-datadir=`pwd`/data (if it makes sense)])], + [DATADIR_NAME="$enableval"], + [DATADIR_NAME='$(datadir)/'garden]) + +# Sets the data subdirectory +AC_SUBST([DATADIR_NAME]) + +# Checks for libraries. +AC_CHECK_HEADER([allegro.h], + [], + [have_allegro="no" + AC_MSG_ERROR([You don't even have Allegro headers... Get Allegro first!]) ]) + +AC_CHECK_LIB([m], [sin]) + +test "x$host_os" != "x$build_os" && CROSS_COMPILING="yes" + +try_link_allegro () +{ + LIBS_SAVE=$LIBS + LIBS="$LIBS $1" + AC_MSG_CHECKING([for Allegro using $1]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT + [ #include ]], + [allegro_init();])END_OF_MAIN() ], + [have_allegro="yes"], + [have_allegro="no"]) + AC_MSG_RESULT([$have_allegro]) + LIBS=$LIBS_SAVE + AS_IF([test "x$have_allegro" == "xyes"], + [return 0], + [return 1]) +} +# first check for 'official allegro' +# The official allegro does not support cross-compiling, though... +AM_PATH_ALLEGRO([4.2.0]) + +try_link_allegro "$allegro_LIBS" +AS_IF([test "x$?" == "x0"], + [[LIBS="$LIBS $allegro_LIBS" + ALLEGRO_LIB=`echo $allegro_LIBS | sed -e 's/.*-l\([^[:blank:]]*\).*/\1/'` + have_allegro="yes"]]) + +ALLEGRO_RELEASE_LIBS="alleg alleg42 alleg44" +ALLEGRO_DEBUG_LIBS="alld42 alleg44-debug" +AS_IF([test "x$enable_debug" = "xyes"], + [ALLEGRO_LIBS="$ALLEGRO_DEBUG_LIBS $ALLEGRO_RELEASE_LIBS"], + [ALLEGRO_LIBS="$ALLEGRO_RELEASE_LIBS $ALLEGRO_DEBUG_LIBS"]) + +for lib in $ALLEGRO_LIBS +do + ldflag="-l$lib" + AS_IF([test "x$have_allegro" == "xyes"], + [break]) + try_link_allegro $ldflag + AS_IF([test "x$?" == "x0"], + [LIBS="$LIBS $ldflag" + ALLEGRO_LIB="$lib" + have_allegro="yes"]) +done + +AS_IF([test "x$have_allegro" != "xyes"], + [AC_MSG_ERROR([Unable to find Allegro game programming library 4.2, check out www.allegro.cc (or your distro repositories if you use a unix-like system)]) ]) + +# Checks for header files. +AC_CHECK_HEADERS([string.h sys/stat.h]) + +# Checks for typedefs, structures, and compiler characteristics. +AC_C_INLINE +AC_HEADER_STDBOOL + +# Checks for library functions. + +AC_SUBST([ALLEGRO_LIB]) + +AC_CONFIG_FILES([Makefile + src/Makefile + data/Makefile + resources/Makefile + docs/garden.doxyfile + pkgs/w32/winstaller.nsi]) + +AC_OUTPUT diff --git a/samples/M4/list.m4 b/samples/M4/list.m4 new file mode 100644 index 00000000..397bd8ff --- /dev/null +++ b/samples/M4/list.m4 @@ -0,0 +1,46 @@ +m4_define([m4_list_declare], [m4_do( + [m4_define([$1_GET], [m4_expand([m4_list_nth([$1], $][1)])])], + [m4_define([$1_FOREACH], [m4_foreach([item], [m4_dquote_elt(m4_list_contents([$1]))], m4_quote($][1))])], +)]) + +m4_define([m4_list_add], [m4_do( + [m4_pushdef([_LIST_NAME], [[_LIST_$1]])], + [m4_ifndef(_LIST_NAME, + [m4_define(_LIST_NAME, m4_dquote(m4_escape([$2])))], + [m4_define(_LIST_NAME, m4_dquote(m4_list_contents([$1]), m4_escape([$2])))], + )], + [m4_popdef([_LIST_NAME])], +)]) + +m4_define([m4_list_contents], [m4_do( + [m4_pushdef([_LIST_NAME], [[_LIST_$1]])], + [m4_ifndef(_LIST_NAME, [], m4_quote(_LIST_NAME))], + [m4_popdef([_LIST_NAME])], +)]) + +m4_define([m4_list_nth], [m4_argn([$2], m4_list_contents([$1]))]) + +m4_define([m4_list_pop_front], [m4_do( + [m4_pushdef([_LIST_NAME], [[_LIST_$1]])], + [m4_car(m4_unquote(_LIST_NAME))], + [m4_define(_LIST_NAME, m4_cdr(m4_unquote(_LIST_NAME)))], + [m4_popdef([_LIST_NAME])], +)]) + +m4_define([m4_list_pop_back], [m4_do( + [m4_pushdef([_LIST_NAME], [[_LIST_$1]])], + [m4_define(_LIST_NAME, m4_dquote(m4_reverse(m4_unquote(_LIST_NAME))))], + [m4_list_pop_front([$1])], + [m4_define(_LIST_NAME, m4_dquote(m4_reverse(m4_unquote(_LIST_NAME))))], + [m4_popdef([_LIST_NAME])], +)]) + +dnl +dnl $1: List name +dnl $2: What +dnl $3: If contains +dnl $4: If not +m4_define([m4_list_contains], [m4_do( + [m4_foreach([item], m4_list_contents([$1]), m4_if(item, [$2], [[$3]], [[$4]]))] +)]) + From 59fb481138b1007aae0d842b815b42fbff8d8fe9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C4=9Bj=20T=C3=BD=C4=8D?= Date: Thu, 27 Aug 2015 15:40:10 +0200 Subject: [PATCH 05/62] Added pure m4 example --- samples/M4/htmlgen.m4 | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 samples/M4/htmlgen.m4 diff --git a/samples/M4/htmlgen.m4 b/samples/M4/htmlgen.m4 new file mode 100644 index 00000000..9b7671fc --- /dev/null +++ b/samples/M4/htmlgen.m4 @@ -0,0 +1,38 @@ +dnl Took from https://en.wikipedia.org/wiki/M4_(computer_language) +divert(-1) + +M4 has multiple output queues that can be manipulated with the +`divert' macro. Valid queues range from 0 to 10, inclusive, with +the default queue being 0. + +Calling the `divert' macro with an invalid queue causes text to be +discarded until another call. Note that even while output is being +discarded, quotes around `divert' and other macros are needed to +prevent expansion. + +# Macros aren't expanded within comments, meaning that keywords such +# as divert and other built-ins may be used without consequence. + +# HTML utility macro: + +define(`H2_COUNT', 0) + +# The H2_COUNT macro is redefined every time the H2 macro is used: + +define(`H2', + `define(`H2_COUNT', incr(H2_COUNT))

H2_COUNT. $1

') + +divert(1)dnl +dnl +dnl The dnl macro causes m4 to discard the rest of the line, thus +dnl preventing unwanted blank lines from appearing in the output. +dnl +H2(First Section) +H2(Second Section) +H2(Conclusion) +dnl +divert(0)dnl +dnl + +undivert(1)dnl One of the queues is being pushed to output. + From 1d86f40fcda7ef0b302a55f6d94d8e99e7f3329e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C4=9Bj=20T=C3=BD=C4=8D?= Date: Sun, 30 Aug 2015 15:03:55 +0200 Subject: [PATCH 06/62] Added m4sugar language, moved samples to right locations. --- lib/linguist/languages.yml | 16 +++++++++++++++- samples/{M4 => M4Sugar}/ax_ruby_devel.m4 | 0 samples/{M4 => M4Sugar/filenames}/configure.ac | 0 samples/{M4 => M4Sugar}/list.m4 | 0 4 files changed, 15 insertions(+), 1 deletion(-) rename samples/{M4 => M4Sugar}/ax_ruby_devel.m4 (100%) rename samples/{M4 => M4Sugar/filenames}/configure.ac (100%) rename samples/{M4 => M4Sugar}/list.m4 (100%) diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index ab094d63..0b882393 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -1917,9 +1917,23 @@ M: - .m tm_scope: source.lisp ace_mode: lisp - + M4: type: programming + aliases: + - autoconf + extensions: + - .m4 + filenames: + - configure.ac + tm_scope: none + ace_mode: text + +M4Sugar: + type: programming + group: M4 + aliases: + - autoconf extensions: - .m4 filenames: diff --git a/samples/M4/ax_ruby_devel.m4 b/samples/M4Sugar/ax_ruby_devel.m4 similarity index 100% rename from samples/M4/ax_ruby_devel.m4 rename to samples/M4Sugar/ax_ruby_devel.m4 diff --git a/samples/M4/configure.ac b/samples/M4Sugar/filenames/configure.ac similarity index 100% rename from samples/M4/configure.ac rename to samples/M4Sugar/filenames/configure.ac diff --git a/samples/M4/list.m4 b/samples/M4Sugar/list.m4 similarity index 100% rename from samples/M4/list.m4 rename to samples/M4Sugar/list.m4 From 73b1737dc7fbf77629f3514a2e9a8fc82ec0467c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C4=9Bj=20T=C3=BD=C4=8D?= Date: Sun, 30 Aug 2015 15:09:45 +0200 Subject: [PATCH 07/62] Removed a typo --- lib/linguist/languages.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 0b882393..efa1dfb1 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -1920,8 +1920,6 @@ M: M4: type: programming - aliases: - - autoconf extensions: - .m4 filenames: From 1068cfb4b5d791e522071d876044356e7eb4ecaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C4=9Bj=20T=C3=BD=C4=8D?= Date: Sun, 30 Aug 2015 15:25:42 +0200 Subject: [PATCH 08/62] Removed stray M4 attribute --- lib/linguist/languages.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index efa1dfb1..01065eb2 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -1922,8 +1922,6 @@ M4: type: programming extensions: - .m4 - filenames: - - configure.ac tm_scope: none ace_mode: text From 81ebef2e2906ebabbc70292e2901f6658503c801 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C4=9Bj=20T=C3=BD=C4=8D?= Date: Tue, 1 Sep 2015 17:49:01 +0200 Subject: [PATCH 09/62] Added autoconf output, removed configure.ac --- lib/linguist/vendor.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/linguist/vendor.yml b/lib/linguist/vendor.yml index ed89eda8..7b7b75f8 100644 --- a/lib/linguist/vendor.yml +++ b/lib/linguist/vendor.yml @@ -20,10 +20,16 @@ - ^deps/ - ^tools/ - (^|/)configure$ -- (^|/)configure.ac$ - (^|/)config.guess$ - (^|/)config.sub$ +# stuff autogenerated by autoconf - still C deps +- (^|/)libtool.m4 +- (^|/)ltoptions.m4 +- (^|/)ltsugar.m4 +- (^|/)ltversion.m4 +- (^|/)lt~obsolete.m4 + # Linters - cpplint.py From 26a35ea43dec04872f18c70b7733026abffd00f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C4=9Bj=20T=C3=BD=C4=8D?= Date: Tue, 1 Sep 2015 17:51:18 +0200 Subject: [PATCH 10/62] added aclocal to the generated files list --- lib/linguist/vendor.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/linguist/vendor.yml b/lib/linguist/vendor.yml index 7b7b75f8..1d58f467 100644 --- a/lib/linguist/vendor.yml +++ b/lib/linguist/vendor.yml @@ -24,6 +24,7 @@ - (^|/)config.sub$ # stuff autogenerated by autoconf - still C deps +- (^|/)aclocal.m4 - (^|/)libtool.m4 - (^|/)ltoptions.m4 - (^|/)ltsugar.m4 From 7b30240a7fcef3216e12efdc79eb41843399f822 Mon Sep 17 00:00:00 2001 From: Christoph Lipka Date: Sun, 10 Jan 2016 13:05:41 +0100 Subject: [PATCH 11/62] Added POV-Ray Scene Description Language --- .gitmodules | 3 + grammars.yml | 2 + lib/linguist/languages.yml | 9 ++ samples/POV-Ray SDL/gamma_showcase.pov | 188 +++++++++++++++++++++++++ vendor/grammars/language-povray | 1 + 5 files changed, 203 insertions(+) mode change 100644 => 100755 lib/linguist/languages.yml create mode 100755 samples/POV-Ray SDL/gamma_showcase.pov create mode 160000 vendor/grammars/language-povray diff --git a/.gitmodules b/.gitmodules index 587ae6cd..21e7c603 100644 --- a/.gitmodules +++ b/.gitmodules @@ -707,3 +707,6 @@ [submodule "vendor/grammars/atom-language-stan"] path = vendor/grammars/atom-language-stan url = git@github.com:jrnold/atom-language-stan.git +[submodule "vendor/grammars/language-povray"] + path = vendor/grammars/language-povray + url = https://github.com/c-lipka/language-povray diff --git a/grammars.yml b/grammars.yml index c8de7b72..0ad993fc 100644 --- a/grammars.yml +++ b/grammars.yml @@ -358,6 +358,8 @@ vendor/grammars/language-maxscript: - source.maxscript vendor/grammars/language-ncl: - source.ncl +vendor/grammars/language-povray: +- source.povray vendor/grammars/language-python: - text.python.console - text.python.traceback diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml old mode 100644 new mode 100755 index fe3ed9aa..8baabdbd --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -2711,6 +2711,15 @@ PostScript: aliases: - postscr ace_mode: text + +POV-Ray SDL: + type: programming + aliases: + - pov-ray + - povray + extensions: + - .pov + - .inc PowerShell: type: programming diff --git a/samples/POV-Ray SDL/gamma_showcase.pov b/samples/POV-Ray SDL/gamma_showcase.pov new file mode 100755 index 00000000..70a44aef --- /dev/null +++ b/samples/POV-Ray SDL/gamma_showcase.pov @@ -0,0 +1,188 @@ +// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. +// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a +// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. + +// Persistence of Vision Ray Tracer Scene Description File +// File: gamma_showcase.pov +// Vers: 3.7 +// Desc: Gamma Handling Test Scene - An arrangement of spheres on a marble plane +// Date: 2010-12-21 +// Auth: Christoph Lipka +// + +// +w640 +h480 +a0.3 +am1 +fN -d File_Gamma=sRGB Output_File_Name=gamma_showcase.png +// +w640 +h480 +a0.3 +am1 +fN -d File_Gamma=1.0 Output_File_Name=gamma_showcase_linear.png +// +w320 +h240 +a0.3 +am1 +fN -d File_Gamma=sRGB Output_File_Name=gamma_showcase_ref0.png Declare=Stripes=off +// +w320 +h240 +a0.3 +am1 +fN -d File_Gamma=sRGB Output_File_Name=gamma_showcase_ref1.png Declare=Stripes=off Declare=Gamma=1.2 +// +w320 +h240 +a0.3 +am1 +fN -d File_Gamma=sRGB Output_File_Name=gamma_showcase_ref2.png Declare=Stripes=off Declare=Gamma=0.8 +// +w640 +h480 +a0.3 +am1 -f +d + +#version 3.7; + +#include "colors.inc" +#include "stones.inc" + +#ifndef (Stripes) + #declare Stripes = on; +#end +#ifndef (Gamma) + #declare Gamma = 1.0; +#end + +global_settings { + max_trace_level 5 + assumed_gamma 1.0 + radiosity { + pretrace_start 0.08 + pretrace_end 0.01 + count 35 + nearest_count 5 + error_bound 1.8 + recursion_limit 2 + low_error_factor .5 + gray_threshold 0.0 + minimum_reuse 0.015 + brightness 1 + adc_bailout 0.01/2 + } +} + +#default { + texture { + pigment {rgb 1} + finish { + ambient 0.0 + diffuse 0.6 + specular 0.6 roughness 0.001 + reflection { 0.0 1.0 fresnel on } + conserve_energy + } + } +} + +// ---------------------------------------- + +#local TestRed = rgb <0.5,0.1,0.1>; +#local TestGreen = rgb <0.1,0.5,0.1>; +#local TestBlue = rgb <0.1,0.1,0.5>; + +#local CameraFocus = <0,0.5,0>; +#local CameraDist = 8; +#local CameraDepth = 1.8; +#local CameraTilt = 20; + +camera { + location <0,0,0> + direction z*CameraDepth + right x*image_width/image_height + up y + translate <0,0,-CameraDist> + rotate x*CameraTilt + translate CameraFocus +} + +#macro LightSource(Pos,Color) + light_source { + Pos + color Color + spotlight + point_at <0,0,0> + radius 175/vlength(Pos) + falloff 200/vlength(Pos) + area_light x*vlength(Pos)/10, y*vlength(Pos)/10, 9,9 adaptive 1 jitter circular orient + } + +#end + +LightSource(<-500,500,-500>,TestRed + <0.2,0.2,0.2>) +LightSource(< 0,500,-500>,TestGreen + <0.2,0.2,0.2>) +LightSource(< 500,500,-500>,TestBlue + <0.2,0.2,0.2>) + +// ---------------------------------------- + +#macro DarkStripeBW(TargetBrightness) + #if (TargetBrightness < 0.5) + (0.0) + #else + (TargetBrightness*2 - 1.0) + #end +#end + +#macro BrightStripeBW(TargetBrightness) + #if (TargetBrightness < 0.5) + (TargetBrightness*2) + #else + (1.0) + #end +#end + +#macro DarkStripeRGB(TargetColor) + +#end + +#macro BrightStripeRGB(TargetColor) + +#end + +#macro StripedPigment(TargetColor) + #if (Stripes) + function { abs(mod(abs(image_height*CameraDepth*y/z+0.5),2.0)-1.0) } + color_map { + [0.5 color rgb DarkStripeRGB(TargetColor) ] + [0.5 color rgb BrightStripeRGB(TargetColor) ] + } + translate <0,0,-CameraDist> + rotate x*CameraTilt + translate CameraFocus + #else + color TargetColor + #end +#end + + +plane { + y, 0 + texture { T_Stone11 } + interior { ior 1.5 } +} + +#macro GammaAdjust(C,G) + #local C2 = color rgbft ; + (C2) +#end + +#macro TestSphere(Pos,Radius,TargetColor,Split) + sphere { + Pos + y*Radius, Radius + texture { pigment { color GammaAdjust(TargetColor,Gamma) } } + interior { ior 1.5 } + } + #if (Split) + sphere { + Pos + y*Radius + x*0.001, Radius + texture { pigment { StripedPigment(TargetColor) } } + interior { ior 1.5 } + } + #end +#end + +TestSphere(<-2,0,1>, 1, TestRed, true) +TestSphere(< 0,0,1>, 1, TestGreen, true) +TestSphere(< 2,0,1>, 1, TestBlue, true) + +#local Steps = 6; +#for(I,0,1,1/Steps) + #if (I < 0.5) + #local Color2 = TestRed; + #else + #local Color2 = TestBlue; + #end + #local P = abs(I-0.5)*2; + TestSphere(, 2/Steps, (1-P)*TestGreen + P*Color2, true) +#end + +#local Steps = 8; +#for(I,0,1,1/Steps) + TestSphere(, 2/Steps, rgb I, true) + TestSphere(, 2/Steps, GammaAdjust(rgb I, 2.2*Gamma), false) +#end diff --git a/vendor/grammars/language-povray b/vendor/grammars/language-povray new file mode 160000 index 00000000..f5c6de81 --- /dev/null +++ b/vendor/grammars/language-povray @@ -0,0 +1 @@ +Subproject commit f5c6de8132fc01bd2274bf15e006bb4e3da7d710 From b593a8ae6714ea61df5910fc5f11ac48479a6c7f Mon Sep 17 00:00:00 2001 From: Christoph Lipka Date: Sun, 10 Jan 2016 18:40:29 +0100 Subject: [PATCH 12/62] Added more samples for the POV-Ray Scene Description Language --- samples/POV-Ray SDL/balcony.pov | 207 + samples/POV-Ray SDL/bglass.inc | 117 + samples/POV-Ray SDL/building.inc | 212 + samples/POV-Ray SDL/chair.inc | 382 + samples/POV-Ray SDL/cloth.inc | 12217 ++++++++++++++++++++++++++ samples/POV-Ray SDL/sky.inc | 91 + samples/POV-Ray SDL/table.inc | 171 + samples/POV-Ray SDL/table_cloth.inc | 91 + samples/POV-Ray SDL/table_stuff.inc | 136 + samples/POV-Ray SDL/terrain.inc | 118 + samples/POV-Ray SDL/water.inc | 74 + 11 files changed, 13816 insertions(+) create mode 100755 samples/POV-Ray SDL/balcony.pov create mode 100755 samples/POV-Ray SDL/bglass.inc create mode 100755 samples/POV-Ray SDL/building.inc create mode 100755 samples/POV-Ray SDL/chair.inc create mode 100755 samples/POV-Ray SDL/cloth.inc create mode 100755 samples/POV-Ray SDL/sky.inc create mode 100755 samples/POV-Ray SDL/table.inc create mode 100755 samples/POV-Ray SDL/table_cloth.inc create mode 100755 samples/POV-Ray SDL/table_stuff.inc create mode 100755 samples/POV-Ray SDL/terrain.inc create mode 100755 samples/POV-Ray SDL/water.inc diff --git a/samples/POV-Ray SDL/balcony.pov b/samples/POV-Ray SDL/balcony.pov new file mode 100755 index 00000000..87d10da3 --- /dev/null +++ b/samples/POV-Ray SDL/balcony.pov @@ -0,0 +1,207 @@ +// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. +// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a +// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. + +// Persistence Of Vision Ray Tracer Scene Description File +// File: balcony.pov +// Desc: Povray demonstration scene +// Date: July/August 2001 +// Auth: Christoph Hormann +// +// *********************************************************************** +// +// -------------------- 'balcony' demonstration scene -------------------- +// +// written July-August 2001 by Christoph Hormann +// +// demonstrates use of various new or changed features: +// +// - isosurface (for the rail columns) +// - mesh2 object (table cloth) +// - uv-mapping (table cloth) +// - pattern image type (background heightfield) +// - slope pattern (background heightfield) +// - variable reflection (water & glass) +// - metallic reflection +// - conserve_energy +// - function pattern (water) +// - fading interior (water, drink) +// - 'circular' and 'orient' area_light +// - radiosity +// - photons (objects on the table) +// +// *********************************************************************** +// +// Command line options: +// +// -w240 -h320 +// -w480 -h640 +a0.3 +// -w600 -h800 +a0.3 + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +#version 3.6; + +#include "functions.inc" +#include "colors.inc" + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +#declare AreaLight=on; +#declare Radiosity=on; +#declare Photons=on; +#declare TestLight=off; +#declare show_Fog=true; +#declare show_Water=true; +#declare show_Terrain=true; +#declare show_Building=true; +#declare show_Table=true; +#declare show_TableCloth=true; +#declare show_Chair=true; +#declare show_Table_Stuff=true; + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +global_settings{ + max_trace_level 15 + assumed_gamma 1 + + #if (Radiosity=on) + radiosity{ + pretrace_start 0.08 + pretrace_end 0.01 + count 130 + nearest_count 5 + error_bound 0.3 + + recursion_limit 1 + low_error_factor 0.5 + gray_threshold 0.0 + minimum_reuse 0.015 + brightness 1.0 + adc_bailout 0.01/2 + normal on + } + #end + + #if (Photons=on) + photons { + spacing 0.002 + } + #end + +} + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ +// This scene uses a non-standard camera set-up. +// (See CAMERA in the included documentation for details.) +// If you are new to POV-Ray, you might want to try a different demo scene. + +camera { + location <0.5, 0.5, 1.2> + direction y + sky z + up z + right x*image_width/image_height // keep propotions with any aspect ratio + look_at <5, 4.3, 0.9> + angle 36 +} + +/* +camera { // table detail camera + location <1.5, 1.5, 1.0> + direction y + sky z + up z + right x*image_width/image_height // keep propotions with any aspect ratio + look_at <3.3,2.52,0.5> + angle 30 +} +*/ + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + + +#if (TestLight=on) + light_source { + <2, 2, 2> + color rgb 0.7 + } +#end + + +light_source { + <3.0, -2.5, 2.6>*10000 + color rgb <3.43,2.87,1.95> + #if (AreaLight=on) + area_light 400*x 400*y 4,4 + jitter + circular + orient + #end + + photons { + reflection on + refraction on + } +} + + +#if (show_Fog) + +fog{ + fog_type 2 + fog_alt 1.2 + fog_offset 0 + color rgbt <0.60, 0.68, 0.82, 0.0> + distance 700 + up z +} + +#end + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +#include "sky.inc" + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +#if (show_Water) + #include "water.inc" +#end + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +#if (show_Building) + #include "building.inc" +#end + + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +#if (show_Terrain) + #include "terrain.inc" +#end + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +#if (show_Table) + #include "table.inc" +#end + +#if (show_TableCloth) + #include "table_cloth.inc" +#end + +#if (show_Table_Stuff) + #include "table_stuff.inc" +#end + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +#if (show_Chair) + #include "chair.inc" +#end + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + diff --git a/samples/POV-Ray SDL/bglass.inc b/samples/POV-Ray SDL/bglass.inc new file mode 100755 index 00000000..dde88d44 --- /dev/null +++ b/samples/POV-Ray SDL/bglass.inc @@ -0,0 +1,117 @@ +// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. +// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a +// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. + +// Persistence Of Vision Ray Tracer Include File +// File: bglass.inc +// Desc: drinking glass for 'balcony.pov' demonstration scene +// Date: July/August 2001 +// Auth: Christoph Hormann + +// Updated: 09Aug2008 (jh) for v3.7 distribution + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +#if (version < 3.7) + #version 3.5; +#end + +#declare Mat_Glass= +material { + texture { + pigment { color rgbt 1 } + finish { + ambient 0.0 + diffuse 0.1 + specular 0.5 + roughness 0.05 + + reflection { + 0.0, 1.0 + fresnel on + } + + conserve_energy + } + } + interior { + ior 1.5 + fade_distance 0.1 + fade_power 1001 + fade_color <0.4,0.4,0.4> + } +} + +#declare Mat_Liquid= +material { + texture { + pigment { color rgbt 1 } + finish { + ambient 0.0 + diffuse 0.1 + specular 0.5 + roughness 0.01 + + reflection { + 0.0, 1.0 + fresnel on + } + + conserve_energy + } + } + interior { + ior 1.3 + fade_distance 0.03 + fade_power 1001 + fade_color <0.8,0.3,0.4> + } +} + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +#include "shapes.inc" + +#local Content_Shape= +merge { + cylinder { + 0*z, 5*z, 3.0 + } + + object { Round_Cylinder_Merge (2*z, -3*z, 3.0, 0.25) } + + material { Mat_Liquid } +} + +#declare Glass= +union { + merge { + difference { + cylinder { + 0.01*z, 14*z, 3.2 + } + + cylinder { + 0*z, 10*z, 3.0 + translate 4.6*z + } + + object { Round_Cylinder_Merge (2*z, -3*z, 3.0, 0.25) translate 4.6*z } + } + torus { + 3.1, 0.1 + rotate 90*x + translate 14*z + } + + material { Mat_Glass } + } + + object { Content_Shape scale 0.99 translate 4.6*z } + + scale 1.1 + scale 0.01 +} + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + diff --git a/samples/POV-Ray SDL/building.inc b/samples/POV-Ray SDL/building.inc new file mode 100755 index 00000000..400b8166 --- /dev/null +++ b/samples/POV-Ray SDL/building.inc @@ -0,0 +1,212 @@ +// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. +// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a +// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. + +// Persistence Of Vision Ray Tracer Include File +// File: building.inc +// Desc: building for 'balcony.pov' demonstration scene +// Date: July/August 2001 +// Auth: Christoph Hormann + +// Updated: 09Aug2008 (jh) for v3.7 distribution + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +#if (version < 3.7) + #version 3.5; +#end + +#declare Tex_Stone= +texture { + pigment { + + agate + color_map { + [0.7 color rgb <0.6,0.6,0.6> ] + [1.0 color rgb 0.46 ] + } + warp { turbulence <0.7,0.4,0.4> } + scale <0.3,1.2,1.2>*0.25 + rotate -60*y + rotate 70*z + } + finish { + ambient 0.0//0.1 + diffuse 0.5 + specular 0.15 + } + normal { + granite 0.2 + warp {turbulence 1} + scale 0.1 + } +} + +#declare Tex_Floor_A= +texture { + pigment { + color rgb <0.6,0.6,0.6> + } + finish { + ambient 0.0 + diffuse 0.5 + specular 0.15 + } + normal { + granite 0.2 + warp {turbulence 1} + scale 0.25 + translate 2 + } +} + +#declare Tex_Floor_B= +texture { + pigment { + color rgb <0.18,0.18,0.22> + } + finish { + ambient 0.0 + diffuse 0.5 + specular 0.15 + } + normal { + granite 0.2 + warp {turbulence 1} + scale 0.25 + } +} + +#declare Tex_Floor= +texture { + checker + texture { Tex_Floor_A }, + texture { Tex_Floor_B } + scale 0.4 + rotate 45*z +} + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +#include "shapes.inc" + +#declare fn_Rad= +function { + sin(pow(abs(z*0.4),1.8))+0.4 +} + +#declare Small_Column_part1= +isosurface { + function { min(sqrt( x*x + y*y ) - fn_Rad(x, y, z), sqrt( x*x + y*y + pow(abs(z*2),1.4)) - 1.0) } + max_gradient 1.8 + //eval + accuracy 0.001 + contained_by { box { -4, 4 } } + translate 4*z + scale 6 + + texture { Tex_Stone } +} + +#declare Small_Column= +union { + object { Small_Column_part1 translate 3*z } + object { Round_Cylinder_Union (0, 3*z, 10, 1) } + object { Round_Cylinder_Union (51*z, 54*z, 10, 1) } + + scale 0.01 + + translate 0.1*z + texture { Tex_Stone } +} + +#declare Large_Column= +union { + object { Round_Cylinder_Merge (0.7*z, 0.8*z, 0.22, 0.02) } + + cylinder { 0.75*z, 3*z, 0.2 } + object { Round_Box_Union (<-0.23,-0.23,-0.1>, <0.23,0.23,0.15>, 0.02) } + object { Round_Box_Union (<-0.20,-0.20,0.00>, <0.20,0.20,0.70>, 0.02) } + object { Round_Box_Union (<-0.23,-0.23,0.58>, <0.23,0.23,0.70>, 0.02) } + object { Round_Box_Union (<-0.26,-0.26,0.64>, <0.26,0.26,0.74>, 0.02) } + + torus { 0.2, 0.06 rotate 90*x translate 2.74*z } + + object { Round_Box_Union (<-0.26,-0.26,2.80>, <0.26,0.26,2.88>, 0.01) } + + texture { Tex_Stone } +} + +#declare Balustrade= +union { + object { Round_Box_Union (<0.0,-0.15,0>, <5,0.15,0.1>, 0.02) } + object { Round_Box_Union (<0.0,-0.15,0.64>, <5,0.15,0.74>, 0.02) } + + #declare Cnt=0; + + #while (Cnt<10) + object { Small_Column translate(Cnt*0.5+0.6)*x } + #declare Cnt=Cnt+1; + #end + + texture { Tex_Stone } +} + +#declare Walls= +union { + box { <-0.5,-0.5,-1>, <-2,5.5,3.2> } + box { <-0.5,-0.5,-1>, <5.5,-2,3.2> } + + texture { Tex_Stone } +} + +#declare Ceiling_Segment= +union { + box { <-0.20,-0.20,2.94>, <0.20,0.20,2.98> } + box { <-0.14,-0.14,2.94>, <0.14,0.14,3.01> } +} + +#declare Ceiling= +union { + box { <5.6,5.6,3.04>, <-2,-2,3.5> } + + union { + object { Round_Box_Union (<0.0,-0.26,3.1>, <6,0.26,2.88>, 0.02) rotate 180*z } + object { Round_Box_Union (<0.0,-0.26,3.1>, <6,0.26,2.88>, 0.02) rotate -90*z } + translate <5,5,0> + } + + difference { + box { <5.0,5.0,2.95>, <-2,-2,3.5> } + object { Ceiling_Segment translate <4.44,4.44,0> } + object { Ceiling_Segment translate <4.44,3.94,0> } + object { Ceiling_Segment translate <3.94,4.44,0> } + object { Ceiling_Segment translate <3.94,3.94,0> } + object { Ceiling_Segment translate <4.44,3.44,0> } + object { Ceiling_Segment translate <3.44,4.44,0> } + object { Ceiling_Segment translate <3.94,3.44,0> } + object { Ceiling_Segment translate <3.44,3.94,0> } + object { Ceiling_Segment translate <4.44,2.94,0> } + object { Ceiling_Segment translate <2.94,4.44,0> } + } + + texture { Tex_Stone } +} + +#declare Base= +union { + box { <5.4,5.4,0>, <0,0,-1> texture { Tex_Floor } } + box { <6,6,-1>, <0,0,-2> } + + texture { Tex_Stone } +} + +object { Balustrade rotate 180*z translate <5,5,0> } +object { Balustrade rotate -90*z translate <5,5,0> } +object { Large_Column translate <5,5,0> } +object { Base } +object { Walls } +object { Ceiling } + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + diff --git a/samples/POV-Ray SDL/chair.inc b/samples/POV-Ray SDL/chair.inc new file mode 100755 index 00000000..39d47857 --- /dev/null +++ b/samples/POV-Ray SDL/chair.inc @@ -0,0 +1,382 @@ +// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. +// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a +// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. + +// Persistence Of Vision Ray Tracer Include File +// File: chair.inc +// Desc: chair for 'balcony.pov' demonstration scene +// Date: July/August 2001 +// Auth: Christoph Hormann + +// Updated: 09Aug2008 (jh) for v3.7 distribution + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +#if (version < 3.7) + #version 3.5; +#end + +#declare Tex_Table_Foot= +texture { + pigment { + color rgb 0.4 + } + finish { + ambient 0.0 + diffuse 0.3 + specular 0.4 + roughness 0.01 + metallic + + reflection { + 0.8 + metallic + } + } +} + +#declare Tex_Table_Foot_Bottom= +texture { + pigment { + color rgb 0.2 + } + finish { + ambient 0.0 + diffuse 0.3 + specular 0.4 + roughness 0.02 + } +} + +#declare Tex_Dark_Wood= +texture { + pigment { + bozo + color_map { + [0.3 color rgb <0.0,0.0,0.16> ] + [0.5 color rgb <0.0,0.0,0.08> ] + [0.7 color rgb <0.0,0.0,0.0> ] + } + scale <4,1,1>*0.036 + } + finish { + ambient 0.09 + diffuse 0.3 + specular 0.5 + roughness 0.025 + + reflection { + 0.15 + metallic + } + } + normal { + granite 0.1 + scale 0.03 + accuracy 0.007 + } +} + + + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +#include "shapes.inc" + +#local Chair_Tube_Rad=0.01; +#local Chair_Tube_Curve_Rad=0.045; +#local Chair_Leg_Angle=7; +#local Chair_Leg_AngleA=4; +#local Chair_Leg_Depth=0.13; + +#local Chair_Plate_Curve_Rad=0.03; +#local Chair_Plate_Thickness=0.008; +#local Chair_Plate_Width=0.48; +#local Chair_Plate_UWidth=0.22; +#local Chair_Plate_Height=0.45; +#local Chair_Plate_UAngle=5; +#local Chair_Plate_Depth=0.26; + +#local Chair_Leg= +union { + + intersection { + torus { Chair_Tube_Curve_Rad, Chair_Tube_Rad } + plane { x, 0 } + plane { -x, 0 rotate (-90+Chair_Leg_Angle)*y } + } + + cylinder { + <-Chair_Tube_Curve_Rad,0,0>, + <-Chair_Tube_Curve_Rad,0,-Chair_Plate_Height+0.01>, Chair_Tube_Rad + rotate Chair_Leg_Angle*y + } + cylinder { + <0,0,Chair_Tube_Curve_Rad>, + , Chair_Tube_Rad + } + + object { Round_Cylinder_Merge ( + <-Chair_Tube_Curve_Rad,0,-Chair_Plate_Height-0.003>, + <-Chair_Tube_Curve_Rad,0,-Chair_Plate_Height+0.025>, Chair_Tube_Rad+0.001, 0.005) + rotate Chair_Leg_Angle*y + texture { Tex_Table_Foot_Bottom } + } + + translate -Chair_Leg_Depth*x + + translate Chair_Plate_Height*cos(radians(Chair_Leg_Angle))*z + +} + +#macro Chair_Back(Rotate) +union { + + intersection { + torus { Chair_Tube_Curve_Rad, Chair_Tube_Rad } + plane { x, 0 } + plane { z, 0 } + + translate <-Chair_Leg_Depth, 0.0,Chair_Tube_Curve_Rad*2> + } + + cylinder { + <-0.08, 0.0,Chair_Tube_Curve_Rad>, + < 0.05, 0.0,Chair_Tube_Curve_Rad>, Chair_Tube_Rad + } + + intersection { + torus { 4, Chair_Tube_Rad } + plane { z, 0.4 } + plane { -z, 0 } + + translate <-4-Chair_Leg_Depth-Chair_Tube_Curve_Rad, 0.0,Chair_Tube_Curve_Rad*2> + } + + translate -Chair_Tube_Curve_Rad*z + + rotate 3*y + rotate Rotate*x + + translate Chair_Tube_Curve_Rad*z + + translate Chair_Plate_Height*cos(radians(Chair_Leg_Angle))*z + + +} +#end + +#local Chair_Base= +union { + + union { + object { Chair_Back(-0.25) translate Chair_Tube_Rad*2*y } + + object { Chair_Leg } + object { Chair_Leg rotate 180*z } + rotate -Chair_Leg_AngleA*x + translate -0.23*y + } + union { + object { Chair_Back( 0.25) translate -Chair_Tube_Rad*2*y } + + object { Chair_Leg } + object { Chair_Leg rotate 180*z } + rotate Chair_Leg_AngleA*x + translate 0.23*y + } + + texture { Tex_Table_Foot } +} + +#local Chair_Plate= +union { + + intersection { + merge { + torus { Chair_Plate_Curve_Rad, Chair_Plate_Thickness translate (Chair_Plate_Width/2)*y } + torus { Chair_Plate_Curve_Rad, Chair_Plate_Thickness translate -(Chair_Plate_Width/2)*y } + + difference { + cylinder { + -(Chair_Plate_Width/2)*y, (Chair_Plate_Width/2)*y, + Chair_Plate_Curve_Rad+Chair_Plate_Thickness + } + cylinder { + -(Chair_Plate_Width/1.8)*y, (Chair_Plate_Width/1.8)*y, + Chair_Plate_Curve_Rad-Chair_Plate_Thickness + } + } + } + + plane { -z, 0 rotate -20*y} + plane { -x, 0 } + } + + + merge { + cylinder { + <0.0, -Chair_Plate_Width/2, Chair_Plate_Curve_Rad> + <0.0, Chair_Plate_Width/2, Chair_Plate_Curve_Rad>, + Chair_Plate_Thickness + } + + sphere { <0.0, -Chair_Plate_Width/2, Chair_Plate_Curve_Rad>, Chair_Plate_Thickness } + sphere { <0.0, Chair_Plate_Width/2, Chair_Plate_Curve_Rad>, Chair_Plate_Thickness } + + rotate 70*y + } + + box { + < 0.00, -Chair_Plate_Width/2, Chair_Plate_Curve_Rad-Chair_Plate_Thickness>, + <-Chair_Plate_Depth, Chair_Plate_Width/2, Chair_Plate_Curve_Rad+Chair_Plate_Thickness> + } + cylinder { + < 0.00, -Chair_Plate_Width/2, Chair_Plate_Curve_Rad> + <-Chair_Plate_Depth, -Chair_Plate_Width/2, Chair_Plate_Curve_Rad>, + Chair_Plate_Thickness + } + cylinder { + < 0.00, Chair_Plate_Width/2, Chair_Plate_Curve_Rad> + <-Chair_Plate_Depth, Chair_Plate_Width/2, Chair_Plate_Curve_Rad>, + Chair_Plate_Thickness + } + + box { + <-Chair_Plate_Depth, -Chair_Plate_Width/2+Chair_Plate_Curve_Rad, + Chair_Plate_Curve_Rad-Chair_Plate_Thickness>, + <-Chair_Plate_Depth-Chair_Plate_Curve_Rad, Chair_Plate_Width/2-Chair_Plate_Curve_Rad, + Chair_Plate_Curve_Rad+Chair_Plate_Thickness> + } + + cylinder { + <-Chair_Plate_Depth, Chair_Plate_Width/2-Chair_Plate_Curve_Rad, + Chair_Plate_Curve_Rad-Chair_Plate_Thickness> + <-Chair_Plate_Depth, Chair_Plate_Width/2-Chair_Plate_Curve_Rad, + Chair_Plate_Curve_Rad+Chair_Plate_Thickness>, + Chair_Plate_Curve_Rad + } + cylinder { + <-Chair_Plate_Depth, -Chair_Plate_Width/2+Chair_Plate_Curve_Rad, + Chair_Plate_Curve_Rad-Chair_Plate_Thickness> + <-Chair_Plate_Depth, -Chair_Plate_Width/2+Chair_Plate_Curve_Rad, + Chair_Plate_Curve_Rad+Chair_Plate_Thickness>, + Chair_Plate_Curve_Rad + } + torus { + Chair_Plate_Curve_Rad, Chair_Plate_Thickness + rotate 90*x + translate <-Chair_Plate_Depth, + -Chair_Plate_Width/2+Chair_Plate_Curve_Rad, Chair_Plate_Curve_Rad> + } + torus { + Chair_Plate_Curve_Rad, Chair_Plate_Thickness + rotate 90*x + translate <-Chair_Plate_Depth, + Chair_Plate_Width/2-Chair_Plate_Curve_Rad, Chair_Plate_Curve_Rad> + } + + translate (Chair_Plate_Height+0.03)*z + translate 0.18*x +} + +#local Chair_Back_Plate= +union { + intersection { + union { + intersection { + difference { + cylinder { <0.0, -0.30, 0.0>, <0.0, 0.30, 0.0>, 4+2*Chair_Plate_Thickness } + cylinder { <0.0, -0.40, 0.0>, <0.0, 0.40, 0.0>, 4 } + } + plane { y, Chair_Plate_UWidth rotate Chair_Plate_UAngle*x } + plane { -y, Chair_Plate_UWidth rotate -Chair_Plate_UAngle*x } + } + + torus { + 4+Chair_Plate_Thickness, Chair_Plate_Thickness + scale <1, 1, 1/cos(radians(Chair_Plate_UAngle))> + rotate Chair_Plate_UAngle*x + translate Chair_Plate_UWidth*y + } + + torus { + 4+Chair_Plate_Thickness, Chair_Plate_Thickness + scale <1, 1, 1/cos(radians(Chair_Plate_UAngle))> + rotate -Chair_Plate_UAngle*x + translate -Chair_Plate_UWidth*y + } + } + + plane { z, 0 rotate -8*y } + plane { -z, 0 rotate -0.2*y } + } + + intersection { + union { + cylinder { + <4+Chair_Plate_Thickness, 0.3, 0.0>, + <4+Chair_Plate_Thickness, -0.3, 0.0>, + Chair_Plate_Thickness + rotate -0.2*y + } + cylinder { + <4+Chair_Plate_Thickness, 0.3, 0.0>, + <4+Chair_Plate_Thickness, -0.3, 0.0>, + Chair_Plate_Thickness + rotate -8*y + } + } + plane { y, Chair_Plate_UWidth rotate Chair_Plate_UAngle*x } + plane { -y, Chair_Plate_UWidth rotate -Chair_Plate_UAngle*x } + } + sphere { + <4+Chair_Plate_Thickness, Chair_Plate_UWidth, 0.0>, + Chair_Plate_Thickness + rotate -0.2*y + } + sphere { + <4+Chair_Plate_Thickness, -Chair_Plate_UWidth, 0.0>, + Chair_Plate_Thickness + rotate -0.2*y + } + + sphere { + <4+Chair_Plate_Thickness, + Chair_Plate_UWidth-4*sin(radians(Chair_Plate_UAngle))*sin(radians(8)), 0.0>, + Chair_Plate_Thickness + rotate -8*y + } + sphere { + <4+Chair_Plate_Thickness, + -Chair_Plate_UWidth+4*sin(radians(Chair_Plate_UAngle))*sin(radians(8)), 0.0>, + Chair_Plate_Thickness + rotate -8*y + } + + + translate <-4-Chair_Leg_Depth-Chair_Tube_Curve_Rad+Chair_Tube_Rad, + 0.0, Chair_Tube_Curve_Rad*2> + + translate -Chair_Tube_Curve_Rad*z + + rotate 3*y + + translate Chair_Tube_Curve_Rad*z + + translate Chair_Plate_Height*cos(radians(Chair_Leg_Angle))*z + +} + + +union { + object { Chair_Back_Plate texture { Tex_Dark_Wood rotate 90*y } } + object { Chair_Plate texture { Tex_Dark_Wood } } + + object { Chair_Base } + scale 0.92 + rotate -60*z + translate <2.68,3.35,0> +} + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ diff --git a/samples/POV-Ray SDL/cloth.inc b/samples/POV-Ray SDL/cloth.inc new file mode 100755 index 00000000..53e95ae5 --- /dev/null +++ b/samples/POV-Ray SDL/cloth.inc @@ -0,0 +1,12217 @@ +// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. +// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a +// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. + +// Updated: 09Aug2008 (jh) for v3.7 distribution + +#if (version < 3.7) + #version 3.5; +#end + +#local nx=90; +#local ny=90; +#local ZP=0.66003; + +#macro ZS(Nbr) + #local Cnt=0; + #while (Cnt, +<-0.36168,-0.34964,0.32452>, +<-0.36685,-0.34249,0.33361>, +<-0.37122,-0.33488,0.34282>, +<-0.37518,-0.32706,0.35207>, +<-0.37935,-0.31939,0.36145>, +<-0.38404,-0.31214,0.37091>, +<-0.38958,-0.30556,0.38035>, +<-0.39618,-0.30007,0.38972>, +<-0.40374,-0.29602,0.39905>, +<-0.41187,-0.29331,0.40832>, +<-0.42017,-0.29123,0.41751>, +<-0.42787,-0.28740,0.42664>, +<-0.43451,-0.28169,0.43565>, +<-0.43902,-0.27389,0.44448>, +<-0.44053,-0.26456,0.45305>, +<-0.43874,-0.25480,0.46126>, +<-0.43422,-0.24574,0.46908>, +<-0.42958,-0.23699,0.47696>, +<-0.42909,-0.22709,0.48490>, +<-0.43330,-0.21774,0.49266>, +<-0.44198,-0.21156,0.49979>, +<-0.45268,-0.20913,0.50633>, +<-0.46379,-0.20937,0.51260>, +<-0.47348,-0.20478,0.51937>, +<-0.47923,-0.19545,0.52581>, +<-0.47799,-0.18406,0.53132>, +<-0.47180,-0.17392,0.53610>, +<-0.46550,-0.16443,0.54096>, +<-0.46576,-0.15265,0.54656>, +<-0.47382,-0.14354,0.55147>, +<-0.48558,-0.14027,0.55515>, +<-0.49547,-0.13422,0.55978>, +<-0.49992,-0.12291,0.56422>, +<-0.49618,-0.11116,0.56725>, +<-0.48742,-0.10196,0.56967>, +<-0.48660,-0.08936,0.57326>, +<-0.49360,-0.07884,0.57589>, +<-0.50537,-0.07381,0.57824>, +<-0.51092,-0.06250,0.58087>, +<-0.50818,-0.05001,0.58201>, +<-0.49857,-0.04125,0.58244>, +<-0.49585,-0.02897,0.58362>, +<-0.49991,-0.01714,0.58411>, +<-0.50878,-0.00811,0.58500>, +<-0.50917,0.00496,0.58493>, +<-0.50100,0.01463,0.58383>, +<-0.49548,0.02603,0.58338>, +<-0.49750,0.03889,0.58227>, +<-0.50716,0.04766,0.58171>, +<-0.51053,0.05988,0.58096>, +<-0.50521,0.07163,0.57825>, +<-0.49371,0.07717,0.57564>, +<-0.48643,0.08741,0.57312>, +<-0.48711,0.10021,0.56953>, +<-0.49587,0.10962,0.56689>, +<-0.49897,0.12189,0.56376>, +<-0.49345,0.13317,0.55935>, +<-0.48310,0.13851,0.55496>, +<-0.47196,0.14338,0.55117>, +<-0.46530,0.15343,0.54635>, +<-0.46665,0.16501,0.54102>, +<-0.47450,0.17393,0.53636>, +<-0.48025,0.18446,0.53164>, +<-0.48041,0.19606,0.52600>, +<-0.47361,0.20474,0.51912>, +<-0.46355,0.20815,0.51218>, +<-0.45236,0.20747,0.50617>, +<-0.44162,0.21032,0.49972>, +<-0.43343,0.21707,0.49262>, +<-0.42989,0.22650,0.48483>, +<-0.43100,0.23616,0.47688>, +<-0.43592,0.24474,0.46926>, +<-0.43998,0.25391,0.46163>, +<-0.44131,0.26365,0.45360>, +<-0.43940,0.27286,0.44510>, +<-0.43452,0.28036,0.43621>, +<-0.42766,0.28572,0.42710>, +<-0.41980,0.28916,0.41798>, +<-0.41135,0.29122,0.40887>, +<-0.40325,0.29439,0.39964>, +<-0.39597,0.29900,0.39029>, +<-0.38976,0.30491,0.38085>, +<-0.38464,0.31181,0.37140>, +<-0.38026,0.31928,0.36195>, +<-0.37639,0.32705,0.35261>, +<-0.37252,0.33490,0.34333>, +<-0.36800,0.34258,0.33412>, +<-0.36256,0.34969,0.32503>, +<-0.35644,0.35623,0.31592> +<-0.34951,-0.36255,0.32437>, +<-0.35616,-0.35667,0.33347>, +<-0.36217,-0.35018,0.34242>, +<-0.36724,-0.34300,0.35158>, +<-0.37135,-0.33528,0.36079>, +<-0.37493,-0.32734,0.37012>, +<-0.37875,-0.31957,0.37952>, +<-0.38332,-0.31225,0.38898>, +<-0.38892,-0.30576,0.39837>, +<-0.39566,-0.30046,0.40774>, +<-0.40332,-0.29654,0.41707>, +<-0.41155,-0.29406,0.42634>, +<-0.41984,-0.29171,0.43558>, +<-0.42752,-0.28755,0.44477>, +<-0.43384,-0.28119,0.45377>, +<-0.43771,-0.27270,0.46250>, +<-0.43849,-0.26305,0.47086>, +<-0.43626,-0.25346,0.47882>, +<-0.43118,-0.24476,0.48650>, +<-0.42872,-0.23532,0.49448>, +<-0.43053,-0.22537,0.50249>, +<-0.43699,-0.21724,0.51004>, +<-0.44664,-0.21267,0.51695>, +<-0.45761,-0.21208,0.52323>, +<-0.46787,-0.20924,0.53001>, +<-0.47545,-0.20104,0.53687>, +<-0.47675,-0.18970,0.54295>, +<-0.47289,-0.17914,0.54830>, +<-0.46580,-0.16986,0.55309>, +<-0.46484,-0.15823,0.55854>, +<-0.47140,-0.14822,0.56338>, +<-0.48206,-0.14310,0.56739>, +<-0.49252,-0.13769,0.57189>, +<-0.49772,-0.12671,0.57641>, +<-0.49530,-0.11471,0.57950>, +<-0.48749,-0.10482,0.58198>, +<-0.48644,-0.09237,0.58557>, +<-0.49302,-0.08196,0.58825>, +<-0.50350,-0.07541,0.59079>, +<-0.50862,-0.06395,0.59347>, +<-0.50716,-0.05131,0.59468>, +<-0.49825,-0.04184,0.59509>, +<-0.49560,-0.02952,0.59642>, +<-0.49957,-0.01796,0.59711>, +<-0.50831,-0.00793,0.59824>, +<-0.50783,0.00469,0.59826>, +<-0.50020,0.01487,0.59715>, +<-0.49605,0.02666,0.59635>, +<-0.49758,0.03948,0.59513>, +<-0.50585,0.04934,0.59452>, +<-0.50824,0.06187,0.59357>, +<-0.50304,0.07327,0.59056>, +<-0.49258,0.08023,0.58806>, +<-0.48645,0.09137,0.58532>, +<-0.48756,0.10360,0.58180>, +<-0.49512,0.11356,0.57919>, +<-0.49676,0.12578,0.57588>, +<-0.49075,0.13636,0.57134>, +<-0.47986,0.14129,0.56728>, +<-0.47009,0.14791,0.56301>, +<-0.46512,0.15882,0.55784>, +<-0.46722,0.17017,0.55245>, +<-0.47505,0.17930,0.54805>, +<-0.47838,0.19036,0.54290>, +<-0.47590,0.20144,0.53690>, +<-0.46778,0.20873,0.53011>, +<-0.45733,0.21038,0.52357>, +<-0.44644,0.21122,0.51737>, +<-0.43674,0.21619,0.51046>, +<-0.43089,0.22472,0.50288>, +<-0.42962,0.23461,0.49482>, +<-0.43269,0.24385,0.48689>, +<-0.43745,0.25266,0.47921>, +<-0.43928,0.26218,0.47122>, +<-0.43811,0.27162,0.46283>, +<-0.43389,0.27980,0.45414>, +<-0.42734,0.28590,0.44514>, +<-0.41956,0.28983,0.43601>, +<-0.41119,0.29195,0.42691>, +<-0.40303,0.29486,0.41769>, +<-0.39551,0.29922,0.40836>, +<-0.38903,0.30504,0.39894>, +<-0.38384,0.31193,0.38952>, +<-0.37968,0.31950,0.38011>, +<-0.37614,0.32737,0.37067>, +<-0.37274,0.33533,0.36132>, +<-0.36853,0.34299,0.35201>, +<-0.36322,0.35010,0.34286>, +<-0.35692,0.35650,0.33392>, +<-0.34999,0.36226,0.32517> +<-0.34261,-0.36819,0.33344>, +<-0.34999,-0.36317,0.34233>, +<-0.35691,-0.35745,0.35134>, +<-0.36285,-0.35089,0.36045>, +<-0.36768,-0.34356,0.36965>, +<-0.37132,-0.33566,0.37897>, +<-0.37430,-0.32757,0.38829>, +<-0.37789,-0.31970,0.39772>, +<-0.38240,-0.31235,0.40708>, +<-0.38819,-0.30587,0.41653>, +<-0.39522,-0.30073,0.42593>, +<-0.40306,-0.29706,0.43530>, +<-0.41157,-0.29511,0.44455>, +<-0.41989,-0.29237,0.45378>, +<-0.42745,-0.28751,0.46289>, +<-0.43338,-0.28039,0.47186>, +<-0.43652,-0.27140,0.48047>, +<-0.43645,-0.26166,0.48866>, +<-0.43369,-0.25232,0.49657>, +<-0.42918,-0.24343,0.50452>, +<-0.42894,-0.23361,0.51260>, +<-0.43291,-0.22414,0.52048>, +<-0.44114,-0.21740,0.52754>, +<-0.45119,-0.21408,0.53434>, +<-0.46216,-0.21313,0.54076>, +<-0.47069,-0.20674,0.54753>, +<-0.47482,-0.19633,0.55383>, +<-0.47303,-0.18494,0.55937>, +<-0.46655,-0.17517,0.56424>, +<-0.46449,-0.16404,0.56984>, +<-0.46955,-0.15341,0.57492>, +<-0.47854,-0.14614,0.57937>, +<-0.48915,-0.14087,0.58374>, +<-0.49505,-0.13057,0.58827>, +<-0.49414,-0.11839,0.59170>, +<-0.48767,-0.10792,0.59446>, +<-0.48676,-0.09573,0.59819>, +<-0.49271,-0.08515,0.60082>, +<-0.50072,-0.07676,0.60323>, +<-0.50605,-0.06558,0.60627>, +<-0.50390,-0.05321,0.60722>, +<-0.49833,-0.04262,0.60817>, +<-0.49911,-0.03043,0.60923>, +<-0.49970,-0.01837,0.60969>, +<-0.50570,-0.00748,0.61113>, +<-0.50550,0.00491,0.61133>, +<-0.50004,0.01559,0.61021>, +<-0.49925,0.02806,0.60906>, +<-0.49839,0.04022,0.60791>, +<-0.50348,0.05149,0.60709>, +<-0.50549,0.06367,0.60583>, +<-0.50052,0.07469,0.60313>, +<-0.49294,0.08381,0.60054>, +<-0.48687,0.09441,0.59780>, +<-0.48811,0.10674,0.59440>, +<-0.49384,0.11744,0.59178>, +<-0.49403,0.12957,0.58870>, +<-0.48777,0.13955,0.58376>, +<-0.47735,0.14504,0.57932>, +<-0.46857,0.15297,0.57461>, +<-0.46506,0.16416,0.56962>, +<-0.46802,0.17507,0.56412>, +<-0.47457,0.18458,0.55944>, +<-0.47593,0.19613,0.55392>, +<-0.47114,0.20616,0.54762>, +<-0.46212,0.21205,0.54065>, +<-0.45105,0.21251,0.53462>, +<-0.44100,0.21610,0.52796>, +<-0.43299,0.22317,0.52069>, +<-0.42947,0.23270,0.51285>, +<-0.43016,0.24258,0.50482>, +<-0.43502,0.25152,0.49701>, +<-0.43738,0.26094,0.48898>, +<-0.43697,0.27062,0.48079>, +<-0.43342,0.27929,0.47210>, +<-0.42735,0.28603,0.46332>, +<-0.41968,0.29054,0.45416>, +<-0.41123,0.29303,0.44510>, +<-0.40283,0.29544,0.43586>, +<-0.39512,0.29954,0.42649>, +<-0.38838,0.30511,0.41705>, +<-0.38301,0.31195,0.40760>, +<-0.37888,0.31956,0.39823>, +<-0.37569,0.32757,0.38884>, +<-0.37286,0.33581,0.37947>, +<-0.36906,0.34362,0.37012>, +<-0.36398,0.35086,0.36085>, +<-0.35773,0.35728,0.35181>, +<-0.35060,0.36276,0.34299>, +<-0.34300,0.36758,0.33433> +<-0.33512,-0.37291,0.34274>, +<-0.34307,-0.36875,0.35143>, +<-0.35075,-0.36391,0.36039>, +<-0.35762,-0.35821,0.36947>, +<-0.36345,-0.35150,0.37862>, +<-0.36804,-0.34399,0.38793>, +<-0.37130,-0.33596,0.39728>, +<-0.37398,-0.32773,0.40673>, +<-0.37734,-0.31980,0.41617>, +<-0.38190,-0.31239,0.42559>, +<-0.38785,-0.30598,0.43500>, +<-0.39507,-0.30098,0.44441>, +<-0.40310,-0.29753,0.45376>, +<-0.41171,-0.29555,0.46302>, +<-0.41998,-0.29227,0.47214>, +<-0.42730,-0.28684,0.48116>, +<-0.43265,-0.27918,0.49005>, +<-0.43500,-0.26993,0.49849>, +<-0.43458,-0.26024,0.50672>, +<-0.43133,-0.25103,0.51467>, +<-0.42878,-0.24164,0.52270>, +<-0.43030,-0.23180,0.53073>, +<-0.43620,-0.22318,0.53822>, +<-0.44535,-0.21761,0.54516>, +<-0.45603,-0.21582,0.55156>, +<-0.46540,-0.21132,0.55836>, +<-0.47150,-0.20236,0.56486>, +<-0.47213,-0.19092,0.57077>, +<-0.46801,-0.18031,0.57589>, +<-0.46492,-0.16960,0.58145>, +<-0.46839,-0.15875,0.58699>, +<-0.47571,-0.14994,0.59158>, +<-0.48568,-0.14380,0.59596>, +<-0.49176,-0.13401,0.60062>, +<-0.49228,-0.12212,0.60420>, +<-0.48767,-0.11098,0.60713>, +<-0.49001,-0.09966,0.61069>, +<-0.49217,-0.08821,0.61352>, +<-0.49897,-0.07872,0.61652>, +<-0.50307,-0.06720,0.61914>, +<-0.50192,-0.05495,0.62052>, +<-0.49817,-0.04339,0.62116>, +<-0.49904,-0.03132,0.62245>, +<-0.49963,-0.01942,0.62313>, +<-0.50295,-0.00757,0.62359>, +<-0.50341,0.00465,0.62328>, +<-0.49998,0.01627,0.62218>, +<-0.49918,0.02890,0.62208>, +<-0.49852,0.04114,0.62081>, +<-0.50117,0.05310,0.62000>, +<-0.50216,0.06529,0.61862>, +<-0.49776,0.07642,0.61594>, +<-0.49242,0.08679,0.61323>, +<-0.49029,0.09827,0.61038>, +<-0.48829,0.10945,0.60656>, +<-0.49185,0.12070,0.60345>, +<-0.49116,0.13260,0.59979>, +<-0.48414,0.14236,0.59485>, +<-0.47498,0.14909,0.59100>, +<-0.46766,0.15835,0.58656>, +<-0.46545,0.16965,0.58137>, +<-0.46976,0.18012,0.57638>, +<-0.47337,0.19069,0.57140>, +<-0.47231,0.20186,0.56568>, +<-0.46553,0.21044,0.55901>, +<-0.45570,0.21443,0.55214>, +<-0.44516,0.21641,0.54563>, +<-0.43625,0.22227,0.53857>, +<-0.43073,0.23098,0.53104>, +<-0.42948,0.24076,0.52301>, +<-0.43256,0.25006,0.51513>, +<-0.43559,0.25945,0.50714>, +<-0.43575,0.26924,0.49895>, +<-0.43286,0.27839,0.49030>, +<-0.42711,0.28562,0.48149>, +<-0.41973,0.29068,0.47253>, +<-0.41139,0.29357,0.46336>, +<-0.40290,0.29585,0.45423>, +<-0.39505,0.29979,0.44488>, +<-0.38809,0.30522,0.43545>, +<-0.38253,0.31205,0.42601>, +<-0.37837,0.31971,0.41660>, +<-0.37535,0.32789,0.40722>, +<-0.37290,0.33619,0.39777>, +<-0.36944,0.34422,0.38838>, +<-0.36465,0.35157,0.37903>, +<-0.35855,0.35807,0.36988>, +<-0.35139,0.36355,0.36096>, +<-0.34358,0.36805,0.35220>, +<-0.33543,0.37201,0.34358> +<-0.32728,-0.37687,0.35198>, +<-0.33557,-0.37325,0.36075>, +<-0.34379,-0.36928,0.36963>, +<-0.35146,-0.36458,0.37861>, +<-0.35834,-0.35881,0.38772>, +<-0.36399,-0.35196,0.39702>, +<-0.36826,-0.34433,0.40643>, +<-0.37122,-0.33622,0.41588>, +<-0.37365,-0.32794,0.42539>, +<-0.37698,-0.31993,0.43481>, +<-0.38158,-0.31250,0.44426>, +<-0.38773,-0.30613,0.45374>, +<-0.39511,-0.30125,0.46311>, +<-0.40327,-0.29794,0.47244>, +<-0.41187,-0.29572,0.48161>, +<-0.41992,-0.29192,0.49074>, +<-0.42680,-0.28586,0.49978>, +<-0.43155,-0.27783,0.50855>, +<-0.43340,-0.26841,0.51692>, +<-0.43289,-0.25874,0.52505>, +<-0.42990,-0.24938,0.53310>, +<-0.42938,-0.23972,0.54111>, +<-0.43278,-0.23030,0.54887>, +<-0.44008,-0.22275,0.55610>, +<-0.44943,-0.21815,0.56289>, +<-0.45959,-0.21486,0.56970>, +<-0.46713,-0.20748,0.57648>, +<-0.46975,-0.19661,0.58254>, +<-0.46868,-0.18556,0.58789>, +<-0.46551,-0.17475,0.59334>, +<-0.46777,-0.16401,0.59895>, +<-0.47524,-0.15545,0.60359>, +<-0.48160,-0.14664,0.60830>, +<-0.48819,-0.13744,0.61308>, +<-0.48955,-0.12583,0.61673>, +<-0.48769,-0.11412,0.61988>, +<-0.48937,-0.10262,0.62355>, +<-0.49165,-0.09106,0.62656>, +<-0.49498,-0.07998,0.62922>, +<-0.49804,-0.06868,0.63165>, +<-0.49678,-0.05687,0.63279>, +<-0.49805,-0.04438,0.63452>, +<-0.49900,-0.03229,0.63572>, +<-0.49964,-0.02002,0.63617>, +<-0.49997,-0.00761,0.63642>, +<-0.49999,0.00504,0.63623>, +<-0.49972,0.01746,0.63585>, +<-0.49914,0.02987,0.63526>, +<-0.49824,0.04216,0.63430>, +<-0.49704,0.05433,0.63288>, +<-0.49726,0.06649,0.63117>, +<-0.49456,0.07809,0.62870>, +<-0.49191,0.08962,0.62627>, +<-0.48966,0.10123,0.62323>, +<-0.48858,0.11276,0.61936>, +<-0.48925,0.12393,0.61591>, +<-0.48731,0.13563,0.61191>, +<-0.48060,0.14553,0.60724>, +<-0.47539,0.15501,0.60327>, +<-0.46748,0.16362,0.59874>, +<-0.46614,0.17470,0.59324>, +<-0.47010,0.18544,0.58830>, +<-0.47086,0.19670,0.58293>, +<-0.46740,0.20722,0.57712>, +<-0.45966,0.21413,0.57031>, +<-0.44939,0.21670,0.56346>, +<-0.44027,0.22170,0.55655>, +<-0.43311,0.22931,0.54922>, +<-0.42991,0.23887,0.54161>, +<-0.43089,0.24857,0.53346>, +<-0.43387,0.25782,0.52553>, +<-0.43428,0.26750,0.51732>, +<-0.43213,0.27696,0.50886>, +<-0.42693,0.28486,0.49990>, +<-0.41979,0.29049,0.49097>, +<-0.41160,0.29388,0.48185>, +<-0.40306,0.29631,0.47269>, +<-0.39506,0.30012,0.46347>, +<-0.38797,0.30542,0.45408>, +<-0.38225,0.31216,0.44460>, +<-0.37804,0.31989,0.43508>, +<-0.37511,0.32800,0.42570>, +<-0.37283,0.33642,0.41628>, +<-0.36970,0.34451,0.40683>, +<-0.36517,0.35211,0.39748>, +<-0.35926,0.35878,0.38820>, +<-0.35211,0.36426,0.37915>, +<-0.34420,0.36869,0.37026>, +<-0.33595,0.37227,0.36152>, +<-0.32759,0.37569,0.35283> +<-0.31944,-0.38059,0.36139>, +<-0.32767,-0.37680,0.37009>, +<-0.33616,-0.37349,0.37897>, +<-0.34436,-0.36975,0.38787>, +<-0.35210,-0.36508,0.39696>, +<-0.35885,-0.35926,0.40623>, +<-0.36430,-0.35228,0.41566>, +<-0.36834,-0.34457,0.42510>, +<-0.37111,-0.33637,0.43466>, +<-0.37346,-0.32803,0.44413>, +<-0.37678,-0.31999,0.45357>, +<-0.38155,-0.31251,0.46313>, +<-0.38782,-0.30630,0.47258>, +<-0.39530,-0.30156,0.48195>, +<-0.40354,-0.29820,0.49120>, +<-0.41202,-0.29552,0.50032>, +<-0.41982,-0.29104,0.50947>, +<-0.42620,-0.28453,0.51850>, +<-0.43033,-0.27615,0.52718>, +<-0.43199,-0.26671,0.53553>, +<-0.43151,-0.25709,0.54357>, +<-0.42961,-0.24747,0.55160>, +<-0.43097,-0.23786,0.55946>, +<-0.43621,-0.22911,0.56707>, +<-0.44403,-0.22246,0.57391>, +<-0.45340,-0.21803,0.58053>, +<-0.46165,-0.21181,0.58753>, +<-0.46631,-0.20182,0.59395>, +<-0.46698,-0.19066,0.59966>, +<-0.46632,-0.18044,0.60555>, +<-0.47011,-0.17039,0.61095>, +<-0.47368,-0.16015,0.61598>, +<-0.47807,-0.15001,0.62072>, +<-0.48348,-0.14020,0.62552>, +<-0.48513,-0.12888,0.62946>, +<-0.48604,-0.11736,0.63289>, +<-0.48868,-0.10585,0.63620>, +<-0.49108,-0.09405,0.63907>, +<-0.49338,-0.08213,0.64161>, +<-0.49508,-0.07000,0.64416>, +<-0.49570,-0.05812,0.64582>, +<-0.49799,-0.04567,0.64752>, +<-0.49547,-0.03807,0.65000>, +<-0.49974,-0.02057,0.64931>, +<-0.50010,-0.00779,0.64950>, +<-0.50011,0.00525,0.64938>, +<-0.49980,0.01800,0.64897>, +<-0.49916,0.03069,0.64825>, +<-0.49818,0.04328,0.64717>, +<-0.49690,0.05578,0.64570>, +<-0.49533,0.06821,0.64377>, +<-0.49370,0.08053,0.64134>, +<-0.49135,0.09261,0.63880>, +<-0.48898,0.10449,0.63593>, +<-0.48648,0.11559,0.63249>, +<-0.48455,0.12688,0.62886>, +<-0.48232,0.13815,0.62461>, +<-0.47751,0.14887,0.62014>, +<-0.47388,0.15956,0.61564>, +<-0.47032,0.16979,0.61092>, +<-0.46643,0.18016,0.60584>, +<-0.46840,0.19125,0.60053>, +<-0.46700,0.20186,0.59495>, +<-0.46205,0.21119,0.58844>, +<-0.45356,0.21692,0.58132>, +<-0.44430,0.22127,0.57473>, +<-0.43658,0.22817,0.56740>, +<-0.43142,0.23695,0.55987>, +<-0.43042,0.24661,0.55198>, +<-0.43246,0.25614,0.54397>, +<-0.43281,0.26578,0.53587>, +<-0.43107,0.27522,0.52755>, +<-0.42657,0.28359,0.51879>, +<-0.41978,0.28989,0.50966>, +<-0.41179,0.29396,0.50053>, +<-0.40334,0.29666,0.49133>, +<-0.39532,0.30039,0.48214>, +<-0.38809,0.30562,0.47281>, +<-0.38222,0.31223,0.46336>, +<-0.37791,0.31991,0.45387>, +<-0.37488,0.32820,0.44433>, +<-0.37269,0.33658,0.43495>, +<-0.36972,0.34478,0.42547>, +<-0.36546,0.35238,0.41606>, +<-0.35976,0.35917,0.40673>, +<-0.35271,0.36477,0.39751>, +<-0.34481,0.36913,0.38854>, +<-0.33639,0.37255,0.37965>, +<-0.32791,0.37562,0.37089>, +<-0.31970,0.37926,0.36216> +<-0.31193,-0.38467,0.37085>, +<-0.31982,-0.38014,0.37948>, +<-0.32812,-0.37651,0.38827>, +<-0.33663,-0.37360,0.39721>, +<-0.34486,-0.37003,0.40634>, +<-0.35247,-0.36542,0.41559>, +<-0.35912,-0.35951,0.42498>, +<-0.36438,-0.35251,0.43438>, +<-0.36829,-0.34471,0.44397>, +<-0.37095,-0.33649,0.45357>, +<-0.37332,-0.32814,0.46303>, +<-0.37682,-0.32001,0.47263>, +<-0.38171,-0.31273,0.48217>, +<-0.38813,-0.30666,0.49162>, +<-0.39574,-0.30189,0.50104>, +<-0.40389,-0.29836,0.51022>, +<-0.41208,-0.29505,0.51935>, +<-0.41941,-0.28995,0.52848>, +<-0.42528,-0.28292,0.53748>, +<-0.42901,-0.27436,0.54607>, +<-0.43064,-0.26491,0.55430>, +<-0.43057,-0.25519,0.56235>, +<-0.43060,-0.24564,0.57031>, +<-0.43382,-0.23644,0.57824>, +<-0.44009,-0.22847,0.58541>, +<-0.44768,-0.22193,0.59193>, +<-0.45573,-0.21548,0.59873>, +<-0.46129,-0.20670,0.60562>, +<-0.46406,-0.19639,0.61173>, +<-0.46535,-0.18531,0.61752>, +<-0.46832,-0.17520,0.62348>, +<-0.47205,-0.16491,0.62860>, +<-0.47561,-0.15429,0.63332>, +<-0.47918,-0.14345,0.63764>, +<-0.48222,-0.13217,0.64168>, +<-0.48528,-0.12059,0.64552>, +<-0.48816,-0.10875,0.64905>, +<-0.49046,-0.09663,0.65269>, +<-0.49114,-0.08409,0.65612>, +<-0.49066,-0.07126,0.65851>, +<-0.48965,-0.05870,0.65975>, +<-0.48898,-0.04581,0.66014>, +<-0.48896,-0.03290,0.66019>, +<-0.48919,-0.02023,0.66019>, +<-0.48936,-0.00753,0.66019>, +<-0.48948,0.00537,0.66018>, +<-0.48959,0.01813,0.66019>, +<-0.48984,0.03092,0.66018>, +<-0.49029,0.04375,ZP>, +<-0.49093,0.05665,0.65939>, +<-0.49161,0.06961,0.65799>, +<-0.49181,0.08251,0.65554>, +<-0.49085,0.09518,0.65221>, +<-0.48845,0.10742,0.64873>, +<-0.48561,0.11928,0.64526>, +<-0.48261,0.13076,0.64137>, +<-0.47937,0.14226,0.63656>, +<-0.47591,0.15338,0.63304>, +<-0.47234,0.16407,0.62844>, +<-0.46860,0.17444,0.62347>, +<-0.46625,0.18520,0.61812>, +<-0.46513,0.19620,0.61269>, +<-0.46213,0.20645,0.60688>, +<-0.45612,0.21477,0.60006>, +<-0.44800,0.22092,0.59290>, +<-0.44044,0.22758,0.58602>, +<-0.43433,0.23564,0.57858>, +<-0.43135,0.24466,0.57063>, +<-0.43151,0.25414,0.56266>, +<-0.43148,0.26380,0.55456>, +<-0.42976,0.27336,0.54629>, +<-0.42593,0.28193,0.53763>, +<-0.41975,0.28875,0.52860>, +<-0.41213,0.29354,0.51940>, +<-0.40375,0.29686,0.51027>, +<-0.39566,0.30074,0.50109>, +<-0.38834,0.30592,0.49181>, +<-0.38233,0.31244,0.48234>, +<-0.37790,0.31996,0.47280>, +<-0.37484,0.32806,0.46327>, +<-0.37255,0.33652,0.45377>, +<-0.36969,0.34475,0.44440>, +<-0.36551,0.35253,0.43488>, +<-0.35995,0.35939,0.42547>, +<-0.35308,0.36502,0.41615>, +<-0.34520,0.36939,0.40698>, +<-0.33685,0.37264,0.39800>, +<-0.32815,0.37522,0.38906>, +<-0.31986,0.37882,0.38029>, +<-0.31202,0.38330,0.37156> +<-0.30487,-0.38940,0.38033>, +<-0.31217,-0.38402,0.38890>, +<-0.32003,-0.37941,0.39770>, +<-0.32843,-0.37627,0.40667>, +<-0.33695,-0.37364,0.41583>, +<-0.34507,-0.37022,0.42505>, +<-0.35264,-0.36560,0.43445>, +<-0.35913,-0.35971,0.44387>, +<-0.36434,-0.35260,0.45347>, +<-0.36814,-0.34477,0.46310>, +<-0.37081,-0.33652,0.47256>, +<-0.37340,-0.32810,0.48220>, +<-0.37704,-0.32021,0.49187>, +<-0.38215,-0.31306,0.50140>, +<-0.38874,-0.30702,0.51085>, +<-0.39630,-0.30219,0.52021>, +<-0.40420,-0.29836,0.52941>, +<-0.41196,-0.29428,0.53860>, +<-0.41885,-0.28849,0.54776>, +<-0.42415,-0.28111,0.55658>, +<-0.42757,-0.27235,0.56503>, +<-0.42952,-0.26278,0.57330>, +<-0.43053,-0.25325,0.58133>, +<-0.43263,-0.24384,0.58930>, +<-0.43724,-0.23519,0.59686>, +<-0.44490,-0.22823,0.60407>, +<-0.45040,-0.21970,0.61035>, +<-0.45563,-0.21098,0.61733>, +<-0.45915,-0.20089,0.62353>, +<-0.46247,-0.19014,0.62959>, +<-0.46640,-0.18024,0.63556>, +<-0.47035,-0.16971,0.64072>, +<-0.47423,-0.15868,0.64568>, +<-0.47802,-0.14731,0.65053>, +<-0.47989,-0.13516,0.65581>, +<-0.47905,-0.12225,0.65935>, +<-0.47762,-0.10922,0.66021>, +<-0.47707,-0.09643,0.66009>, +<-0.47658,-0.08380,ZP>, +<-0.47617,-0.07110,ZP>, +<-0.47550,-0.05853,0.66008>, +<-0.47542,-0.04559,ZP>, +<-0.47567,-0.03261,ZP>, +<-0.47599,-0.01988,ZP>, +<-0.47619,-0.00722,ZP>, +<-0.47630,0.00553,ZP>, +<-0.47637,0.01826,ZP>, +<-0.47645,0.03102,ZP>, +<-0.47658,0.04382,ZP>, +<-0.47681,0.05665,ZP>, +<-0.47711,0.06947,ZP>, +<-0.47743,0.08226,ZP>, +<-0.47778,0.09507,0.66011>, +<-0.47822,0.10798,0.66024>, +<-0.47954,0.12114,0.65932>, +<-0.48039,0.13420,0.65562>, +<-0.47423,0.14634,0.65034>, +<-0.47463,0.15756,0.64558>, +<-0.47072,0.16870,0.64073>, +<-0.46679,0.17931,0.63557>, +<-0.46280,0.18946,0.62975>, +<-0.46054,0.20014,0.62408>, +<-0.45696,0.21031,0.61802>, +<-0.45072,0.21858,0.61144>, +<-0.44534,0.22738,0.60439>, +<-0.43768,0.23448,0.59757>, +<-0.43321,0.24304,0.58974>, +<-0.43140,0.25231,0.58156>, +<-0.43038,0.26166,0.57338>, +<-0.42840,0.27113,0.56527>, +<-0.42480,0.28005,0.55669>, +<-0.41925,0.28738,0.54781>, +<-0.41216,0.29288,0.53870>, +<-0.40419,0.29690,0.52945>, +<-0.39631,0.30100,0.52022>, +<-0.38896,0.30617,0.51092>, +<-0.38273,0.31258,0.50158>, +<-0.37804,0.32002,0.49211>, +<-0.37478,0.32807,0.48253>, +<-0.37239,0.33643,0.47293>, +<-0.36953,0.34470,0.46340>, +<-0.36548,0.35246,0.45397>, +<-0.35999,0.35943,0.44444>, +<-0.35322,0.36511,0.43499>, +<-0.34551,0.36944,0.42567>, +<-0.33715,0.37260,0.41647>, +<-0.32855,0.37496,0.40745>, +<-0.31999,0.37798,0.39846>, +<-0.31208,0.38259,0.38969>, +<-0.30480,0.38814,0.38100> +<-0.29858,-0.39519,0.38977>, +<-0.30503,-0.38876,0.39832>, +<-0.31225,-0.38314,0.40710>, +<-0.32023,-0.37891,0.41612>, +<-0.32864,-0.37605,0.42530>, +<-0.33709,-0.37361,0.43449>, +<-0.34525,-0.37021,0.44390>, +<-0.35270,-0.36561,0.45342>, +<-0.35912,-0.35962,0.46303>, +<-0.36420,-0.35249,0.47273>, +<-0.36796,-0.34463,0.48229>, +<-0.37078,-0.33634,0.49195>, +<-0.37362,-0.32814,0.50164>, +<-0.37756,-0.32039,0.51121>, +<-0.38290,-0.31341,0.52071>, +<-0.38958,-0.30742,0.53024>, +<-0.39691,-0.30250,0.53958>, +<-0.40446,-0.29816,0.54882>, +<-0.41173,-0.29317,0.55807>, +<-0.41797,-0.28675,0.56712>, +<-0.42286,-0.27885,0.57587>, +<-0.42631,-0.26981,0.58428>, +<-0.42873,-0.26052,0.59236>, +<-0.43215,-0.25152,0.60053>, +<-0.43697,-0.24308,0.60818>, +<-0.44177,-0.23424,0.61565>, +<-0.44657,-0.22492,0.62255>, +<-0.45173,-0.21437,0.62884>, +<-0.45603,-0.20511,0.63477>, +<-0.46011,-0.19582,0.64202>, +<-0.46462,-0.18520,0.64785>, +<-0.46822,-0.17383,0.65431>, +<-0.46738,-0.16076,0.65947>, +<-0.46582,-0.14751,0.66019>, +<-0.46519,-0.13460,0.66007>, +<-0.46474,-0.12182,ZP>, +<-0.46441,-0.10907,ZP>, +<-0.46417,-0.09639,ZP>, +<-0.46393,-0.08381,ZP>, +<-0.46366,-0.07118,ZP>, +<-0.46337,-0.05837,ZP>, +<-0.46318,-0.04549,ZP>, +<-0.46310,-0.03262,ZP>, +<-0.46313,-0.01977,ZP>, +<-0.46323,-0.00700,ZP>, +<-0.46336,0.00574,ZP>, +<-0.46351,0.01851,ZP>, +<-0.46370,0.03132,ZP>, +<-0.46396,0.04414,ZP>, +<-0.46426,0.05695,ZP>, +<-0.46454,0.06970,ZP>, +<-0.46473,0.08238,ZP>, +<-0.46484,0.09507,ZP>, +<-0.46497,0.10785,ZP>, +<-0.46512,0.12061,ZP>, +<-0.46543,0.13347,0.66012>, +<-0.46597,0.14643,0.66028>, +<-0.46768,0.15969,0.65958>, +<-0.46861,0.17279,0.65439>, +<-0.46496,0.18439,0.64801>, +<-0.46055,0.19486,0.64220>, +<-0.45612,0.20487,0.63608>, +<-0.45167,0.21451,0.62958>, +<-0.44692,0.22426,0.62343>, +<-0.44229,0.23330,0.61633>, +<-0.43758,0.24205,0.60874>, +<-0.43264,0.25067,0.60072>, +<-0.42949,0.25948,0.59262>, +<-0.42697,0.26882,0.58433>, +<-0.42357,0.27772,0.57604>, +<-0.41857,0.28550,0.56721>, +<-0.41209,0.29182,0.55812>, +<-0.40465,0.29669,0.54895>, +<-0.39703,0.30128,0.53960>, +<-0.38981,0.30649,0.53030>, +<-0.38342,0.31281,0.52093>, +<-0.37842,0.32008,0.51153>, +<-0.37483,0.32803,0.50200>, +<-0.37220,0.33628,0.49237>, +<-0.36932,0.34446,0.48276>, +<-0.36533,0.35226,0.47313>, +<-0.36001,0.35922,0.46359>, +<-0.35328,0.36502,0.45402>, +<-0.34561,0.36941,0.44451>, +<-0.33740,0.37249,0.43516>, +<-0.32880,0.37472,0.42587>, +<-0.32031,0.37749,0.41681>, +<-0.31219,0.38167,0.40785>, +<-0.30492,0.38740,0.39916>, +<-0.29852,0.39412,0.39046> +<-0.29348,-0.40212,0.39912>, +<-0.29880,-0.39471,0.40772>, +<-0.30508,-0.38798,0.41650>, +<-0.31236,-0.38257,0.42551>, +<-0.32035,-0.37859,0.43469>, +<-0.32872,-0.37591,0.44394>, +<-0.33714,-0.37351,0.45342>, +<-0.34515,-0.37019,0.46301>, +<-0.35250,-0.36552,0.47262>, +<-0.35884,-0.35944,0.48237>, +<-0.36388,-0.35225,0.49209>, +<-0.36771,-0.34439,0.50180>, +<-0.37076,-0.33623,0.51155>, +<-0.37399,-0.32820,0.52122>, +<-0.37825,-0.32072,0.53085>, +<-0.38385,-0.31390,0.54050>, +<-0.39046,-0.30797,0.55000>, +<-0.39756,-0.30271,0.55926>, +<-0.40471,-0.29754,0.56847>, +<-0.41140,-0.29156,0.57769>, +<-0.41705,-0.28438,0.58662>, +<-0.42157,-0.27610,0.59526>, +<-0.42522,-0.26720,0.60358>, +<-0.42882,-0.25803,0.61172>, +<-0.43352,-0.24917,0.61990>, +<-0.43851,-0.24030,0.62746>, +<-0.44349,-0.23098,0.63425>, +<-0.44845,-0.22126,0.64144>, +<-0.45198,-0.20979,0.64438>, +<-0.45676,-0.20021,0.65595>, +<-0.45455,-0.18638,0.66033>, +<-0.45365,-0.17321,0.66013>, +<-0.45310,-0.16020,ZP>, +<-0.45271,-0.14743,ZP>, +<-0.45234,-0.13472,ZP>, +<-0.45197,-0.12207,ZP>, +<-0.45152,-0.10936,ZP>, +<-0.45105,-0.09656,ZP>, +<-0.45067,-0.08378,ZP>, +<-0.45041,-0.07099,ZP>, +<-0.45025,-0.05817,ZP>, +<-0.45017,-0.04532,ZP>, +<-0.45015,-0.03247,ZP>, +<-0.45017,-0.01965,ZP>, +<-0.45025,-0.00687,ZP>, +<-0.45035,0.00589,ZP>, +<-0.45048,0.01865,ZP>, +<-0.45063,0.03143,ZP>, +<-0.45080,0.04421,ZP>, +<-0.45099,0.05699,ZP>, +<-0.45118,0.06975,ZP>, +<-0.45140,0.08253,ZP>, +<-0.45169,0.09534,ZP>, +<-0.45205,0.10818,ZP>, +<-0.45227,0.12085,ZP>, +<-0.45251,0.13361,ZP>, +<-0.45281,0.14647,0.66008>, +<-0.45325,0.15936,0.66009>, +<-0.45388,0.17235,0.66015>, +<-0.45472,0.18560,0.66030>, +<-0.45687,0.19945,0.65618>, +<-0.44697,0.21331,0.65000>, +<-0.44894,0.22039,0.64059>, +<-0.44397,0.23014,0.63521>, +<-0.43914,0.23923,0.62801>, +<-0.43414,0.24815,0.62027>, +<-0.42946,0.25718,0.61210>, +<-0.42591,0.26612,0.60381>, +<-0.42220,0.27498,0.59532>, +<-0.41763,0.28314,0.58668>, +<-0.41175,0.29036,0.57764>, +<-0.40495,0.29627,0.56854>, +<-0.39779,0.30152,0.55944>, +<-0.39074,0.30701,0.55003>, +<-0.38440,0.31313,0.54062>, +<-0.37910,0.32018,0.53110>, +<-0.37508,0.32788,0.52154>, +<-0.37200,0.33607,0.51191>, +<-0.36892,0.34426,0.50230>, +<-0.36496,0.35203,0.49265>, +<-0.35972,0.35905,0.48286>, +<-0.35323,0.36482,0.47325>, +<-0.34564,0.36928,0.46361>, +<-0.33748,0.37239,0.45408>, +<-0.32904,0.37453,0.44469>, +<-0.32057,0.37717,0.43533>, +<-0.31248,0.38118,0.42622>, +<-0.30508,0.38664,0.41727>, +<-0.29886,0.39352,0.40858>, +<-0.29364,0.40125,0.39986> +<-0.28986,-0.41003,0.40835>, +<-0.29396,-0.40187,0.41702>, +<-0.29898,-0.39423,0.42587>, +<-0.30514,-0.38756,0.43487>, +<-0.31238,-0.38228,0.44408>, +<-0.32033,-0.37845,0.45340>, +<-0.32865,-0.37583,0.46295>, +<-0.33695,-0.37345,0.47257>, +<-0.34489,-0.37000,0.48220>, +<-0.35223,-0.36513,0.49204>, +<-0.35847,-0.35894,0.50188>, +<-0.36342,-0.35179,0.51165>, +<-0.36738,-0.34401,0.52148>, +<-0.37081,-0.33601,0.53128>, +<-0.37454,-0.32827,0.54102>, +<-0.37926,-0.32097,0.55074>, +<-0.38506,-0.31440,0.56040>, +<-0.39151,-0.30841,0.56984>, +<-0.39819,-0.30267,0.57912>, +<-0.40478,-0.29657,0.58843>, +<-0.41085,-0.28965,0.59748>, +<-0.41619,-0.28189,0.60622>, +<-0.42090,-0.27324,0.61489>, +<-0.42461,-0.26402,0.62313>, +<-0.42994,-0.25533,0.63119>, +<-0.43524,-0.24627,0.63882>, +<-0.43089,-0.24321,0.65079>, +<-0.44502,-0.22663,0.65483>, +<-0.44230,-0.21242,0.66048>, +<-0.44145,-0.19901,0.66019>, +<-0.44092,-0.18589,0.66008>, +<-0.44062,-0.17323,ZP>, +<-0.44018,-0.16044,ZP>, +<-0.43970,-0.14771,ZP>, +<-0.43914,-0.13483,ZP>, +<-0.43869,-0.12199,ZP>, +<-0.43834,-0.10920,ZP>, +<-0.43804,-0.09643,ZP>, +<-0.43780,-0.08364,ZP>, +<-0.43761,-0.07084,ZP>, +<-0.43748,-0.05803,ZP>, +<-0.43739,-0.04521,ZP>, +<-0.43734,-0.03239,ZP>, +<-0.43733,-0.01957,ZP>, +<-0.43737,-0.00677,ZP>, +<-0.43745,0.00601,ZP>, +<-0.43757,0.01878,ZP>, +<-0.43771,0.03156,ZP>, +<-0.43788,0.04432,ZP>, +<-0.43804,0.05708,ZP>, +<-0.43822,0.06983,ZP>, +<-0.43840,0.08259,ZP>, +<-0.43859,0.09535,ZP>, +<-0.43880,0.10812,ZP>, +<-0.43904,0.12096,ZP>, +<-0.43942,0.13388,ZP>, +<-0.43993,0.14685,ZP>, +<-0.44038,0.15967,ZP>, +<-0.44080,0.17249,ZP>, +<-0.44110,0.18520,ZP>, +<-0.44161,0.19823,0.66014>, +<-0.44223,0.21058,0.66026>, +<-0.44499,0.22556,0.65552>, +<-0.44101,0.22268,0.65000>, +<-0.43576,0.24548,0.63883>, +<-0.43050,0.25447,0.63139>, +<-0.42523,0.26302,0.62332>, +<-0.42162,0.27226,0.61514>, +<-0.41667,0.28099,0.60636>, +<-0.41136,0.28845,0.59752>, +<-0.40532,0.29529,0.58833>, +<-0.39871,0.30147,0.57915>, +<-0.39200,0.30738,0.57000>, +<-0.38552,0.31369,0.56052>, +<-0.37992,0.32046,0.55099>, +<-0.37543,0.32793,0.54136>, +<-0.37188,0.33576,0.53167>, +<-0.36850,0.34381,0.52190>, +<-0.36446,0.35160,0.51219>, +<-0.35932,0.35863,0.50244>, +<-0.35289,0.36459,0.49255>, +<-0.34551,0.36909,0.48291>, +<-0.33740,0.37229,0.47322>, +<-0.32902,0.37448,0.46365>, +<-0.32073,0.37704,0.45420>, +<-0.31267,0.38091,0.44479>, +<-0.30537,0.38627,0.43564>, +<-0.29922,0.39307,0.42662>, +<-0.29430,0.40085,0.41792>, +<-0.29047,0.40932,0.40913> +<-0.28770,-0.41850,0.41745>, +<-0.29057,-0.40992,0.42630>, +<-0.29437,-0.40167,0.43520>, +<-0.29918,-0.39407,0.44424>, +<-0.30521,-0.38748,0.45347>, +<-0.31239,-0.38226,0.46285>, +<-0.32033,-0.37847,0.47239>, +<-0.32858,-0.37580,0.48204>, +<-0.33679,-0.37324,0.49178>, +<-0.34465,-0.36955,0.50167>, +<-0.35175,-0.36455,0.51162>, +<-0.35775,-0.35837,0.52155>, +<-0.36275,-0.35119,0.53154>, +<-0.36695,-0.34353,0.54144>, +<-0.37087,-0.33578,0.55126>, +<-0.37520,-0.32834,0.56105>, +<-0.38040,-0.32136,0.57084>, +<-0.38629,-0.31484,0.58046>, +<-0.39254,-0.30853,0.58985>, +<-0.39885,-0.30202,0.59915>, +<-0.40511,-0.29501,0.60828>, +<-0.41043,-0.28716,0.61736>, +<-0.41518,-0.27862,0.62601>, +<-0.42067,-0.27033,0.63429>, +<-0.42629,-0.26156,0.64230>, +<-0.43215,-0.25239,0.65049>, +<-0.43161,-0.23929,ZP>, +<-0.42973,-0.22550,0.66023>, +<-0.42882,-0.21215,0.66009>, +<-0.42835,-0.19912,ZP>, +<-0.42784,-0.18610,ZP>, +<-0.42747,-0.17337,ZP>, +<-0.42688,-0.16039,ZP>, +<-0.42645,-0.14757,ZP>, +<-0.42605,-0.13474,ZP>, +<-0.42569,-0.12195,ZP>, +<-0.42537,-0.10915,ZP>, +<-0.42509,-0.09635,ZP>, +<-0.42485,-0.08354,ZP>, +<-0.42468,-0.07072,ZP>, +<-0.42456,-0.05790,ZP>, +<-0.42449,-0.04508,ZP>, +<-0.42445,-0.03228,ZP>, +<-0.42444,-0.01948,ZP>, +<-0.42447,-0.00669,ZP>, +<-0.42453,0.00609,ZP>, +<-0.42462,0.01886,ZP>, +<-0.42474,0.03162,ZP>, +<-0.42486,0.04437,ZP>, +<-0.42501,0.05713,ZP>, +<-0.42516,0.06989,ZP>, +<-0.42535,0.08266,ZP>, +<-0.42555,0.09544,ZP>, +<-0.42577,0.10823,ZP>, +<-0.42603,0.12106,ZP>, +<-0.42634,0.13391,ZP>, +<-0.42669,0.14680,ZP>, +<-0.42708,0.15969,ZP>, +<-0.42762,0.17270,ZP>, +<-0.42796,0.18538,ZP>, +<-0.42840,0.19831,ZP>, +<-0.43050,0.21190,0.66100>, +<-0.42933,0.22461,0.66010>, +<-0.43171,0.23802,0.66012>, +<-0.43294,0.25103,0.65107>, +<-0.42707,0.26033,0.64280>, +<-0.42121,0.26949,0.63462>, +<-0.41572,0.27782,0.62628>, +<-0.41086,0.28626,0.61749>, +<-0.40551,0.29414,0.60842>, +<-0.39943,0.30094,0.59926>, +<-0.39313,0.30751,0.58999>, +<-0.38685,0.31405,0.58068>, +<-0.38099,0.32083,0.57105>, +<-0.37596,0.32790,0.56134>, +<-0.37178,0.33549,0.55156>, +<-0.36798,0.34331,0.54178>, +<-0.36379,0.35098,0.53197>, +<-0.35866,0.35809,0.52209>, +<-0.35245,0.36411,0.51225>, +<-0.34519,0.36883,0.50222>, +<-0.33732,0.37214,0.49249>, +<-0.32900,0.37450,0.48276>, +<-0.32075,0.37710,0.47317>, +<-0.31290,0.38085,0.46367>, +<-0.30566,0.38612,0.45423>, +<-0.29962,0.39285,0.44501>, +<-0.29490,0.40063,0.43594>, +<-0.29132,0.40896,0.42710>, +<-0.28893,0.41786,0.41824> +<-0.28507,-0.42679,0.42657>, +<-0.28860,-0.41851,0.43554>, +<-0.29143,-0.40998,0.44454>, +<-0.29476,-0.40177,0.45363>, +<-0.29939,-0.39426,0.46293>, +<-0.30535,-0.38766,0.47239>, +<-0.31251,-0.38243,0.48194>, +<-0.32040,-0.37863,0.49164>, +<-0.32852,-0.37581,0.50146>, +<-0.33659,-0.37292,0.51141>, +<-0.34426,-0.36897,0.52144>, +<-0.35109,-0.36381,0.53146>, +<-0.35698,-0.35749,0.54159>, +<-0.36200,-0.35041,0.55161>, +<-0.36651,-0.34294,0.56156>, +<-0.37094,-0.33559,0.57148>, +<-0.37588,-0.32842,0.58135>, +<-0.38142,-0.32154,0.59121>, +<-0.38802,-0.31537,0.60080>, +<-0.39375,-0.30817,0.61015>, +<-0.39948,-0.30072,0.61950>, +<-0.40520,-0.29301,0.62847>, +<-0.41091,-0.28500,0.63703>, +<-0.41677,-0.27664,0.64555>, +<-0.42156,-0.26689,0.65581>, +<-0.41835,-0.25215,0.66042>, +<-0.41726,-0.23865,0.66015>, +<-0.41663,-0.22542,0.66007>, +<-0.41599,-0.21232,ZP>, +<-0.41544,-0.19937,ZP>, +<-0.41472,-0.18621,ZP>, +<-0.41421,-0.17324,ZP>, +<-0.41378,-0.16035,ZP>, +<-0.41340,-0.14752,ZP>, +<-0.41302,-0.13468,ZP>, +<-0.41269,-0.12186,ZP>, +<-0.41239,-0.10903,ZP>, +<-0.41215,-0.09621,ZP>, +<-0.41196,-0.08340,ZP>, +<-0.41182,-0.07058,ZP>, +<-0.41171,-0.05778,ZP>, +<-0.41164,-0.04498,ZP>, +<-0.41160,-0.03218,ZP>, +<-0.41159,-0.01940,ZP>, +<-0.41160,-0.00662,ZP>, +<-0.41165,0.00615,ZP>, +<-0.41172,0.01892,ZP>, +<-0.41181,0.03167,ZP>, +<-0.41192,0.04442,ZP>, +<-0.41205,0.05717,ZP>, +<-0.41219,0.06992,ZP>, +<-0.41235,0.08269,ZP>, +<-0.41253,0.09547,ZP>, +<-0.41275,0.10828,ZP>, +<-0.41302,0.12112,ZP>, +<-0.41332,0.13397,ZP>, +<-0.41365,0.14685,ZP>, +<-0.41399,0.15970,ZP>, +<-0.41435,0.17259,ZP>, +<-0.41472,0.18545,ZP>, +<-0.41536,0.19859,ZP>, +<-0.41542,0.21137,ZP>, +<-0.41663,0.22466,ZP>, +<-0.41773,0.23768,0.66013>, +<-0.41889,0.25091,0.66040>, +<-0.42207,0.26547,0.65632>, +<-0.41733,0.27580,0.64589>, +<-0.41146,0.28420,0.63733>, +<-0.40576,0.29223,0.62869>, +<-0.40007,0.29994,0.61968>, +<-0.39435,0.30741,0.61033>, +<-0.38862,0.31463,0.60096>, +<-0.38213,0.32078,0.59126>, +<-0.37658,0.32790,0.58158>, +<-0.37172,0.33516,0.57178>, +<-0.36737,0.34272,0.56185>, +<-0.36293,0.35021,0.55197>, +<-0.35784,0.35727,0.54203>, +<-0.35177,0.36346,0.53204>, +<-0.34480,0.36839,0.52208>, +<-0.33706,0.37202,0.51195>, +<-0.32897,0.37460,0.50210>, +<-0.32078,0.37733,0.49230>, +<-0.31294,0.38111,0.48265>, +<-0.30590,0.38627,0.47310>, +<-0.29999,0.39291,0.46355>, +<-0.29543,0.40055,0.45426>, +<-0.29223,0.40889,0.44509>, +<-0.28986,0.41757,0.43618>, +<-0.28700,0.42623,0.42733> +<-0.28036,-0.43422,0.43566>, +<-0.28543,-0.42667,0.44478>, +<-0.28960,-0.41868,0.45366>, +<-0.29208,-0.41013,0.46282>, +<-0.29518,-0.40201,0.47221>, +<-0.29973,-0.39451,0.48184>, +<-0.30564,-0.38798,0.49147>, +<-0.31276,-0.38278,0.50127>, +<-0.32053,-0.37893,0.51113>, +<-0.32854,-0.37585,0.52108>, +<-0.33647,-0.37253,0.53124>, +<-0.34374,-0.36831,0.54140>, +<-0.35026,-0.36293,0.55160>, +<-0.35606,-0.35654,0.56174>, +<-0.36123,-0.34955,0.57186>, +<-0.36606,-0.34245,0.58194>, +<-0.37105,-0.33532,0.59189>, +<-0.37686,-0.32863,0.60194>, +<-0.38275,-0.32175,0.61167>, +<-0.38866,-0.31461,0.62120>, +<-0.39457,-0.30721,0.63035>, +<-0.40054,-0.29949,0.63927>, +<-0.40674,-0.29147,0.64823>, +<-0.40821,-0.27973,0.65952>, +<-0.40599,-0.26530,0.66025>, +<-0.40514,-0.25198,0.66009>, +<-0.40443,-0.23884,ZP>, +<-0.40366,-0.22563,ZP>, +<-0.40286,-0.21237,ZP>, +<-0.40221,-0.19922,ZP>, +<-0.40166,-0.18619,ZP>, +<-0.40117,-0.17322,ZP>, +<-0.40074,-0.16030,ZP>, +<-0.40036,-0.14743,ZP>, +<-0.40002,-0.13457,ZP>, +<-0.39972,-0.12173,ZP>, +<-0.39947,-0.10891,ZP>, +<-0.39925,-0.09609,ZP>, +<-0.39908,-0.08327,ZP>, +<-0.39895,-0.07047,ZP>, +<-0.39885,-0.05767,ZP>, +<-0.39878,-0.04488,ZP>, +<-0.39874,-0.03210,ZP>, +<-0.39872,-0.01932,ZP>, +<-0.39873,-0.00656,ZP>, +<-0.39877,0.00620,ZP>, +<-0.39882,0.01895,ZP>, +<-0.39890,0.03170,ZP>, +<-0.39899,0.04444,ZP>, +<-0.39911,0.05719,ZP>, +<-0.39924,0.06994,ZP>, +<-0.39939,0.08271,ZP>, +<-0.39957,0.09549,ZP>, +<-0.39978,0.10830,ZP>, +<-0.40002,0.12112,ZP>, +<-0.40028,0.13396,ZP>, +<-0.40059,0.14683,ZP>, +<-0.40091,0.15970,ZP>, +<-0.40127,0.17262,ZP>, +<-0.40164,0.18552,ZP>, +<-0.40211,0.19855,ZP>, +<-0.40276,0.21173,ZP>, +<-0.40366,0.22499,ZP>, +<-0.40455,0.23813,ZP>, +<-0.40537,0.25119,0.66009>, +<-0.40631,0.26441,0.66023>, +<-0.40846,0.27872,0.65969>, +<-0.40731,0.29070,0.64847>, +<-0.40108,0.29878,0.63948>, +<-0.39515,0.30647,0.63051>, +<-0.38926,0.31388,0.62135>, +<-0.38337,0.32102,0.61186>, +<-0.37749,0.32790,0.60219>, +<-0.37180,0.33471,0.59216>, +<-0.36679,0.34202,0.58224>, +<-0.36202,0.34928,0.57221>, +<-0.35691,0.35622,0.56222>, +<-0.35097,0.36255,0.55205>, +<-0.34421,0.36782,0.54191>, +<-0.33678,0.37181,0.53179>, +<-0.32888,0.37481,0.52169>, +<-0.32089,0.37775,0.51173>, +<-0.31314,0.38159,0.50177>, +<-0.30609,0.38677,0.49201>, +<-0.30027,0.39328,0.48241>, +<-0.29584,0.40086,0.47281>, +<-0.29291,0.40907,0.46345>, +<-0.29092,0.41772,0.45420>, +<-0.28726,0.42587,0.44529>, +<-0.28275,0.43384,0.43636> +<-0.27341,-0.43997,0.44465>, +<-0.28006,-0.43378,0.45387>, +<-0.28575,-0.42669,0.46277>, +<-0.28982,-0.41873,0.47197>, +<-0.29254,-0.41044,0.48143>, +<-0.29555,-0.40233,0.49118>, +<-0.30005,-0.39497,0.50084>, +<-0.30600,-0.38852,0.51076>, +<-0.31305,-0.38340,0.52078>, +<-0.32065,-0.37949,0.53084>, +<-0.32847,-0.37605,0.54098>, +<-0.33602,-0.37230,0.55117>, +<-0.34301,-0.36764,0.56147>, +<-0.34943,-0.36193,0.57177>, +<-0.35510,-0.35557,0.58212>, +<-0.36042,-0.34880,0.59236>, +<-0.36575,-0.34186,0.60241>, +<-0.37125,-0.33494,0.61267>, +<-0.37731,-0.32814,0.62254>, +<-0.38337,-0.32109,0.63192>, +<-0.38954,-0.31373,0.64102>, +<-0.39608,-0.30607,0.65060>, +<-0.39441,-0.29201,0.66060>, +<-0.39341,-0.27837,0.66018>, +<-0.39270,-0.26510,0.66008>, +<-0.39204,-0.25198,ZP>, +<-0.39128,-0.23875,ZP>, +<-0.39042,-0.22541,ZP>, +<-0.38977,-0.21226,ZP>, +<-0.38919,-0.19917,ZP>, +<-0.38866,-0.18614,ZP>, +<-0.38818,-0.17316,ZP>, +<-0.38774,-0.16021,ZP>, +<-0.38738,-0.14731,ZP>, +<-0.38707,-0.13445,ZP>, +<-0.38680,-0.12160,ZP>, +<-0.38657,-0.10877,ZP>, +<-0.38638,-0.09596,ZP>, +<-0.38622,-0.08315,ZP>, +<-0.38610,-0.07035,ZP>, +<-0.38600,-0.05757,ZP>, +<-0.38594,-0.04479,ZP>, +<-0.38590,-0.03202,ZP>, +<-0.38588,-0.01926,ZP>, +<-0.38588,-0.00651,ZP>, +<-0.38591,0.00624,ZP>, +<-0.38595,0.01898,ZP>, +<-0.38602,0.03171,ZP>, +<-0.38610,0.04445,ZP>, +<-0.38620,0.05720,ZP>, +<-0.38632,0.06995,ZP>, +<-0.38646,0.08271,ZP>, +<-0.38663,0.09549,ZP>, +<-0.38683,0.10829,ZP>, +<-0.38705,0.12111,ZP>, +<-0.38730,0.13394,ZP>, +<-0.38758,0.14680,ZP>, +<-0.38788,0.15968,ZP>, +<-0.38825,0.17261,ZP>, +<-0.38865,0.18558,ZP>, +<-0.38914,0.19863,ZP>, +<-0.38974,0.21175,ZP>, +<-0.39044,0.22491,ZP>, +<-0.39136,0.23819,ZP>, +<-0.39221,0.25134,ZP>, +<-0.39295,0.26438,0.66008>, +<-0.39372,0.27759,0.66018>, +<-0.39469,0.29116,0.66060>, +<-0.39659,0.30542,0.65082>, +<-0.39012,0.31304,0.64102>, +<-0.38398,0.32037,0.63213>, +<-0.37795,0.32741,0.62278>, +<-0.37190,0.33421,0.61297>, +<-0.36647,0.34126,0.60274>, +<-0.36119,0.34831,0.59267>, +<-0.35580,0.35520,0.58257>, +<-0.35008,0.36152,0.57233>, +<-0.34356,0.36707,0.56204>, +<-0.33640,0.37158,0.55183>, +<-0.32876,0.37513,0.54149>, +<-0.32094,0.37842,0.53133>, +<-0.31336,0.38235,0.52131>, +<-0.30643,0.38749,0.51124>, +<-0.30062,0.39391,0.50132>, +<-0.29621,0.40131,0.49161>, +<-0.29338,0.40945,0.48199>, +<-0.29114,0.41787,0.47259>, +<-0.28754,0.42594,0.46326>, +<-0.28239,0.43329,0.45431>, +<-0.27624,0.44000,0.44521> +<-0.26447,-0.44277,0.45329>, +<-0.27239,-0.43878,0.46270>, +<-0.27955,-0.43341,0.47180>, +<-0.28533,-0.42658,0.48109>, +<-0.28968,-0.41892,0.49055>, +<-0.29267,-0.41081,0.50030>, +<-0.29579,-0.40287,0.51004>, +<-0.30044,-0.39555,0.52008>, +<-0.30646,-0.38929,0.53023>, +<-0.31337,-0.38432,0.54046>, +<-0.32080,-0.38022,0.55075>, +<-0.32831,-0.37638,0.56101>, +<-0.33551,-0.37206,0.57141>, +<-0.34217,-0.36698,0.58192>, +<-0.34832,-0.36119,0.59231>, +<-0.35423,-0.35479,0.60265>, +<-0.35979,-0.34814,0.61297>, +<-0.36547,-0.34126,0.62331>, +<-0.37168,-0.33455,0.63301>, +<-0.37506,-0.32554,0.64251>, +<-0.38437,-0.32002,0.65340>, +<-0.38162,-0.30489,0.66049>, +<-0.38082,-0.29145,0.66016>, +<-0.38018,-0.27814,0.66008>, +<-0.37951,-0.26494,ZP>, +<-0.37877,-0.25169,ZP>, +<-0.37802,-0.23842,ZP>, +<-0.37738,-0.22527,ZP>, +<-0.37675,-0.21215,ZP>, +<-0.37617,-0.19906,ZP>, +<-0.37566,-0.18602,ZP>, +<-0.37520,-0.17304,ZP>, +<-0.37480,-0.16010,ZP>, +<-0.37446,-0.14719,ZP>, +<-0.37416,-0.13432,ZP>, +<-0.37391,-0.12147,ZP>, +<-0.37370,-0.10864,ZP>, +<-0.37352,-0.09583,ZP>, +<-0.37338,-0.08303,ZP>, +<-0.37326,-0.07025,ZP>, +<-0.37317,-0.05747,ZP>, +<-0.37311,-0.04471,ZP>, +<-0.37307,-0.03196,ZP>, +<-0.37305,-0.01921,ZP>, +<-0.37305,-0.00647,ZP>, +<-0.37306,0.00626,ZP>, +<-0.37310,0.01899,ZP>, +<-0.37315,0.03172,ZP>, +<-0.37322,0.04445,ZP>, +<-0.37332,0.05719,ZP>, +<-0.37343,0.06994,ZP>, +<-0.37356,0.08270,ZP>, +<-0.37372,0.09547,ZP>, +<-0.37390,0.10826,ZP>, +<-0.37411,0.12107,ZP>, +<-0.37435,0.13390,ZP>, +<-0.37461,0.14675,ZP>, +<-0.37491,0.15964,ZP>, +<-0.37526,0.17257,ZP>, +<-0.37567,0.18556,ZP>, +<-0.37617,0.19861,ZP>, +<-0.37674,0.21171,ZP>, +<-0.37738,0.22483,ZP>, +<-0.37805,0.23796,ZP>, +<-0.37884,0.25117,ZP>, +<-0.37965,0.26437,ZP>, +<-0.38038,0.27751,0.66008>, +<-0.38110,0.29075,0.66016>, +<-0.38194,0.30411,0.66049>, +<-0.38486,0.31927,0.65377>, +<-0.37518,0.32507,0.64232>, +<-0.37233,0.33383,0.63332>, +<-0.36614,0.34054,0.62368>, +<-0.36045,0.34747,0.61338>, +<-0.35492,0.35422,0.60306>, +<-0.34911,0.36057,0.59282>, +<-0.34287,0.36638,0.58239>, +<-0.33598,0.37138,0.57199>, +<-0.32868,0.37555,0.56162>, +<-0.32106,0.37932,0.55117>, +<-0.31366,0.38340,0.54093>, +<-0.30682,0.38845,0.53073>, +<-0.30101,0.39468,0.52054>, +<-0.29655,0.40191,0.51051>, +<-0.29359,0.40989,0.50070>, +<-0.29102,0.41811,0.49107>, +<-0.28715,0.42597,0.48164>, +<-0.28183,0.43310,0.47222>, +<-0.27511,0.43886,0.46311>, +<-0.26748,0.44338,0.45376> +<-0.25475,-0.44219,0.46150>, +<-0.26312,-0.44078,0.47113>, +<-0.27127,-0.43776,0.48053>, +<-0.27857,-0.43289,0.49009>, +<-0.28464,-0.42640,0.49960>, +<-0.28925,-0.41900,0.50930>, +<-0.29263,-0.41111,0.51909>, +<-0.29609,-0.40327,0.52922>, +<-0.30090,-0.39627,0.53947>, +<-0.30688,-0.39038,0.54982>, +<-0.31376,-0.38550,0.56031>, +<-0.32100,-0.38117,0.57078>, +<-0.32817,-0.37678,0.58134>, +<-0.33494,-0.37194,0.59188>, +<-0.34137,-0.36655,0.60232>, +<-0.34753,-0.36053,0.61300>, +<-0.35320,-0.35393,0.62351>, +<-0.35948,-0.34762,0.63352>, +<-0.36594,-0.34104,0.64339>, +<-0.37170,-0.33326,0.65556>, +<-0.36879,-0.31779,0.66039>, +<-0.36810,-0.30431,0.66012>, +<-0.36759,-0.29118,0.66008>, +<-0.36690,-0.27787,ZP>, +<-0.36612,-0.26452,ZP>, +<-0.36549,-0.25131,ZP>, +<-0.36488,-0.23816,ZP>, +<-0.36428,-0.22504,ZP>, +<-0.36370,-0.21194,ZP>, +<-0.36317,-0.19888,ZP>, +<-0.36269,-0.18587,ZP>, +<-0.36227,-0.17290,ZP>, +<-0.36189,-0.15996,ZP>, +<-0.36156,-0.14706,ZP>, +<-0.36128,-0.13418,ZP>, +<-0.36104,-0.12134,ZP>, +<-0.36085,-0.10851,ZP>, +<-0.36068,-0.09571,ZP>, +<-0.36055,-0.08292,ZP>, +<-0.36044,-0.07015,ZP>, +<-0.36036,-0.05739,ZP>, +<-0.36029,-0.04464,ZP>, +<-0.36025,-0.03190,ZP>, +<-0.36023,-0.01917,ZP>, +<-0.36022,-0.00644,ZP>, +<-0.36024,0.00628,ZP>, +<-0.36027,0.01900,ZP>, +<-0.36031,0.03172,ZP>, +<-0.36038,0.04445,ZP>, +<-0.36046,0.05718,ZP>, +<-0.36057,0.06992,ZP>, +<-0.36069,0.08267,ZP>, +<-0.36084,0.09543,ZP>, +<-0.36101,0.10821,ZP>, +<-0.36120,0.12102,ZP>, +<-0.36143,0.13384,ZP>, +<-0.36168,0.14669,ZP>, +<-0.36198,0.15958,ZP>, +<-0.36232,0.17251,ZP>, +<-0.36272,0.18549,ZP>, +<-0.36318,0.19851,ZP>, +<-0.36370,0.21157,ZP>, +<-0.36428,0.22466,ZP>, +<-0.36489,0.23776,ZP>, +<-0.36553,0.25088,ZP>, +<-0.36620,0.26403,ZP>, +<-0.36703,0.27731,ZP>, +<-0.36780,0.29054,0.66008>, +<-0.36838,0.30358,0.66013>, +<-0.36911,0.31692,0.66038>, +<-0.37208,0.33229,0.65615>, +<-0.36663,0.34030,0.64383>, +<-0.36019,0.34688,0.63398>, +<-0.35396,0.35317,0.62403>, +<-0.34824,0.35982,0.61341>, +<-0.34213,0.36583,0.60290>, +<-0.33554,0.37127,0.59238>, +<-0.32865,0.37604,0.58178>, +<-0.32148,0.38035,0.57128>, +<-0.31414,0.38469,0.56080>, +<-0.30724,0.38966,0.55035>, +<-0.30140,0.39561,0.54000>, +<-0.29677,0.40258,0.52973>, +<-0.29353,0.41034,0.51967>, +<-0.29049,0.41828,0.50982>, +<-0.28629,0.42585,0.50014>, +<-0.28071,0.43266,0.49055>, +<-0.27380,0.43804,0.48092>, +<-0.26594,0.44150,0.47152>, +<-0.25768,0.44339,0.46189> +<-0.24546,-0.43859,0.46927>, +<-0.25343,-0.43953,0.47904>, +<-0.26171,-0.43882,0.48892>, +<-0.26979,-0.43655,0.49880>, +<-0.27740,-0.43222,0.50855>, +<-0.28361,-0.42612,0.51833>, +<-0.28844,-0.41900,0.52827>, +<-0.29226,-0.41135,0.53843>, +<-0.29615,-0.40386,0.54873>, +<-0.30124,-0.39718,0.55914>, +<-0.30748,-0.39154,0.56975>, +<-0.31424,-0.38668,0.58039>, +<-0.32104,-0.38207,0.59103>, +<-0.32788,-0.37750,0.60183>, +<-0.33419,-0.37191,0.61252>, +<-0.34051,-0.36617,0.62326>, +<-0.34685,-0.36022,0.63350>, +<-0.35332,-0.35410,0.64365>, +<-0.35872,-0.34639,0.65641>, +<-0.35595,-0.33081,0.66034>, +<-0.35529,-0.31730,0.66010>, +<-0.35478,-0.30396,ZP>, +<-0.35426,-0.29075,ZP>, +<-0.35349,-0.27735,ZP>, +<-0.35290,-0.26415,ZP>, +<-0.35231,-0.25097,ZP>, +<-0.35174,-0.23785,ZP>, +<-0.35119,-0.22476,ZP>, +<-0.35068,-0.21170,ZP>, +<-0.35020,-0.19868,ZP>, +<-0.34975,-0.18569,ZP>, +<-0.34935,-0.17273,ZP>, +<-0.34900,-0.15980,ZP>, +<-0.34869,-0.14691,ZP>, +<-0.34843,-0.13404,ZP>, +<-0.34821,-0.12121,ZP>, +<-0.34802,-0.10839,ZP>, +<-0.34786,-0.09560,ZP>, +<-0.34774,-0.08282,ZP>, +<-0.34763,-0.07006,ZP>, +<-0.34755,-0.05731,ZP>, +<-0.34749,-0.04458,ZP>, +<-0.34745,-0.03185,ZP>, +<-0.34743,-0.01913,ZP>, +<-0.34742,-0.00642,ZP>, +<-0.34743,0.00629,ZP>, +<-0.34745,0.01900,ZP>, +<-0.34749,0.03172,ZP>, +<-0.34755,0.04443,ZP>, +<-0.34763,0.05715,ZP>, +<-0.34773,0.06988,ZP>, +<-0.34784,0.08263,ZP>, +<-0.34798,0.09538,ZP>, +<-0.34814,0.10816,ZP>, +<-0.34833,0.12095,ZP>, +<-0.34854,0.13377,ZP>, +<-0.34879,0.14661,ZP>, +<-0.34907,0.15950,ZP>, +<-0.34940,0.17241,ZP>, +<-0.34978,0.18537,ZP>, +<-0.35021,0.19836,ZP>, +<-0.35068,0.21138,ZP>, +<-0.35119,0.22443,ZP>, +<-0.35173,0.23750,ZP>, +<-0.35231,0.25059,ZP>, +<-0.35292,0.26371,ZP>, +<-0.35355,0.27684,ZP>, +<-0.35436,0.29015,ZP>, +<-0.35494,0.30325,ZP>, +<-0.35551,0.31648,0.66010>, +<-0.35623,0.32985,0.66032>, +<-0.35900,0.34528,0.65713>, +<-0.35407,0.35337,0.64421>, +<-0.34765,0.35945,0.63409>, +<-0.34132,0.36541,0.62386>, +<-0.33501,0.37118,0.61310>, +<-0.32870,0.37679,0.60234>, +<-0.32172,0.38127,0.59156>, +<-0.31472,0.38597,0.58074>, +<-0.30792,0.39083,0.57015>, +<-0.30175,0.39654,0.55959>, +<-0.29683,0.40322,0.54924>, +<-0.29308,0.41073,0.53886>, +<-0.28949,0.41840,0.52881>, +<-0.28501,0.42562,0.51884>, +<-0.27927,0.43203,0.50894>, +<-0.27219,0.43689,0.49912>, +<-0.26426,0.43975,0.48927>, +<-0.25612,0.44082,0.47947>, +<-0.24807,0.44025,0.46958> +<-0.23696,-0.43304,0.47686>, +<-0.24435,-0.43550,0.48667>, +<-0.25217,-0.43712,0.49696>, +<-0.26010,-0.43704,0.50701>, +<-0.26840,-0.43519,0.51706>, +<-0.27594,-0.43131,0.52711>, +<-0.28224,-0.42558,0.53730>, +<-0.28727,-0.41870,0.54755>, +<-0.29153,-0.41136,0.55785>, +<-0.29601,-0.40429,0.56828>, +<-0.30145,-0.39816,0.57902>, +<-0.30761,-0.39283,0.58987>, +<-0.31463,-0.38863,0.60070>, +<-0.32100,-0.38337,0.61156>, +<-0.32740,-0.37795,0.62244>, +<-0.33380,-0.37236,0.63295>, +<-0.34028,-0.36664,0.64335>, +<-0.34569,-0.35943,0.65638>, +<-0.34318,-0.34378,0.66034>, +<-0.34266,-0.33030,0.66011>, +<-0.34218,-0.31701,ZP>, +<-0.34154,-0.30361,ZP>, +<-0.34081,-0.29016,ZP>, +<-0.34025,-0.27693,ZP>, +<-0.33969,-0.26375,ZP>, +<-0.33914,-0.25060,ZP>, +<-0.33862,-0.23751,ZP>, +<-0.33813,-0.22445,ZP>, +<-0.33767,-0.21143,ZP>, +<-0.33723,-0.19844,ZP>, +<-0.33683,-0.18548,ZP>, +<-0.33646,-0.17254,ZP>, +<-0.33613,-0.15963,ZP>, +<-0.33585,-0.14676,ZP>, +<-0.33560,-0.13390,ZP>, +<-0.33539,-0.12108,ZP>, +<-0.33521,-0.10827,ZP>, +<-0.33506,-0.09549,ZP>, +<-0.33494,-0.08273,ZP>, +<-0.33484,-0.06998,ZP>, +<-0.33477,-0.05724,ZP>, +<-0.33471,-0.04452,ZP>, +<-0.33467,-0.03181,ZP>, +<-0.33464,-0.01910,ZP>, +<-0.33463,-0.00640,ZP>, +<-0.33464,0.00630,ZP>, +<-0.33466,0.01900,ZP>, +<-0.33470,0.03171,ZP>, +<-0.33475,0.04441,ZP>, +<-0.33482,0.05712,ZP>, +<-0.33491,0.06985,ZP>, +<-0.33502,0.08258,ZP>, +<-0.33515,0.09533,ZP>, +<-0.33530,0.10809,ZP>, +<-0.33548,0.12088,ZP>, +<-0.33568,0.13368,ZP>, +<-0.33592,0.14652,ZP>, +<-0.33619,0.15939,ZP>, +<-0.33650,0.17229,ZP>, +<-0.33685,0.18522,ZP>, +<-0.33724,0.19817,ZP>, +<-0.33767,0.21116,ZP>, +<-0.33812,0.22416,ZP>, +<-0.33860,0.23719,ZP>, +<-0.33912,0.25025,ZP>, +<-0.33967,0.26335,ZP>, +<-0.34025,0.27646,ZP>, +<-0.34084,0.28961,ZP>, +<-0.34163,0.30296,ZP>, +<-0.34233,0.31625,ZP>, +<-0.34288,0.32943,0.66011>, +<-0.34346,0.34277,0.66031>, +<-0.34596,0.35822,0.65724>, +<-0.34112,0.36588,0.64404>, +<-0.33472,0.37153,0.63360>, +<-0.32835,0.37713,0.62290>, +<-0.32189,0.38263,0.61188>, +<-0.31548,0.38794,0.60098>, +<-0.30819,0.39211,0.59025>, +<-0.30194,0.39754,0.57949>, +<-0.29657,0.40376,0.56880>, +<-0.29226,0.41084,0.55831>, +<-0.28812,0.41823,0.54789>, +<-0.28330,0.42519,0.53771>, +<-0.27736,0.43114,0.52757>, +<-0.27017,0.43548,0.51739>, +<-0.26234,0.43786,0.50728>, +<-0.25439,0.43839,0.49719>, +<-0.24666,0.43735,0.48723>, +<-0.23936,0.43482,0.47700> +<-0.22746,-0.43075,0.48474>, +<-0.23544,-0.43110,0.49424>, +<-0.24337,-0.43221,0.50462>, +<-0.25062,-0.43489,0.51479>, +<-0.25865,-0.43536,0.52516>, +<-0.26652,-0.43382,0.53552>, +<-0.27397,-0.43018,0.54604>, +<-0.28035,-0.42473,0.55650>, +<-0.28561,-0.41813,0.56691>, +<-0.29031,-0.41124,0.57735>, +<-0.29532,-0.40479,0.58816>, +<-0.30098,-0.39910,0.59912>, +<-0.30744,-0.39433,0.61008>, +<-0.31387,-0.38926,0.62108>, +<-0.32035,-0.38399,0.63181>, +<-0.32412,-0.37573,0.64215>, +<-0.33258,-0.37236,0.65551>, +<-0.33019,-0.35654,0.66035>, +<-0.32978,-0.34317,0.66011>, +<-0.32940,-0.32986,ZP>, +<-0.32883,-0.31645,ZP>, +<-0.32813,-0.30298,ZP>, +<-0.32758,-0.28971,ZP>, +<-0.32704,-0.27649,ZP>, +<-0.32652,-0.26333,ZP>, +<-0.32602,-0.25022,ZP>, +<-0.32555,-0.23716,ZP>, +<-0.32510,-0.22414,ZP>, +<-0.32468,-0.21115,ZP>, +<-0.32428,-0.19819,ZP>, +<-0.32392,-0.18525,ZP>, +<-0.32358,-0.17234,ZP>, +<-0.32328,-0.15946,ZP>, +<-0.32302,-0.14660,ZP>, +<-0.32279,-0.13376,ZP>, +<-0.32259,-0.12095,ZP>, +<-0.32242,-0.10816,ZP>, +<-0.32228,-0.09539,ZP>, +<-0.32216,-0.08264,ZP>, +<-0.32207,-0.06990,ZP>, +<-0.32200,-0.05718,ZP>, +<-0.32194,-0.04447,ZP>, +<-0.32190,-0.03177,ZP>, +<-0.32187,-0.01907,ZP>, +<-0.32186,-0.00638,ZP>, +<-0.32187,0.00631,ZP>, +<-0.32189,0.01900,ZP>, +<-0.32192,0.03169,ZP>, +<-0.32197,0.04439,ZP>, +<-0.32204,0.05709,ZP>, +<-0.32212,0.06980,ZP>, +<-0.32222,0.08253,ZP>, +<-0.32234,0.09526,ZP>, +<-0.32249,0.10802,ZP>, +<-0.32265,0.12079,ZP>, +<-0.32285,0.13359,ZP>, +<-0.32307,0.14641,ZP>, +<-0.32333,0.15926,ZP>, +<-0.32362,0.17213,ZP>, +<-0.32394,0.18504,ZP>, +<-0.32429,0.19796,ZP>, +<-0.32467,0.21091,ZP>, +<-0.32508,0.22388,ZP>, +<-0.32551,0.23688,ZP>, +<-0.32597,0.24990,ZP>, +<-0.32647,0.26297,ZP>, +<-0.32700,0.27607,ZP>, +<-0.32756,0.28922,ZP>, +<-0.32815,0.30240,ZP>, +<-0.32890,0.31577,ZP>, +<-0.32954,0.32906,ZP>, +<-0.32997,0.34226,0.66010>, +<-0.33042,0.35548,0.66032>, +<-0.33287,0.37120,0.65654>, +<-0.32521,0.37512,0.64236>, +<-0.32132,0.38319,0.63231>, +<-0.31471,0.38858,0.62140>, +<-0.30826,0.39369,0.61041>, +<-0.30161,0.39838,0.59930>, +<-0.29592,0.40423,0.58872>, +<-0.29100,0.41072,0.57789>, +<-0.28642,0.41766,0.56726>, +<-0.28132,0.42433,0.55680>, +<-0.27525,0.42996,0.54640>, +<-0.26814,0.43395,0.53594>, +<-0.26036,0.43601,0.52540>, +<-0.25259,0.43622,0.51514>, +<-0.24529,0.43403,0.50495>, +<-0.23792,0.43213,0.49476>, +<-0.23018,0.43121,0.48473> +<-0.21762,-0.43293,0.49253>, +<-0.22556,-0.43124,0.50214>, +<-0.23374,-0.43032,0.51237>, +<-0.24134,-0.43085,0.52240>, +<-0.24906,-0.43278,0.53306>, +<-0.25668,-0.43385,0.54360>, +<-0.26451,-0.43234,0.55437>, +<-0.27173,-0.42879,0.56503>, +<-0.27807,-0.42353,0.57575>, +<-0.28343,-0.41732,0.58641>, +<-0.28859,-0.41102,0.59722>, +<-0.29409,-0.40530,0.60814>, +<-0.29999,-0.40003,0.61944>, +<-0.30647,-0.39515,0.63026>, +<-0.31301,-0.39012,0.64095>, +<-0.31936,-0.38496,0.65332>, +<-0.31718,-0.36933,0.66040>, +<-0.31676,-0.35577,0.66010>, +<-0.31654,-0.34262,ZP>, +<-0.31606,-0.32921,ZP>, +<-0.31544,-0.31577,ZP>, +<-0.31493,-0.30250,ZP>, +<-0.31440,-0.28926,ZP>, +<-0.31388,-0.27606,ZP>, +<-0.31339,-0.26293,ZP>, +<-0.31294,-0.24985,ZP>, +<-0.31251,-0.23682,ZP>, +<-0.31210,-0.22383,ZP>, +<-0.31172,-0.21087,ZP>, +<-0.31136,-0.19793,ZP>, +<-0.31103,-0.18503,ZP>, +<-0.31072,-0.17214,ZP>, +<-0.31045,-0.15928,ZP>, +<-0.31021,-0.14644,ZP>, +<-0.30999,-0.13362,ZP>, +<-0.30981,-0.12082,ZP>, +<-0.30965,-0.10805,ZP>, +<-0.30951,-0.09529,ZP>, +<-0.30940,-0.08256,ZP>, +<-0.30931,-0.06983,ZP>, +<-0.30924,-0.05712,ZP>, +<-0.30919,-0.04442,ZP>, +<-0.30915,-0.03173,ZP>, +<-0.30912,-0.01905,ZP>, +<-0.30911,-0.00637,ZP>, +<-0.30912,0.00631,ZP>, +<-0.30913,0.01899,ZP>, +<-0.30916,0.03167,ZP>, +<-0.30921,0.04436,ZP>, +<-0.30927,0.05706,ZP>, +<-0.30935,0.06976,ZP>, +<-0.30944,0.08247,ZP>, +<-0.30956,0.09520,ZP>, +<-0.30969,0.10794,ZP>, +<-0.30985,0.12070,ZP>, +<-0.31003,0.13348,ZP>, +<-0.31024,0.14629,ZP>, +<-0.31048,0.15912,ZP>, +<-0.31075,0.17197,ZP>, +<-0.31104,0.18484,ZP>, +<-0.31136,0.19773,ZP>, +<-0.31170,0.21065,ZP>, +<-0.31207,0.22359,ZP>, +<-0.31246,0.23656,ZP>, +<-0.31288,0.24956,ZP>, +<-0.31333,0.26259,ZP>, +<-0.31382,0.27568,ZP>, +<-0.31435,0.28882,ZP>, +<-0.31491,0.30198,ZP>, +<-0.31546,0.31517,ZP>, +<-0.31612,0.32849,ZP>, +<-0.31666,0.34179,ZP>, +<-0.31694,0.35483,0.66010>, +<-0.31744,0.36832,0.66038>, +<-0.31995,0.38408,0.65421>, +<-0.31424,0.38921,0.64029>, +<-0.30735,0.39447,0.63069>, +<-0.30084,0.39940,0.61983>, +<-0.29485,0.40469,0.60863>, +<-0.28933,0.41052,0.59773>, +<-0.28430,0.41681,0.58686>, +<-0.27909,0.42311,0.57604>, +<-0.27301,0.42853,0.56532>, +<-0.26602,0.43240,0.55466>, +<-0.25841,0.43442,0.54401>, +<-0.25075,0.43432,0.53334>, +<-0.24339,0.43217,0.52278>, +<-0.23586,0.43087,0.51248>, +<-0.22802,0.43085,0.50267>, +<-0.22010,0.43168,0.49251> +<-0.21001,-0.44028,0.49977>, +<-0.21646,-0.43604,0.50977>, +<-0.22380,-0.43279,0.52012>, +<-0.23135,-0.43107,0.53039>, +<-0.23945,-0.43073,0.54104>, +<-0.24711,-0.43164,0.55148>, +<-0.25484,-0.43253,0.56231>, +<-0.26226,-0.43098,0.57317>, +<-0.26925,-0.42727,0.58417>, +<-0.27530,-0.42220,0.59514>, +<-0.28099,-0.41660,0.60607>, +<-0.28626,-0.41076,0.61728>, +<-0.29229,-0.40572,0.62843>, +<-0.29876,-0.40108,0.63920>, +<-0.30539,-0.39661,0.65050>, +<-0.30427,-0.38213,0.66050>, +<-0.30375,-0.36855,0.66012>, +<-0.30347,-0.35517,ZP>, +<-0.30319,-0.34191,ZP>, +<-0.30264,-0.32845,ZP>, +<-0.30220,-0.31521,ZP>, +<-0.30173,-0.30198,ZP>, +<-0.30124,-0.28878,ZP>, +<-0.30077,-0.27564,ZP>, +<-0.30032,-0.26254,ZP>, +<-0.29990,-0.24949,ZP>, +<-0.29950,-0.23649,ZP>, +<-0.29913,-0.22352,ZP>, +<-0.29878,-0.21059,ZP>, +<-0.29846,-0.19768,ZP>, +<-0.29816,-0.18480,ZP>, +<-0.29788,-0.17194,ZP>, +<-0.29763,-0.15910,ZP>, +<-0.29741,-0.14628,ZP>, +<-0.29721,-0.13348,ZP>, +<-0.29704,-0.12070,ZP>, +<-0.29689,-0.10794,ZP>, +<-0.29676,-0.09520,ZP>, +<-0.29666,-0.08248,ZP>, +<-0.29657,-0.06977,ZP>, +<-0.29650,-0.05707,ZP>, +<-0.29645,-0.04438,ZP>, +<-0.29641,-0.03170,ZP>, +<-0.29639,-0.01903,ZP>, +<-0.29638,-0.00636,ZP>, +<-0.29638,0.00631,ZP>, +<-0.29640,0.01898,ZP>, +<-0.29642,0.03166,ZP>, +<-0.29647,0.04433,ZP>, +<-0.29652,0.05702,ZP>, +<-0.29660,0.06971,ZP>, +<-0.29668,0.08241,ZP>, +<-0.29679,0.09513,ZP>, +<-0.29692,0.10786,ZP>, +<-0.29707,0.12061,ZP>, +<-0.29724,0.13337,ZP>, +<-0.29743,0.14616,ZP>, +<-0.29765,0.15896,ZP>, +<-0.29789,0.17179,ZP>, +<-0.29816,0.18464,ZP>, +<-0.29844,0.19750,ZP>, +<-0.29876,0.21039,ZP>, +<-0.29909,0.22330,ZP>, +<-0.29944,0.23625,ZP>, +<-0.29983,0.24922,ZP>, +<-0.30025,0.26223,ZP>, +<-0.30069,0.27529,ZP>, +<-0.30117,0.28838,ZP>, +<-0.30168,0.30151,ZP>, +<-0.30218,0.31467,ZP>, +<-0.30264,0.32782,ZP>, +<-0.30324,0.34117,ZP>, +<-0.30359,0.35438,ZP>, +<-0.30404,0.36775,0.66013>, +<-0.30471,0.38121,0.66049>, +<-0.30628,0.39590,0.65106>, +<-0.29970,0.40039,0.63965>, +<-0.29316,0.40509,0.62885>, +<-0.28711,0.41017,0.61768>, +<-0.28190,0.41616,0.60645>, +<-0.27633,0.42183,0.59547>, +<-0.27037,0.42706,0.58449>, +<-0.26370,0.43096,0.57356>, +<-0.25638,0.43309,0.56269>, +<-0.24884,0.43299,0.55187>, +<-0.24125,0.43165,0.54119>, +<-0.23361,0.43129,0.53080>, +<-0.22578,0.43201,0.52045>, +<-0.21821,0.43392,0.51025>, +<-0.21125,0.43717,0.49986> +<-0.20638,-0.45062,0.50626>, +<-0.21059,-0.44502,0.51674>, +<-0.21590,-0.43994,0.52739>, +<-0.22224,-0.43578,0.53789>, +<-0.22971,-0.43286,0.54872>, +<-0.23737,-0.43173,0.55938>, +<-0.24519,-0.43194,0.57031>, +<-0.25269,-0.43198,0.58118>, +<-0.25998,-0.42983,0.59238>, +<-0.26652,-0.42603,0.60351>, +<-0.27256,-0.42142,0.61477>, +<-0.27787,-0.41569,0.62603>, +<-0.28429,-0.41140,0.63701>, +<-0.29080,-0.40722,0.64818>, +<-0.29145,-0.39493,0.66059>, +<-0.29092,-0.38127,0.66016>, +<-0.29069,-0.36800,0.66008>, +<-0.29033,-0.35462,ZP>, +<-0.28979,-0.34112,ZP>, +<-0.28941,-0.32786,ZP>, +<-0.28900,-0.31465,ZP>, +<-0.28856,-0.30146,ZP>, +<-0.28813,-0.28832,ZP>, +<-0.28770,-0.27522,ZP>, +<-0.28729,-0.26217,ZP>, +<-0.28690,-0.24915,ZP>, +<-0.28654,-0.23617,ZP>, +<-0.28619,-0.22323,ZP>, +<-0.28587,-0.21032,ZP>, +<-0.28558,-0.19743,ZP>, +<-0.28531,-0.18457,ZP>, +<-0.28506,-0.17174,ZP>, +<-0.28483,-0.15892,ZP>, +<-0.28462,-0.14612,ZP>, +<-0.28444,-0.13334,ZP>, +<-0.28428,-0.12058,ZP>, +<-0.28414,-0.10784,ZP>, +<-0.28403,-0.09511,ZP>, +<-0.28393,-0.08240,ZP>, +<-0.28385,-0.06970,ZP>, +<-0.28378,-0.05702,ZP>, +<-0.28373,-0.04434,ZP>, +<-0.28369,-0.03167,ZP>, +<-0.28367,-0.01901,ZP>, +<-0.28366,-0.00635,ZP>, +<-0.28366,0.00631,ZP>, +<-0.28368,0.01897,ZP>, +<-0.28370,0.03164,ZP>, +<-0.28374,0.04430,ZP>, +<-0.28379,0.05698,ZP>, +<-0.28386,0.06966,ZP>, +<-0.28394,0.08235,ZP>, +<-0.28404,0.09506,ZP>, +<-0.28416,0.10777,ZP>, +<-0.28430,0.12051,ZP>, +<-0.28446,0.13326,ZP>, +<-0.28463,0.14602,ZP>, +<-0.28483,0.15881,ZP>, +<-0.28505,0.17161,ZP>, +<-0.28529,0.18443,ZP>, +<-0.28556,0.19728,ZP>, +<-0.28584,0.21014,ZP>, +<-0.28614,0.22303,ZP>, +<-0.28647,0.23595,ZP>, +<-0.28683,0.24890,ZP>, +<-0.28721,0.26188,ZP>, +<-0.28762,0.27490,ZP>, +<-0.28805,0.28796,ZP>, +<-0.28849,0.30104,ZP>, +<-0.28895,0.31416,ZP>, +<-0.28938,0.32730,ZP>, +<-0.28981,0.34050,ZP>, +<-0.29042,0.35393,ZP>, +<-0.29098,0.36733,0.66009>, +<-0.29136,0.38053,0.66017>, +<-0.29194,0.39394,0.66061>, +<-0.29172,0.40659,0.64852>, +<-0.28521,0.41077,0.63737>, +<-0.27874,0.41510,0.62631>, +<-0.27346,0.42101,0.61505>, +<-0.26756,0.42576,0.60372>, +<-0.26115,0.42977,0.59271>, +<-0.25411,0.43229,0.58153>, +<-0.24670,0.43265,0.57067>, +<-0.23920,0.43222,0.55980>, +<-0.23159,0.43264,0.54914>, +<-0.22398,0.43417,0.53841>, +<-0.21681,0.43728,0.52765>, +<-0.21073,0.44153,0.51728>, +<-0.20571,0.44654,0.50655> +<-0.20649,-0.46182,0.51226>, +<-0.20843,-0.45560,0.52312>, +<-0.21150,-0.44961,0.53422>, +<-0.21586,-0.44409,0.54499>, +<-0.22156,-0.43946,0.55601>, +<-0.22824,-0.43615,0.56710>, +<-0.23576,-0.43433,0.57834>, +<-0.24315,-0.43353,0.58911>, +<-0.25074,-0.43260,0.60058>, +<-0.25742,-0.42959,0.61170>, +<-0.26326,-0.42511,0.62307>, +<-0.26959,-0.42114,0.63432>, +<-0.27594,-0.41723,0.64555>, +<-0.27912,-0.40869,0.65949>, +<-0.27782,-0.39385,0.66018>, +<-0.27765,-0.38058,0.66008>, +<-0.27744,-0.36726,ZP>, +<-0.27697,-0.35381,ZP>, +<-0.27660,-0.34053,ZP>, +<-0.27622,-0.32729,ZP>, +<-0.27583,-0.31410,ZP>, +<-0.27544,-0.30097,ZP>, +<-0.27506,-0.28788,ZP>, +<-0.27467,-0.27482,ZP>, +<-0.27430,-0.26180,ZP>, +<-0.27394,-0.24882,ZP>, +<-0.27360,-0.23587,ZP>, +<-0.27329,-0.22295,ZP>, +<-0.27299,-0.21006,ZP>, +<-0.27272,-0.19720,ZP>, +<-0.27247,-0.18436,ZP>, +<-0.27225,-0.17155,ZP>, +<-0.27204,-0.15875,ZP>, +<-0.27185,-0.14597,ZP>, +<-0.27169,-0.13321,ZP>, +<-0.27154,-0.12047,ZP>, +<-0.27141,-0.10774,ZP>, +<-0.27130,-0.09503,ZP>, +<-0.27121,-0.08233,ZP>, +<-0.27113,-0.06965,ZP>, +<-0.27107,-0.05697,ZP>, +<-0.27102,-0.04430,ZP>, +<-0.27099,-0.03164,ZP>, +<-0.27097,-0.01899,ZP>, +<-0.27096,-0.00634,ZP>, +<-0.27096,0.00631,ZP>, +<-0.27097,0.01896,ZP>, +<-0.27100,0.03162,ZP>, +<-0.27103,0.04428,ZP>, +<-0.27108,0.05694,ZP>, +<-0.27114,0.06961,ZP>, +<-0.27122,0.08229,ZP>, +<-0.27131,0.09498,ZP>, +<-0.27142,0.10769,ZP>, +<-0.27155,0.12041,ZP>, +<-0.27169,0.13314,ZP>, +<-0.27185,0.14589,ZP>, +<-0.27204,0.15865,ZP>, +<-0.27224,0.17143,ZP>, +<-0.27245,0.18423,ZP>, +<-0.27269,0.19705,ZP>, +<-0.27295,0.20990,ZP>, +<-0.27323,0.22276,ZP>, +<-0.27353,0.23566,ZP>, +<-0.27386,0.24858,ZP>, +<-0.27421,0.26154,ZP>, +<-0.27458,0.27453,ZP>, +<-0.27497,0.28754,ZP>, +<-0.27536,0.30059,ZP>, +<-0.27577,0.31367,ZP>, +<-0.27618,0.32680,ZP>, +<-0.27661,0.33999,ZP>, +<-0.27705,0.35324,ZP>, +<-0.27762,0.36665,ZP>, +<-0.27795,0.37993,0.66008>, +<-0.27824,0.39312,0.66018>, +<-0.27955,0.40774,0.65974>, +<-0.27675,0.41671,0.64585>, +<-0.27042,0.42060,0.63456>, +<-0.26425,0.42470,0.62331>, +<-0.25841,0.42930,0.61191>, +<-0.25172,0.43207,0.60076>, +<-0.24452,0.43366,0.58963>, +<-0.23715,0.43425,0.57852>, +<-0.22968,0.43521,0.56746>, +<-0.22256,0.43749,0.55652>, +<-0.21620,0.44125,0.54553>, +<-0.21084,0.44622,0.53461>, +<-0.20664,0.45162,0.52373>, +<-0.20376,0.45753,0.51261> +<-0.20368,-0.47191,0.51881>, +<-0.20749,-0.46663,0.52958>, +<-0.21101,-0.46066,0.54042>, +<-0.21306,-0.45433,0.55151>, +<-0.21586,-0.44857,0.56284>, +<-0.22101,-0.44372,0.57434>, +<-0.22740,-0.44016,0.58567>, +<-0.23425,-0.43767,0.59660>, +<-0.24230,-0.43742,0.60824>, +<-0.24842,-0.43396,0.61997>, +<-0.25463,-0.43034,0.63124>, +<-0.26093,-0.42664,0.64236>, +<-0.26631,-0.42184,0.65582>, +<-0.26471,-0.40640,0.66024>, +<-0.26458,-0.39310,0.66008>, +<-0.26449,-0.37987,ZP>, +<-0.26413,-0.36646,ZP>, +<-0.26381,-0.35320,ZP>, +<-0.26346,-0.33996,ZP>, +<-0.26309,-0.32675,ZP>, +<-0.26272,-0.31360,ZP>, +<-0.26237,-0.30051,ZP>, +<-0.26202,-0.28745,ZP>, +<-0.26167,-0.27443,ZP>, +<-0.26133,-0.26145,ZP>, +<-0.26100,-0.24850,ZP>, +<-0.26070,-0.23557,ZP>, +<-0.26041,-0.22268,ZP>, +<-0.26014,-0.20982,ZP>, +<-0.25989,-0.19698,ZP>, +<-0.25966,-0.18416,ZP>, +<-0.25946,-0.17136,ZP>, +<-0.25927,-0.15859,ZP>, +<-0.25910,-0.14583,ZP>, +<-0.25895,-0.13309,ZP>, +<-0.25881,-0.12036,ZP>, +<-0.25869,-0.10765,ZP>, +<-0.25859,-0.09495,ZP>, +<-0.25851,-0.08226,ZP>, +<-0.25844,-0.06959,ZP>, +<-0.25838,-0.05693,ZP>, +<-0.25833,-0.04427,ZP>, +<-0.25830,-0.03162,ZP>, +<-0.25828,-0.01897,ZP>, +<-0.25827,-0.00633,ZP>, +<-0.25827,0.00631,ZP>, +<-0.25828,0.01895,ZP>, +<-0.25830,0.03160,ZP>, +<-0.25834,0.04425,ZP>, +<-0.25838,0.05690,ZP>, +<-0.25844,0.06956,ZP>, +<-0.25851,0.08223,ZP>, +<-0.25860,0.09491,ZP>, +<-0.25870,0.10760,ZP>, +<-0.25881,0.12031,ZP>, +<-0.25894,0.13302,ZP>, +<-0.25909,0.14576,ZP>, +<-0.25926,0.15850,ZP>, +<-0.25944,0.17126,ZP>, +<-0.25964,0.18404,ZP>, +<-0.25985,0.19684,ZP>, +<-0.26009,0.20967,ZP>, +<-0.26035,0.22251,ZP>, +<-0.26062,0.23538,ZP>, +<-0.26092,0.24828,ZP>, +<-0.26124,0.26121,ZP>, +<-0.26158,0.27416,ZP>, +<-0.26193,0.28715,ZP>, +<-0.26229,0.30016,ZP>, +<-0.26266,0.31321,ZP>, +<-0.26305,0.32632,ZP>, +<-0.26347,0.33949,ZP>, +<-0.26389,0.35270,ZP>, +<-0.26430,0.36592,ZP>, +<-0.26475,0.37931,ZP>, +<-0.26496,0.39246,0.66008>, +<-0.26518,0.40573,0.66023>, +<-0.26717,0.42107,0.65627>, +<-0.26198,0.42607,0.64239>, +<-0.25551,0.42985,0.63125>, +<-0.24919,0.43351,0.62019>, +<-0.24312,0.43695,0.60857>, +<-0.23538,0.43721,0.59729>, +<-0.22830,0.43904,0.58608>, +<-0.22150,0.44163,0.57461>, +<-0.21565,0.44549,0.56332>, +<-0.21115,0.45045,0.55208>, +<-0.20829,0.45650,0.54088>, +<-0.20623,0.46274,0.52973>, +<-0.20333,0.46859,0.51872> +<-0.19556,-0.47939,0.52551>, +<-0.20067,-0.47522,0.53661>, +<-0.20579,-0.46996,0.54717>, +<-0.20993,-0.46447,0.55807>, +<-0.21300,-0.45891,0.56953>, +<-0.21604,-0.45267,0.58144>, +<-0.22041,-0.44786,0.59257>, +<-0.22741,-0.44532,0.60387>, +<-0.23347,-0.44220,0.61568>, +<-0.23952,-0.43897,0.62752>, +<-0.24554,-0.43564,0.63887>, +<-0.25174,-0.43244,0.65064>, +<-0.25161,-0.41865,0.66031>, +<-0.25140,-0.40552,0.66009>, +<-0.25148,-0.39240,ZP>, +<-0.25126,-0.37910,ZP>, +<-0.25094,-0.36580,ZP>, +<-0.25066,-0.35259,ZP>, +<-0.25034,-0.33939,ZP>, +<-0.25000,-0.32624,ZP>, +<-0.24967,-0.31313,ZP>, +<-0.24934,-0.30007,ZP>, +<-0.24902,-0.28705,ZP>, +<-0.24870,-0.27407,ZP>, +<-0.24839,-0.26112,ZP>, +<-0.24810,-0.24819,ZP>, +<-0.24782,-0.23530,ZP>, +<-0.24755,-0.22243,ZP>, +<-0.24731,-0.20959,ZP>, +<-0.24708,-0.19677,ZP>, +<-0.24687,-0.18397,ZP>, +<-0.24668,-0.17119,ZP>, +<-0.24651,-0.15843,ZP>, +<-0.24636,-0.14569,ZP>, +<-0.24622,-0.13297,ZP>, +<-0.24610,-0.12026,ZP>, +<-0.24599,-0.10756,ZP>, +<-0.24590,-0.09488,ZP>, +<-0.24582,-0.08220,ZP>, +<-0.24575,-0.06954,ZP>, +<-0.24570,-0.05688,ZP>, +<-0.24566,-0.04424,ZP>, +<-0.24563,-0.03160,ZP>, +<-0.24561,-0.01896,ZP>, +<-0.24560,-0.00632,ZP>, +<-0.24560,0.00631,ZP>, +<-0.24561,0.01894,ZP>, +<-0.24563,0.03158,ZP>, +<-0.24566,0.04422,ZP>, +<-0.24570,0.05686,ZP>, +<-0.24575,0.06952,ZP>, +<-0.24582,0.08217,ZP>, +<-0.24590,0.09484,ZP>, +<-0.24599,0.10752,ZP>, +<-0.24609,0.12021,ZP>, +<-0.24621,0.13291,ZP>, +<-0.24634,0.14563,ZP>, +<-0.24649,0.15836,ZP>, +<-0.24666,0.17110,ZP>, +<-0.24684,0.18386,ZP>, +<-0.24704,0.19665,ZP>, +<-0.24725,0.20945,ZP>, +<-0.24749,0.22227,ZP>, +<-0.24774,0.23512,ZP>, +<-0.24802,0.24799,ZP>, +<-0.24831,0.26089,ZP>, +<-0.24861,0.27382,ZP>, +<-0.24893,0.28677,ZP>, +<-0.24927,0.29976,ZP>, +<-0.24962,0.31279,ZP>, +<-0.24998,0.32586,ZP>, +<-0.25036,0.33898,ZP>, +<-0.25074,0.35215,ZP>, +<-0.25110,0.36533,ZP>, +<-0.25148,0.37859,ZP>, +<-0.25180,0.39184,ZP>, +<-0.25182,0.40495,0.66009>, +<-0.25225,0.41773,0.66047>, +<-0.25269,0.43200,0.65084>, +<-0.24637,0.43520,0.63904>, +<-0.24037,0.43848,0.62784>, +<-0.23434,0.44172,0.61598>, +<-0.22829,0.44488,0.60422>, +<-0.22091,0.44580,0.59287>, +<-0.21513,0.44977,0.58120>, +<-0.21110,0.45508,0.56991>, +<-0.20888,0.46102,0.55861>, +<-0.20574,0.46687,0.54733>, +<-0.20198,0.47247,0.53634>, +<-0.19770,0.47800,0.52537> +<-0.18403,-0.48026,0.53136>, +<-0.18991,-0.47865,0.54301>, +<-0.19614,-0.47567,0.55376>, +<-0.20165,-0.47168,0.56470>, +<-0.20643,-0.46684,0.57624>, +<-0.21061,-0.46118,0.58823>, +<-0.21386,-0.45546,0.59919>, +<-0.21835,-0.45047,0.61159>, +<-0.22428,-0.44697,0.62236>, +<-0.23041,-0.44390,0.63415>, +<-0.23863,-0.43351,0.65005>, +<-0.23838,-0.43185,0.65998>, +<-0.23804,-0.41742,ZP>, +<-0.23826,-0.40479,ZP>, +<-0.23826,-0.39162,ZP>, +<-0.23800,-0.37834,ZP>, +<-0.23781,-0.36517,ZP>, +<-0.23755,-0.35201,ZP>, +<-0.23726,-0.33887,ZP>, +<-0.23696,-0.32577,ZP>, +<-0.23666,-0.31270,ZP>, +<-0.23635,-0.29967,ZP>, +<-0.23606,-0.28668,ZP>, +<-0.23577,-0.27373,ZP>, +<-0.23549,-0.26080,ZP>, +<-0.23522,-0.24791,ZP>, +<-0.23496,-0.23504,ZP>, +<-0.23472,-0.22219,ZP>, +<-0.23450,-0.20937,ZP>, +<-0.23429,-0.19657,ZP>, +<-0.23410,-0.18379,ZP>, +<-0.23393,-0.17103,ZP>, +<-0.23377,-0.15829,ZP>, +<-0.23363,-0.14557,ZP>, +<-0.23351,-0.13286,ZP>, +<-0.23339,-0.12016,ZP>, +<-0.23330,-0.10748,ZP>, +<-0.23321,-0.09480,ZP>, +<-0.23314,-0.08214,ZP>, +<-0.23308,-0.06949,ZP>, +<-0.23303,-0.05684,ZP>, +<-0.23299,-0.04421,ZP>, +<-0.23296,-0.03157,ZP>, +<-0.23294,-0.01894,ZP>, +<-0.23294,-0.00632,ZP>, +<-0.23294,0.00631,ZP>, +<-0.23295,0.01893,ZP>, +<-0.23296,0.03156,ZP>, +<-0.23299,0.04419,ZP>, +<-0.23303,0.05683,ZP>, +<-0.23308,0.06947,ZP>, +<-0.23314,0.08212,ZP>, +<-0.23321,0.09478,ZP>, +<-0.23329,0.10744,ZP>, +<-0.23339,0.12012,ZP>, +<-0.23349,0.13281,ZP>, +<-0.23361,0.14551,ZP>, +<-0.23375,0.15822,ZP>, +<-0.23390,0.17095,ZP>, +<-0.23406,0.18370,ZP>, +<-0.23424,0.19646,ZP>, +<-0.23444,0.20924,ZP>, +<-0.23466,0.22205,ZP>, +<-0.23489,0.23487,ZP>, +<-0.23514,0.24772,ZP>, +<-0.23540,0.26060,ZP>, +<-0.23568,0.27350,ZP>, +<-0.23598,0.28643,ZP>, +<-0.23629,0.29939,ZP>, +<-0.23661,0.31239,ZP>, +<-0.23695,0.32543,ZP>, +<-0.23729,0.33850,ZP>, +<-0.23764,0.35161,ZP>, +<-0.23796,0.36474,ZP>, +<-0.23823,0.37789,ZP>, +<-0.23857,0.39111,ZP>, +<-0.23869,0.40428,ZP>, +<-0.23835,0.41669,0.66022>, +<-0.23912,0.43123,0.66017>, +<-0.22965,0.44030,0.64230>, +<-0.23254,0.44296,0.63281>, +<-0.22525,0.44652,0.62038>, +<-0.21923,0.44940,0.61111>, +<-0.21374,0.45302,0.59985>, +<-0.20986,0.45842,0.58797>, +<-0.20649,0.46433,0.57654>, +<-0.20276,0.46981,0.56524>, +<-0.19823,0.47490,0.55392>, +<-0.19311,0.47903,0.54276>, +<-0.18760,0.48307,0.53155> +<-0.17340,-0.47535,0.53624>, +<-0.17864,-0.47567,0.54829>, +<-0.18447,-0.47522,0.55947>, +<-0.19046,-0.47378,0.57074>, +<-0.19631,-0.47083,0.58247>, +<-0.20152,-0.46662,0.59459>, +<-0.20578,-0.46185,0.60594>, +<-0.21011,-0.45623,0.61821>, +<-0.21454,-0.45174,0.62898>, +<-0.22083,-0.44876,0.64137>, +<-0.22574,-0.44548,0.65492>, +<-0.22460,-0.43014,0.66019>, +<-0.22467,-0.41687,ZP>, +<-0.22505,-0.40400,ZP>, +<-0.22493,-0.39075,ZP>, +<-0.22486,-0.37768,ZP>, +<-0.22469,-0.36457,ZP>, +<-0.22447,-0.35146,ZP>, +<-0.22422,-0.33837,ZP>, +<-0.22395,-0.32532,ZP>, +<-0.22367,-0.31229,ZP>, +<-0.22340,-0.29930,ZP>, +<-0.22313,-0.28634,ZP>, +<-0.22286,-0.27341,ZP>, +<-0.22261,-0.26051,ZP>, +<-0.22236,-0.24764,ZP>, +<-0.22213,-0.23479,ZP>, +<-0.22191,-0.22197,ZP>, +<-0.22171,-0.20917,ZP>, +<-0.22152,-0.19639,ZP>, +<-0.22135,-0.18363,ZP>, +<-0.22119,-0.17089,ZP>, +<-0.22105,-0.15816,ZP>, +<-0.22092,-0.14545,ZP>, +<-0.22081,-0.13275,ZP>, +<-0.22070,-0.12007,ZP>, +<-0.22062,-0.10740,ZP>, +<-0.22054,-0.09474,ZP>, +<-0.22047,-0.08209,ZP>, +<-0.22042,-0.06944,ZP>, +<-0.22037,-0.05681,ZP>, +<-0.22034,-0.04418,ZP>, +<-0.22031,-0.03155,ZP>, +<-0.22029,-0.01893,ZP>, +<-0.22029,-0.00631,ZP>, +<-0.22029,0.00630,ZP>, +<-0.22030,0.01892,ZP>, +<-0.22031,0.03154,ZP>, +<-0.22034,0.04417,ZP>, +<-0.22037,0.05679,ZP>, +<-0.22042,0.06943,ZP>, +<-0.22047,0.08207,ZP>, +<-0.22053,0.09471,ZP>, +<-0.22061,0.10737,ZP>, +<-0.22069,0.12003,ZP>, +<-0.22079,0.13271,ZP>, +<-0.22090,0.14540,ZP>, +<-0.22102,0.15810,ZP>, +<-0.22116,0.17081,ZP>, +<-0.22131,0.18354,ZP>, +<-0.22147,0.19629,ZP>, +<-0.22165,0.20905,ZP>, +<-0.22185,0.22184,ZP>, +<-0.22206,0.23464,ZP>, +<-0.22229,0.24747,ZP>, +<-0.22253,0.26032,ZP>, +<-0.22279,0.27320,ZP>, +<-0.22306,0.28610,ZP>, +<-0.22334,0.29904,ZP>, +<-0.22364,0.31201,ZP>, +<-0.22395,0.32501,ZP>, +<-0.22426,0.33804,ZP>, +<-0.22456,0.35109,ZP>, +<-0.22485,0.36417,ZP>, +<-0.22509,0.37727,ZP>, +<-0.22523,0.39029,ZP>, +<-0.22545,0.40353,ZP>, +<-0.22517,0.41642,0.66010>, +<-0.22543,0.42960,0.66019>, +<-0.22676,0.44471,0.65512>, +<-0.22111,0.44888,0.64111>, +<-0.21432,0.45214,0.62776>, +<-0.21055,0.45457,0.61739>, +<-0.20643,0.46030,0.60643>, +<-0.20267,0.46581,0.59457>, +<-0.19853,0.47089,0.58297>, +<-0.19309,0.47519,0.57143>, +<-0.18737,0.47814,0.55990>, +<-0.18176,0.47995,0.54833>, +<-0.17603,0.48133,0.53667> +<-0.16437,-0.46739,0.54093>, +<-0.16960,-0.46787,0.55281>, +<-0.17448,-0.46911,0.56429>, +<-0.17939,-0.47086,0.57611>, +<-0.18511,-0.47061,0.58782>, +<-0.19072,-0.46832,0.59991>, +<-0.19554,-0.46489,0.61184>, +<-0.20005,-0.45988,0.62421>, +<-0.20510,-0.45608,0.63591>, +<-0.20216,-0.45179,0.65001>, +<-0.21162,-0.44279,0.66045>, +<-0.21138,-0.42933,0.66007>, +<-0.21161,-0.41634,ZP>, +<-0.21178,-0.40320,ZP>, +<-0.21176,-0.39010,ZP>, +<-0.21173,-0.37706,ZP>, +<-0.21159,-0.36399,ZP>, +<-0.21142,-0.35094,ZP>, +<-0.21120,-0.33791,ZP>, +<-0.21097,-0.32490,ZP>, +<-0.21072,-0.31191,ZP>, +<-0.21047,-0.29895,ZP>, +<-0.21023,-0.28602,ZP>, +<-0.20999,-0.27312,ZP>, +<-0.20975,-0.26024,ZP>, +<-0.20953,-0.24739,ZP>, +<-0.20932,-0.23457,ZP>, +<-0.20912,-0.22177,ZP>, +<-0.20894,-0.20898,ZP>, +<-0.20877,-0.19622,ZP>, +<-0.20861,-0.18348,ZP>, +<-0.20847,-0.17075,ZP>, +<-0.20834,-0.15804,ZP>, +<-0.20822,-0.14534,ZP>, +<-0.20812,-0.13266,ZP>, +<-0.20803,-0.11999,ZP>, +<-0.20795,-0.10733,ZP>, +<-0.20788,-0.09468,ZP>, +<-0.20782,-0.08204,ZP>, +<-0.20777,-0.06940,ZP>, +<-0.20773,-0.05677,ZP>, +<-0.20770,-0.04415,ZP>, +<-0.20767,-0.03154,ZP>, +<-0.20766,-0.01892,ZP>, +<-0.20765,-0.00631,ZP>, +<-0.20765,0.00630,ZP>, +<-0.20766,0.01891,ZP>, +<-0.20767,0.03153,ZP>, +<-0.20769,0.04414,ZP>, +<-0.20773,0.05676,ZP>, +<-0.20777,0.06939,ZP>, +<-0.20781,0.08202,ZP>, +<-0.20787,0.09465,ZP>, +<-0.20794,0.10730,ZP>, +<-0.20801,0.11995,ZP>, +<-0.20810,0.13262,ZP>, +<-0.20820,0.14529,ZP>, +<-0.20831,0.15798,ZP>, +<-0.20843,0.17068,ZP>, +<-0.20857,0.18339,ZP>, +<-0.20872,0.19613,ZP>, +<-0.20888,0.20887,ZP>, +<-0.20906,0.22164,ZP>, +<-0.20925,0.23443,ZP>, +<-0.20946,0.24724,ZP>, +<-0.20968,0.26007,ZP>, +<-0.20992,0.27292,ZP>, +<-0.21017,0.28580,ZP>, +<-0.21043,0.29871,ZP>, +<-0.21070,0.31165,ZP>, +<-0.21098,0.32461,ZP>, +<-0.21126,0.33760,ZP>, +<-0.21152,0.35060,ZP>, +<-0.21176,0.36363,ZP>, +<-0.21197,0.37667,ZP>, +<-0.21207,0.38968,ZP>, +<-0.21218,0.40277,ZP>, +<-0.21218,0.41593,ZP>, +<-0.21214,0.42881,ZP>, +<-0.21249,0.44208,0.66040>, +<-0.21545,0.44928,0.64426>, +<-0.20408,0.45660,0.63599>, +<-0.20099,0.45922,0.62433>, +<-0.19694,0.46516,0.61266>, +<-0.19250,0.46959,0.60076>, +<-0.18772,0.47300,0.58873>, +<-0.18189,0.47529,0.57694>, +<-0.17611,0.47622,0.56501>, +<-0.17091,0.47612,0.55317>, +<-0.16608,0.47511,0.54122> +<-0.15269,-0.46565,0.54660>, +<-0.15835,-0.46527,0.55807>, +<-0.16378,-0.46553,0.56966>, +<-0.16896,-0.46611,0.58143>, +<-0.17444,-0.46687,0.59310>, +<-0.17963,-0.46697,0.60494>, +<-0.18481,-0.46626,0.61739>, +<-0.18924,-0.46305,0.62951>, +<-0.19473,-0.46058,0.64154>, +<-0.19926,-0.45712,0.65587>, +<-0.19825,-0.44179,0.66010>, +<-0.19843,-0.42874,ZP>, +<-0.19868,-0.41581,ZP>, +<-0.19863,-0.40256,ZP>, +<-0.19866,-0.38953,ZP>, +<-0.19863,-0.37650,ZP>, +<-0.19853,-0.36347,ZP>, +<-0.19840,-0.35047,ZP>, +<-0.19822,-0.33748,ZP>, +<-0.19802,-0.32450,ZP>, +<-0.19780,-0.31155,ZP>, +<-0.19758,-0.29862,ZP>, +<-0.19735,-0.28572,ZP>, +<-0.19714,-0.27284,ZP>, +<-0.19693,-0.25999,ZP>, +<-0.19672,-0.24716,ZP>, +<-0.19653,-0.23436,ZP>, +<-0.19635,-0.22158,ZP>, +<-0.19619,-0.20881,ZP>, +<-0.19603,-0.19607,ZP>, +<-0.19589,-0.18334,ZP>, +<-0.19576,-0.17062,ZP>, +<-0.19564,-0.15793,ZP>, +<-0.19554,-0.14524,ZP>, +<-0.19545,-0.13257,ZP>, +<-0.19536,-0.11991,ZP>, +<-0.19529,-0.10726,ZP>, +<-0.19523,-0.09462,ZP>, +<-0.19517,-0.08199,ZP>, +<-0.19513,-0.06936,ZP>, +<-0.19509,-0.05674,ZP>, +<-0.19506,-0.04413,ZP>, +<-0.19504,-0.03152,ZP>, +<-0.19503,-0.01891,ZP>, +<-0.19502,-0.00631,ZP>, +<-0.19502,0.00630,ZP>, +<-0.19503,0.01891,ZP>, +<-0.19504,0.03151,ZP>, +<-0.19506,0.04412,ZP>, +<-0.19509,0.05673,ZP>, +<-0.19512,0.06935,ZP>, +<-0.19517,0.08197,ZP>, +<-0.19522,0.09460,ZP>, +<-0.19528,0.10724,ZP>, +<-0.19535,0.11988,ZP>, +<-0.19543,0.13253,ZP>, +<-0.19552,0.14520,ZP>, +<-0.19562,0.15787,ZP>, +<-0.19573,0.17056,ZP>, +<-0.19585,0.18326,ZP>, +<-0.19598,0.19598,ZP>, +<-0.19613,0.20871,ZP>, +<-0.19629,0.22146,ZP>, +<-0.19647,0.23423,ZP>, +<-0.19666,0.24702,ZP>, +<-0.19686,0.25983,ZP>, +<-0.19707,0.27266,ZP>, +<-0.19730,0.28552,ZP>, +<-0.19754,0.29840,ZP>, +<-0.19779,0.31131,ZP>, +<-0.19803,0.32423,ZP>, +<-0.19828,0.33718,ZP>, +<-0.19851,0.35015,ZP>, +<-0.19870,0.36312,ZP>, +<-0.19887,0.37612,ZP>, +<-0.19899,0.38914,ZP>, +<-0.19905,0.40217,ZP>, +<-0.19921,0.41540,ZP>, +<-0.19896,0.42823,0.66009>, +<-0.19877,0.44128,0.66020>, +<-0.19990,0.45665,0.65627>, +<-0.19568,0.46019,0.64221>, +<-0.19129,0.46244,0.63073>, +<-0.18640,0.46744,0.61833>, +<-0.18165,0.46998,0.60577>, +<-0.17674,0.47137,0.59359>, +<-0.17150,0.47109,0.58173>, +<-0.16629,0.47007,0.56968>, +<-0.16132,0.46933,0.55779>, +<-0.15653,0.46872,0.54611> +<-0.14237,-0.47192,0.55161>, +<-0.14710,-0.47008,0.56314>, +<-0.15232,-0.46873,0.57486>, +<-0.15769,-0.46799,0.58681>, +<-0.16320,-0.46787,0.59881>, +<-0.16950,-0.47043,0.61094>, +<-0.17429,-0.46865,0.62344>, +<-0.17862,-0.46702,0.63500>, +<-0.18411,-0.46503,0.64774>, +<-0.18533,-0.45502,0.66027>, +<-0.18425,-0.44097,ZP>, +<-0.18495,-0.42772,ZP>, +<-0.18551,-0.41512,ZP>, +<-0.18558,-0.40204,ZP>, +<-0.18561,-0.38902,ZP>, +<-0.18559,-0.37600,ZP>, +<-0.18552,-0.36301,ZP>, +<-0.18541,-0.35004,ZP>, +<-0.18526,-0.33708,ZP>, +<-0.18509,-0.32414,ZP>, +<-0.18490,-0.31122,ZP>, +<-0.18470,-0.29832,ZP>, +<-0.18450,-0.28545,ZP>, +<-0.18431,-0.27259,ZP>, +<-0.18412,-0.25976,ZP>, +<-0.18394,-0.24696,ZP>, +<-0.18376,-0.23417,ZP>, +<-0.18360,-0.22140,ZP>, +<-0.18345,-0.20865,ZP>, +<-0.18331,-0.19592,ZP>, +<-0.18318,-0.18321,ZP>, +<-0.18307,-0.17051,ZP>, +<-0.18296,-0.15782,ZP>, +<-0.18287,-0.14515,ZP>, +<-0.18278,-0.13249,ZP>, +<-0.18271,-0.11984,ZP>, +<-0.18264,-0.10720,ZP>, +<-0.18259,-0.09457,ZP>, +<-0.18254,-0.08195,ZP>, +<-0.18250,-0.06933,ZP>, +<-0.18247,-0.05672,ZP>, +<-0.18244,-0.04411,ZP>, +<-0.18242,-0.03150,ZP>, +<-0.18241,-0.01890,ZP>, +<-0.18240,-0.00630,ZP>, +<-0.18240,0.00630,ZP>, +<-0.18241,0.01890,ZP>, +<-0.18242,0.03150,ZP>, +<-0.18244,0.04410,ZP>, +<-0.18246,0.05671,ZP>, +<-0.18249,0.06932,ZP>, +<-0.18253,0.08193,ZP>, +<-0.18258,0.09455,ZP>, +<-0.18263,0.10718,ZP>, +<-0.18269,0.11981,ZP>, +<-0.18276,0.13246,ZP>, +<-0.18284,0.14511,ZP>, +<-0.18293,0.15777,ZP>, +<-0.18303,0.17045,ZP>, +<-0.18314,0.18314,ZP>, +<-0.18327,0.19584,ZP>, +<-0.18340,0.20856,ZP>, +<-0.18355,0.22130,ZP>, +<-0.18370,0.23405,ZP>, +<-0.18387,0.24682,ZP>, +<-0.18406,0.25961,ZP>, +<-0.18425,0.27243,ZP>, +<-0.18446,0.28526,ZP>, +<-0.18467,0.29812,ZP>, +<-0.18489,0.31099,ZP>, +<-0.18511,0.32389,ZP>, +<-0.18532,0.33680,ZP>, +<-0.18552,0.34973,ZP>, +<-0.18569,0.36267,ZP>, +<-0.18584,0.37564,ZP>, +<-0.18595,0.38864,ZP>, +<-0.18600,0.40164,ZP>, +<-0.18602,0.41468,ZP>, +<-0.18581,0.42766,0.66008>, +<-0.18548,0.44075,0.66012>, +<-0.18602,0.45441,0.66039>, +<-0.18499,0.46473,0.64800>, +<-0.18004,0.46648,0.63559>, +<-0.17551,0.46852,0.62367>, +<-0.17055,0.47002,0.61107>, +<-0.16555,0.46924,0.59882>, +<-0.16055,0.46900,0.58695>, +<-0.15523,0.46860,0.57486>, +<-0.14980,0.46824,0.56311>, +<-0.14478,0.46853,0.55140> +<-0.13729,-0.48276,0.55536>, +<-0.14016,-0.47973,0.56729>, +<-0.14414,-0.47704,0.57931>, +<-0.14851,-0.47503,0.59131>, +<-0.15466,-0.47551,0.60347>, +<-0.15922,-0.47399,0.61590>, +<-0.16387,-0.47241,0.62854>, +<-0.16866,-0.47072,0.64067>, +<-0.17282,-0.46865,0.65422>, +<-0.17227,-0.45413,0.66015>, +<-0.17233,-0.44110,ZP>, +<-0.17256,-0.42794,ZP>, +<-0.17251,-0.41465,ZP>, +<-0.17259,-0.40160,ZP>, +<-0.17262,-0.38857,ZP>, +<-0.17260,-0.37557,ZP>, +<-0.17254,-0.36260,ZP>, +<-0.17245,-0.34965,ZP>, +<-0.17233,-0.33672,ZP>, +<-0.17219,-0.32381,ZP>, +<-0.17202,-0.31092,ZP>, +<-0.17185,-0.29804,ZP>, +<-0.17168,-0.28519,ZP>, +<-0.17150,-0.27236,ZP>, +<-0.17133,-0.25955,ZP>, +<-0.17117,-0.24676,ZP>, +<-0.17101,-0.23399,ZP>, +<-0.17087,-0.22124,ZP>, +<-0.17073,-0.20851,ZP>, +<-0.17061,-0.19579,ZP>, +<-0.17049,-0.18309,ZP>, +<-0.17039,-0.17041,ZP>, +<-0.17029,-0.15773,ZP>, +<-0.17021,-0.14507,ZP>, +<-0.17013,-0.13242,ZP>, +<-0.17007,-0.11978,ZP>, +<-0.17001,-0.10715,ZP>, +<-0.16996,-0.09452,ZP>, +<-0.16991,-0.08191,ZP>, +<-0.16988,-0.06930,ZP>, +<-0.16985,-0.05669,ZP>, +<-0.16982,-0.04409,ZP>, +<-0.16981,-0.03149,ZP>, +<-0.16980,-0.01889,ZP>, +<-0.16979,-0.00630,ZP>, +<-0.16979,0.00629,ZP>, +<-0.16980,0.01889,ZP>, +<-0.16981,0.03148,ZP>, +<-0.16982,0.04408,ZP>, +<-0.16984,0.05668,ZP>, +<-0.16987,0.06928,ZP>, +<-0.16991,0.08189,ZP>, +<-0.16995,0.09451,ZP>, +<-0.17000,0.10713,ZP>, +<-0.17005,0.11975,ZP>, +<-0.17011,0.13239,ZP>, +<-0.17018,0.14503,ZP>, +<-0.17026,0.15769,ZP>, +<-0.17035,0.17035,ZP>, +<-0.17045,0.18303,ZP>, +<-0.17056,0.19572,ZP>, +<-0.17068,0.20843,ZP>, +<-0.17081,0.22115,ZP>, +<-0.17096,0.23389,ZP>, +<-0.17111,0.24664,ZP>, +<-0.17128,0.25941,ZP>, +<-0.17145,0.27221,ZP>, +<-0.17164,0.28502,ZP>, +<-0.17183,0.29785,ZP>, +<-0.17202,0.31070,ZP>, +<-0.17222,0.32357,ZP>, +<-0.17240,0.33645,ZP>, +<-0.17257,0.34935,ZP>, +<-0.17272,0.36227,ZP>, +<-0.17285,0.37521,ZP>, +<-0.17296,0.38819,ZP>, +<-0.17301,0.40118,ZP>, +<-0.17300,0.41420,ZP>, +<-0.17310,0.42744,ZP>, +<-0.17294,0.44058,ZP>, +<-0.17292,0.45362,0.66013>, +<-0.17356,0.46824,0.65449>, +<-0.16947,0.47043,0.64086>, +<-0.16473,0.47210,0.62875>, +<-0.16010,0.47369,0.61617>, +<-0.15562,0.47521,0.60372>, +<-0.14946,0.47174,0.59192>, +<-0.14434,0.47241,0.57970>, +<-0.13930,0.47365,0.56791>, +<-0.13483,0.47561,0.55594> +<-0.13307,-0.49386,0.55957>, +<-0.13621,-0.49110,0.57141>, +<-0.13929,-0.48800,0.58343>, +<-0.14198,-0.48444,0.59560>, +<-0.14488,-0.48060,0.60806>, +<-0.14844,-0.47781,0.62050>, +<-0.15316,-0.47598,0.63321>, +<-0.15752,-0.47461,0.64557>, +<-0.15969,-0.46795,0.65939>, +<-0.15918,-0.45364,ZP>, +<-0.15949,-0.44072,ZP>, +<-0.15953,-0.42740,ZP>, +<-0.15958,-0.41427,ZP>, +<-0.15965,-0.40120,ZP>, +<-0.15967,-0.38818,ZP>, +<-0.15966,-0.37519,ZP>, +<-0.15961,-0.36223,ZP>, +<-0.15953,-0.34930,ZP>, +<-0.15943,-0.33639,ZP>, +<-0.15931,-0.32351,ZP>, +<-0.15917,-0.31064,ZP>, +<-0.15902,-0.29779,ZP>, +<-0.15887,-0.28496,ZP>, +<-0.15871,-0.27215,ZP>, +<-0.15856,-0.25936,ZP>, +<-0.15842,-0.24659,ZP>, +<-0.15828,-0.23384,ZP>, +<-0.15815,-0.22110,ZP>, +<-0.15803,-0.20838,ZP>, +<-0.15792,-0.19568,ZP>, +<-0.15781,-0.18299,ZP>, +<-0.15772,-0.17031,ZP>, +<-0.15764,-0.15765,ZP>, +<-0.15756,-0.14500,ZP>, +<-0.15749,-0.13235,ZP>, +<-0.15743,-0.11972,ZP>, +<-0.15738,-0.10710,ZP>, +<-0.15734,-0.09448,ZP>, +<-0.15730,-0.08187,ZP>, +<-0.15726,-0.06927,ZP>, +<-0.15724,-0.05667,ZP>, +<-0.15722,-0.04407,ZP>, +<-0.15720,-0.03148,ZP>, +<-0.15719,-0.01889,ZP>, +<-0.15719,-0.00630,ZP>, +<-0.15719,0.00629,ZP>, +<-0.15719,0.01888,ZP>, +<-0.15720,0.03147,ZP>, +<-0.15721,0.04406,ZP>, +<-0.15723,0.05666,ZP>, +<-0.15726,0.06926,ZP>, +<-0.15729,0.08186,ZP>, +<-0.15733,0.09447,ZP>, +<-0.15737,0.10708,ZP>, +<-0.15742,0.11970,ZP>, +<-0.15747,0.13232,ZP>, +<-0.15754,0.14496,ZP>, +<-0.15761,0.15761,ZP>, +<-0.15769,0.17026,ZP>, +<-0.15778,0.18293,ZP>, +<-0.15787,0.19561,ZP>, +<-0.15798,0.20830,ZP>, +<-0.15810,0.22101,ZP>, +<-0.15823,0.23374,ZP>, +<-0.15837,0.24648,ZP>, +<-0.15851,0.25923,ZP>, +<-0.15867,0.27201,ZP>, +<-0.15883,0.28480,ZP>, +<-0.15900,0.29761,ZP>, +<-0.15917,0.31043,ZP>, +<-0.15934,0.32328,ZP>, +<-0.15950,0.33614,ZP>, +<-0.15965,0.34901,ZP>, +<-0.15979,0.36192,ZP>, +<-0.15991,0.37484,ZP>, +<-0.15999,0.38779,ZP>, +<-0.16005,0.40078,ZP>, +<-0.16007,0.41381,ZP>, +<-0.16009,0.42690,ZP>, +<-0.16012,0.44019,ZP>, +<-0.15987,0.45311,ZP>, +<-0.16042,0.46733,0.65954>, +<-0.15838,0.47434,0.64581>, +<-0.15406,0.47569,0.63346>, +<-0.14954,0.47713,0.62101>, +<-0.14520,0.47848,0.60841>, +<-0.13990,0.47825,0.59627>, +<-0.13560,0.48029,0.58394>, +<-0.13203,0.48286,0.57211>, +<-0.12903,0.48610,0.55971> +<-0.12189,-0.49974,0.56405>, +<-0.12582,-0.49750,0.57604>, +<-0.12954,-0.49467,0.58806>, +<-0.13281,-0.49131,0.60037>, +<-0.13594,-0.48755,0.61272>, +<-0.13875,-0.48309,0.62516>, +<-0.14217,-0.47938,0.63742>, +<-0.14606,-0.47841,0.65028>, +<-0.14637,-0.46643,0.66019>, +<-0.14634,-0.45331,ZP>, +<-0.14672,-0.44030,ZP>, +<-0.14668,-0.42703,ZP>, +<-0.14675,-0.41395,ZP>, +<-0.14677,-0.40087,ZP>, +<-0.14677,-0.38784,ZP>, +<-0.14676,-0.37486,ZP>, +<-0.14672,-0.36191,ZP>, +<-0.14665,-0.34900,ZP>, +<-0.14657,-0.33611,ZP>, +<-0.14646,-0.32324,ZP>, +<-0.14634,-0.31039,ZP>, +<-0.14621,-0.29756,ZP>, +<-0.14608,-0.28475,ZP>, +<-0.14594,-0.27196,ZP>, +<-0.14581,-0.25919,ZP>, +<-0.14568,-0.24643,ZP>, +<-0.14556,-0.23369,ZP>, +<-0.14544,-0.22097,ZP>, +<-0.14534,-0.20826,ZP>, +<-0.14524,-0.19557,ZP>, +<-0.14515,-0.18289,ZP>, +<-0.14506,-0.17023,ZP>, +<-0.14499,-0.15757,ZP>, +<-0.14492,-0.14493,ZP>, +<-0.14486,-0.13230,ZP>, +<-0.14481,-0.11967,ZP>, +<-0.14476,-0.10705,ZP>, +<-0.14472,-0.09444,ZP>, +<-0.14469,-0.08184,ZP>, +<-0.14466,-0.06924,ZP>, +<-0.14464,-0.05664,ZP>, +<-0.14462,-0.04405,ZP>, +<-0.14460,-0.03147,ZP>, +<-0.14459,-0.01888,ZP>, +<-0.14459,-0.00629,ZP>, +<-0.14459,0.00629,ZP>, +<-0.14459,0.01888,ZP>, +<-0.14460,0.03146,ZP>, +<-0.14461,0.04405,ZP>, +<-0.14463,0.05664,ZP>, +<-0.14465,0.06923,ZP>, +<-0.14468,0.08183,ZP>, +<-0.14471,0.09443,ZP>, +<-0.14475,0.10704,ZP>, +<-0.14479,0.11965,ZP>, +<-0.14484,0.13227,ZP>, +<-0.14490,0.14490,ZP>, +<-0.14496,0.15753,ZP>, +<-0.14503,0.17018,ZP>, +<-0.14511,0.18284,ZP>, +<-0.14520,0.19551,ZP>, +<-0.14529,0.20819,ZP>, +<-0.14540,0.22089,ZP>, +<-0.14551,0.23360,ZP>, +<-0.14564,0.24633,ZP>, +<-0.14577,0.25907,ZP>, +<-0.14591,0.27183,ZP>, +<-0.14605,0.28460,ZP>, +<-0.14620,0.29739,ZP>, +<-0.14635,0.31020,ZP>, +<-0.14650,0.32302,ZP>, +<-0.14664,0.33586,ZP>, +<-0.14677,0.34872,ZP>, +<-0.14689,0.36160,ZP>, +<-0.14700,0.37451,ZP>, +<-0.14709,0.38745,ZP>, +<-0.14717,0.40044,ZP>, +<-0.14723,0.41348,ZP>, +<-0.14724,0.42653,ZP>, +<-0.14736,0.43977,ZP>, +<-0.14707,0.45276,ZP>, +<-0.14714,0.46584,0.66018>, +<-0.14694,0.47813,0.65069>, +<-0.14304,0.47911,0.63785>, +<-0.13865,0.48040,0.62551>, +<-0.13500,0.48300,0.61272>, +<-0.13206,0.48659,0.60047>, +<-0.12998,0.49073,0.58807>, +<-0.12754,0.49396,0.57616>, +<-0.12467,0.49711,0.56386> +<-0.10977,-0.49675,0.56702>, +<-0.11346,-0.49585,0.57922>, +<-0.11724,-0.49441,0.59144>, +<-0.12098,-0.49223,0.60397>, +<-0.12445,-0.48948,0.61650>, +<-0.12748,-0.48518,0.62915>, +<-0.13079,-0.48259,0.64149>, +<-0.13386,-0.48047,0.65549>, +<-0.13338,-0.46586,0.66007>, +<-0.13356,-0.45302,ZP>, +<-0.13378,-0.43980,ZP>, +<-0.13382,-0.42668,ZP>, +<-0.13389,-0.41361,ZP>, +<-0.13391,-0.40055,ZP>, +<-0.13391,-0.38754,ZP>, +<-0.13390,-0.37457,ZP>, +<-0.13386,-0.36163,ZP>, +<-0.13380,-0.34873,ZP>, +<-0.13373,-0.33585,ZP>, +<-0.13364,-0.32300,ZP>, +<-0.13354,-0.31017,ZP>, +<-0.13343,-0.29736,ZP>, +<-0.13331,-0.28456,ZP>, +<-0.13319,-0.27179,ZP>, +<-0.13308,-0.25903,ZP>, +<-0.13296,-0.24629,ZP>, +<-0.13285,-0.23356,ZP>, +<-0.13275,-0.22085,ZP>, +<-0.13266,-0.20816,ZP>, +<-0.13257,-0.19548,ZP>, +<-0.13249,-0.18281,ZP>, +<-0.13242,-0.17015,ZP>, +<-0.13235,-0.15751,ZP>, +<-0.13229,-0.14487,ZP>, +<-0.13224,-0.13224,ZP>, +<-0.13219,-0.11963,ZP>, +<-0.13215,-0.10701,ZP>, +<-0.13211,-0.09441,ZP>, +<-0.13208,-0.08181,ZP>, +<-0.13206,-0.06922,ZP>, +<-0.13204,-0.05663,ZP>, +<-0.13202,-0.04404,ZP>, +<-0.13201,-0.03146,ZP>, +<-0.13200,-0.01887,ZP>, +<-0.13200,-0.00629,ZP>, +<-0.13200,0.00629,ZP>, +<-0.13200,0.01887,ZP>, +<-0.13201,0.03145,ZP>, +<-0.13202,0.04403,ZP>, +<-0.13204,0.05662,ZP>, +<-0.13205,0.06921,ZP>, +<-0.13208,0.08180,ZP>, +<-0.13211,0.09440,ZP>, +<-0.13214,0.10700,ZP>, +<-0.13218,0.11961,ZP>, +<-0.13222,0.13222,ZP>, +<-0.13227,0.14484,ZP>, +<-0.13233,0.15747,ZP>, +<-0.13239,0.17011,ZP>, +<-0.13246,0.18276,ZP>, +<-0.13253,0.19542,ZP>, +<-0.13262,0.20809,ZP>, +<-0.13271,0.22078,ZP>, +<-0.13281,0.23348,ZP>, +<-0.13292,0.24619,ZP>, +<-0.13304,0.25892,ZP>, +<-0.13316,0.27166,ZP>, +<-0.13328,0.28442,ZP>, +<-0.13341,0.29720,ZP>, +<-0.13354,0.30999,ZP>, +<-0.13367,0.32279,ZP>, +<-0.13380,0.33562,ZP>, +<-0.13392,0.34847,ZP>, +<-0.13403,0.36134,ZP>, +<-0.13413,0.37423,ZP>, +<-0.13422,0.38716,ZP>, +<-0.13429,0.40013,ZP>, +<-0.13436,0.41315,ZP>, +<-0.13438,0.42619,ZP>, +<-0.13442,0.43927,ZP>, +<-0.13429,0.45246,ZP>, +<-0.13415,0.46525,ZP>, +<-0.13468,0.47990,0.65599>, +<-0.13169,0.48235,0.64192>, +<-0.12831,0.48492,0.62976>, +<-0.12617,0.49024,0.61725>, +<-0.12349,0.49427,0.60499>, +<-0.12072,0.49793,0.59254>, +<-0.11756,0.50096,0.58043>, +<-0.11446,0.50365,0.56814> +<-0.10045,-0.48797,0.56933>, +<-0.10351,-0.48794,0.58166>, +<-0.10657,-0.48820,0.59413>, +<-0.10959,-0.48816,0.60680>, +<-0.11266,-0.48814,0.61963>, +<-0.11587,-0.48640,0.63260>, +<-0.11909,-0.48565,0.64519>, +<-0.12089,-0.47984,0.65914>, +<-0.12051,-0.46547,ZP>, +<-0.12084,-0.45272,ZP>, +<-0.12089,-0.43941,ZP>, +<-0.12100,-0.42637,ZP>, +<-0.12106,-0.41330,ZP>, +<-0.12108,-0.40026,ZP>, +<-0.12109,-0.38727,ZP>, +<-0.12107,-0.37431,ZP>, +<-0.12103,-0.36139,ZP>, +<-0.12098,-0.34849,ZP>, +<-0.12092,-0.33563,ZP>, +<-0.12084,-0.32279,ZP>, +<-0.12075,-0.30997,ZP>, +<-0.12066,-0.29718,ZP>, +<-0.12056,-0.28440,ZP>, +<-0.12046,-0.27164,ZP>, +<-0.12035,-0.25889,ZP>, +<-0.12026,-0.24616,ZP>, +<-0.12016,-0.23345,ZP>, +<-0.12007,-0.22075,ZP>, +<-0.11999,-0.20807,ZP>, +<-0.11991,-0.19539,ZP>, +<-0.11984,-0.18273,ZP>, +<-0.11978,-0.17008,ZP>, +<-0.11972,-0.15745,ZP>, +<-0.11967,-0.14482,ZP>, +<-0.11962,-0.13220,ZP>, +<-0.11958,-0.11959,ZP>, +<-0.11955,-0.10698,ZP>, +<-0.11951,-0.09438,ZP>, +<-0.11949,-0.08179,ZP>, +<-0.11947,-0.06920,ZP>, +<-0.11945,-0.05661,ZP>, +<-0.11943,-0.04403,ZP>, +<-0.11942,-0.03145,ZP>, +<-0.11942,-0.01887,ZP>, +<-0.11941,-0.00629,ZP>, +<-0.11941,0.00629,ZP>, +<-0.11942,0.01886,ZP>, +<-0.11942,0.03144,ZP>, +<-0.11943,0.04402,ZP>, +<-0.11944,0.05660,ZP>, +<-0.11946,0.06919,ZP>, +<-0.11948,0.08178,ZP>, +<-0.11951,0.09437,ZP>, +<-0.11953,0.10697,ZP>, +<-0.11957,0.11957,ZP>, +<-0.11961,0.13218,ZP>, +<-0.11965,0.14479,ZP>, +<-0.11970,0.15742,ZP>, +<-0.11975,0.17005,ZP>, +<-0.11981,0.18269,ZP>, +<-0.11988,0.19534,ZP>, +<-0.11995,0.20801,ZP>, +<-0.12004,0.22068,ZP>, +<-0.12012,0.23337,ZP>, +<-0.12022,0.24607,ZP>, +<-0.12032,0.25879,ZP>, +<-0.12043,0.27152,ZP>, +<-0.12054,0.28427,ZP>, +<-0.12065,0.29703,ZP>, +<-0.12076,0.30980,ZP>, +<-0.12088,0.32260,ZP>, +<-0.12099,0.33541,ZP>, +<-0.12109,0.34825,ZP>, +<-0.12120,0.36111,ZP>, +<-0.12129,0.37399,ZP>, +<-0.12138,0.38691,ZP>, +<-0.12146,0.39987,ZP>, +<-0.12153,0.41286,ZP>, +<-0.12156,0.42588,ZP>, +<-0.12153,0.43888,ZP>, +<-0.12157,0.45214,ZP>, +<-0.12128,0.46487,ZP>, +<-0.12165,0.47907,0.65940>, +<-0.12003,0.48541,0.64570>, +<-0.11709,0.48758,0.63325>, +<-0.11468,0.49275,0.62090>, +<-0.11168,0.49599,0.60835>, +<-0.10848,0.49865,0.59572>, +<-0.10510,0.50048,0.58333>, +<-0.10187,0.50179,0.57086> +<-0.08792,-0.48681,0.57271>, +<-0.09128,-0.48675,0.58514>, +<-0.09458,-0.48710,0.59758>, +<-0.09820,-0.49030,0.61025>, +<-0.10111,-0.48968,0.62310>, +<-0.10428,-0.48902,0.63580>, +<-0.10715,-0.48850,0.64860>, +<-0.10775,-0.47852,0.66022>, +<-0.10767,-0.46521,ZP>, +<-0.10807,-0.45234,ZP>, +<-0.10806,-0.43911,ZP>, +<-0.10819,-0.42607,ZP>, +<-0.10824,-0.41301,ZP>, +<-0.10827,-0.40000,ZP>, +<-0.10828,-0.38703,ZP>, +<-0.10826,-0.37408,ZP>, +<-0.10823,-0.36117,ZP>, +<-0.10819,-0.34829,ZP>, +<-0.10813,-0.33544,ZP>, +<-0.10806,-0.32261,ZP>, +<-0.10799,-0.30980,ZP>, +<-0.10791,-0.29702,ZP>, +<-0.10782,-0.28425,ZP>, +<-0.10773,-0.27150,ZP>, +<-0.10765,-0.25877,ZP>, +<-0.10756,-0.24605,ZP>, +<-0.10748,-0.23335,ZP>, +<-0.10740,-0.22066,ZP>, +<-0.10733,-0.20798,ZP>, +<-0.10727,-0.19532,ZP>, +<-0.10720,-0.18267,ZP>, +<-0.10715,-0.17003,ZP>, +<-0.10710,-0.15739,ZP>, +<-0.10705,-0.14477,ZP>, +<-0.10701,-0.13216,ZP>, +<-0.10698,-0.11955,ZP>, +<-0.10695,-0.10695,ZP>, +<-0.10692,-0.09435,ZP>, +<-0.10690,-0.08176,ZP>, +<-0.10688,-0.06918,ZP>, +<-0.10686,-0.05660,ZP>, +<-0.10685,-0.04402,ZP>, +<-0.10684,-0.03144,ZP>, +<-0.10684,-0.01886,ZP>, +<-0.10683,-0.00629,ZP>, +<-0.10683,0.00629,ZP>, +<-0.10683,0.01886,ZP>, +<-0.10684,0.03144,ZP>, +<-0.10685,0.04401,ZP>, +<-0.10686,0.05659,ZP>, +<-0.10687,0.06917,ZP>, +<-0.10689,0.08176,ZP>, +<-0.10691,0.09434,ZP>, +<-0.10694,0.10694,ZP>, +<-0.10697,0.11953,ZP>, +<-0.10700,0.13214,ZP>, +<-0.10704,0.14475,ZP>, +<-0.10708,0.15737,ZP>, +<-0.10713,0.16999,ZP>, +<-0.10718,0.18263,ZP>, +<-0.10724,0.19527,ZP>, +<-0.10730,0.20793,ZP>, +<-0.10737,0.22060,ZP>, +<-0.10745,0.23328,ZP>, +<-0.10753,0.24597,ZP>, +<-0.10762,0.25867,ZP>, +<-0.10771,0.27139,ZP>, +<-0.10780,0.28413,ZP>, +<-0.10790,0.29688,ZP>, +<-0.10800,0.30964,ZP>, +<-0.10810,0.32243,ZP>, +<-0.10820,0.33523,ZP>, +<-0.10830,0.34806,ZP>, +<-0.10839,0.36091,ZP>, +<-0.10848,0.37379,ZP>, +<-0.10856,0.38669,ZP>, +<-0.10864,0.39963,ZP>, +<-0.10869,0.41259,ZP>, +<-0.10873,0.42560,ZP>, +<-0.10870,0.43859,ZP>, +<-0.10878,0.45177,ZP>, +<-0.10845,0.46463,ZP>, +<-0.10858,0.47784,0.66021>, +<-0.10813,0.48829,0.64909>, +<-0.10539,0.48883,0.63611>, +<-0.10271,0.49207,0.62360>, +<-0.10003,0.49254,0.61067>, +<-0.09754,0.49280,0.59791>, +<-0.09505,0.49278,0.58522>, +<-0.09251,0.49295,0.57263> +<-0.07733,-0.49349,0.57531>, +<-0.08025,-0.49249,0.58781>, +<-0.08379,-0.49294,0.60031>, +<-0.08671,-0.49244,0.61302>, +<-0.08948,-0.49194,0.62605>, +<-0.09242,-0.49139,0.63860>, +<-0.09496,-0.49093,0.65199>, +<-0.09487,-0.47800,0.66011>, +<-0.09490,-0.46505,ZP>, +<-0.09523,-0.45193,ZP>, +<-0.09528,-0.43883,ZP>, +<-0.09540,-0.42579,ZP>, +<-0.09544,-0.41275,ZP>, +<-0.09548,-0.39976,ZP>, +<-0.09549,-0.38680,ZP>, +<-0.09548,-0.37388,ZP>, +<-0.09545,-0.36098,ZP>, +<-0.09541,-0.34811,ZP>, +<-0.09536,-0.33527,ZP>, +<-0.09530,-0.32245,ZP>, +<-0.09524,-0.30966,ZP>, +<-0.09517,-0.29688,ZP>, +<-0.09510,-0.28413,ZP>, +<-0.09503,-0.27139,ZP>, +<-0.09495,-0.25866,ZP>, +<-0.09488,-0.24595,ZP>, +<-0.09481,-0.23326,ZP>, +<-0.09475,-0.22058,ZP>, +<-0.09468,-0.20791,ZP>, +<-0.09463,-0.19526,ZP>, +<-0.09457,-0.18261,ZP>, +<-0.09453,-0.16997,ZP>, +<-0.09448,-0.15735,ZP>, +<-0.09444,-0.14473,ZP>, +<-0.09441,-0.13212,ZP>, +<-0.09438,-0.11952,ZP>, +<-0.09435,-0.10692,ZP>, +<-0.09433,-0.09433,ZP>, +<-0.09431,-0.08175,ZP>, +<-0.09429,-0.06916,ZP>, +<-0.09428,-0.05658,ZP>, +<-0.09427,-0.04401,ZP>, +<-0.09426,-0.03143,ZP>, +<-0.09426,-0.01886,ZP>, +<-0.09426,-0.00629,ZP>, +<-0.09426,0.00628,ZP>, +<-0.09426,0.01886,ZP>, +<-0.09426,0.03143,ZP>, +<-0.09427,0.04400,ZP>, +<-0.09428,0.05658,ZP>, +<-0.09429,0.06916,ZP>, +<-0.09431,0.08174,ZP>, +<-0.09432,0.09432,ZP>, +<-0.09434,0.10691,ZP>, +<-0.09437,0.11951,ZP>, +<-0.09440,0.13210,ZP>, +<-0.09443,0.14471,ZP>, +<-0.09446,0.15732,ZP>, +<-0.09451,0.16994,ZP>, +<-0.09455,0.18257,ZP>, +<-0.09460,0.19521,ZP>, +<-0.09466,0.20786,ZP>, +<-0.09472,0.22052,ZP>, +<-0.09478,0.23319,ZP>, +<-0.09485,0.24588,ZP>, +<-0.09492,0.25858,ZP>, +<-0.09500,0.27129,ZP>, +<-0.09508,0.28401,ZP>, +<-0.09517,0.29675,ZP>, +<-0.09526,0.30951,ZP>, +<-0.09534,0.32228,ZP>, +<-0.09543,0.33508,ZP>, +<-0.09552,0.34790,ZP>, +<-0.09561,0.36074,ZP>, +<-0.09569,0.37361,ZP>, +<-0.09577,0.38650,ZP>, +<-0.09583,0.39942,ZP>, +<-0.09588,0.41237,ZP>, +<-0.09593,0.42535,ZP>, +<-0.09590,0.43835,ZP>, +<-0.09593,0.45139,ZP>, +<-0.09570,0.46450,ZP>, +<-0.09575,0.47741,0.66010>, +<-0.09591,0.49063,0.65253>, +<-0.09346,0.49119,0.63894>, +<-0.09073,0.49170,0.62649>, +<-0.08832,0.49216,0.61347>, +<-0.08582,0.49262,0.60077>, +<-0.08302,0.49016,0.58815>, +<-0.08042,0.49019,0.57560> +<-0.07158,-0.50487,0.57772>, +<-0.07319,-0.50292,0.59029>, +<-0.07455,-0.50042,0.60294>, +<-0.07613,-0.49768,0.61566>, +<-0.07786,-0.49459,0.62870>, +<-0.08035,-0.49372,0.64118>, +<-0.08235,-0.49198,0.65530>, +<-0.08210,-0.47764,ZP>, +<-0.08223,-0.46491,ZP>, +<-0.08242,-0.45159,ZP>, +<-0.08251,-0.43858,ZP>, +<-0.08262,-0.42553,ZP>, +<-0.08267,-0.41252,ZP>, +<-0.08270,-0.39955,ZP>, +<-0.08271,-0.38661,ZP>, +<-0.08271,-0.37369,ZP>, +<-0.08269,-0.36081,ZP>, +<-0.08265,-0.34796,ZP>, +<-0.08261,-0.33513,ZP>, +<-0.08256,-0.32232,ZP>, +<-0.08251,-0.30953,ZP>, +<-0.08245,-0.29677,ZP>, +<-0.08239,-0.28402,ZP>, +<-0.08233,-0.27129,ZP>, +<-0.08227,-0.25857,ZP>, +<-0.08221,-0.24587,ZP>, +<-0.08215,-0.23318,ZP>, +<-0.08210,-0.22051,ZP>, +<-0.08204,-0.20785,ZP>, +<-0.08200,-0.19520,ZP>, +<-0.08195,-0.18256,ZP>, +<-0.08191,-0.16993,ZP>, +<-0.08187,-0.15731,ZP>, +<-0.08184,-0.14470,ZP>, +<-0.08181,-0.13209,ZP>, +<-0.08179,-0.11949,ZP>, +<-0.08176,-0.10690,ZP>, +<-0.08175,-0.09431,ZP>, +<-0.08173,-0.08173,ZP>, +<-0.08172,-0.06915,ZP>, +<-0.08170,-0.05657,ZP>, +<-0.08170,-0.04400,ZP>, +<-0.08169,-0.03143,ZP>, +<-0.08168,-0.01886,ZP>, +<-0.08168,-0.00629,ZP>, +<-0.08168,0.00628,ZP>, +<-0.08168,0.01885,ZP>, +<-0.08169,0.03142,ZP>, +<-0.08169,0.04400,ZP>, +<-0.08170,0.05657,ZP>, +<-0.08171,0.06914,ZP>, +<-0.08172,0.08172,ZP>, +<-0.08174,0.09430,ZP>, +<-0.08176,0.10689,ZP>, +<-0.08178,0.11948,ZP>, +<-0.08180,0.13208,ZP>, +<-0.08183,0.14468,ZP>, +<-0.08186,0.15729,ZP>, +<-0.08189,0.16990,ZP>, +<-0.08193,0.18253,ZP>, +<-0.08197,0.19516,ZP>, +<-0.08202,0.20780,ZP>, +<-0.08207,0.22046,ZP>, +<-0.08212,0.23312,ZP>, +<-0.08218,0.24580,ZP>, +<-0.08225,0.25849,ZP>, +<-0.08231,0.27119,ZP>, +<-0.08238,0.28391,ZP>, +<-0.08245,0.29664,ZP>, +<-0.08253,0.30939,ZP>, +<-0.08260,0.32216,ZP>, +<-0.08268,0.33495,ZP>, +<-0.08276,0.34776,ZP>, +<-0.08284,0.36059,ZP>, +<-0.08291,0.37345,ZP>, +<-0.08298,0.38633,ZP>, +<-0.08304,0.39924,ZP>, +<-0.08309,0.41218,ZP>, +<-0.08313,0.42513,ZP>, +<-0.08311,0.43814,ZP>, +<-0.08311,0.45110,ZP>, +<-0.08303,0.46439,ZP>, +<-0.08298,0.47706,ZP>, +<-0.08331,0.49152,0.65578>, +<-0.08139,0.49333,0.64152>, +<-0.07893,0.49374,0.62913>, +<-0.07653,0.49412,0.61592>, +<-0.07398,0.49451,0.60312>, +<-0.07116,0.49430,0.59049>, +<-0.06864,0.49515,0.57801> +<-0.06005,-0.51011,0.58040>, +<-0.06180,-0.50799,0.59308>, +<-0.06346,-0.50522,0.60567>, +<-0.06500,-0.50207,0.61834>, +<-0.06631,-0.49748,0.63115>, +<-0.06809,-0.49543,0.64350>, +<-0.06950,-0.49185,0.65780>, +<-0.06936,-0.47730,ZP>, +<-0.06959,-0.46470,ZP>, +<-0.06967,-0.45132,ZP>, +<-0.06977,-0.43835,ZP>, +<-0.06985,-0.42529,ZP>, +<-0.06991,-0.41231,ZP>, +<-0.06994,-0.39936,ZP>, +<-0.06995,-0.38643,ZP>, +<-0.06995,-0.37354,ZP>, +<-0.06993,-0.36067,ZP>, +<-0.06991,-0.34782,ZP>, +<-0.06987,-0.33500,ZP>, +<-0.06983,-0.32221,ZP>, +<-0.06979,-0.30943,ZP>, +<-0.06974,-0.29667,ZP>, +<-0.06970,-0.28393,ZP>, +<-0.06965,-0.27120,ZP>, +<-0.06960,-0.25850,ZP>, +<-0.06955,-0.24580,ZP>, +<-0.06950,-0.23312,ZP>, +<-0.06945,-0.22045,ZP>, +<-0.06941,-0.20780,ZP>, +<-0.06937,-0.19515,ZP>, +<-0.06933,-0.18252,ZP>, +<-0.06930,-0.16989,ZP>, +<-0.06927,-0.15728,ZP>, +<-0.06924,-0.14467,ZP>, +<-0.06922,-0.13207,ZP>, +<-0.06920,-0.11947,ZP>, +<-0.06918,-0.10688,ZP>, +<-0.06916,-0.09430,ZP>, +<-0.06915,-0.08172,ZP>, +<-0.06914,-0.06914,ZP>, +<-0.06913,-0.05656,ZP>, +<-0.06912,-0.04399,ZP>, +<-0.06912,-0.03142,ZP>, +<-0.06911,-0.01885,ZP>, +<-0.06911,-0.00628,ZP>, +<-0.06911,0.00628,ZP>, +<-0.06911,0.01885,ZP>, +<-0.06912,0.03142,ZP>, +<-0.06912,0.04399,ZP>, +<-0.06913,0.05656,ZP>, +<-0.06913,0.06913,ZP>, +<-0.06915,0.08171,ZP>, +<-0.06916,0.09429,ZP>, +<-0.06917,0.10687,ZP>, +<-0.06919,0.11946,ZP>, +<-0.06921,0.13205,ZP>, +<-0.06923,0.14465,ZP>, +<-0.06926,0.15726,ZP>, +<-0.06928,0.16987,ZP>, +<-0.06932,0.18249,ZP>, +<-0.06935,0.19512,ZP>, +<-0.06939,0.20776,ZP>, +<-0.06943,0.22041,ZP>, +<-0.06947,0.23306,ZP>, +<-0.06952,0.24574,ZP>, +<-0.06958,0.25842,ZP>, +<-0.06963,0.27112,ZP>, +<-0.06969,0.28383,ZP>, +<-0.06975,0.29656,ZP>, +<-0.06981,0.30930,ZP>, +<-0.06988,0.32206,ZP>, +<-0.06995,0.33484,ZP>, +<-0.07002,0.34765,ZP>, +<-0.07009,0.36047,ZP>, +<-0.07015,0.37332,ZP>, +<-0.07021,0.38619,ZP>, +<-0.07027,0.39909,ZP>, +<-0.07031,0.41201,ZP>, +<-0.07034,0.42495,ZP>, +<-0.07034,0.43796,ZP>, +<-0.07033,0.45090,ZP>, +<-0.07037,0.46422,ZP>, +<-0.07021,0.47676,ZP>, +<-0.07043,0.49122,0.65820>, +<-0.06911,0.49521,0.64394>, +<-0.06704,0.49549,0.63133>, +<-0.06562,0.49876,0.61825>, +<-0.06433,0.50151,0.60544>, +<-0.06323,0.50431,0.59277>, +<-0.06192,0.50622,0.58018> +<-0.04767,-0.50707,0.58132>, +<-0.04941,-0.50584,0.59413>, +<-0.05125,-0.50372,0.60685>, +<-0.05286,-0.50148,0.61976>, +<-0.05426,-0.49706,0.63267>, +<-0.05571,-0.49691,0.64547>, +<-0.05661,-0.49117,0.65928>, +<-0.05659,-0.47696,ZP>, +<-0.05689,-0.46439,ZP>, +<-0.05693,-0.45108,ZP>, +<-0.05704,-0.43813,ZP>, +<-0.05710,-0.42508,ZP>, +<-0.05715,-0.41213,ZP>, +<-0.05719,-0.39919,ZP>, +<-0.05720,-0.38628,ZP>, +<-0.05720,-0.37340,ZP>, +<-0.05719,-0.36054,ZP>, +<-0.05717,-0.34771,ZP>, +<-0.05715,-0.33490,ZP>, +<-0.05712,-0.32211,ZP>, +<-0.05708,-0.30934,ZP>, +<-0.05705,-0.29659,ZP>, +<-0.05701,-0.28385,ZP>, +<-0.05697,-0.27114,ZP>, +<-0.05693,-0.25843,ZP>, +<-0.05689,-0.24574,ZP>, +<-0.05686,-0.23307,ZP>, +<-0.05682,-0.22040,ZP>, +<-0.05678,-0.20775,ZP>, +<-0.05675,-0.19511,ZP>, +<-0.05672,-0.18248,ZP>, +<-0.05670,-0.16986,ZP>, +<-0.05667,-0.15725,ZP>, +<-0.05665,-0.14464,ZP>, +<-0.05663,-0.13205,ZP>, +<-0.05661,-0.11945,ZP>, +<-0.05660,-0.10687,ZP>, +<-0.05659,-0.09428,ZP>, +<-0.05657,-0.08170,ZP>, +<-0.05656,-0.06913,ZP>, +<-0.05656,-0.05656,ZP>, +<-0.05655,-0.04399,ZP>, +<-0.05655,-0.03142,ZP>, +<-0.05654,-0.01885,ZP>, +<-0.05654,-0.00628,ZP>, +<-0.05654,0.00628,ZP>, +<-0.05654,0.01885,ZP>, +<-0.05655,0.03142,ZP>, +<-0.05655,0.04398,ZP>, +<-0.05656,0.05655,ZP>, +<-0.05656,0.06912,ZP>, +<-0.05657,0.08170,ZP>, +<-0.05658,0.09428,ZP>, +<-0.05659,0.10686,ZP>, +<-0.05660,0.11944,ZP>, +<-0.05662,0.13203,ZP>, +<-0.05664,0.14463,ZP>, +<-0.05666,0.15723,ZP>, +<-0.05668,0.16984,ZP>, +<-0.05671,0.18246,ZP>, +<-0.05673,0.19508,ZP>, +<-0.05676,0.20772,ZP>, +<-0.05680,0.22036,ZP>, +<-0.05683,0.23302,ZP>, +<-0.05687,0.24568,ZP>, +<-0.05691,0.25836,ZP>, +<-0.05696,0.27106,ZP>, +<-0.05701,0.28376,ZP>, +<-0.05706,0.29649,ZP>, +<-0.05711,0.30923,ZP>, +<-0.05717,0.32198,ZP>, +<-0.05723,0.33476,ZP>, +<-0.05728,0.34755,ZP>, +<-0.05734,0.36037,ZP>, +<-0.05740,0.37321,ZP>, +<-0.05746,0.38607,ZP>, +<-0.05750,0.39896,ZP>, +<-0.05754,0.41188,ZP>, +<-0.05757,0.42480,ZP>, +<-0.05759,0.43781,ZP>, +<-0.05757,0.45073,ZP>, +<-0.05762,0.46397,ZP>, +<-0.05740,0.47651,ZP>, +<-0.05749,0.49054,0.65950>, +<-0.05674,0.49679,0.64593>, +<-0.05531,0.49765,0.63325>, +<-0.05435,0.50279,0.62055>, +<-0.05314,0.50619,0.60793>, +<-0.05174,0.50898,0.59521>, +<-0.05021,0.51123,0.58267> +<-0.03844,-0.49817,0.58190>, +<-0.03935,-0.49806,0.59474>, +<-0.04014,-0.49839,0.60765>, +<-0.04102,-0.49835,0.62070>, +<-0.04216,-0.49824,0.63407>, +<-0.04328,-0.49818,0.64697>, +<-0.04377,-0.49047,0.65996>, +<-0.04383,-0.47669,ZP>, +<-0.04414,-0.46405,ZP>, +<-0.04420,-0.45085,ZP>, +<-0.04431,-0.43792,ZP>, +<-0.04436,-0.42490,ZP>, +<-0.04441,-0.41197,ZP>, +<-0.04444,-0.39904,ZP>, +<-0.04445,-0.38615,ZP>, +<-0.04446,-0.37329,ZP>, +<-0.04445,-0.36044,ZP>, +<-0.04444,-0.34762,ZP>, +<-0.04443,-0.33482,ZP>, +<-0.04441,-0.32204,ZP>, +<-0.04439,-0.30927,ZP>, +<-0.04436,-0.29652,ZP>, +<-0.04433,-0.28379,ZP>, +<-0.04430,-0.27108,ZP>, +<-0.04428,-0.25838,ZP>, +<-0.04425,-0.24570,ZP>, +<-0.04422,-0.23303,ZP>, +<-0.04419,-0.22037,ZP>, +<-0.04416,-0.20772,ZP>, +<-0.04414,-0.19508,ZP>, +<-0.04412,-0.18246,ZP>, +<-0.04409,-0.16984,ZP>, +<-0.04408,-0.15723,ZP>, +<-0.04406,-0.14463,ZP>, +<-0.04404,-0.13203,ZP>, +<-0.04403,-0.11944,ZP>, +<-0.04402,-0.10685,ZP>, +<-0.04401,-0.09427,ZP>, +<-0.04400,-0.08170,ZP>, +<-0.04399,-0.06912,ZP>, +<-0.04399,-0.05655,ZP>, +<-0.04398,-0.04398,ZP>, +<-0.04398,-0.03141,ZP>, +<-0.04398,-0.01885,ZP>, +<-0.04398,-0.00628,ZP>, +<-0.04398,0.00628,ZP>, +<-0.04398,0.01885,ZP>, +<-0.04398,0.03141,ZP>, +<-0.04398,0.04398,ZP>, +<-0.04399,0.05655,ZP>, +<-0.04399,0.06912,ZP>, +<-0.04400,0.08169,ZP>, +<-0.04400,0.09427,ZP>, +<-0.04401,0.10685,ZP>, +<-0.04402,0.11943,ZP>, +<-0.04404,0.13202,ZP>, +<-0.04405,0.14461,ZP>, +<-0.04406,0.15721,ZP>, +<-0.04408,0.16982,ZP>, +<-0.04410,0.18243,ZP>, +<-0.04412,0.19505,ZP>, +<-0.04414,0.20769,ZP>, +<-0.04417,0.22033,ZP>, +<-0.04420,0.23298,ZP>, +<-0.04423,0.24564,ZP>, +<-0.04426,0.25832,ZP>, +<-0.04429,0.27101,ZP>, +<-0.04433,0.28371,ZP>, +<-0.04437,0.29643,ZP>, +<-0.04442,0.30917,ZP>, +<-0.04446,0.32192,ZP>, +<-0.04451,0.33469,ZP>, +<-0.04456,0.34748,ZP>, +<-0.04461,0.36029,ZP>, +<-0.04466,0.37312,ZP>, +<-0.04471,0.38598,ZP>, +<-0.04475,0.39886,ZP>, +<-0.04479,0.41177,ZP>, +<-0.04481,0.42469,ZP>, +<-0.04483,0.43768,ZP>, +<-0.04479,0.45058,ZP>, +<-0.04481,0.46372,ZP>, +<-0.04459,0.47635,ZP>, +<-0.04460,0.48998,ZP>, +<-0.04424,0.49810,0.64739>, +<-0.04320,0.49814,0.63445>, +<-0.04217,0.50208,0.62155>, +<-0.04093,0.50432,0.60874>, +<-0.03955,0.50663,0.59592>, +<-0.03808,0.50788,0.58309> +<-0.02601,-0.49535,0.58313>, +<-0.02699,-0.49568,0.59601>, +<-0.02811,-0.49925,0.60882>, +<-0.02900,-0.49917,0.62188>, +<-0.02996,-0.49913,0.63509>, +<-0.03078,-0.49915,0.64809>, +<-0.03100,-0.48995,0.66017>, +<-0.03109,-0.47649,ZP>, +<-0.03137,-0.46374,ZP>, +<-0.03145,-0.45065,ZP>, +<-0.03156,-0.43773,ZP>, +<-0.03161,-0.42475,ZP>, +<-0.03166,-0.41183,ZP>, +<-0.03169,-0.39893,ZP>, +<-0.03170,-0.38605,ZP>, +<-0.03172,-0.37320,ZP>, +<-0.03172,-0.36037,ZP>, +<-0.03172,-0.34755,ZP>, +<-0.03171,-0.33476,ZP>, +<-0.03171,-0.32198,ZP>, +<-0.03169,-0.30922,ZP>, +<-0.03168,-0.29648,ZP>, +<-0.03166,-0.28375,ZP>, +<-0.03164,-0.27104,ZP>, +<-0.03162,-0.25834,ZP>, +<-0.03160,-0.24566,ZP>, +<-0.03158,-0.23299,ZP>, +<-0.03156,-0.22034,ZP>, +<-0.03155,-0.20769,ZP>, +<-0.03153,-0.19506,ZP>, +<-0.03151,-0.18243,ZP>, +<-0.03150,-0.16982,ZP>, +<-0.03148,-0.15721,ZP>, +<-0.03147,-0.14461,ZP>, +<-0.03146,-0.13202,ZP>, +<-0.03145,-0.11943,ZP>, +<-0.03144,-0.10684,ZP>, +<-0.03143,-0.09427,ZP>, +<-0.03143,-0.08169,ZP>, +<-0.03142,-0.06912,ZP>, +<-0.03142,-0.05655,ZP>, +<-0.03142,-0.04398,ZP>, +<-0.03141,-0.03141,ZP>, +<-0.03141,-0.01885,ZP>, +<-0.03141,-0.00628,ZP>, +<-0.03141,0.00628,ZP>, +<-0.03141,0.01885,ZP>, +<-0.03141,0.03141,ZP>, +<-0.03141,0.04398,ZP>, +<-0.03142,0.05654,ZP>, +<-0.03142,0.06911,ZP>, +<-0.03143,0.08168,ZP>, +<-0.03143,0.09426,ZP>, +<-0.03144,0.10684,ZP>, +<-0.03144,0.11942,ZP>, +<-0.03145,0.13201,ZP>, +<-0.03146,0.14460,ZP>, +<-0.03147,0.15720,ZP>, +<-0.03148,0.16980,ZP>, +<-0.03150,0.18241,ZP>, +<-0.03151,0.19503,ZP>, +<-0.03153,0.20766,ZP>, +<-0.03155,0.22030,ZP>, +<-0.03157,0.23295,ZP>, +<-0.03159,0.24561,ZP>, +<-0.03161,0.25829,ZP>, +<-0.03164,0.27097,ZP>, +<-0.03166,0.28368,ZP>, +<-0.03169,0.29639,ZP>, +<-0.03173,0.30912,ZP>, +<-0.03176,0.32187,ZP>, +<-0.03180,0.33464,ZP>, +<-0.03184,0.34743,ZP>, +<-0.03188,0.36023,ZP>, +<-0.03193,0.37306,ZP>, +<-0.03197,0.38591,ZP>, +<-0.03200,0.39878,ZP>, +<-0.03204,0.41168,ZP>, +<-0.03205,0.42459,ZP>, +<-0.03206,0.43756,ZP>, +<-0.03202,0.45047,ZP>, +<-0.03199,0.46353,ZP>, +<-0.03180,0.47629,ZP>, +<-0.03180,0.48965,0.66018>, +<-0.03166,0.49909,0.64839>, +<-0.03096,0.49906,0.63536>, +<-0.03027,0.49909,0.62214>, +<-0.02983,0.49913,0.60907>, +<-0.02961,0.49822,0.59628>, +<-0.02903,0.49811,0.58361> +<-0.01411,-0.49971,0.58374>, +<-0.01486,-0.49942,0.59653>, +<-0.01604,-0.49975,0.60942>, +<-0.01691,-0.49972,0.62250>, +<-0.01768,-0.49971,0.63571>, +<-0.01823,-0.49979,0.64885>, +<-0.01832,-0.48964,0.66019>, +<-0.01840,-0.47637,ZP>, +<-0.01861,-0.46351,ZP>, +<-0.01870,-0.45047,ZP>, +<-0.01880,-0.43756,ZP>, +<-0.01886,-0.42462,ZP>, +<-0.01890,-0.41172,ZP>, +<-0.01893,-0.39884,ZP>, +<-0.01896,-0.38598,ZP>, +<-0.01897,-0.37313,ZP>, +<-0.01899,-0.36031,ZP>, +<-0.01900,-0.34750,ZP>, +<-0.01901,-0.33471,ZP>, +<-0.01901,-0.32194,ZP>, +<-0.01901,-0.30918,ZP>, +<-0.01900,-0.29644,ZP>, +<-0.01900,-0.28372,ZP>, +<-0.01899,-0.27101,ZP>, +<-0.01898,-0.25831,ZP>, +<-0.01897,-0.24564,ZP>, +<-0.01895,-0.23297,ZP>, +<-0.01894,-0.22032,ZP>, +<-0.01893,-0.20767,ZP>, +<-0.01892,-0.19504,ZP>, +<-0.01891,-0.18242,ZP>, +<-0.01890,-0.16981,ZP>, +<-0.01889,-0.15720,ZP>, +<-0.01888,-0.14460,ZP>, +<-0.01888,-0.13201,ZP>, +<-0.01887,-0.11942,ZP>, +<-0.01887,-0.10684,ZP>, +<-0.01886,-0.09426,ZP>, +<-0.01886,-0.08168,ZP>, +<-0.01885,-0.06911,ZP>, +<-0.01885,-0.05654,ZP>, +<-0.01885,-0.04398,ZP>, +<-0.01885,-0.03141,ZP>, +<-0.01885,-0.01885,ZP>, +<-0.01885,-0.00628,ZP>, +<-0.01885,0.00628,ZP>, +<-0.01885,0.01884,ZP>, +<-0.01885,0.03141,ZP>, +<-0.01885,0.04397,ZP>, +<-0.01885,0.05654,ZP>, +<-0.01885,0.06911,ZP>, +<-0.01886,0.08168,ZP>, +<-0.01886,0.09425,ZP>, +<-0.01886,0.10683,ZP>, +<-0.01887,0.11941,ZP>, +<-0.01887,0.13200,ZP>, +<-0.01888,0.14459,ZP>, +<-0.01888,0.15719,ZP>, +<-0.01889,0.16979,ZP>, +<-0.01890,0.18240,ZP>, +<-0.01891,0.19502,ZP>, +<-0.01892,0.20765,ZP>, +<-0.01893,0.22029,ZP>, +<-0.01894,0.23293,ZP>, +<-0.01895,0.24559,ZP>, +<-0.01897,0.25827,ZP>, +<-0.01898,0.27095,ZP>, +<-0.01900,0.28365,ZP>, +<-0.01902,0.29637,ZP>, +<-0.01904,0.30910,ZP>, +<-0.01907,0.32184,ZP>, +<-0.01910,0.33461,ZP>, +<-0.01913,0.34739,ZP>, +<-0.01916,0.36019,ZP>, +<-0.01919,0.37301,ZP>, +<-0.01923,0.38586,ZP>, +<-0.01926,0.39872,ZP>, +<-0.01929,0.41161,ZP>, +<-0.01930,0.42451,ZP>, +<-0.01930,0.43746,ZP>, +<-0.01926,0.45038,ZP>, +<-0.01921,0.46341,ZP>, +<-0.01906,0.47629,ZP>, +<-0.01903,0.48951,0.66019>, +<-0.01899,0.49976,0.64900>, +<-0.01854,0.49968,0.63589>, +<-0.01797,0.49968,0.62275>, +<-0.01743,0.49972,0.60968>, +<-0.01679,0.49795,0.59688>, +<-0.01614,0.49854,0.58421> +<-0.00578,-0.50942,0.58454>, +<-0.00567,-0.50798,0.59742>, +<-0.00532,-0.50580,0.61026>, +<-0.00528,-0.50333,0.62318>, +<-0.00533,-0.49998,0.63607>, +<-0.00560,-0.50010,0.64929>, +<-0.00567,-0.48952,0.66017>, +<-0.00574,-0.47629,ZP>, +<-0.00587,-0.46336,ZP>, +<-0.00596,-0.45035,ZP>, +<-0.00604,-0.43745,ZP>, +<-0.00609,-0.42453,ZP>, +<-0.00614,-0.41165,ZP>, +<-0.00617,-0.39878,ZP>, +<-0.00620,-0.38593,ZP>, +<-0.00623,-0.37309,ZP>, +<-0.00626,-0.36027,ZP>, +<-0.00628,-0.34747,ZP>, +<-0.00630,-0.33468,ZP>, +<-0.00631,-0.32191,ZP>, +<-0.00632,-0.30916,ZP>, +<-0.00633,-0.29642,ZP>, +<-0.00633,-0.28370,ZP>, +<-0.00633,-0.27099,ZP>, +<-0.00633,-0.25830,ZP>, +<-0.00633,-0.24562,ZP>, +<-0.00633,-0.23296,ZP>, +<-0.00632,-0.22030,ZP>, +<-0.00632,-0.20766,ZP>, +<-0.00631,-0.19503,ZP>, +<-0.00631,-0.18241,ZP>, +<-0.00631,-0.16980,ZP>, +<-0.00630,-0.15719,ZP>, +<-0.00630,-0.14460,ZP>, +<-0.00630,-0.13200,ZP>, +<-0.00629,-0.11942,ZP>, +<-0.00629,-0.10683,ZP>, +<-0.00629,-0.09426,ZP>, +<-0.00629,-0.08168,ZP>, +<-0.00629,-0.06911,ZP>, +<-0.00629,-0.05654,ZP>, +<-0.00629,-0.04398,ZP>, +<-0.00628,-0.03141,ZP>, +<-0.00628,-0.01885,ZP>, +<-0.00628,-0.00628,ZP>, +<-0.00628,0.00628,ZP>, +<-0.00628,0.01884,ZP>, +<-0.00628,0.03141,ZP>, +<-0.00628,0.04397,ZP>, +<-0.00628,0.05654,ZP>, +<-0.00629,0.06911,ZP>, +<-0.00629,0.08168,ZP>, +<-0.00629,0.09425,ZP>, +<-0.00629,0.10683,ZP>, +<-0.00629,0.11941,ZP>, +<-0.00629,0.13200,ZP>, +<-0.00629,0.14459,ZP>, +<-0.00629,0.15718,ZP>, +<-0.00630,0.16979,ZP>, +<-0.00630,0.18240,ZP>, +<-0.00630,0.19501,ZP>, +<-0.00630,0.20764,ZP>, +<-0.00631,0.22028,ZP>, +<-0.00631,0.23293,ZP>, +<-0.00632,0.24559,ZP>, +<-0.00632,0.25826,ZP>, +<-0.00633,0.27094,ZP>, +<-0.00634,0.28364,ZP>, +<-0.00635,0.29636,ZP>, +<-0.00636,0.30909,ZP>, +<-0.00638,0.32183,ZP>, +<-0.00639,0.33459,ZP>, +<-0.00641,0.34737,ZP>, +<-0.00644,0.36017,ZP>, +<-0.00646,0.37299,ZP>, +<-0.00649,0.38583,ZP>, +<-0.00651,0.39869,ZP>, +<-0.00653,0.41157,ZP>, +<-0.00655,0.42446,ZP>, +<-0.00655,0.43739,ZP>, +<-0.00652,0.45032,ZP>, +<-0.00647,0.46334,ZP>, +<-0.00636,0.47630,ZP>, +<-0.00629,0.48951,0.66018>, +<-0.00626,0.50010,0.64927>, +<-0.00615,0.49998,0.63613>, +<-0.00604,0.50304,0.62320>, +<-0.00607,0.50534,0.61041>, +<-0.00658,0.50682,0.59745>, +<-0.00661,0.50745,0.58482> +<0.00639,-0.51331,0.58540>, +<0.00658,-0.51126,0.59817>, +<0.00665,-0.50856,0.61094>, +<0.00676,-0.50536,0.62370>, +<0.00689,-0.49996,0.63613>, +<0.00703,-0.50008,0.64936>, +<0.00698,-0.48944,0.66017>, +<0.00690,-0.47623,ZP>, +<0.00685,-0.46329,ZP>, +<0.00678,-0.45028,ZP>, +<0.00674,-0.43739,ZP>, +<0.00668,-0.42448,ZP>, +<0.00664,-0.41161,ZP>, +<0.00659,-0.39875,ZP>, +<0.00655,-0.38590,ZP>, +<0.00651,-0.37307,ZP>, +<0.00647,-0.36025,ZP>, +<0.00644,-0.34745,ZP>, +<0.00641,-0.33467,ZP>, +<0.00638,-0.32190,ZP>, +<0.00636,-0.30914,ZP>, +<0.00634,-0.29641,ZP>, +<0.00633,-0.28369,ZP>, +<0.00632,-0.27098,ZP>, +<0.00631,-0.25829,ZP>, +<0.00630,-0.24562,ZP>, +<0.00630,-0.23295,ZP>, +<0.00630,-0.22030,ZP>, +<0.00629,-0.20766,ZP>, +<0.00629,-0.19503,ZP>, +<0.00629,-0.18241,ZP>, +<0.00629,-0.16980,ZP>, +<0.00629,-0.15719,ZP>, +<0.00629,-0.14460,ZP>, +<0.00629,-0.13200,ZP>, +<0.00628,-0.11942,ZP>, +<0.00628,-0.10683,ZP>, +<0.00628,-0.09426,ZP>, +<0.00628,-0.08168,ZP>, +<0.00628,-0.06911,ZP>, +<0.00628,-0.05654,ZP>, +<0.00628,-0.04398,ZP>, +<0.00628,-0.03141,ZP>, +<0.00628,-0.01885,ZP>, +<0.00628,-0.00628,ZP>, +<0.00628,0.00628,ZP>, +<0.00628,0.01884,ZP>, +<0.00628,0.03141,ZP>, +<0.00628,0.04397,ZP>, +<0.00628,0.05654,ZP>, +<0.00628,0.06911,ZP>, +<0.00628,0.08168,ZP>, +<0.00628,0.09425,ZP>, +<0.00629,0.10683,ZP>, +<0.00629,0.11941,ZP>, +<0.00629,0.13200,ZP>, +<0.00629,0.14459,ZP>, +<0.00629,0.15718,ZP>, +<0.00630,0.16979,ZP>, +<0.00630,0.18240,ZP>, +<0.00630,0.19501,ZP>, +<0.00631,0.20764,ZP>, +<0.00631,0.22028,ZP>, +<0.00631,0.23293,ZP>, +<0.00632,0.24559,ZP>, +<0.00632,0.25826,ZP>, +<0.00632,0.27094,ZP>, +<0.00632,0.28364,ZP>, +<0.00632,0.29636,ZP>, +<0.00632,0.30909,ZP>, +<0.00632,0.32183,ZP>, +<0.00631,0.33460,ZP>, +<0.00630,0.34738,ZP>, +<0.00629,0.36018,ZP>, +<0.00627,0.37299,ZP>, +<0.00625,0.38583,ZP>, +<0.00624,0.39868,ZP>, +<0.00622,0.41156,ZP>, +<0.00621,0.42445,ZP>, +<0.00621,0.43737,ZP>, +<0.00622,0.45028,ZP>, +<0.00626,0.46329,ZP>, +<0.00635,0.47626,ZP>, +<0.00656,0.48946,0.66019>, +<0.00673,0.50011,0.64931>, +<0.00646,0.49999,0.63619>, +<0.00646,0.50283,0.62338>, +<0.00641,0.50518,0.61030>, +<0.00601,0.50652,0.59743>, +<0.00598,0.50775,0.58458> +<0.01826,-0.50895,0.58428>, +<0.01847,-0.50758,0.59723>, +<0.01865,-0.50556,0.61004>, +<0.01877,-0.50309,0.62295>, +<0.01914,-0.49965,0.63583>, +<0.01966,-0.49973,0.64902>, +<0.01963,-0.48942,0.66018>, +<0.01955,-0.47617,ZP>, +<0.01958,-0.46329,ZP>, +<0.01954,-0.45027,ZP>, +<0.01952,-0.43739,ZP>, +<0.01947,-0.42448,ZP>, +<0.01942,-0.41161,ZP>, +<0.01936,-0.39875,ZP>, +<0.01931,-0.38590,ZP>, +<0.01926,-0.37307,ZP>, +<0.01920,-0.36026,ZP>, +<0.01916,-0.34745,ZP>, +<0.01911,-0.33467,ZP>, +<0.01908,-0.32190,ZP>, +<0.01904,-0.30915,ZP>, +<0.01901,-0.29641,ZP>, +<0.01899,-0.28369,ZP>, +<0.01897,-0.27099,ZP>, +<0.01895,-0.25830,ZP>, +<0.01894,-0.24562,ZP>, +<0.01893,-0.23296,ZP>, +<0.01892,-0.22031,ZP>, +<0.01891,-0.20767,ZP>, +<0.01890,-0.19504,ZP>, +<0.01889,-0.18242,ZP>, +<0.01888,-0.16980,ZP>, +<0.01888,-0.15720,ZP>, +<0.01887,-0.14460,ZP>, +<0.01887,-0.13201,ZP>, +<0.01886,-0.11942,ZP>, +<0.01886,-0.10684,ZP>, +<0.01885,-0.09426,ZP>, +<0.01885,-0.08168,ZP>, +<0.01885,-0.06911,ZP>, +<0.01885,-0.05654,ZP>, +<0.01885,-0.04398,ZP>, +<0.01884,-0.03141,ZP>, +<0.01884,-0.01885,ZP>, +<0.01884,-0.00628,ZP>, +<0.01884,0.00628,ZP>, +<0.01884,0.01884,ZP>, +<0.01884,0.03141,ZP>, +<0.01885,0.04397,ZP>, +<0.01885,0.05654,ZP>, +<0.01885,0.06911,ZP>, +<0.01885,0.08168,ZP>, +<0.01886,0.09425,ZP>, +<0.01886,0.10683,ZP>, +<0.01886,0.11941,ZP>, +<0.01887,0.13200,ZP>, +<0.01888,0.14459,ZP>, +<0.01888,0.15719,ZP>, +<0.01889,0.16979,ZP>, +<0.01890,0.18240,ZP>, +<0.01891,0.19502,ZP>, +<0.01892,0.20765,ZP>, +<0.01893,0.22029,ZP>, +<0.01894,0.23294,ZP>, +<0.01895,0.24560,ZP>, +<0.01896,0.25827,ZP>, +<0.01897,0.27096,ZP>, +<0.01899,0.28366,ZP>, +<0.01899,0.29637,ZP>, +<0.01900,0.30911,ZP>, +<0.01901,0.32185,ZP>, +<0.01901,0.33462,ZP>, +<0.01901,0.34740,ZP>, +<0.01901,0.36020,ZP>, +<0.01901,0.37302,ZP>, +<0.01900,0.38585,ZP>, +<0.01899,0.39871,ZP>, +<0.01898,0.41159,ZP>, +<0.01897,0.42447,ZP>, +<0.01898,0.43739,ZP>, +<0.01897,0.45027,ZP>, +<0.01901,0.46328,ZP>, +<0.01901,0.47614,ZP>, +<0.01925,0.48939,0.66020>, +<0.01945,0.49978,0.64903>, +<0.01883,0.49969,0.63584>, +<0.01820,0.49969,0.62272>, +<0.01721,0.49971,0.60941>, +<0.01668,0.49976,0.59671>, +<0.01600,0.49991,0.58354> +<0.02602,-0.49825,0.58343>, +<0.02743,-0.49815,0.59617>, +<0.02904,-0.49917,0.60895>, +<0.03027,-0.49909,0.62200>, +<0.03142,-0.49904,0.63526>, +<0.03227,-0.49906,0.64831>, +<0.03232,-0.48953,0.66019>, +<0.03222,-0.47614,ZP>, +<0.03235,-0.46338,ZP>, +<0.03231,-0.45033,ZP>, +<0.03231,-0.43745,ZP>, +<0.03225,-0.42452,ZP>, +<0.03220,-0.41165,ZP>, +<0.03213,-0.39878,ZP>, +<0.03207,-0.38593,ZP>, +<0.03200,-0.37309,ZP>, +<0.03194,-0.36028,ZP>, +<0.03188,-0.34747,ZP>, +<0.03182,-0.33469,ZP>, +<0.03177,-0.32192,ZP>, +<0.03173,-0.30917,ZP>, +<0.03169,-0.29643,ZP>, +<0.03165,-0.28371,ZP>, +<0.03163,-0.27100,ZP>, +<0.03160,-0.25831,ZP>, +<0.03158,-0.24564,ZP>, +<0.03156,-0.23297,ZP>, +<0.03154,-0.22032,ZP>, +<0.03152,-0.20768,ZP>, +<0.03151,-0.19505,ZP>, +<0.03149,-0.18243,ZP>, +<0.03148,-0.16981,ZP>, +<0.03147,-0.15721,ZP>, +<0.03146,-0.14461,ZP>, +<0.03145,-0.13201,ZP>, +<0.03144,-0.11943,ZP>, +<0.03143,-0.10684,ZP>, +<0.03143,-0.09426,ZP>, +<0.03142,-0.08169,ZP>, +<0.03142,-0.06912,ZP>, +<0.03141,-0.05655,ZP>, +<0.03141,-0.04398,ZP>, +<0.03141,-0.03141,ZP>, +<0.03141,-0.01885,ZP>, +<0.03141,-0.00628,ZP>, +<0.03141,0.00628,ZP>, +<0.03141,0.01885,ZP>, +<0.03141,0.03141,ZP>, +<0.03141,0.04398,ZP>, +<0.03141,0.05654,ZP>, +<0.03142,0.06911,ZP>, +<0.03142,0.08168,ZP>, +<0.03143,0.09426,ZP>, +<0.03143,0.10684,ZP>, +<0.03144,0.11942,ZP>, +<0.03145,0.13201,ZP>, +<0.03146,0.14460,ZP>, +<0.03147,0.15720,ZP>, +<0.03148,0.16980,ZP>, +<0.03150,0.18242,ZP>, +<0.03151,0.19504,ZP>, +<0.03153,0.20767,ZP>, +<0.03155,0.22031,ZP>, +<0.03157,0.23296,ZP>, +<0.03159,0.24562,ZP>, +<0.03161,0.25830,ZP>, +<0.03163,0.27098,ZP>, +<0.03165,0.28369,ZP>, +<0.03167,0.29641,ZP>, +<0.03169,0.30914,ZP>, +<0.03171,0.32189,ZP>, +<0.03172,0.33466,ZP>, +<0.03173,0.34744,ZP>, +<0.03174,0.36024,ZP>, +<0.03175,0.37306,ZP>, +<0.03175,0.38590,ZP>, +<0.03175,0.39876,ZP>, +<0.03175,0.41164,ZP>, +<0.03174,0.42452,ZP>, +<0.03176,0.43746,ZP>, +<0.03175,0.45031,ZP>, +<0.03181,0.46334,ZP>, +<0.03171,0.47594,ZP>, +<0.03188,0.48933,0.66019>, +<0.03722,0.49551,0.65000>, +<0.03110,0.49907,0.63537>, +<0.03011,0.49911,0.62206>, +<0.02924,0.49918,0.60887>, +<0.02842,0.49615,0.59609>, +<0.02755,0.49528,0.58308> +<0.03884,-0.49685,0.58213>, +<0.04017,-0.49656,0.59496>, +<0.04130,-0.49831,0.60786>, +<0.04241,-0.49821,0.62091>, +<0.04365,-0.49812,0.63427>, +<0.04478,-0.49806,0.64720>, +<0.04505,-0.48989,ZP>, +<0.04496,-0.47620,ZP>, +<0.04515,-0.46357,ZP>, +<0.04509,-0.45044,ZP>, +<0.04509,-0.43756,ZP>, +<0.04503,-0.42460,ZP>, +<0.04498,-0.41171,ZP>, +<0.04491,-0.39883,ZP>, +<0.04483,-0.38598,ZP>, +<0.04475,-0.37314,ZP>, +<0.04468,-0.36032,ZP>, +<0.04460,-0.34751,ZP>, +<0.04454,-0.33472,ZP>, +<0.04447,-0.32195,ZP>, +<0.04442,-0.30920,ZP>, +<0.04437,-0.29646,ZP>, +<0.04432,-0.28374,ZP>, +<0.04429,-0.27103,ZP>, +<0.04425,-0.25834,ZP>, +<0.04422,-0.24566,ZP>, +<0.04419,-0.23300,ZP>, +<0.04416,-0.22034,ZP>, +<0.04414,-0.20770,ZP>, +<0.04412,-0.19507,ZP>, +<0.04410,-0.18244,ZP>, +<0.04408,-0.16983,ZP>, +<0.04406,-0.15722,ZP>, +<0.04405,-0.14462,ZP>, +<0.04403,-0.13202,ZP>, +<0.04402,-0.11944,ZP>, +<0.04401,-0.10685,ZP>, +<0.04400,-0.09427,ZP>, +<0.04399,-0.08169,ZP>, +<0.04399,-0.06912,ZP>, +<0.04398,-0.05655,ZP>, +<0.04398,-0.04398,ZP>, +<0.04397,-0.03141,ZP>, +<0.04397,-0.01885,ZP>, +<0.04397,-0.00628,ZP>, +<0.04397,0.00628,ZP>, +<0.04397,0.01885,ZP>, +<0.04397,0.03141,ZP>, +<0.04398,0.04398,ZP>, +<0.04398,0.05655,ZP>, +<0.04399,0.06912,ZP>, +<0.04399,0.08169,ZP>, +<0.04400,0.09427,ZP>, +<0.04401,0.10685,ZP>, +<0.04402,0.11943,ZP>, +<0.04403,0.13202,ZP>, +<0.04405,0.14461,ZP>, +<0.04406,0.15721,ZP>, +<0.04408,0.16982,ZP>, +<0.04410,0.18243,ZP>, +<0.04412,0.19506,ZP>, +<0.04415,0.20769,ZP>, +<0.04417,0.22033,ZP>, +<0.04420,0.23299,ZP>, +<0.04423,0.24565,ZP>, +<0.04426,0.25833,ZP>, +<0.04429,0.27102,ZP>, +<0.04432,0.28373,ZP>, +<0.04435,0.29645,ZP>, +<0.04438,0.30919,ZP>, +<0.04441,0.32194,ZP>, +<0.04444,0.33471,ZP>, +<0.04446,0.34750,ZP>, +<0.04448,0.36031,ZP>, +<0.04449,0.37314,ZP>, +<0.04450,0.38598,ZP>, +<0.04451,0.39884,ZP>, +<0.04452,0.41173,ZP>, +<0.04452,0.42461,ZP>, +<0.04454,0.43756,ZP>, +<0.04455,0.45039,ZP>, +<0.04463,0.46349,ZP>, +<0.04474,0.47575,ZP>, +<0.04474,0.48953,0.66008>, +<0.04444,0.49808,0.64709>, +<0.04318,0.49815,0.63423>, +<0.04232,0.49821,0.62081>, +<0.04142,0.49829,0.60781>, +<0.04065,0.49770,0.59495>, +<0.04018,0.49764,0.58209> +<0.04922,-0.50534,0.58125>, +<0.05097,-0.50411,0.59391>, +<0.05272,-0.50243,0.60673>, +<0.05422,-0.50059,0.61979>, +<0.05564,-0.49690,0.63291>, +<0.05749,-0.49555,0.64538>, +<0.05787,-0.49048,0.65953>, +<0.05775,-0.47637,ZP>, +<0.05794,-0.46385,ZP>, +<0.05786,-0.45060,ZP>, +<0.05786,-0.43770,ZP>, +<0.05781,-0.42471,ZP>, +<0.05776,-0.41181,ZP>, +<0.05768,-0.39892,ZP>, +<0.05760,-0.38605,ZP>, +<0.05751,-0.37320,ZP>, +<0.05742,-0.36038,ZP>, +<0.05734,-0.34757,ZP>, +<0.05726,-0.33477,ZP>, +<0.05718,-0.32200,ZP>, +<0.05712,-0.30924,ZP>, +<0.05706,-0.29651,ZP>, +<0.05700,-0.28378,ZP>, +<0.05695,-0.27107,ZP>, +<0.05691,-0.25838,ZP>, +<0.05687,-0.24570,ZP>, +<0.05683,-0.23303,ZP>, +<0.05679,-0.22038,ZP>, +<0.05676,-0.20773,ZP>, +<0.05673,-0.19510,ZP>, +<0.05670,-0.18247,ZP>, +<0.05668,-0.16985,ZP>, +<0.05666,-0.15724,ZP>, +<0.05664,-0.14464,ZP>, +<0.05662,-0.13204,ZP>, +<0.05660,-0.11945,ZP>, +<0.05659,-0.10686,ZP>, +<0.05658,-0.09428,ZP>, +<0.05657,-0.08170,ZP>, +<0.05656,-0.06913,ZP>, +<0.05655,-0.05656,ZP>, +<0.05655,-0.04399,ZP>, +<0.05654,-0.03142,ZP>, +<0.05654,-0.01885,ZP>, +<0.05654,-0.00628,ZP>, +<0.05654,0.00628,ZP>, +<0.05654,0.01885,ZP>, +<0.05654,0.03142,ZP>, +<0.05655,0.04398,ZP>, +<0.05655,0.05655,ZP>, +<0.05656,0.06912,ZP>, +<0.05657,0.08170,ZP>, +<0.05658,0.09428,ZP>, +<0.05659,0.10686,ZP>, +<0.05660,0.11944,ZP>, +<0.05662,0.13203,ZP>, +<0.05664,0.14463,ZP>, +<0.05666,0.15723,ZP>, +<0.05668,0.16984,ZP>, +<0.05671,0.18246,ZP>, +<0.05674,0.19509,ZP>, +<0.05677,0.20772,ZP>, +<0.05680,0.22037,ZP>, +<0.05684,0.23303,ZP>, +<0.05687,0.24569,ZP>, +<0.05691,0.25838,ZP>, +<0.05695,0.27107,ZP>, +<0.05699,0.28378,ZP>, +<0.05704,0.29651,ZP>, +<0.05708,0.30925,ZP>, +<0.05712,0.32201,ZP>, +<0.05716,0.33479,ZP>, +<0.05719,0.34758,ZP>, +<0.05722,0.36040,ZP>, +<0.05725,0.37323,ZP>, +<0.05727,0.38608,ZP>, +<0.05728,0.39895,ZP>, +<0.05729,0.41185,ZP>, +<0.05730,0.42474,ZP>, +<0.05732,0.43771,ZP>, +<0.05735,0.45054,ZP>, +<0.05745,0.46375,ZP>, +<0.05762,0.47614,ZP>, +<0.05760,0.49032,0.65957>, +<0.05701,0.49676,0.64569>, +<0.05559,0.49700,0.63249>, +<0.05397,0.50187,0.62006>, +<0.05234,0.50415,0.60727>, +<0.05050,0.50631,0.59433>, +<0.04881,0.50745,0.58153> +<0.06187,-0.50360,0.57943>, +<0.06355,-0.50267,0.59206>, +<0.06495,-0.50094,0.60506>, +<0.06621,-0.49876,0.61800>, +<0.06762,-0.49541,0.63113>, +<0.06953,-0.49515,0.64378>, +<0.07077,-0.49120,0.65819>, +<0.07054,-0.47664,ZP>, +<0.07066,-0.46412,ZP>, +<0.07062,-0.45078,ZP>, +<0.07062,-0.43786,ZP>, +<0.07059,-0.42486,ZP>, +<0.07053,-0.41194,ZP>, +<0.07046,-0.39903,ZP>, +<0.07037,-0.38615,ZP>, +<0.07027,-0.37329,ZP>, +<0.07017,-0.36046,ZP>, +<0.07007,-0.34764,ZP>, +<0.06998,-0.33484,ZP>, +<0.06990,-0.32207,ZP>, +<0.06982,-0.30931,ZP>, +<0.06975,-0.29657,ZP>, +<0.06969,-0.28384,ZP>, +<0.06963,-0.27113,ZP>, +<0.06957,-0.25843,ZP>, +<0.06952,-0.24575,ZP>, +<0.06947,-0.23308,ZP>, +<0.06943,-0.22042,ZP>, +<0.06939,-0.20777,ZP>, +<0.06935,-0.19513,ZP>, +<0.06932,-0.18250,ZP>, +<0.06928,-0.16988,ZP>, +<0.06926,-0.15727,ZP>, +<0.06923,-0.14466,ZP>, +<0.06921,-0.13206,ZP>, +<0.06919,-0.11947,ZP>, +<0.06917,-0.10688,ZP>, +<0.06916,-0.09429,ZP>, +<0.06914,-0.08171,ZP>, +<0.06913,-0.06914,ZP>, +<0.06912,-0.05656,ZP>, +<0.06912,-0.04399,ZP>, +<0.06911,-0.03142,ZP>, +<0.06911,-0.01885,ZP>, +<0.06911,-0.00628,ZP>, +<0.06911,0.00628,ZP>, +<0.06911,0.01885,ZP>, +<0.06911,0.03142,ZP>, +<0.06912,0.04399,ZP>, +<0.06912,0.05656,ZP>, +<0.06913,0.06913,ZP>, +<0.06914,0.08171,ZP>, +<0.06916,0.09429,ZP>, +<0.06917,0.10687,ZP>, +<0.06919,0.11946,ZP>, +<0.06921,0.13205,ZP>, +<0.06923,0.14465,ZP>, +<0.06926,0.15726,ZP>, +<0.06928,0.16987,ZP>, +<0.06932,0.18249,ZP>, +<0.06935,0.19512,ZP>, +<0.06939,0.20776,ZP>, +<0.06943,0.22041,ZP>, +<0.06948,0.23307,ZP>, +<0.06952,0.24575,ZP>, +<0.06957,0.25844,ZP>, +<0.06963,0.27114,ZP>, +<0.06968,0.28385,ZP>, +<0.06973,0.29658,ZP>, +<0.06978,0.30933,ZP>, +<0.06984,0.32210,ZP>, +<0.06988,0.33488,ZP>, +<0.06993,0.34769,ZP>, +<0.06997,0.36051,ZP>, +<0.07001,0.37335,ZP>, +<0.07004,0.38622,ZP>, +<0.07006,0.39910,ZP>, +<0.07007,0.41200,ZP>, +<0.07009,0.42491,ZP>, +<0.07010,0.43789,ZP>, +<0.07013,0.45075,ZP>, +<0.07018,0.46407,ZP>, +<0.07000,0.47668,ZP>, +<0.07016,0.49126,0.65821>, +<0.06900,0.49522,0.64376>, +<0.06717,0.49812,0.63148>, +<0.06609,0.50266,0.61875>, +<0.06440,0.50623,0.60626>, +<0.06286,0.50905,0.59336>, +<0.06096,0.51145,0.58101> +<0.06975,-0.49319,0.57760>, +<0.07215,-0.49280,0.59023>, +<0.07488,-0.49439,0.60294>, +<0.07716,-0.49402,0.61572>, +<0.07938,-0.49367,0.62899>, +<0.08173,-0.49328,0.64150>, +<0.08361,-0.49148,0.65577>, +<0.08329,-0.47697,ZP>, +<0.08331,-0.46431,ZP>, +<0.08338,-0.45100,ZP>, +<0.08338,-0.43805,ZP>, +<0.08338,-0.42504,ZP>, +<0.08332,-0.41209,ZP>, +<0.08324,-0.39917,ZP>, +<0.08314,-0.38627,ZP>, +<0.08304,-0.37340,ZP>, +<0.08293,-0.36056,ZP>, +<0.08282,-0.34773,ZP>, +<0.08272,-0.33493,ZP>, +<0.08263,-0.32215,ZP>, +<0.08254,-0.30939,ZP>, +<0.08246,-0.29665,ZP>, +<0.08238,-0.28392,ZP>, +<0.08231,-0.27120,ZP>, +<0.08225,-0.25850,ZP>, +<0.08218,-0.24581,ZP>, +<0.08213,-0.23314,ZP>, +<0.08207,-0.22047,ZP>, +<0.08202,-0.20782,ZP>, +<0.08197,-0.19518,ZP>, +<0.08193,-0.18254,ZP>, +<0.08189,-0.16991,ZP>, +<0.08186,-0.15730,ZP>, +<0.08183,-0.14469,ZP>, +<0.08180,-0.13208,ZP>, +<0.08178,-0.11949,ZP>, +<0.08176,-0.10690,ZP>, +<0.08174,-0.09431,ZP>, +<0.08172,-0.08173,ZP>, +<0.08171,-0.06915,ZP>, +<0.08170,-0.05657,ZP>, +<0.08169,-0.04400,ZP>, +<0.08168,-0.03143,ZP>, +<0.08168,-0.01885,ZP>, +<0.08168,-0.00628,ZP>, +<0.08168,0.00628,ZP>, +<0.08168,0.01885,ZP>, +<0.08168,0.03142,ZP>, +<0.08169,0.04400,ZP>, +<0.08170,0.05657,ZP>, +<0.08171,0.06914,ZP>, +<0.08172,0.08172,ZP>, +<0.08174,0.09430,ZP>, +<0.08175,0.10689,ZP>, +<0.08178,0.11948,ZP>, +<0.08180,0.13208,ZP>, +<0.08183,0.14468,ZP>, +<0.08186,0.15729,ZP>, +<0.08189,0.16990,ZP>, +<0.08193,0.18253,ZP>, +<0.08197,0.19517,ZP>, +<0.08202,0.20781,ZP>, +<0.08207,0.22047,ZP>, +<0.08213,0.23313,ZP>, +<0.08218,0.24581,ZP>, +<0.08224,0.25851,ZP>, +<0.08231,0.27122,ZP>, +<0.08237,0.28394,ZP>, +<0.08244,0.29668,ZP>, +<0.08250,0.30943,ZP>, +<0.08256,0.32221,ZP>, +<0.08262,0.33500,ZP>, +<0.08268,0.34781,ZP>, +<0.08273,0.36065,ZP>, +<0.08278,0.37350,ZP>, +<0.08282,0.38638,ZP>, +<0.08285,0.39927,ZP>, +<0.08286,0.41219,ZP>, +<0.08289,0.42513,ZP>, +<0.08287,0.43812,ZP>, +<0.08287,0.45105,ZP>, +<0.08277,0.46437,ZP>, +<0.08267,0.47707,ZP>, +<0.08297,0.49156,0.65580>, +<0.08096,0.49357,0.64159>, +<0.07853,0.49507,0.62897>, +<0.07715,0.49865,0.61610>, +<0.07574,0.50139,0.60335>, +<0.07426,0.50394,0.59035>, +<0.07277,0.50603,0.57813> +<0.08225,-0.49080,0.57537>, +<0.08472,-0.49095,0.58797>, +<0.08695,-0.49241,0.60062>, +<0.08910,-0.49200,0.61331>, +<0.09119,-0.49185,0.62639>, +<0.09372,-0.49115,0.63897>, +<0.09616,-0.49057,0.65256>, +<0.09600,-0.47735,0.66010>, +<0.09595,-0.46442,ZP>, +<0.09619,-0.45130,ZP>, +<0.09615,-0.43827,ZP>, +<0.09617,-0.42526,ZP>, +<0.09610,-0.41228,ZP>, +<0.09603,-0.39934,ZP>, +<0.09592,-0.38642,ZP>, +<0.09581,-0.37354,ZP>, +<0.09570,-0.36068,ZP>, +<0.09559,-0.34785,ZP>, +<0.09548,-0.33504,ZP>, +<0.09537,-0.32226,ZP>, +<0.09528,-0.30949,ZP>, +<0.09518,-0.29674,ZP>, +<0.09509,-0.28401,ZP>, +<0.09501,-0.27129,ZP>, +<0.09493,-0.25859,ZP>, +<0.09486,-0.24589,ZP>, +<0.09479,-0.23321,ZP>, +<0.09472,-0.22054,ZP>, +<0.09466,-0.20788,ZP>, +<0.09461,-0.19523,ZP>, +<0.09456,-0.18259,ZP>, +<0.09451,-0.16996,ZP>, +<0.09447,-0.15733,ZP>, +<0.09443,-0.14472,ZP>, +<0.09440,-0.13211,ZP>, +<0.09437,-0.11951,ZP>, +<0.09434,-0.10692,ZP>, +<0.09432,-0.09433,ZP>, +<0.09430,-0.08174,ZP>, +<0.09429,-0.06916,ZP>, +<0.09428,-0.05658,ZP>, +<0.09427,-0.04400,ZP>, +<0.09426,-0.03143,ZP>, +<0.09425,-0.01886,ZP>, +<0.09425,-0.00629,ZP>, +<0.09425,0.00629,ZP>, +<0.09425,0.01886,ZP>, +<0.09426,0.03143,ZP>, +<0.09427,0.04400,ZP>, +<0.09428,0.05658,ZP>, +<0.09429,0.06916,ZP>, +<0.09430,0.08174,ZP>, +<0.09432,0.09432,ZP>, +<0.09434,0.10691,ZP>, +<0.09437,0.11951,ZP>, +<0.09440,0.13210,ZP>, +<0.09443,0.14471,ZP>, +<0.09447,0.15732,ZP>, +<0.09451,0.16995,ZP>, +<0.09455,0.18258,ZP>, +<0.09460,0.19522,ZP>, +<0.09466,0.20787,ZP>, +<0.09472,0.22053,ZP>, +<0.09478,0.23321,ZP>, +<0.09485,0.24589,ZP>, +<0.09492,0.25859,ZP>, +<0.09500,0.27131,ZP>, +<0.09508,0.28404,ZP>, +<0.09515,0.29679,ZP>, +<0.09523,0.30955,ZP>, +<0.09530,0.32233,ZP>, +<0.09538,0.33514,ZP>, +<0.09544,0.34796,ZP>, +<0.09551,0.36081,ZP>, +<0.09556,0.37368,ZP>, +<0.09561,0.38657,ZP>, +<0.09565,0.39949,ZP>, +<0.09566,0.41243,ZP>, +<0.09568,0.42540,ZP>, +<0.09563,0.43840,ZP>, +<0.09564,0.45145,ZP>, +<0.09536,0.46459,ZP>, +<0.09535,0.47751,0.66010>, +<0.09552,0.49073,0.65245>, +<0.09301,0.49128,0.63892>, +<0.09003,0.49184,0.62638>, +<0.08717,0.49236,0.61333>, +<0.08413,0.49289,0.60067>, +<0.08084,0.49308,0.58783>, +<0.07797,0.49418,0.57548> +<0.09297,-0.49695,0.57278>, +<0.09551,-0.49702,0.58557>, +<0.09789,-0.49705,0.59825>, +<0.10056,-0.49584,0.61104>, +<0.10319,-0.49347,0.62385>, +<0.10573,-0.48939,0.63621>, +<0.10836,-0.48823,0.64916>, +<0.10880,-0.47778,0.66021>, +<0.10868,-0.46456,ZP>, +<0.10902,-0.45169,ZP>, +<0.10893,-0.43852,ZP>, +<0.10896,-0.42551,ZP>, +<0.10889,-0.41250,ZP>, +<0.10881,-0.39953,ZP>, +<0.10871,-0.38660,ZP>, +<0.10860,-0.37370,ZP>, +<0.10848,-0.36083,ZP>, +<0.10836,-0.34799,ZP>, +<0.10825,-0.33518,ZP>, +<0.10814,-0.32239,ZP>, +<0.10803,-0.30962,ZP>, +<0.10792,-0.29686,ZP>, +<0.10782,-0.28412,ZP>, +<0.10772,-0.27140,ZP>, +<0.10763,-0.25868,ZP>, +<0.10754,-0.24598,ZP>, +<0.10746,-0.23329,ZP>, +<0.10738,-0.22061,ZP>, +<0.10731,-0.20795,ZP>, +<0.10724,-0.19529,ZP>, +<0.10719,-0.18264,ZP>, +<0.10713,-0.17001,ZP>, +<0.10708,-0.15738,ZP>, +<0.10704,-0.14476,ZP>, +<0.10700,-0.13215,ZP>, +<0.10697,-0.11954,ZP>, +<0.10694,-0.10694,ZP>, +<0.10691,-0.09435,ZP>, +<0.10689,-0.08176,ZP>, +<0.10687,-0.06917,ZP>, +<0.10686,-0.05659,ZP>, +<0.10684,-0.04401,ZP>, +<0.10684,-0.03144,ZP>, +<0.10683,-0.01886,ZP>, +<0.10683,-0.00629,ZP>, +<0.10683,0.00629,ZP>, +<0.10683,0.01886,ZP>, +<0.10684,0.03144,ZP>, +<0.10685,0.04401,ZP>, +<0.10686,0.05659,ZP>, +<0.10687,0.06917,ZP>, +<0.10689,0.08176,ZP>, +<0.10691,0.09434,ZP>, +<0.10694,0.10694,ZP>, +<0.10697,0.11953,ZP>, +<0.10700,0.13214,ZP>, +<0.10704,0.14475,ZP>, +<0.10708,0.15737,ZP>, +<0.10713,0.16999,ZP>, +<0.10718,0.18263,ZP>, +<0.10724,0.19528,ZP>, +<0.10730,0.20794,ZP>, +<0.10737,0.22061,ZP>, +<0.10745,0.23329,ZP>, +<0.10753,0.24598,ZP>, +<0.10762,0.25869,ZP>, +<0.10770,0.27142,ZP>, +<0.10779,0.28416,ZP>, +<0.10788,0.29692,ZP>, +<0.10797,0.30969,ZP>, +<0.10806,0.32248,ZP>, +<0.10814,0.33530,ZP>, +<0.10822,0.34813,ZP>, +<0.10829,0.36099,ZP>, +<0.10836,0.37388,ZP>, +<0.10841,0.38679,ZP>, +<0.10845,0.39973,ZP>, +<0.10847,0.41270,ZP>, +<0.10848,0.42571,ZP>, +<0.10841,0.43872,ZP>, +<0.10845,0.45192,ZP>, +<0.10808,0.46481,ZP>, +<0.10817,0.47803,0.66022>, +<0.10767,0.48840,0.64891>, +<0.10481,0.48890,0.63607>, +<0.10160,0.48958,0.62340>, +<0.09866,0.49021,0.61055>, +<0.09497,0.48684,0.59784>, +<0.09141,0.48665,0.58540>, +<0.08831,0.48689,0.57282> +<0.10289,-0.50470,0.57125>, +<0.10628,-0.50301,0.58378>, +<0.10949,-0.50066,0.59607>, +<0.11238,-0.49751,0.60867>, +<0.11513,-0.49372,0.62106>, +<0.11745,-0.48811,0.63329>, +<0.12024,-0.48536,0.64575>, +<0.12186,-0.47901,0.65940>, +<0.12149,-0.46481,ZP>, +<0.12178,-0.45208,ZP>, +<0.12174,-0.43880,ZP>, +<0.12175,-0.42579,ZP>, +<0.12170,-0.41275,ZP>, +<0.12161,-0.39975,ZP>, +<0.12151,-0.38680,ZP>, +<0.12140,-0.37388,ZP>, +<0.12128,-0.36101,ZP>, +<0.12116,-0.34816,ZP>, +<0.12104,-0.33534,ZP>, +<0.12092,-0.32255,ZP>, +<0.12080,-0.30977,ZP>, +<0.12068,-0.29701,ZP>, +<0.12056,-0.28426,ZP>, +<0.12045,-0.27152,ZP>, +<0.12034,-0.25880,ZP>, +<0.12024,-0.24609,ZP>, +<0.12014,-0.23339,ZP>, +<0.12005,-0.22070,ZP>, +<0.11997,-0.20803,ZP>, +<0.11989,-0.19536,ZP>, +<0.11982,-0.18271,ZP>, +<0.11976,-0.17006,ZP>, +<0.11970,-0.15743,ZP>, +<0.11965,-0.14480,ZP>, +<0.11961,-0.13219,ZP>, +<0.11957,-0.11958,ZP>, +<0.11953,-0.10697,ZP>, +<0.11951,-0.09437,ZP>, +<0.11948,-0.08178,ZP>, +<0.11946,-0.06919,ZP>, +<0.11944,-0.05661,ZP>, +<0.11943,-0.04402,ZP>, +<0.11942,-0.03144,ZP>, +<0.11941,-0.01886,ZP>, +<0.11941,-0.00629,ZP>, +<0.11941,0.00629,ZP>, +<0.11941,0.01887,ZP>, +<0.11942,0.03144,ZP>, +<0.11943,0.04402,ZP>, +<0.11944,0.05661,ZP>, +<0.11946,0.06919,ZP>, +<0.11948,0.08178,ZP>, +<0.11951,0.09437,ZP>, +<0.11953,0.10697,ZP>, +<0.11957,0.11957,ZP>, +<0.11961,0.13218,ZP>, +<0.11965,0.14479,ZP>, +<0.11970,0.15742,ZP>, +<0.11975,0.17005,ZP>, +<0.11982,0.18269,ZP>, +<0.11988,0.19535,ZP>, +<0.11996,0.20801,ZP>, +<0.12004,0.22069,ZP>, +<0.12013,0.23338,ZP>, +<0.12022,0.24609,ZP>, +<0.12032,0.25881,ZP>, +<0.12042,0.27155,ZP>, +<0.12053,0.28430,ZP>, +<0.12063,0.29707,ZP>, +<0.12073,0.30985,ZP>, +<0.12083,0.32266,ZP>, +<0.12093,0.33548,ZP>, +<0.12102,0.34833,ZP>, +<0.12109,0.36121,ZP>, +<0.12117,0.37411,ZP>, +<0.12123,0.38705,ZP>, +<0.12127,0.40001,ZP>, +<0.12130,0.41301,ZP>, +<0.12128,0.42605,ZP>, +<0.12121,0.43907,ZP>, +<0.12120,0.45236,ZP>, +<0.12088,0.46511,ZP>, +<0.12126,0.47941,0.65930>, +<0.11956,0.48554,0.64544>, +<0.11634,0.48628,0.63284>, +<0.11313,0.48787,0.61992>, +<0.11004,0.48774,0.60709>, +<0.10699,0.48765,0.59447>, +<0.10392,0.48753,0.58202>, +<0.10080,0.48754,0.56945> +<0.11588,-0.50450,0.56826>, +<0.11897,-0.50137,0.58035>, +<0.12153,-0.49794,0.59249>, +<0.12382,-0.49389,0.60487>, +<0.12604,-0.48948,0.61699>, +<0.12825,-0.48435,0.62954>, +<0.13186,-0.48230,0.64192>, +<0.13486,-0.47985,0.65598>, +<0.13432,-0.46521,ZP>, +<0.13446,-0.45240,ZP>, +<0.13458,-0.43919,ZP>, +<0.13453,-0.42609,ZP>, +<0.13450,-0.41303,ZP>, +<0.13441,-0.40000,ZP>, +<0.13432,-0.38703,ZP>, +<0.13422,-0.37410,ZP>, +<0.13411,-0.36122,ZP>, +<0.13399,-0.34837,ZP>, +<0.13386,-0.33554,ZP>, +<0.13373,-0.32274,ZP>, +<0.13359,-0.30995,ZP>, +<0.13346,-0.29718,ZP>, +<0.13332,-0.28442,ZP>, +<0.13319,-0.27167,ZP>, +<0.13306,-0.25893,ZP>, +<0.13295,-0.24621,ZP>, +<0.13283,-0.23350,ZP>, +<0.13273,-0.22080,ZP>, +<0.13264,-0.20812,ZP>, +<0.13255,-0.19544,ZP>, +<0.13247,-0.18278,ZP>, +<0.13240,-0.17013,ZP>, +<0.13233,-0.15749,ZP>, +<0.13227,-0.14485,ZP>, +<0.13222,-0.13223,ZP>, +<0.13218,-0.11961,ZP>, +<0.13214,-0.10700,ZP>, +<0.13210,-0.09440,ZP>, +<0.13208,-0.08180,ZP>, +<0.13205,-0.06921,ZP>, +<0.13203,-0.05662,ZP>, +<0.13202,-0.04403,ZP>, +<0.13201,-0.03145,ZP>, +<0.13200,-0.01887,ZP>, +<0.13199,-0.00629,ZP>, +<0.13199,0.00629,ZP>, +<0.13200,0.01887,ZP>, +<0.13201,0.03145,ZP>, +<0.13202,0.04404,ZP>, +<0.13203,0.05662,ZP>, +<0.13205,0.06921,ZP>, +<0.13208,0.08180,ZP>, +<0.13211,0.09440,ZP>, +<0.13214,0.10700,ZP>, +<0.13218,0.11961,ZP>, +<0.13222,0.13222,ZP>, +<0.13227,0.14484,ZP>, +<0.13233,0.15747,ZP>, +<0.13239,0.17011,ZP>, +<0.13246,0.18276,ZP>, +<0.13254,0.19543,ZP>, +<0.13262,0.20810,ZP>, +<0.13272,0.22079,ZP>, +<0.13281,0.23349,ZP>, +<0.13292,0.24621,ZP>, +<0.13303,0.25894,ZP>, +<0.13315,0.27169,ZP>, +<0.13327,0.28446,ZP>, +<0.13339,0.29724,ZP>, +<0.13351,0.31004,ZP>, +<0.13363,0.32286,ZP>, +<0.13373,0.33570,ZP>, +<0.13383,0.34856,ZP>, +<0.13392,0.36145,ZP>, +<0.13399,0.37437,ZP>, +<0.13406,0.38733,ZP>, +<0.13410,0.40031,ZP>, +<0.13413,0.41335,ZP>, +<0.13410,0.42641,ZP>, +<0.13409,0.43951,ZP>, +<0.13390,0.45270,ZP>, +<0.13373,0.46553,0.66007>, +<0.13424,0.48019,0.65576>, +<0.13124,0.48247,0.64170>, +<0.12788,0.48480,0.62944>, +<0.12498,0.48909,0.61673>, +<0.12133,0.49180,0.60423>, +<0.11762,0.49381,0.59162>, +<0.11401,0.49506,0.57946>, +<0.11030,0.49589,0.56702> +<0.12473,-0.49613,0.56373>, +<0.12714,-0.49287,0.57587>, +<0.12881,-0.48871,0.58790>, +<0.13079,-0.48453,0.60017>, +<0.13444,-0.48165,0.61264>, +<0.13880,-0.48036,0.62552>, +<0.14317,-0.47907,0.63781>, +<0.14707,-0.47809,0.65066>, +<0.14726,-0.46581,0.66018>, +<0.14718,-0.45271,ZP>, +<0.14747,-0.43969,ZP>, +<0.14733,-0.42642,ZP>, +<0.14731,-0.41334,ZP>, +<0.14724,-0.40028,ZP>, +<0.14716,-0.38729,ZP>, +<0.14707,-0.37436,ZP>, +<0.14696,-0.36147,ZP>, +<0.14684,-0.34861,ZP>, +<0.14671,-0.33578,ZP>, +<0.14656,-0.32297,ZP>, +<0.14641,-0.31016,ZP>, +<0.14625,-0.29738,ZP>, +<0.14610,-0.28460,ZP>, +<0.14595,-0.27184,ZP>, +<0.14580,-0.25909,ZP>, +<0.14567,-0.24635,ZP>, +<0.14554,-0.23363,ZP>, +<0.14542,-0.22092,ZP>, +<0.14531,-0.20822,ZP>, +<0.14521,-0.19553,ZP>, +<0.14512,-0.18286,ZP>, +<0.14504,-0.17020,ZP>, +<0.14497,-0.15755,ZP>, +<0.14490,-0.14491,ZP>, +<0.14484,-0.13228,ZP>, +<0.14479,-0.11966,ZP>, +<0.14475,-0.10704,ZP>, +<0.14471,-0.09443,ZP>, +<0.14468,-0.08183,ZP>, +<0.14465,-0.06923,ZP>, +<0.14463,-0.05664,ZP>, +<0.14461,-0.04405,ZP>, +<0.14460,-0.03146,ZP>, +<0.14459,-0.01887,ZP>, +<0.14458,-0.00629,ZP>, +<0.14459,0.00629,ZP>, +<0.14459,0.01888,ZP>, +<0.14460,0.03146,ZP>, +<0.14461,0.04405,ZP>, +<0.14463,0.05664,ZP>, +<0.14465,0.06923,ZP>, +<0.14468,0.08183,ZP>, +<0.14471,0.09443,ZP>, +<0.14475,0.10704,ZP>, +<0.14479,0.11965,ZP>, +<0.14485,0.13227,ZP>, +<0.14490,0.14490,ZP>, +<0.14497,0.15754,ZP>, +<0.14504,0.17019,ZP>, +<0.14512,0.18285,ZP>, +<0.14520,0.19552,ZP>, +<0.14530,0.20820,ZP>, +<0.14540,0.22090,ZP>, +<0.14552,0.23361,ZP>, +<0.14564,0.24635,ZP>, +<0.14577,0.25909,ZP>, +<0.14590,0.27186,ZP>, +<0.14604,0.28464,ZP>, +<0.14618,0.29744,ZP>, +<0.14631,0.31025,ZP>, +<0.14644,0.32309,ZP>, +<0.14657,0.33594,ZP>, +<0.14667,0.34882,ZP>, +<0.14677,0.36172,ZP>, +<0.14685,0.37466,ZP>, +<0.14691,0.38763,ZP>, +<0.14696,0.40065,ZP>, +<0.14699,0.41372,ZP>, +<0.14695,0.42679,ZP>, +<0.14703,0.44003,ZP>, +<0.14668,0.45303,ZP>, +<0.14672,0.46612,0.66018>, +<0.14647,0.47827,0.65054>, +<0.14265,0.47929,0.63759>, +<0.13929,0.48309,0.62544>, +<0.13663,0.48767,0.61296>, +<0.13319,0.49131,0.60082>, +<0.12977,0.49449,0.58817>, +<0.12605,0.49712,0.57643>, +<0.12217,0.49944,0.56410> +<0.12795,-0.48460,0.55973>, +<0.13107,-0.48148,0.57181>, +<0.13506,-0.47904,0.58379>, +<0.13946,-0.47729,0.59607>, +<0.14536,-0.47843,0.60832>, +<0.14964,-0.47710,0.62094>, +<0.15413,-0.47567,0.63340>, +<0.15844,-0.47431,0.64577>, +<0.16048,-0.46733,0.65953>, +<0.15990,-0.45306,ZP>, +<0.16014,-0.44011,ZP>, +<0.16009,-0.42677,ZP>, +<0.16007,-0.41364,ZP>, +<0.16006,-0.40058,ZP>, +<0.16002,-0.38760,ZP>, +<0.15995,-0.37467,ZP>, +<0.15986,-0.36177,ZP>, +<0.15973,-0.34891,ZP>, +<0.15959,-0.33606,ZP>, +<0.15942,-0.32323,ZP>, +<0.15925,-0.31041,ZP>, +<0.15907,-0.29760,ZP>, +<0.15890,-0.28481,ZP>, +<0.15872,-0.27202,ZP>, +<0.15856,-0.25926,ZP>, +<0.15841,-0.24650,ZP>, +<0.15826,-0.23377,ZP>, +<0.15813,-0.22104,ZP>, +<0.15800,-0.20833,ZP>, +<0.15789,-0.19564,ZP>, +<0.15779,-0.18295,ZP>, +<0.15770,-0.17028,ZP>, +<0.15761,-0.15762,ZP>, +<0.15754,-0.14498,ZP>, +<0.15747,-0.13234,ZP>, +<0.15742,-0.11971,ZP>, +<0.15737,-0.10708,ZP>, +<0.15732,-0.09447,ZP>, +<0.15729,-0.08186,ZP>, +<0.15725,-0.06926,ZP>, +<0.15723,-0.05666,ZP>, +<0.15721,-0.04406,ZP>, +<0.15719,-0.03147,ZP>, +<0.15719,-0.01888,ZP>, +<0.15718,-0.00629,ZP>, +<0.15718,0.00630,ZP>, +<0.15719,0.01889,ZP>, +<0.15720,0.03148,ZP>, +<0.15721,0.04407,ZP>, +<0.15723,0.05666,ZP>, +<0.15726,0.06926,ZP>, +<0.15729,0.08186,ZP>, +<0.15733,0.09447,ZP>, +<0.15737,0.10708,ZP>, +<0.15742,0.11970,ZP>, +<0.15748,0.13233,ZP>, +<0.15754,0.14497,ZP>, +<0.15761,0.15761,ZP>, +<0.15769,0.17027,ZP>, +<0.15778,0.18294,ZP>, +<0.15788,0.19562,ZP>, +<0.15799,0.20831,ZP>, +<0.15810,0.22102,ZP>, +<0.15823,0.23375,ZP>, +<0.15837,0.24650,ZP>, +<0.15851,0.25926,ZP>, +<0.15866,0.27204,ZP>, +<0.15882,0.28484,ZP>, +<0.15898,0.29766,ZP>, +<0.15914,0.31049,ZP>, +<0.15929,0.32335,ZP>, +<0.15943,0.33622,ZP>, +<0.15955,0.34912,ZP>, +<0.15965,0.36204,ZP>, +<0.15973,0.37499,ZP>, +<0.15979,0.38797,ZP>, +<0.15983,0.40101,ZP>, +<0.15984,0.41409,ZP>, +<0.15984,0.42720,ZP>, +<0.15985,0.44049,ZP>, +<0.15956,0.45337,ZP>, +<0.16007,0.46758,0.65948>, +<0.15799,0.47446,0.64577>, +<0.15364,0.47582,0.63343>, +<0.14946,0.47796,0.62083>, +<0.14592,0.48130,0.60827>, +<0.14299,0.48513,0.59629>, +<0.14009,0.48862,0.58360>, +<0.13713,0.49159,0.57200>, +<0.13356,0.49473,0.55975> +<0.13444,-0.47441,0.55573>, +<0.13914,-0.47265,0.56758>, +<0.14424,-0.47146,0.57960>, +<0.14938,-0.47132,0.59171>, +<0.15559,-0.47522,0.60362>, +<0.16009,-0.47370,0.61609>, +<0.16471,-0.47211,0.62869>, +<0.16945,-0.47044,0.64084>, +<0.17352,-0.46824,0.65450>, +<0.17287,-0.45358,0.66014>, +<0.17286,-0.44050,ZP>, +<0.17301,-0.42729,ZP>, +<0.17291,-0.41400,ZP>, +<0.17295,-0.40096,ZP>, +<0.17294,-0.38798,ZP>, +<0.17288,-0.37503,ZP>, +<0.17279,-0.36214,ZP>, +<0.17266,-0.34925,ZP>, +<0.17250,-0.33639,ZP>, +<0.17231,-0.32353,ZP>, +<0.17211,-0.31069,ZP>, +<0.17191,-0.29785,ZP>, +<0.17171,-0.28504,ZP>, +<0.17152,-0.27223,ZP>, +<0.17133,-0.25945,ZP>, +<0.17116,-0.24668,ZP>, +<0.17100,-0.23392,ZP>, +<0.17085,-0.22118,ZP>, +<0.17071,-0.20846,ZP>, +<0.17058,-0.19575,ZP>, +<0.17047,-0.18306,ZP>, +<0.17036,-0.17037,ZP>, +<0.17027,-0.15770,ZP>, +<0.17019,-0.14505,ZP>, +<0.17011,-0.13240,ZP>, +<0.17005,-0.11976,ZP>, +<0.16999,-0.10713,ZP>, +<0.16994,-0.09451,ZP>, +<0.16990,-0.08189,ZP>, +<0.16987,-0.06928,ZP>, +<0.16984,-0.05668,ZP>, +<0.16982,-0.04408,ZP>, +<0.16980,-0.03148,ZP>, +<0.16979,-0.01889,ZP>, +<0.16978,-0.00629,ZP>, +<0.16978,0.00630,ZP>, +<0.16979,0.01890,ZP>, +<0.16980,0.03149,ZP>, +<0.16982,0.04409,ZP>, +<0.16984,0.05669,ZP>, +<0.16987,0.06929,ZP>, +<0.16991,0.08190,ZP>, +<0.16995,0.09451,ZP>, +<0.17000,0.10713,ZP>, +<0.17005,0.11976,ZP>, +<0.17012,0.13239,ZP>, +<0.17019,0.14504,ZP>, +<0.17027,0.15769,ZP>, +<0.17036,0.17036,ZP>, +<0.17046,0.18304,ZP>, +<0.17057,0.19573,ZP>, +<0.17069,0.20844,ZP>, +<0.17082,0.22116,ZP>, +<0.17096,0.23390,ZP>, +<0.17111,0.24666,ZP>, +<0.17127,0.25944,ZP>, +<0.17144,0.27224,ZP>, +<0.17162,0.28506,ZP>, +<0.17180,0.29790,ZP>, +<0.17198,0.31076,ZP>, +<0.17215,0.32364,ZP>, +<0.17231,0.33654,ZP>, +<0.17246,0.34945,ZP>, +<0.17257,0.36239,ZP>, +<0.17266,0.37535,ZP>, +<0.17272,0.38836,ZP>, +<0.17275,0.40139,ZP>, +<0.17274,0.41447,ZP>, +<0.17286,0.42774,ZP>, +<0.17270,0.44087,ZP>, +<0.17266,0.45386,0.66012>, +<0.17325,0.46837,0.65445>, +<0.16916,0.47054,0.64088>, +<0.16438,0.47223,0.62878>, +<0.15967,0.47384,0.61615>, +<0.15505,0.47538,0.60373>, +<0.14978,0.47562,0.59189>, +<0.14556,0.47813,0.57940>, +<0.14245,0.48122,0.56773>, +<0.13941,0.48463,0.55528> +<0.14481,-0.46841,0.55119>, +<0.15024,-0.46836,0.56282>, +<0.15539,-0.46869,0.57473>, +<0.16047,-0.46946,0.58667>, +<0.16536,-0.46977,0.59874>, +<0.17053,-0.47003,0.61090>, +<0.17526,-0.46929,0.62344>, +<0.17987,-0.46656,0.63541>, +<0.18479,-0.46478,0.64801>, +<0.18586,-0.45443,0.66038>, +<0.18531,-0.44072,0.66010>, +<0.18562,-0.42759,ZP>, +<0.18577,-0.41442,ZP>, +<0.18585,-0.40138,ZP>, +<0.18589,-0.38841,ZP>, +<0.18587,-0.37548,ZP>, +<0.18577,-0.36257,ZP>, +<0.18563,-0.34966,ZP>, +<0.18544,-0.33676,ZP>, +<0.18522,-0.32387,ZP>, +<0.18500,-0.31100,ZP>, +<0.18477,-0.29814,ZP>, +<0.18455,-0.28529,ZP>, +<0.18433,-0.27247,ZP>, +<0.18412,-0.25966,ZP>, +<0.18393,-0.24687,ZP>, +<0.18375,-0.23409,ZP>, +<0.18358,-0.22134,ZP>, +<0.18343,-0.20860,ZP>, +<0.18328,-0.19588,ZP>, +<0.18316,-0.18317,ZP>, +<0.18304,-0.17048,ZP>, +<0.18294,-0.15779,ZP>, +<0.18284,-0.14513,ZP>, +<0.18276,-0.13247,ZP>, +<0.18269,-0.11982,ZP>, +<0.18263,-0.10718,ZP>, +<0.18257,-0.09455,ZP>, +<0.18252,-0.08193,ZP>, +<0.18249,-0.06931,ZP>, +<0.18245,-0.05670,ZP>, +<0.18243,-0.04410,ZP>, +<0.18241,-0.03149,ZP>, +<0.18240,-0.01889,ZP>, +<0.18239,-0.00629,ZP>, +<0.18240,0.00631,ZP>, +<0.18240,0.01890,ZP>, +<0.18242,0.03150,ZP>, +<0.18243,0.04411,ZP>, +<0.18246,0.05671,ZP>, +<0.18249,0.06932,ZP>, +<0.18253,0.08194,ZP>, +<0.18258,0.09456,ZP>, +<0.18263,0.10719,ZP>, +<0.18270,0.11982,ZP>, +<0.18277,0.13246,ZP>, +<0.18285,0.14512,ZP>, +<0.18294,0.15778,ZP>, +<0.18304,0.17046,ZP>, +<0.18315,0.18315,ZP>, +<0.18327,0.19586,ZP>, +<0.18341,0.20858,ZP>, +<0.18355,0.22131,ZP>, +<0.18371,0.23407,ZP>, +<0.18387,0.24685,ZP>, +<0.18405,0.25964,ZP>, +<0.18424,0.27246,ZP>, +<0.18444,0.28530,ZP>, +<0.18464,0.29817,ZP>, +<0.18485,0.31106,ZP>, +<0.18505,0.32396,ZP>, +<0.18523,0.33689,ZP>, +<0.18540,0.34983,ZP>, +<0.18553,0.36279,ZP>, +<0.18563,0.37577,ZP>, +<0.18570,0.38878,ZP>, +<0.18570,0.40180,ZP>, +<0.18571,0.41488,ZP>, +<0.18566,0.42806,ZP>, +<0.18558,0.44112,ZP>, +<0.18612,0.45460,0.66028>, +<0.18505,0.46470,0.64807>, +<0.18009,0.46647,0.63585>, +<0.17484,0.46845,0.62375>, +<0.17000,0.47025,0.61121>, +<0.16350,0.46787,0.59900>, +<0.15853,0.46830,0.58726>, +<0.15328,0.46925,0.57492>, +<0.14824,0.47090,0.56361>, +<0.14338,0.47309,0.55163> +<0.15658,-0.46936,0.54610>, +<0.16180,-0.47020,0.55770>, +<0.16656,-0.47112,0.56956>, +<0.17139,-0.47223,0.58151>, +<0.17631,-0.47280,0.59370>, +<0.18123,-0.47154,0.60578>, +<0.18641,-0.46913,0.61816>, +<0.19062,-0.46408,0.62998>, +<0.19530,-0.46032,0.64213>, +<0.19960,-0.45679,0.65627>, +<0.19839,-0.44128,0.66020>, +<0.19857,-0.42816,0.66007>, +<0.19886,-0.41514,ZP>, +<0.19886,-0.40192,ZP>, +<0.19894,-0.38896,ZP>, +<0.19892,-0.37602,ZP>, +<0.19880,-0.36306,ZP>, +<0.19862,-0.35012,ZP>, +<0.19840,-0.33718,ZP>, +<0.19816,-0.32425,ZP>, +<0.19791,-0.31134,ZP>, +<0.19765,-0.29844,ZP>, +<0.19740,-0.28557,ZP>, +<0.19716,-0.27272,ZP>, +<0.19693,-0.25989,ZP>, +<0.19672,-0.24708,ZP>, +<0.19651,-0.23428,ZP>, +<0.19633,-0.22151,ZP>, +<0.19616,-0.20875,ZP>, +<0.19600,-0.19602,ZP>, +<0.19586,-0.18329,ZP>, +<0.19573,-0.17059,ZP>, +<0.19562,-0.15789,ZP>, +<0.19551,-0.14521,ZP>, +<0.19542,-0.13254,ZP>, +<0.19534,-0.11989,ZP>, +<0.19527,-0.10724,ZP>, +<0.19521,-0.09460,ZP>, +<0.19516,-0.08197,ZP>, +<0.19511,-0.06935,ZP>, +<0.19508,-0.05673,ZP>, +<0.19505,-0.04411,ZP>, +<0.19503,-0.03151,ZP>, +<0.19502,-0.01890,ZP>, +<0.19501,-0.00629,ZP>, +<0.19501,0.00631,ZP>, +<0.19502,0.01891,ZP>, +<0.19504,0.03152,ZP>, +<0.19506,0.04413,ZP>, +<0.19509,0.05674,ZP>, +<0.19512,0.06936,ZP>, +<0.19517,0.08198,ZP>, +<0.19522,0.09461,ZP>, +<0.19528,0.10725,ZP>, +<0.19535,0.11989,ZP>, +<0.19543,0.13254,ZP>, +<0.19552,0.14521,ZP>, +<0.19562,0.15788,ZP>, +<0.19573,0.17057,ZP>, +<0.19586,0.18328,ZP>, +<0.19599,0.19599,ZP>, +<0.19614,0.20873,ZP>, +<0.19630,0.22148,ZP>, +<0.19647,0.23425,ZP>, +<0.19666,0.24705,ZP>, +<0.19685,0.25986,ZP>, +<0.19706,0.27270,ZP>, +<0.19728,0.28557,ZP>, +<0.19751,0.29846,ZP>, +<0.19774,0.31138,ZP>, +<0.19797,0.32432,ZP>, +<0.19818,0.33728,ZP>, +<0.19838,0.35025,ZP>, +<0.19854,0.36324,ZP>, +<0.19867,0.37624,ZP>, +<0.19873,0.38926,ZP>, +<0.19874,0.40227,ZP>, +<0.19888,0.41549,ZP>, +<0.19864,0.42838,ZP>, +<0.19869,0.44150,0.66011>, +<0.19999,0.45657,0.65622>, +<0.19575,0.46016,0.64241>, +<0.19044,0.46233,0.63044>, +<0.18526,0.46537,0.61819>, +<0.18025,0.46639,0.60586>, +<0.17452,0.46591,0.59365>, +<0.16955,0.46537,0.58185>, +<0.16438,0.46488,0.56983>, +<0.15852,0.46491,0.55853>, +<0.15295,0.46546,0.54682> +<0.16608,-0.47637,0.54137>, +<0.17106,-0.47761,0.55324>, +<0.17628,-0.47769,0.56488>, +<0.18176,-0.47678,0.57681>, +<0.18718,-0.47470,0.58884>, +<0.19236,-0.47115,0.60056>, +<0.19701,-0.46667,0.61219>, +<0.20084,-0.46044,0.62403>, +<0.20470,-0.45622,0.63581>, +<0.20531,-0.45004,0.65044>, +<0.21099,-0.44216,0.66056>, +<0.21114,-0.42862,0.66014>, +<0.21154,-0.41536,0.66008>, +<0.21201,-0.40265,ZP>, +<0.21204,-0.38963,ZP>, +<0.21201,-0.37665,ZP>, +<0.21186,-0.36363,ZP>, +<0.21165,-0.35063,ZP>, +<0.21140,-0.33764,ZP>, +<0.21112,-0.32466,ZP>, +<0.21084,-0.31171,ZP>, +<0.21056,-0.29878,ZP>, +<0.21028,-0.28588,ZP>, +<0.21001,-0.27299,ZP>, +<0.20976,-0.26014,ZP>, +<0.20952,-0.24730,ZP>, +<0.20930,-0.23449,ZP>, +<0.20910,-0.22170,ZP>, +<0.20891,-0.20892,ZP>, +<0.20873,-0.19617,ZP>, +<0.20858,-0.18343,ZP>, +<0.20843,-0.17071,ZP>, +<0.20831,-0.15800,ZP>, +<0.20819,-0.14531,ZP>, +<0.20809,-0.13263,ZP>, +<0.20800,-0.11996,ZP>, +<0.20792,-0.10730,ZP>, +<0.20786,-0.09465,ZP>, +<0.20780,-0.08201,ZP>, +<0.20775,-0.06938,ZP>, +<0.20771,-0.05676,ZP>, +<0.20768,-0.04414,ZP>, +<0.20766,-0.03152,ZP>, +<0.20765,-0.01891,ZP>, +<0.20764,-0.00630,ZP>, +<0.20764,0.00631,ZP>, +<0.20765,0.01893,ZP>, +<0.20767,0.03154,ZP>, +<0.20769,0.04415,ZP>, +<0.20772,0.05677,ZP>, +<0.20776,0.06940,ZP>, +<0.20781,0.08203,ZP>, +<0.20787,0.09467,ZP>, +<0.20794,0.10731,ZP>, +<0.20802,0.11997,ZP>, +<0.20811,0.13263,ZP>, +<0.20821,0.14531,ZP>, +<0.20832,0.15799,ZP>, +<0.20844,0.17070,ZP>, +<0.20858,0.18341,ZP>, +<0.20873,0.19615,ZP>, +<0.20889,0.20890,ZP>, +<0.20907,0.22167,ZP>, +<0.20926,0.23446,ZP>, +<0.20946,0.24727,ZP>, +<0.20968,0.26010,ZP>, +<0.20990,0.27296,ZP>, +<0.21014,0.28585,ZP>, +<0.21040,0.29877,ZP>, +<0.21065,0.31172,ZP>, +<0.21091,0.32469,ZP>, +<0.21116,0.33769,ZP>, +<0.21139,0.35071,ZP>, +<0.21160,0.36374,ZP>, +<0.21176,0.37679,ZP>, +<0.21183,0.38979,ZP>, +<0.21189,0.40283,ZP>, +<0.21186,0.41593,ZP>, +<0.21178,0.42852,ZP>, +<0.21214,0.44190,0.66037>, +<0.21344,0.44713,0.65000>, +<0.20582,0.45571,0.63654>, +<0.20086,0.45890,0.62541>, +<0.19600,0.46420,0.61210>, +<0.19123,0.46712,0.60062>, +<0.18537,0.46916,0.58828>, +<0.17996,0.46862,0.57636>, +<0.17518,0.46714,0.56449>, +<0.16994,0.46638,0.55277>, +<0.16462,0.46594,0.54133> +<0.17598,-0.48278,0.53718>, +<0.18208,-0.48161,0.54848>, +<0.18792,-0.47971,0.55974>, +<0.19311,-0.47664,0.57153>, +<0.19818,-0.47245,0.58300>, +<0.20270,-0.46712,0.59438>, +<0.20627,-0.46142,0.60561>, +<0.20960,-0.45534,0.61766>, +<0.21469,-0.45162,0.62880>, +<0.22050,-0.44887,0.64140>, +<0.22534,-0.44524,0.65561>, +<0.22443,-0.42952,0.66025>, +<0.22482,-0.41647,0.66008>, +<0.22523,-0.40363,ZP>, +<0.22519,-0.39040,ZP>, +<0.22512,-0.37735,ZP>, +<0.22495,-0.36426,ZP>, +<0.22470,-0.35118,ZP>, +<0.22441,-0.33813,ZP>, +<0.22411,-0.32511,ZP>, +<0.22379,-0.31211,ZP>, +<0.22348,-0.29914,ZP>, +<0.22318,-0.28621,ZP>, +<0.22289,-0.27329,ZP>, +<0.22261,-0.26041,ZP>, +<0.22235,-0.24755,ZP>, +<0.22211,-0.23471,ZP>, +<0.22188,-0.22190,ZP>, +<0.22167,-0.20910,ZP>, +<0.22148,-0.19633,ZP>, +<0.22131,-0.18357,ZP>, +<0.22115,-0.17084,ZP>, +<0.22101,-0.15811,ZP>, +<0.22089,-0.14541,ZP>, +<0.22077,-0.13271,ZP>, +<0.22068,-0.12003,ZP>, +<0.22059,-0.10737,ZP>, +<0.22052,-0.09471,ZP>, +<0.22045,-0.08206,ZP>, +<0.22040,-0.06942,ZP>, +<0.22036,-0.05679,ZP>, +<0.22032,-0.04416,ZP>, +<0.22030,-0.03153,ZP>, +<0.22028,-0.01891,ZP>, +<0.22028,-0.00630,ZP>, +<0.22028,0.00632,ZP>, +<0.22029,0.01894,ZP>, +<0.22031,0.03156,ZP>, +<0.22033,0.04418,ZP>, +<0.22037,0.05681,ZP>, +<0.22041,0.06944,ZP>, +<0.22047,0.08208,ZP>, +<0.22053,0.09473,ZP>, +<0.22061,0.10738,ZP>, +<0.22069,0.12005,ZP>, +<0.22079,0.13273,ZP>, +<0.22090,0.14541,ZP>, +<0.22103,0.15811,ZP>, +<0.22116,0.17083,ZP>, +<0.22131,0.18356,ZP>, +<0.22148,0.19631,ZP>, +<0.22166,0.20908,ZP>, +<0.22185,0.22187,ZP>, +<0.22206,0.23468,ZP>, +<0.22228,0.24751,ZP>, +<0.22252,0.26036,ZP>, +<0.22277,0.27325,ZP>, +<0.22303,0.28616,ZP>, +<0.22331,0.29910,ZP>, +<0.22359,0.31208,ZP>, +<0.22388,0.32509,ZP>, +<0.22416,0.33813,ZP>, +<0.22444,0.35120,ZP>, +<0.22469,0.36429,ZP>, +<0.22489,0.37737,ZP>, +<0.22500,0.39039,ZP>, +<0.22520,0.40357,ZP>, +<0.22496,0.41644,0.66008>, +<0.22526,0.42925,0.66018>, +<0.22663,0.44459,0.65548>, +<0.22132,0.44842,0.64179>, +<0.21452,0.45169,0.62950>, +<0.21066,0.45599,0.61868>, +<0.20639,0.46166,0.60598>, +<0.20208,0.46605,0.59505>, +<0.19658,0.46984,0.58306>, +<0.19049,0.47238,0.57134>, +<0.18478,0.47348,0.55977>, +<0.17919,0.47384,0.54819>, +<0.17372,0.47323,0.53653> +<0.18790,-0.48425,0.53200>, +<0.19365,-0.48050,0.54285>, +<0.19849,-0.47612,0.55388>, +<0.20283,-0.47106,0.56520>, +<0.20643,-0.46556,0.57618>, +<0.20962,-0.45945,0.58749>, +<0.21296,-0.45359,0.59896>, +<0.21827,-0.44987,0.61031>, +<0.22428,-0.44691,0.62311>, +<0.23011,-0.44396,0.63503>, +<0.23874,-0.43670,0.64348>, +<0.23800,-0.43175,0.66013>, +<0.23787,-0.41766,0.66009>, +<0.23835,-0.40459,ZP>, +<0.23846,-0.39140,ZP>, +<0.23824,-0.37809,ZP>, +<0.23804,-0.36493,ZP>, +<0.23777,-0.35178,ZP>, +<0.23745,-0.33867,ZP>, +<0.23712,-0.32559,ZP>, +<0.23678,-0.31255,ZP>, +<0.23643,-0.29954,ZP>, +<0.23610,-0.28656,ZP>, +<0.23579,-0.27362,ZP>, +<0.23548,-0.26070,ZP>, +<0.23520,-0.24782,ZP>, +<0.23493,-0.23495,ZP>, +<0.23468,-0.22212,ZP>, +<0.23445,-0.20930,ZP>, +<0.23425,-0.19651,ZP>, +<0.23406,-0.18373,ZP>, +<0.23389,-0.17098,ZP>, +<0.23373,-0.15824,ZP>, +<0.23359,-0.14552,ZP>, +<0.23347,-0.13281,ZP>, +<0.23336,-0.12012,ZP>, +<0.23327,-0.10744,ZP>, +<0.23319,-0.09477,ZP>, +<0.23312,-0.08211,ZP>, +<0.23306,-0.06946,ZP>, +<0.23301,-0.05682,ZP>, +<0.23298,-0.04418,ZP>, +<0.23295,-0.03155,ZP>, +<0.23293,-0.01892,ZP>, +<0.23293,-0.00630,ZP>, +<0.23293,0.00633,ZP>, +<0.23294,0.01895,ZP>, +<0.23296,0.03158,ZP>, +<0.23299,0.04421,ZP>, +<0.23303,0.05685,ZP>, +<0.23308,0.06949,ZP>, +<0.23314,0.08214,ZP>, +<0.23321,0.09479,ZP>, +<0.23329,0.10746,ZP>, +<0.23339,0.12014,ZP>, +<0.23349,0.13283,ZP>, +<0.23361,0.14553,ZP>, +<0.23375,0.15825,ZP>, +<0.23390,0.17098,ZP>, +<0.23406,0.18372,ZP>, +<0.23425,0.19649,ZP>, +<0.23444,0.20928,ZP>, +<0.23466,0.22208,ZP>, +<0.23489,0.23491,ZP>, +<0.23513,0.24777,ZP>, +<0.23539,0.26064,ZP>, +<0.23567,0.27355,ZP>, +<0.23595,0.28649,ZP>, +<0.23625,0.29946,ZP>, +<0.23656,0.31247,ZP>, +<0.23688,0.32552,ZP>, +<0.23719,0.33860,ZP>, +<0.23751,0.35172,ZP>, +<0.23780,0.36486,ZP>, +<0.23804,0.37799,ZP>, +<0.23835,0.39121,ZP>, +<0.23846,0.40431,ZP>, +<0.23826,0.41691,0.66016>, +<0.23906,0.43092,0.66023>, +<0.23217,0.43989,0.64326>, +<0.23088,0.44357,0.63402>, +<0.22470,0.44670,0.62290>, +<0.21890,0.45038,0.61169>, +<0.21491,0.45580,0.59940>, +<0.21142,0.46143,0.58853>, +<0.20721,0.46675,0.57694>, +<0.20164,0.47146,0.56560>, +<0.19603,0.47477,0.55422>, +<0.19008,0.47716,0.54306>, +<0.18396,0.47893,0.53190> +<0.19797,-0.47891,0.52557>, +<0.20220,-0.47346,0.53637>, +<0.20565,-0.46790,0.54727>, +<0.20850,-0.46200,0.55841>, +<0.21060,-0.45568,0.56951>, +<0.21430,-0.45017,0.58104>, +<0.21974,-0.44602,0.59252>, +<0.22753,-0.44528,0.60418>, +<0.23329,-0.44228,0.61615>, +<0.23916,-0.43914,0.62775>, +<0.24584,-0.43547,0.63848>, +<0.25115,-0.43278,0.65105>, +<0.25117,-0.41892,0.66033>, +<0.25142,-0.40547,0.66009>, +<0.25161,-0.39231,ZP>, +<0.25145,-0.37895,ZP>, +<0.25115,-0.36563,ZP>, +<0.25087,-0.35242,ZP>, +<0.25052,-0.33924,ZP>, +<0.25016,-0.32610,ZP>, +<0.24979,-0.31301,ZP>, +<0.24942,-0.29996,ZP>, +<0.24906,-0.28694,ZP>, +<0.24871,-0.27397,ZP>, +<0.24838,-0.26102,ZP>, +<0.24807,-0.24810,ZP>, +<0.24777,-0.23521,ZP>, +<0.24750,-0.22235,ZP>, +<0.24725,-0.20951,ZP>, +<0.24703,-0.19669,ZP>, +<0.24682,-0.18390,ZP>, +<0.24663,-0.17113,ZP>, +<0.24647,-0.15837,ZP>, +<0.24632,-0.14564,ZP>, +<0.24618,-0.13291,ZP>, +<0.24606,-0.12021,ZP>, +<0.24596,-0.10751,ZP>, +<0.24587,-0.09483,ZP>, +<0.24579,-0.08216,ZP>, +<0.24573,-0.06950,ZP>, +<0.24568,-0.05685,ZP>, +<0.24564,-0.04421,ZP>, +<0.24561,-0.03157,ZP>, +<0.24559,-0.01893,ZP>, +<0.24559,-0.00630,ZP>, +<0.24559,0.00633,ZP>, +<0.24560,0.01897,ZP>, +<0.24562,0.03160,ZP>, +<0.24565,0.04424,ZP>, +<0.24569,0.05689,ZP>, +<0.24575,0.06954,ZP>, +<0.24581,0.08220,ZP>, +<0.24589,0.09487,ZP>, +<0.24598,0.10755,ZP>, +<0.24609,0.12024,ZP>, +<0.24621,0.13294,ZP>, +<0.24634,0.14566,ZP>, +<0.24649,0.15839,ZP>, +<0.24665,0.17113,ZP>, +<0.24684,0.18390,ZP>, +<0.24703,0.19668,ZP>, +<0.24725,0.20949,ZP>, +<0.24748,0.22231,ZP>, +<0.24774,0.23517,ZP>, +<0.24801,0.24804,ZP>, +<0.24830,0.26095,ZP>, +<0.24860,0.27388,ZP>, +<0.24891,0.28684,ZP>, +<0.24923,0.29984,ZP>, +<0.24956,0.31287,ZP>, +<0.24990,0.32595,ZP>, +<0.25025,0.33909,ZP>, +<0.25061,0.35226,ZP>, +<0.25093,0.36545,ZP>, +<0.25129,0.37872,ZP>, +<0.25159,0.39196,ZP>, +<0.25160,0.40501,0.66009>, +<0.25188,0.41805,0.66040>, +<0.25230,0.43218,0.65105>, +<0.24611,0.43534,0.63917>, +<0.24011,0.43862,0.62789>, +<0.23401,0.44189,0.61611>, +<0.22793,0.44505,0.60447>, +<0.22128,0.44771,0.59266>, +<0.21730,0.45296,0.58149>, +<0.21428,0.45908,0.57005>, +<0.21037,0.46495,0.55913>, +<0.20604,0.47028,0.54791>, +<0.20111,0.47496,0.53707>, +<0.19557,0.47934,0.52617> +<0.20317,-0.46931,0.51873>, +<0.20591,-0.46340,0.52980>, +<0.20762,-0.45730,0.54081>, +<0.21014,-0.45123,0.55202>, +<0.21449,-0.44598,0.56314>, +<0.22039,-0.44179,0.57437>, +<0.22723,-0.43915,0.58577>, +<0.23433,-0.43743,0.59723>, +<0.24206,-0.43754,0.60859>, +<0.24845,-0.43398,0.61941>, +<0.25523,-0.43005,0.63064>, +<0.26046,-0.42693,0.64265>, +<0.26573,-0.42211,0.65595>, +<0.26463,-0.40648,0.66024>, +<0.26462,-0.39310,0.66008>, +<0.26463,-0.37980,ZP>, +<0.26431,-0.36636,ZP>, +<0.26400,-0.35309,ZP>, +<0.26363,-0.33985,ZP>, +<0.26323,-0.32665,ZP>, +<0.26283,-0.31350,ZP>, +<0.26243,-0.30041,ZP>, +<0.26204,-0.28736,ZP>, +<0.26166,-0.27434,ZP>, +<0.26130,-0.26135,ZP>, +<0.26096,-0.24840,ZP>, +<0.26064,-0.23548,ZP>, +<0.26035,-0.22259,ZP>, +<0.26008,-0.20973,ZP>, +<0.25983,-0.19689,ZP>, +<0.25961,-0.18408,ZP>, +<0.25940,-0.17129,ZP>, +<0.25922,-0.15852,ZP>, +<0.25905,-0.14576,ZP>, +<0.25891,-0.13302,ZP>, +<0.25878,-0.12030,ZP>, +<0.25866,-0.10759,ZP>, +<0.25857,-0.09490,ZP>, +<0.25848,-0.08222,ZP>, +<0.25842,-0.06955,ZP>, +<0.25836,-0.05689,ZP>, +<0.25832,-0.04423,ZP>, +<0.25829,-0.03159,ZP>, +<0.25827,-0.01894,ZP>, +<0.25826,-0.00630,ZP>, +<0.25826,0.00634,ZP>, +<0.25827,0.01898,ZP>, +<0.25830,0.03163,ZP>, +<0.25833,0.04427,ZP>, +<0.25838,0.05693,ZP>, +<0.25843,0.06959,ZP>, +<0.25850,0.08226,ZP>, +<0.25859,0.09494,ZP>, +<0.25869,0.10764,ZP>, +<0.25880,0.12034,ZP>, +<0.25893,0.13306,ZP>, +<0.25908,0.14579,ZP>, +<0.25925,0.15854,ZP>, +<0.25943,0.17131,ZP>, +<0.25963,0.18409,ZP>, +<0.25984,0.19689,ZP>, +<0.26008,0.20971,ZP>, +<0.26033,0.22256,ZP>, +<0.26061,0.23544,ZP>, +<0.26091,0.24834,ZP>, +<0.26122,0.26127,ZP>, +<0.26156,0.27423,ZP>, +<0.26190,0.28722,ZP>, +<0.26225,0.30024,ZP>, +<0.26260,0.31330,ZP>, +<0.26297,0.32642,ZP>, +<0.26336,0.33961,ZP>, +<0.26375,0.35283,ZP>, +<0.26411,0.36606,ZP>, +<0.26454,0.37945,ZP>, +<0.26471,0.39263,0.66008>, +<0.26492,0.40588,0.66023>, +<0.26664,0.42133,0.65629>, +<0.26146,0.42636,0.64262>, +<0.25515,0.43005,0.63149>, +<0.24891,0.43367,0.62028>, +<0.24279,0.43714,0.60860>, +<0.23495,0.43722,0.59709>, +<0.22801,0.44004,0.58568>, +<0.22178,0.44388,0.57454>, +<0.21708,0.44901,0.56341>, +<0.21466,0.45522,0.55232>, +<0.21211,0.46142,0.54105>, +<0.20857,0.46699,0.53028>, +<0.20436,0.47271,0.51931> +<0.20311,-0.45835,0.51251>, +<0.20576,-0.45232,0.52381>, +<0.20965,-0.44675,0.53463>, +<0.21482,-0.44165,0.54552>, +<0.22119,-0.43778,0.55644>, +<0.22840,-0.43546,0.56747>, +<0.23598,-0.43450,0.57849>, +<0.24342,-0.43403,0.58962>, +<0.25056,-0.43275,0.60089>, +<0.25735,-0.43006,0.61214>, +<0.26306,-0.42558,0.62336>, +<0.26939,-0.42126,0.63443>, +<0.27574,-0.41736,0.64560>, +<0.27900,-0.40882,0.65947>, +<0.27781,-0.39393,0.66019>, +<0.27775,-0.38058,0.66008>, +<0.27758,-0.36724,ZP>, +<0.27714,-0.35377,ZP>, +<0.27676,-0.34048,ZP>, +<0.27635,-0.32723,ZP>, +<0.27592,-0.31404,ZP>, +<0.27548,-0.30089,ZP>, +<0.27506,-0.28779,ZP>, +<0.27464,-0.27473,ZP>, +<0.27425,-0.26170,ZP>, +<0.27387,-0.24872,ZP>, +<0.27353,-0.23577,ZP>, +<0.27321,-0.22285,ZP>, +<0.27292,-0.20996,ZP>, +<0.27265,-0.19711,ZP>, +<0.27241,-0.18427,ZP>, +<0.27219,-0.17146,ZP>, +<0.27199,-0.15867,ZP>, +<0.27180,-0.14589,ZP>, +<0.27164,-0.13314,ZP>, +<0.27150,-0.12040,ZP>, +<0.27138,-0.10768,ZP>, +<0.27128,-0.09497,ZP>, +<0.27119,-0.08228,ZP>, +<0.27112,-0.06959,ZP>, +<0.27106,-0.05692,ZP>, +<0.27101,-0.04426,ZP>, +<0.27098,-0.03160,ZP>, +<0.27096,-0.01895,ZP>, +<0.27095,-0.00630,ZP>, +<0.27095,0.00635,ZP>, +<0.27096,0.01900,ZP>, +<0.27098,0.03165,ZP>, +<0.27102,0.04431,ZP>, +<0.27107,0.05698,ZP>, +<0.27113,0.06965,ZP>, +<0.27121,0.08233,ZP>, +<0.27130,0.09502,ZP>, +<0.27141,0.10773,ZP>, +<0.27153,0.12045,ZP>, +<0.27168,0.13319,ZP>, +<0.27184,0.14594,ZP>, +<0.27202,0.15870,ZP>, +<0.27222,0.17149,ZP>, +<0.27243,0.18429,ZP>, +<0.27267,0.19711,ZP>, +<0.27293,0.20996,ZP>, +<0.27321,0.22282,ZP>, +<0.27351,0.23572,ZP>, +<0.27384,0.24865,ZP>, +<0.27418,0.26161,ZP>, +<0.27455,0.27460,ZP>, +<0.27493,0.28762,ZP>, +<0.27531,0.30068,ZP>, +<0.27570,0.31377,ZP>, +<0.27608,0.32692,ZP>, +<0.27647,0.34012,ZP>, +<0.27687,0.35338,ZP>, +<0.27740,0.36682,ZP>, +<0.27770,0.38012,0.66008>, +<0.27793,0.39335,0.66018>, +<0.27921,0.40800,0.65972>, +<0.27638,0.41696,0.64587>, +<0.27005,0.42085,0.63462>, +<0.26371,0.42481,0.62345>, +<0.25774,0.42922,0.61203>, +<0.25117,0.43235,0.60091>, +<0.24354,0.43289,0.58968>, +<0.23609,0.43400,0.57874>, +<0.22857,0.43633,0.56764>, +<0.22205,0.44000,0.55668>, +<0.21689,0.44469,0.54583>, +<0.21280,0.45035,0.53477>, +<0.21036,0.45640,0.52385>, +<0.20817,0.46273,0.51232> +<0.20448,-0.44745,0.50647>, +<0.20943,-0.44208,0.51735>, +<0.21541,-0.43769,0.52792>, +<0.22253,-0.43441,0.53853>, +<0.23023,-0.43281,0.54916>, +<0.23787,-0.43249,0.55984>, +<0.24550,-0.43315,0.57059>, +<0.25302,-0.43292,0.58164>, +<0.26001,-0.43052,0.59273>, +<0.26644,-0.42647,0.60390>, +<0.27229,-0.42167,0.61507>, +<0.27770,-0.41580,0.62610>, +<0.28413,-0.41151,0.63702>, +<0.29066,-0.40732,0.64816>, +<0.29144,-0.39506,0.66059>, +<0.29098,-0.38133,0.66016>, +<0.29081,-0.36803,0.66008>, +<0.29047,-0.35463,ZP>, +<0.28993,-0.34112,ZP>, +<0.28951,-0.32784,ZP>, +<0.28906,-0.31460,ZP>, +<0.28857,-0.30139,ZP>, +<0.28810,-0.28824,ZP>, +<0.28765,-0.27513,ZP>, +<0.28722,-0.26206,ZP>, +<0.28682,-0.24904,ZP>, +<0.28645,-0.23606,ZP>, +<0.28610,-0.22312,ZP>, +<0.28579,-0.21021,ZP>, +<0.28550,-0.19733,ZP>, +<0.28523,-0.18447,ZP>, +<0.28499,-0.17164,ZP>, +<0.28477,-0.15882,ZP>, +<0.28457,-0.14603,ZP>, +<0.28440,-0.13326,ZP>, +<0.28425,-0.12050,ZP>, +<0.28411,-0.10776,ZP>, +<0.28400,-0.09504,ZP>, +<0.28391,-0.08234,ZP>, +<0.28383,-0.06964,ZP>, +<0.28377,-0.05696,ZP>, +<0.28372,-0.04429,ZP>, +<0.28368,-0.03162,ZP>, +<0.28366,-0.01896,ZP>, +<0.28365,-0.00630,ZP>, +<0.28365,0.00636,ZP>, +<0.28366,0.01902,ZP>, +<0.28369,0.03168,ZP>, +<0.28373,0.04435,ZP>, +<0.28378,0.05702,ZP>, +<0.28384,0.06971,ZP>, +<0.28393,0.08240,ZP>, +<0.28403,0.09511,ZP>, +<0.28414,0.10783,ZP>, +<0.28428,0.12057,ZP>, +<0.28443,0.13332,ZP>, +<0.28461,0.14609,ZP>, +<0.28481,0.15887,ZP>, +<0.28502,0.17168,ZP>, +<0.28527,0.18450,ZP>, +<0.28553,0.19735,ZP>, +<0.28581,0.21021,ZP>, +<0.28611,0.22310,ZP>, +<0.28644,0.23602,ZP>, +<0.28679,0.24897,ZP>, +<0.28717,0.26196,ZP>, +<0.28757,0.27499,ZP>, +<0.28799,0.28805,ZP>, +<0.28842,0.30115,ZP>, +<0.28886,0.31429,ZP>, +<0.28926,0.32745,ZP>, +<0.28965,0.34066,ZP>, +<0.29020,0.35412,ZP>, +<0.29065,0.36749,0.66008>, +<0.29095,0.38075,0.66015>, +<0.29149,0.39425,0.66059>, +<0.29123,0.40694,0.64854>, +<0.28476,0.41108,0.63735>, +<0.27831,0.41539,0.62634>, +<0.27305,0.42113,0.61516>, +<0.26684,0.42570,0.60388>, +<0.26029,0.42928,0.59288>, +<0.25291,0.43120,0.58156>, +<0.24535,0.43118,0.57092>, +<0.23748,0.43139,0.56011>, +<0.22987,0.43296,0.54940>, +<0.22298,0.43591,0.53876>, +<0.21663,0.44055,0.52800>, +<0.21163,0.44571,0.51762>, +<0.20754,0.45149,0.50627> +<0.20965,-0.43780,0.49989>, +<0.21663,-0.43433,0.51033>, +<0.22420,-0.43215,0.52054>, +<0.23218,-0.43143,0.53082>, +<0.23998,-0.43188,0.54128>, +<0.24751,-0.43344,0.55187>, +<0.25506,-0.43366,0.56269>, +<0.26246,-0.43155,0.57359>, +<0.26923,-0.42762,0.58453>, +<0.27515,-0.42239,0.59545>, +<0.28074,-0.41670,0.60633>, +<0.28605,-0.41084,0.61730>, +<0.29219,-0.40579,0.62839>, +<0.29871,-0.40112,0.63913>, +<0.30540,-0.39661,0.65032>, +<0.30441,-0.38222,0.66065>, +<0.30390,-0.36864,0.66027>, +<0.30360,-0.35524,0.66017>, +<0.30330,-0.34194,ZP>, +<0.30270,-0.32845,ZP>, +<0.30222,-0.31517,ZP>, +<0.30170,-0.30191,ZP>, +<0.30118,-0.28869,ZP>, +<0.30068,-0.27553,ZP>, +<0.30022,-0.26243,ZP>, +<0.29979,-0.24938,ZP>, +<0.29939,-0.23637,ZP>, +<0.29902,-0.22340,ZP>, +<0.29868,-0.21047,ZP>, +<0.29837,-0.19756,ZP>, +<0.29808,-0.18468,ZP>, +<0.29781,-0.17182,ZP>, +<0.29757,-0.15899,ZP>, +<0.29736,-0.14617,ZP>, +<0.29717,-0.13338,ZP>, +<0.29700,-0.12060,ZP>, +<0.29686,-0.10785,ZP>, +<0.29675,-0.09512,ZP>, +<0.29664,-0.08240,ZP>, +<0.29656,-0.06969,ZP>, +<0.29649,-0.05700,ZP>, +<0.29644,-0.04432,ZP>, +<0.29640,-0.03164,ZP>, +<0.29638,-0.01897,ZP>, +<0.29636,-0.00630,ZP>, +<0.29636,0.00637,ZP>, +<0.29638,0.01904,ZP>, +<0.29641,0.03171,ZP>, +<0.29645,0.04439,ZP>, +<0.29650,0.05708,ZP>, +<0.29657,0.06977,ZP>, +<0.29666,0.08248,ZP>, +<0.29676,0.09520,ZP>, +<0.29689,0.10794,ZP>, +<0.29703,0.12069,ZP>, +<0.29720,0.13346,ZP>, +<0.29739,0.14625,ZP>, +<0.29761,0.15905,ZP>, +<0.29785,0.17188,ZP>, +<0.29812,0.18473,ZP>, +<0.29840,0.19759,ZP>, +<0.29871,0.21048,ZP>, +<0.29905,0.22339,ZP>, +<0.29940,0.23633,ZP>, +<0.29978,0.24930,ZP>, +<0.30019,0.26232,ZP>, +<0.30062,0.27537,ZP>, +<0.30109,0.28848,ZP>, +<0.30158,0.30164,ZP>, +<0.30205,0.31483,ZP>, +<0.30249,0.32801,ZP>, +<0.30303,0.34139,ZP>, +<0.30332,0.35460,ZP>, +<0.30363,0.36795,0.66012>, +<0.30421,0.38151,0.66047>, +<0.30574,0.39630,0.65118>, +<0.29918,0.40077,0.63962>, +<0.29271,0.40541,0.62881>, +<0.28676,0.41054,0.61763>, +<0.28145,0.41648,0.60653>, +<0.27575,0.42198,0.59550>, +<0.26950,0.42689,0.58451>, +<0.26234,0.43033,0.57345>, +<0.25488,0.43153,0.56301>, +<0.24720,0.43058,0.55229>, +<0.23942,0.43009,0.54160>, +<0.23172,0.43071,0.53114>, +<0.22380,0.43282,0.52068>, +<0.21685,0.43627,0.51060>, +<0.21066,0.44087,0.49974> +<0.21832,-0.43186,0.49255>, +<0.22623,-0.43106,0.50267>, +<0.23419,-0.43103,0.51277>, +<0.24187,-0.43238,0.52299>, +<0.24934,-0.43479,0.53341>, +<0.25705,-0.43487,0.54396>, +<0.26472,-0.43286,0.55467>, +<0.27176,-0.42896,0.56539>, +<0.27783,-0.42355,0.57604>, +<0.28303,-0.41732,0.58670>, +<0.28824,-0.41106,0.59743>, +<0.29388,-0.40534,0.60812>, +<0.29993,-0.40008,0.61940>, +<0.30639,-0.39520,0.63020>, +<0.31298,-0.39014,0.64087>, +<0.31947,-0.38504,0.65297>, +<0.31731,-0.36946,0.66060>, +<0.31686,-0.35586,0.66024>, +<0.31661,-0.34264,ZP>, +<0.31608,-0.32920,ZP>, +<0.31541,-0.31572,ZP>, +<0.31486,-0.30242,ZP>, +<0.31430,-0.28916,ZP>, +<0.31376,-0.27595,ZP>, +<0.31326,-0.26280,ZP>, +<0.31280,-0.24972,ZP>, +<0.31237,-0.23669,ZP>, +<0.31197,-0.22370,ZP>, +<0.31160,-0.21073,ZP>, +<0.31126,-0.19780,ZP>, +<0.31094,-0.18489,ZP>, +<0.31065,-0.17201,ZP>, +<0.31039,-0.15915,ZP>, +<0.31016,-0.14631,ZP>, +<0.30995,-0.13350,ZP>, +<0.30978,-0.12071,ZP>, +<0.30963,-0.10794,ZP>, +<0.30950,-0.09519,ZP>, +<0.30940,-0.08246,ZP>, +<0.30931,-0.06975,ZP>, +<0.30924,-0.05704,ZP>, +<0.30918,-0.04435,ZP>, +<0.30914,-0.03166,ZP>, +<0.30911,-0.01898,ZP>, +<0.30910,-0.00630,ZP>, +<0.30910,0.00638,ZP>, +<0.30911,0.01906,ZP>, +<0.30914,0.03174,ZP>, +<0.30918,0.04443,ZP>, +<0.30924,0.05713,ZP>, +<0.30932,0.06984,ZP>, +<0.30941,0.08256,ZP>, +<0.30952,0.09530,ZP>, +<0.30965,0.10805,ZP>, +<0.30981,0.12081,ZP>, +<0.30999,0.13360,ZP>, +<0.31019,0.14641,ZP>, +<0.31043,0.15924,ZP>, +<0.31069,0.17209,ZP>, +<0.31099,0.18496,ZP>, +<0.31130,0.19785,ZP>, +<0.31165,0.21076,ZP>, +<0.31201,0.22369,ZP>, +<0.31240,0.23665,ZP>, +<0.31281,0.24965,ZP>, +<0.31325,0.26268,ZP>, +<0.31372,0.27577,ZP>, +<0.31423,0.28893,ZP>, +<0.31476,0.30213,ZP>, +<0.31528,0.31536,ZP>, +<0.31590,0.32874,ZP>, +<0.31638,0.34208,ZP>, +<0.31660,0.35519,0.66009>, +<0.31701,0.36867,0.66037>, +<0.31943,0.38444,0.65432>, +<0.31351,0.38973,0.64141>, +<0.30686,0.39484,0.63074>, +<0.30038,0.39974,0.61987>, +<0.29456,0.40521,0.60859>, +<0.28900,0.41111,0.59772>, +<0.28392,0.41734,0.58680>, +<0.27825,0.42349,0.57611>, +<0.27168,0.42840,0.56541>, +<0.26447,0.43155,0.55488>, +<0.25691,0.43268,0.54414>, +<0.24912,0.43132,0.53342>, +<0.24148,0.42979,0.52305>, +<0.23360,0.42957,0.51289>, +<0.22564,0.43067,0.50292>, +<0.21764,0.43287,0.49263> +<0.22831,-0.43111,0.48466>, +<0.23601,-0.43217,0.49477>, +<0.24346,-0.43421,0.50484>, +<0.25094,-0.43652,0.51522>, +<0.25891,-0.43636,0.52548>, +<0.26682,-0.43428,0.53585>, +<0.27399,-0.43022,0.54630>, +<0.28006,-0.42457,0.55667>, +<0.28520,-0.41797,0.56706>, +<0.28989,-0.41114,0.57760>, +<0.29502,-0.40481,0.58829>, +<0.30082,-0.39911,0.59900>, +<0.30741,-0.39435,0.61004>, +<0.31377,-0.38934,0.62097>, +<0.32027,-0.38405,0.63173>, +<0.32824,-0.37810,0.63300>, +<0.33274,-0.37254,0.65520>, +<0.33025,-0.35663,0.66049>, +<0.32981,-0.34317,0.66011>, +<0.32939,-0.32981,ZP>, +<0.32876,-0.31637,ZP>, +<0.32802,-0.30288,ZP>, +<0.32744,-0.28959,ZP>, +<0.32688,-0.27636,ZP>, +<0.32635,-0.26319,ZP>, +<0.32585,-0.25008,ZP>, +<0.32539,-0.23702,ZP>, +<0.32496,-0.22400,ZP>, +<0.32455,-0.21101,ZP>, +<0.32417,-0.19804,ZP>, +<0.32382,-0.18510,ZP>, +<0.32350,-0.17219,ZP>, +<0.32322,-0.15931,ZP>, +<0.32297,-0.14645,ZP>, +<0.32276,-0.13362,ZP>, +<0.32257,-0.12082,ZP>, +<0.32242,-0.10803,ZP>, +<0.32228,-0.09527,ZP>, +<0.32217,-0.08253,ZP>, +<0.32208,-0.06980,ZP>, +<0.32200,-0.05708,ZP>, +<0.32194,-0.04438,ZP>, +<0.32189,-0.03168,ZP>, +<0.32186,-0.01899,ZP>, +<0.32185,-0.00630,ZP>, +<0.32185,0.00639,ZP>, +<0.32186,0.01908,ZP>, +<0.32189,0.03178,ZP>, +<0.32193,0.04448,ZP>, +<0.32199,0.05719,ZP>, +<0.32207,0.06991,ZP>, +<0.32217,0.08265,ZP>, +<0.32229,0.09539,ZP>, +<0.32243,0.10816,ZP>, +<0.32259,0.12094,ZP>, +<0.32279,0.13375,ZP>, +<0.32301,0.14657,ZP>, +<0.32327,0.15942,ZP>, +<0.32355,0.17229,ZP>, +<0.32388,0.18519,ZP>, +<0.32423,0.19810,ZP>, +<0.32461,0.21104,ZP>, +<0.32501,0.22400,ZP>, +<0.32544,0.23699,ZP>, +<0.32589,0.25001,ZP>, +<0.32637,0.26307,ZP>, +<0.32686,0.27618,ZP>, +<0.32739,0.28935,ZP>, +<0.32794,0.30258,ZP>, +<0.32863,0.31600,ZP>, +<0.32923,0.32938,ZP>, +<0.32960,0.34265,0.66010>, +<0.32998,0.35597,0.66032>, +<0.33236,0.37169,0.65651>, +<0.32463,0.37513,0.64206>, +<0.32067,0.38373,0.63235>, +<0.31419,0.38900,0.62159>, +<0.30778,0.39406,0.61056>, +<0.30133,0.39904,0.59955>, +<0.29574,0.40501,0.58867>, +<0.29096,0.41143,0.57788>, +<0.28609,0.41832,0.56739>, +<0.28069,0.42462,0.55696>, +<0.27404,0.42975,0.54646>, +<0.26664,0.43295,0.53587>, +<0.25850,0.43420,0.52543>, +<0.25079,0.43320,0.51516>, +<0.24342,0.43066,0.50479>, +<0.23558,0.42993,0.49482>, +<0.22730,0.42992,0.48487> +<0.23740,-0.43464,0.47681>, +<0.24467,-0.43741,0.48703>, +<0.25248,-0.43846,0.49710>, +<0.26062,-0.43801,0.50721>, +<0.26868,-0.43565,0.51720>, +<0.27599,-0.43127,0.52732>, +<0.28195,-0.42528,0.53756>, +<0.28675,-0.41849,0.54772>, +<0.29101,-0.41127,0.55797>, +<0.29564,-0.40433,0.56843>, +<0.30121,-0.39826,0.57906>, +<0.30745,-0.39294,0.58977>, +<0.31463,-0.38862,0.60068>, +<0.32094,-0.38344,0.61127>, +<0.32740,-0.37796,0.62221>, +<0.33388,-0.37228,0.63291>, +<0.34030,-0.36662,0.64328>, +<0.34576,-0.35947,0.65634>, +<0.34318,-0.34371,0.66034>, +<0.34261,-0.33021,0.66011>, +<0.34207,-0.31688,ZP>, +<0.34139,-0.30346,ZP>, +<0.34063,-0.29001,ZP>, +<0.34005,-0.27677,ZP>, +<0.33950,-0.26360,ZP>, +<0.33895,-0.25045,ZP>, +<0.33844,-0.23736,ZP>, +<0.33797,-0.22430,ZP>, +<0.33752,-0.21127,ZP>, +<0.33710,-0.19828,ZP>, +<0.33672,-0.18531,ZP>, +<0.33638,-0.17237,ZP>, +<0.33607,-0.15946,ZP>, +<0.33581,-0.14659,ZP>, +<0.33558,-0.13374,ZP>, +<0.33539,-0.12092,ZP>, +<0.33522,-0.10813,ZP>, +<0.33508,-0.09535,ZP>, +<0.33496,-0.08259,ZP>, +<0.33486,-0.06985,ZP>, +<0.33478,-0.05712,ZP>, +<0.33472,-0.04440,ZP>, +<0.33467,-0.03170,ZP>, +<0.33463,-0.01899,ZP>, +<0.33461,-0.00629,ZP>, +<0.33461,0.00641,ZP>, +<0.33462,0.01911,ZP>, +<0.33465,0.03182,ZP>, +<0.33470,0.04453,ZP>, +<0.33476,0.05725,ZP>, +<0.33485,0.06999,ZP>, +<0.33495,0.08274,ZP>, +<0.33508,0.09550,ZP>, +<0.33522,0.10828,ZP>, +<0.33540,0.12108,ZP>, +<0.33560,0.13389,ZP>, +<0.33584,0.14673,ZP>, +<0.33612,0.15960,ZP>, +<0.33643,0.17249,ZP>, +<0.33678,0.18541,ZP>, +<0.33717,0.19836,ZP>, +<0.33759,0.21132,ZP>, +<0.33804,0.22432,ZP>, +<0.33851,0.23733,ZP>, +<0.33901,0.25038,ZP>, +<0.33954,0.26348,ZP>, +<0.34007,0.27660,ZP>, +<0.34061,0.28977,ZP>, +<0.34132,0.30317,ZP>, +<0.34197,0.31654,ZP>, +<0.34246,0.32982,0.66010>, +<0.34298,0.34325,0.66031>, +<0.34542,0.35880,0.65718>, +<0.34050,0.36645,0.64397>, +<0.33408,0.37211,0.63350>, +<0.32769,0.37770,0.62295>, +<0.32130,0.38313,0.61206>, +<0.31495,0.38837,0.60119>, +<0.30780,0.39276,0.59039>, +<0.30181,0.39828,0.57948>, +<0.29663,0.40459,0.56881>, +<0.29228,0.41173,0.55846>, +<0.28792,0.41892,0.54812>, +<0.28252,0.42570,0.53774>, +<0.27604,0.43100,0.52756>, +<0.26826,0.43448,0.51752>, +<0.26021,0.43594,0.50736>, +<0.25227,0.43562,0.49710>, +<0.24476,0.43347,0.48688>, +<0.23709,0.43140,0.47694> +<0.24587,-0.44014,0.46932>, +<0.25387,-0.44072,0.47921>, +<0.26218,-0.43970,0.48900>, +<0.27025,-0.43691,0.49889>, +<0.27747,-0.43217,0.50861>, +<0.28342,-0.42577,0.51855>, +<0.28807,-0.41858,0.52855>, +<0.29183,-0.41109,0.53859>, +<0.29592,-0.40381,0.54881>, +<0.30112,-0.39729,0.55921>, +<0.30739,-0.39169,0.56970>, +<0.31412,-0.38687,0.58034>, +<0.32101,-0.38217,0.59101>, +<0.32794,-0.37748,0.60139>, +<0.33481,-0.37138,0.61038>, +<0.34067,-0.36602,0.62316>, +<0.34696,-0.36011,0.63352>, +<0.35341,-0.35401,0.64371>, +<0.35870,-0.34622,0.65660>, +<0.35588,-0.33063,0.66034>, +<0.35516,-0.31712,0.66010>, +<0.35460,-0.30378,ZP>, +<0.35406,-0.29058,ZP>, +<0.35328,-0.27719,ZP>, +<0.35268,-0.26400,ZP>, +<0.35209,-0.25082,ZP>, +<0.35153,-0.23769,ZP>, +<0.35100,-0.22459,ZP>, +<0.35051,-0.21153,ZP>, +<0.35005,-0.19850,ZP>, +<0.34964,-0.18550,ZP>, +<0.34927,-0.17254,ZP>, +<0.34894,-0.15961,ZP>, +<0.34867,-0.14672,ZP>, +<0.34843,-0.13386,ZP>, +<0.34822,-0.12103,ZP>, +<0.34805,-0.10822,ZP>, +<0.34790,-0.09543,ZP>, +<0.34777,-0.08266,ZP>, +<0.34767,-0.06990,ZP>, +<0.34758,-0.05716,ZP>, +<0.34751,-0.04443,ZP>, +<0.34746,-0.03171,ZP>, +<0.34742,-0.01900,ZP>, +<0.34740,-0.00629,ZP>, +<0.34739,0.00642,ZP>, +<0.34740,0.01913,ZP>, +<0.34743,0.03185,ZP>, +<0.34748,0.04458,ZP>, +<0.34755,0.05732,ZP>, +<0.34764,0.07007,ZP>, +<0.34775,0.08283,ZP>, +<0.34788,0.09561,ZP>, +<0.34804,0.10840,ZP>, +<0.34822,0.12121,ZP>, +<0.34844,0.13404,ZP>, +<0.34870,0.14689,ZP>, +<0.34899,0.15977,ZP>, +<0.34933,0.17268,ZP>, +<0.34971,0.18562,ZP>, +<0.35013,0.19859,ZP>, +<0.35060,0.21159,ZP>, +<0.35110,0.22462,ZP>, +<0.35163,0.23768,ZP>, +<0.35218,0.25076,ZP>, +<0.35275,0.26389,ZP>, +<0.35333,0.27703,ZP>, +<0.35406,0.29037,ZP>, +<0.35455,0.30351,ZP>, +<0.35504,0.31682,0.66010>, +<0.35570,0.33028,0.66032>, +<0.35845,0.34579,0.65719>, +<0.35351,0.35393,0.64423>, +<0.34704,0.36004,0.63406>, +<0.34075,0.36595,0.62378>, +<0.33446,0.37167,0.61308>, +<0.32816,0.37727,0.60230>, +<0.32105,0.38184,0.59154>, +<0.31428,0.38647,0.58092>, +<0.30764,0.39149,0.57018>, +<0.30169,0.39739,0.55961>, +<0.29694,0.40426,0.54924>, +<0.29322,0.41177,0.53900>, +<0.28923,0.41936,0.52881>, +<0.28421,0.42626,0.51894>, +<0.27778,0.43203,0.50914>, +<0.26999,0.43595,0.49914>, +<0.26178,0.43784,0.48912>, +<0.25369,0.43812,0.47927>, +<0.24564,0.43675,0.46936> +<0.25529,-0.44329,0.46154>, +<0.26363,-0.44151,0.47106>, +<0.27160,-0.43804,0.48059>, +<0.27867,-0.43276,0.49020>, +<0.28441,-0.42612,0.49973>, +<0.28886,-0.41862,0.50948>, +<0.29228,-0.41077,0.51933>, +<0.29592,-0.40320,0.52937>, +<0.30085,-0.39643,0.53962>, +<0.30688,-0.39057,0.54991>, +<0.31384,-0.38563,0.56025>, +<0.32104,-0.38129,0.57077>, +<0.32810,-0.37687,0.58132>, +<0.33489,-0.37198,0.59185>, +<0.34141,-0.36647,0.60240>, +<0.34748,-0.36050,0.61295>, +<0.35328,-0.35385,0.62359>, +<0.35957,-0.34752,0.63364>, +<0.36603,-0.34094,0.64357>, +<0.37162,-0.33302,0.65593>, +<0.36865,-0.31756,0.66039>, +<0.36793,-0.30411,0.66012>, +<0.36740,-0.29101,0.66008>, +<0.36668,-0.27771,ZP>, +<0.36589,-0.26437,ZP>, +<0.36525,-0.25116,ZP>, +<0.36464,-0.23800,ZP>, +<0.36406,-0.22487,ZP>, +<0.36351,-0.21176,ZP>, +<0.36301,-0.19869,ZP>, +<0.36257,-0.18566,ZP>, +<0.36218,-0.17268,ZP>, +<0.36184,-0.15974,ZP>, +<0.36155,-0.14684,ZP>, +<0.36130,-0.13397,ZP>, +<0.36108,-0.12113,ZP>, +<0.36090,-0.10831,ZP>, +<0.36074,-0.09551,ZP>, +<0.36060,-0.08272,ZP>, +<0.36049,-0.06995,ZP>, +<0.36040,-0.05720,ZP>, +<0.36032,-0.04446,ZP>, +<0.36027,-0.03172,ZP>, +<0.36023,-0.01900,ZP>, +<0.36020,-0.00628,ZP>, +<0.36019,0.00644,ZP>, +<0.36020,0.01916,ZP>, +<0.36023,0.03189,ZP>, +<0.36028,0.04463,ZP>, +<0.36035,0.05738,ZP>, +<0.36044,0.07015,ZP>, +<0.36056,0.08293,ZP>, +<0.36070,0.09572,ZP>, +<0.36087,0.10852,ZP>, +<0.36107,0.12134,ZP>, +<0.36131,0.13418,ZP>, +<0.36158,0.14704,ZP>, +<0.36189,0.15993,ZP>, +<0.36225,0.17285,ZP>, +<0.36265,0.18580,ZP>, +<0.36311,0.19880,ZP>, +<0.36362,0.21184,ZP>, +<0.36418,0.22491,ZP>, +<0.36476,0.23801,ZP>, +<0.36536,0.25112,ZP>, +<0.36598,0.26429,ZP>, +<0.36674,0.27759,ZP>, +<0.36746,0.29090,0.66009>, +<0.36794,0.30395,0.66013>, +<0.36856,0.31732,0.66038>, +<0.37146,0.33274,0.65640>, +<0.36609,0.34090,0.64396>, +<0.35963,0.34746,0.63408>, +<0.35337,0.35376,0.62405>, +<0.34772,0.36033,0.61341>, +<0.34154,0.36635,0.60283>, +<0.33491,0.37173,0.59230>, +<0.32810,0.37642,0.58176>, +<0.32101,0.38072,0.57121>, +<0.31376,0.38518,0.56071>, +<0.30698,0.39040,0.55027>, +<0.30132,0.39663,0.53995>, +<0.29700,0.40376,0.52975>, +<0.29382,0.41162,0.51968>, +<0.29024,0.41942,0.50994>, +<0.28541,0.42663,0.50028>, +<0.27900,0.43287,0.49062>, +<0.27145,0.43726,0.48101>, +<0.26323,0.43975,0.47128>, +<0.25485,0.44072,0.46167> +<0.26497,-0.44332,0.45326>, +<0.27273,-0.43900,0.46245>, +<0.27962,-0.43328,0.47160>, +<0.28519,-0.42627,0.48112>, +<0.28931,-0.41853,0.49060>, +<0.29234,-0.41040,0.50028>, +<0.29577,-0.40262,0.51010>, +<0.30053,-0.39560,0.52009>, +<0.30648,-0.38956,0.53027>, +<0.31333,-0.38459,0.54036>, +<0.32076,-0.38041,0.55058>, +<0.32827,-0.37645,0.56104>, +<0.33544,-0.37206,0.57147>, +<0.34204,-0.36697,0.58191>, +<0.34830,-0.36105,0.59235>, +<0.35414,-0.35478,0.60266>, +<0.35980,-0.34803,0.61308>, +<0.36556,-0.34117,0.62345>, +<0.37176,-0.33447,0.63318>, +<0.37511,-0.32527,0.64239>, +<0.38433,-0.31987,0.65380>, +<0.38145,-0.30467,0.66048>, +<0.38063,-0.29129,0.66016>, +<0.37995,-0.27799,0.66008>, +<0.37925,-0.26480,ZP>, +<0.37849,-0.25153,ZP>, +<0.37775,-0.23827,ZP>, +<0.37712,-0.22510,ZP>, +<0.37653,-0.21196,ZP>, +<0.37598,-0.19885,ZP>, +<0.37551,-0.18580,ZP>, +<0.37511,-0.17280,ZP>, +<0.37477,-0.15986,ZP>, +<0.37446,-0.14696,ZP>, +<0.37420,-0.13408,ZP>, +<0.37397,-0.12123,ZP>, +<0.37377,-0.10840,ZP>, +<0.37360,-0.09559,ZP>, +<0.37345,-0.08279,ZP>, +<0.37333,-0.07000,ZP>, +<0.37324,-0.05723,ZP>, +<0.37316,-0.04447,ZP>, +<0.37310,-0.03173,ZP>, +<0.37305,-0.01900,ZP>, +<0.37302,-0.00627,ZP>, +<0.37301,0.00645,ZP>, +<0.37302,0.01919,ZP>, +<0.37304,0.03193,ZP>, +<0.37309,0.04468,ZP>, +<0.37316,0.05745,ZP>, +<0.37326,0.07023,ZP>, +<0.37339,0.08302,ZP>, +<0.37354,0.09583,ZP>, +<0.37373,0.10864,ZP>, +<0.37395,0.12148,ZP>, +<0.37420,0.13432,ZP>, +<0.37449,0.14718,ZP>, +<0.37482,0.16007,ZP>, +<0.37519,0.17298,ZP>, +<0.37561,0.18595,ZP>, +<0.37610,0.19897,ZP>, +<0.37666,0.21205,ZP>, +<0.37726,0.22516,ZP>, +<0.37789,0.23829,ZP>, +<0.37862,0.25152,ZP>, +<0.37936,0.26475,ZP>, +<0.38002,0.27792,0.66008>, +<0.38067,0.29126,0.66016>, +<0.38141,0.30459,0.66049>, +<0.38430,0.31979,0.65404>, +<0.37533,0.32493,0.64234>, +<0.37174,0.33449,0.63353>, +<0.36560,0.34112,0.62382>, +<0.36013,0.34795,0.61354>, +<0.35446,0.35476,0.60309>, +<0.34856,0.36111,0.59283>, +<0.34230,0.36675,0.58238>, +<0.33547,0.37163,0.57185>, +<0.32815,0.37580,0.56143>, +<0.32053,0.37969,0.55114>, +<0.31317,0.38402,0.54082>, +<0.30656,0.38929,0.53059>, +<0.30101,0.39576,0.52052>, +<0.29685,0.40321,0.51055>, +<0.29397,0.41138,0.50076>, +<0.29082,0.41937,0.49114>, +<0.28616,0.42687,0.48165>, +<0.28006,0.43340,0.47229>, +<0.27256,0.43833,0.46293>, +<0.26456,0.44184,0.45357> +<0.27363,-0.44006,0.44447>, +<0.28014,-0.43367,0.45353>, +<0.28554,-0.42642,0.46256>, +<0.28944,-0.41840,0.47200>, +<0.29213,-0.41014,0.48142>, +<0.29547,-0.40212,0.49102>, +<0.30019,-0.39493,0.50079>, +<0.30612,-0.38871,0.51067>, +<0.31308,-0.38368,0.52073>, +<0.32060,-0.37970,0.53070>, +<0.32830,-0.37619,0.54087>, +<0.33584,-0.37233,0.55121>, +<0.34293,-0.36755,0.56149>, +<0.34925,-0.36190,0.57181>, +<0.35499,-0.35553,0.58212>, +<0.36038,-0.34875,0.59236>, +<0.36576,-0.34182,0.60255>, +<0.37134,-0.33484,0.61281>, +<0.37739,-0.32806,0.62268>, +<0.38344,-0.32101,0.63208>, +<0.38958,-0.31370,0.64110>, +<0.39611,-0.30603,0.65091>, +<0.39414,-0.29179,0.66060>, +<0.39318,-0.27821,0.66018>, +<0.39243,-0.26496,0.66008>, +<0.39174,-0.25184,ZP>, +<0.39097,-0.23860,ZP>, +<0.39013,-0.22525,ZP>, +<0.38951,-0.21206,ZP>, +<0.38898,-0.19895,ZP>, +<0.38851,-0.18590,ZP>, +<0.38809,-0.17291,ZP>, +<0.38773,-0.15996,ZP>, +<0.38741,-0.14706,ZP>, +<0.38713,-0.13418,ZP>, +<0.38689,-0.12133,ZP>, +<0.38667,-0.10849,ZP>, +<0.38648,-0.09566,ZP>, +<0.38632,-0.08284,ZP>, +<0.38619,-0.07004,ZP>, +<0.38609,-0.05726,ZP>, +<0.38601,-0.04449,ZP>, +<0.38595,-0.03173,ZP>, +<0.38590,-0.01899,ZP>, +<0.38587,-0.00626,ZP>, +<0.38585,0.00647,ZP>, +<0.38585,0.01921,ZP>, +<0.38587,0.03196,ZP>, +<0.38591,0.04472,ZP>, +<0.38599,0.05750,ZP>, +<0.38609,0.07030,ZP>, +<0.38623,0.08311,ZP>, +<0.38640,0.09593,ZP>, +<0.38661,0.10876,ZP>, +<0.38685,0.12160,ZP>, +<0.38713,0.13444,ZP>, +<0.38744,0.14730,ZP>, +<0.38779,0.16018,ZP>, +<0.38818,0.17310,ZP>, +<0.38862,0.18606,ZP>, +<0.38911,0.19908,ZP>, +<0.38966,0.21217,ZP>, +<0.39029,0.22532,ZP>, +<0.39112,0.23864,ZP>, +<0.39188,0.25185,ZP>, +<0.39254,0.26496,0.66008>, +<0.39324,0.27819,0.66018>, +<0.39413,0.29183,0.66061>, +<0.39606,0.30609,0.65093>, +<0.38950,0.31385,0.64040>, +<0.38340,0.32107,0.63221>, +<0.37734,0.32811,0.62285>, +<0.37136,0.33481,0.61307>, +<0.36603,0.34191,0.60285>, +<0.36079,0.34894,0.59270>, +<0.35551,0.35563,0.58262>, +<0.34958,0.36197,0.57243>, +<0.34303,0.36739,0.56201>, +<0.33582,0.37179,0.55169>, +<0.32817,0.37534,0.54149>, +<0.32040,0.37876,0.53125>, +<0.31291,0.38294,0.52114>, +<0.30619,0.38839,0.51117>, +<0.30068,0.39510,0.50133>, +<0.29651,0.40281,0.49157>, +<0.29392,0.41100,0.48190>, +<0.29098,0.41921,0.47253>, +<0.28661,0.42697,0.46335>, +<0.28058,0.43383,0.45421>, +<0.27370,0.43962,0.44502> +<0.28027,-0.43414,0.43541>, +<0.28532,-0.42647,0.44449>, +<0.28935,-0.41846,0.45346>, +<0.29176,-0.40986,0.46285>, +<0.29509,-0.40185,0.47221>, +<0.29986,-0.39441,0.48172>, +<0.30587,-0.38803,0.49145>, +<0.31290,-0.38299,0.50123>, +<0.32057,-0.37912,0.51114>, +<0.32842,-0.37598,0.52109>, +<0.33619,-0.37261,0.53120>, +<0.34352,-0.36830,0.54135>, +<0.35016,-0.36287,0.55151>, +<0.35600,-0.35646,0.56174>, +<0.36117,-0.34958,0.57192>, +<0.36604,-0.34245,0.58206>, +<0.37112,-0.33528,0.59210>, +<0.37696,-0.32852,0.60206>, +<0.38283,-0.32165,0.61181>, +<0.38874,-0.31452,0.62135>, +<0.39463,-0.30714,0.63053>, +<0.40058,-0.29944,0.63949>, +<0.40678,-0.29145,0.64848>, +<0.40783,-0.27945,0.65974>, +<0.40569,-0.26515,0.66023>, +<0.40481,-0.25184,0.66009>, +<0.40407,-0.23871,ZP>, +<0.40330,-0.22547,ZP>, +<0.40253,-0.21217,ZP>, +<0.40196,-0.19900,ZP>, +<0.40150,-0.18595,ZP>, +<0.40111,-0.17299,ZP>, +<0.40074,-0.16005,ZP>, +<0.40041,-0.14716,ZP>, +<0.40010,-0.13427,ZP>, +<0.39983,-0.12141,ZP>, +<0.39959,-0.10856,ZP>, +<0.39939,-0.09572,ZP>, +<0.39921,-0.08289,ZP>, +<0.39907,-0.07008,ZP>, +<0.39896,-0.05728,ZP>, +<0.39888,-0.04450,ZP>, +<0.39881,-0.03173,ZP>, +<0.39877,-0.01898,ZP>, +<0.39874,-0.00624,ZP>, +<0.39871,0.00649,ZP>, +<0.39870,0.01924,ZP>, +<0.39871,0.03199,ZP>, +<0.39875,0.04476,ZP>, +<0.39883,0.05755,ZP>, +<0.39894,0.07036,ZP>, +<0.39909,0.08318,ZP>, +<0.39929,0.09602,ZP>, +<0.39952,0.10885,ZP>, +<0.39979,0.12170,ZP>, +<0.40010,0.13454,ZP>, +<0.40045,0.14741,ZP>, +<0.40082,0.16027,ZP>, +<0.40122,0.17318,ZP>, +<0.40163,0.18611,ZP>, +<0.40210,0.19913,ZP>, +<0.40268,0.21228,ZP>, +<0.40345,0.22556,ZP>, +<0.40422,0.23879,ZP>, +<0.40494,0.25190,0.66009>, +<0.40580,0.26520,0.66023>, +<0.40791,0.27951,0.65969>, +<0.40672,0.29153,0.64846>, +<0.40054,0.29949,0.63955>, +<0.39464,0.30712,0.63056>, +<0.38874,0.31451,0.62131>, +<0.38281,0.32168,0.61184>, +<0.37697,0.32850,0.60229>, +<0.37134,0.33539,0.59233>, +<0.36660,0.34254,0.58231>, +<0.36179,0.34982,0.57227>, +<0.35648,0.35683,0.56223>, +<0.35050,0.36297,0.55209>, +<0.34371,0.36802,0.54188>, +<0.33626,0.37189,0.53176>, +<0.32826,0.37493,0.52172>, +<0.32022,0.37813,0.51171>, +<0.31264,0.38225,0.50178>, +<0.30586,0.38779,0.49199>, +<0.30030,0.39467,0.48235>, +<0.29621,0.40236,0.47274>, +<0.29352,0.41074,0.46338>, +<0.29087,0.41919,0.45425>, +<0.28634,0.42704,0.44527>, +<0.28107,0.43438,0.43620> +<0.28486,-0.42670,0.42629>, +<0.28839,-0.41828,0.43536>, +<0.29124,-0.40980,0.44435>, +<0.29475,-0.40160,0.45368>, +<0.29951,-0.39416,0.46298>, +<0.30562,-0.38763,0.47242>, +<0.31282,-0.38250,0.48208>, +<0.32063,-0.37869,0.49173>, +<0.32871,-0.37575,0.50152>, +<0.33665,-0.37279,0.51141>, +<0.34416,-0.36885,0.52146>, +<0.35101,-0.36368,0.53149>, +<0.35690,-0.35747,0.54154>, +<0.36196,-0.35045,0.55167>, +<0.36650,-0.34303,0.56171>, +<0.37103,-0.33558,0.57167>, +<0.37598,-0.32841,0.58154>, +<0.38150,-0.32148,0.59122>, +<0.38811,-0.31527,0.60094>, +<0.39382,-0.30808,0.61034>, +<0.39954,-0.30064,0.61971>, +<0.40524,-0.29295,0.62871>, +<0.41094,-0.28497,0.63732>, +<0.41680,-0.27661,0.64588>, +<0.42102,-0.26696,0.65631>, +<0.41773,-0.25220,0.66027>, +<0.41649,-0.23839,ZP>, +<0.41620,-0.22523,ZP>, +<0.41564,-0.21218,ZP>, +<0.41518,-0.19918,ZP>, +<0.41456,-0.18600,ZP>, +<0.41417,-0.17303,ZP>, +<0.41380,-0.16011,ZP>, +<0.41346,-0.14724,ZP>, +<0.41312,-0.13435,ZP>, +<0.41281,-0.12148,ZP>, +<0.41254,-0.10861,ZP>, +<0.41231,-0.09576,ZP>, +<0.41212,-0.08292,ZP>, +<0.41197,-0.07010,ZP>, +<0.41185,-0.05729,ZP>, +<0.41177,-0.04450,ZP>, +<0.41171,-0.03172,ZP>, +<0.41167,-0.01897,ZP>, +<0.41163,-0.00622,ZP>, +<0.41160,0.00652,ZP>, +<0.41159,0.01926,ZP>, +<0.41158,0.03201,ZP>, +<0.41161,0.04478,ZP>, +<0.41168,0.05757,ZP>, +<0.41179,0.07039,ZP>, +<0.41196,0.08322,ZP>, +<0.41218,0.09607,ZP>, +<0.41245,0.10892,ZP>, +<0.41277,0.12177,ZP>, +<0.41312,0.13462,ZP>, +<0.41351,0.14748,ZP>, +<0.41390,0.16032,ZP>, +<0.41430,0.17321,ZP>, +<0.41472,0.18615,ZP>, +<0.41533,0.19930,ZP>, +<0.41578,0.21228,ZP>, +<0.41634,0.22535,ZP>, +<0.41666,0.23858,ZP>, +<0.41794,0.25227,0.66025>, +<0.42116,0.26696,0.65611>, +<0.41677,0.27665,0.64582>, +<0.41089,0.28503,0.63731>, +<0.40523,0.29297,0.62874>, +<0.39955,0.30063,0.61971>, +<0.39384,0.30806,0.61030>, +<0.38811,0.31527,0.60091>, +<0.38147,0.32145,0.59137>, +<0.37614,0.32838,0.58175>, +<0.37145,0.33567,0.57191>, +<0.36721,0.34321,0.56200>, +<0.36278,0.35070,0.55206>, +<0.35758,0.35768,0.54210>, +<0.35142,0.36373,0.53202>, +<0.34435,0.36854,0.52200>, +<0.33648,0.37208,0.51203>, +<0.32824,0.37475,0.50210>, +<0.32017,0.37771,0.49228>, +<0.31244,0.38184,0.48257>, +<0.30562,0.38741,0.47301>, +<0.30005,0.39431,0.46346>, +<0.29574,0.40218,0.45426>, +<0.29287,0.41058,0.44516>, +<0.28998,0.41912,0.43617>, +<0.28615,0.42721,0.42716> +<0.28755,-0.41846,0.41722>, +<0.29060,-0.40976,0.42621>, +<0.29442,-0.40163,0.43515>, +<0.29935,-0.39402,0.44441>, +<0.30541,-0.38747,0.45367>, +<0.31268,-0.38230,0.46305>, +<0.32063,-0.37847,0.47264>, +<0.32885,-0.37568,0.48221>, +<0.33698,-0.37296,0.49192>, +<0.34466,-0.36929,0.50179>, +<0.35164,-0.36437,0.51180>, +<0.35772,-0.35822,0.52173>, +<0.36276,-0.35112,0.53165>, +<0.36701,-0.34348,0.54153>, +<0.37097,-0.33577,0.55144>, +<0.37535,-0.32829,0.56132>, +<0.38048,-0.32133,0.57103>, +<0.38634,-0.31474,0.58064>, +<0.39261,-0.30832,0.59007>, +<0.39893,-0.30178,0.59933>, +<0.40507,-0.29493,0.60841>, +<0.41040,-0.28699,0.61757>, +<0.41522,-0.27857,0.62632>, +<0.42069,-0.27029,0.63463>, +<0.42611,-0.26179,0.64256>, +<0.43191,-0.25255,0.65107>, +<0.43076,-0.23917,0.66012>, +<0.42910,-0.22552,0.66015>, +<0.42825,-0.21209,ZP>, +<0.42804,-0.19896,ZP>, +<0.42770,-0.18596,ZP>, +<0.42742,-0.17320,ZP>, +<0.42690,-0.16016,ZP>, +<0.42651,-0.14726,ZP>, +<0.42616,-0.13437,ZP>, +<0.42583,-0.12151,ZP>, +<0.42553,-0.10865,ZP>, +<0.42527,-0.09580,ZP>, +<0.42504,-0.08295,ZP>, +<0.42487,-0.07011,ZP>, +<0.42474,-0.05728,ZP>, +<0.42466,-0.04448,ZP>, +<0.42461,-0.03171,ZP>, +<0.42457,-0.01894,ZP>, +<0.42454,-0.00619,ZP>, +<0.42451,0.00656,ZP>, +<0.42449,0.01930,ZP>, +<0.42448,0.03204,ZP>, +<0.42449,0.04479,ZP>, +<0.42455,0.05757,ZP>, +<0.42467,0.07039,ZP>, +<0.42487,0.08324,ZP>, +<0.42513,0.09610,ZP>, +<0.42544,0.10894,ZP>, +<0.42580,0.12178,ZP>, +<0.42618,0.13461,ZP>, +<0.42659,0.14746,ZP>, +<0.42703,0.16034,ZP>, +<0.42757,0.17335,ZP>, +<0.42791,0.18614,ZP>, +<0.42823,0.19907,ZP>, +<0.42821,0.21217,ZP>, +<0.42907,0.22571,0.66013>, +<0.43086,0.23949,ZP>, +<0.43189,0.25255,0.65085>, +<0.42610,0.26178,0.64249>, +<0.42065,0.27034,0.63456>, +<0.41520,0.27859,0.62625>, +<0.41036,0.28701,0.61771>, +<0.40488,0.29477,0.60862>, +<0.39864,0.30155,0.59944>, +<0.39234,0.30812,0.59014>, +<0.38627,0.31447,0.58071>, +<0.38058,0.32115,0.57114>, +<0.37564,0.32834,0.56142>, +<0.37161,0.33601,0.55166>, +<0.36784,0.34390,0.54193>, +<0.36357,0.35156,0.53209>, +<0.35833,0.35858,0.52214>, +<0.35198,0.36449,0.51225>, +<0.34467,0.36905,0.50232>, +<0.33662,0.37227,0.49240>, +<0.32834,0.37464,0.48267>, +<0.32010,0.37753,0.47302>, +<0.31234,0.38164,0.46355>, +<0.30538,0.38732,0.45409>, +<0.29968,0.39432,0.44498>, +<0.29525,0.40217,0.43592>, +<0.29181,0.41056,0.42704>, +<0.28921,0.41920,0.41805> +<0.29001,-0.41008,0.40815>, +<0.29419,-0.40183,0.41699>, +<0.29918,-0.39423,0.42586>, +<0.30544,-0.38756,0.43503>, +<0.31265,-0.38230,0.44426>, +<0.32057,-0.37845,0.45361>, +<0.32888,-0.37571,0.46314>, +<0.33716,-0.37315,0.47269>, +<0.34505,-0.36960,0.48235>, +<0.35224,-0.36481,0.49210>, +<0.35839,-0.35876,0.50193>, +<0.36341,-0.35168,0.51175>, +<0.36745,-0.34394,0.52162>, +<0.37098,-0.33593,0.53140>, +<0.37477,-0.32814,0.54120>, +<0.37938,-0.32088,0.55095>, +<0.38509,-0.31428,0.56053>, +<0.39154,-0.30819,0.57002>, +<0.39819,-0.30241,0.57929>, +<0.40480,-0.29628,0.58847>, +<0.41089,-0.28943,0.59756>, +<0.41625,-0.28175,0.60638>, +<0.42089,-0.27335,0.61507>, +<0.42458,-0.26414,0.62336>, +<0.42989,-0.25538,0.63140>, +<0.43524,-0.24625,0.63914>, +<0.43096,-0.24307,0.65001>, +<0.44457,-0.22687,0.65542>, +<0.44167,-0.21249,0.66041>, +<0.44120,-0.19898,0.66011>, +<0.44078,-0.18586,ZP>, +<0.44054,-0.17309,ZP>, +<0.44017,-0.16022,ZP>, +<0.43973,-0.14738,ZP>, +<0.43923,-0.13440,ZP>, +<0.43882,-0.12148,ZP>, +<0.43851,-0.10861,ZP>, +<0.43822,-0.09575,ZP>, +<0.43799,-0.08290,ZP>, +<0.43781,-0.07007,ZP>, +<0.43770,-0.05727,ZP>, +<0.43763,-0.04449,ZP>, +<0.43757,-0.03170,ZP>, +<0.43752,-0.01892,ZP>, +<0.43748,-0.00615,ZP>, +<0.43746,0.00661,ZP>, +<0.43745,0.01935,ZP>, +<0.43744,0.03206,ZP>, +<0.43744,0.04479,ZP>, +<0.43745,0.05752,ZP>, +<0.43754,0.07031,ZP>, +<0.43773,0.08317,ZP>, +<0.43802,0.09604,ZP>, +<0.43838,0.10889,ZP>, +<0.43881,0.12171,ZP>, +<0.43931,0.13459,ZP>, +<0.43987,0.14751,ZP>, +<0.44032,0.16033,ZP>, +<0.44070,0.17318,ZP>, +<0.44095,0.18609,ZP>, +<0.44137,0.19918,0.66011>, +<0.44181,0.21256,0.66037>, +<0.44447,0.22706,0.65533>, +<0.43143,0.24262,0.65008>, +<0.43514,0.24641,0.63905>, +<0.42984,0.25547,0.63133>, +<0.42482,0.26417,0.62324>, +<0.42119,0.27344,0.61505>, +<0.41640,0.28180,0.60643>, +<0.41073,0.28932,0.59768>, +<0.40443,0.29597,0.58869>, +<0.39780,0.30196,0.57942>, +<0.39123,0.30776,0.57006>, +<0.38491,0.31403,0.56068>, +<0.37940,0.32097,0.55112>, +<0.37510,0.32856,0.54148>, +<0.37173,0.33653,0.53183>, +<0.36840,0.34452,0.52200>, +<0.36428,0.35224,0.51219>, +<0.35902,0.35918,0.50241>, +<0.35249,0.36495,0.49257>, +<0.34487,0.36939,0.48274>, +<0.33679,0.37240,0.47309>, +<0.32839,0.37464,0.46348>, +<0.32009,0.37750,0.45405>, +<0.31213,0.38177,0.44468>, +<0.30515,0.38747,0.43559>, +<0.29940,0.39448,0.42653>, +<0.29474,0.40232,0.41772>, +<0.29107,0.41076,0.40889> +<0.29381,-0.40229,0.39898>, +<0.29921,-0.39476,0.40774>, +<0.30533,-0.38804,0.41660>, +<0.31263,-0.38261,0.42568>, +<0.32055,-0.37858,0.43487>, +<0.32886,-0.37583,0.44413>, +<0.33724,-0.37330,0.45359>, +<0.34525,-0.36984,0.46309>, +<0.35265,-0.36512,0.47268>, +<0.35899,-0.35907,0.48238>, +<0.36404,-0.35198,0.49207>, +<0.36793,-0.34422,0.50179>, +<0.37106,-0.33614,0.51160>, +<0.37430,-0.32809,0.52140>, +<0.37858,-0.32042,0.53116>, +<0.38399,-0.31364,0.54071>, +<0.39039,-0.30776,0.55006>, +<0.39745,-0.30244,0.55943>, +<0.40458,-0.29730,0.56860>, +<0.41135,-0.29140,0.57774>, +<0.41716,-0.28422,0.58682>, +<0.42176,-0.27601,0.59551>, +<0.42548,-0.26723,0.60387>, +<0.42907,-0.25808,0.61205>, +<0.43353,-0.24916,0.62032>, +<0.43853,-0.24031,0.62796>, +<0.44344,-0.23121,0.63476>, +<0.44833,-0.22166,0.64177>, +<0.44750,-0.21197,0.65000>, +<0.45641,-0.20026,0.65630>, +<0.45428,-0.18639,0.66031>, +<0.45353,-0.17307,0.66013>, +<0.45306,-0.15996,ZP>, +<0.45274,-0.14707,ZP>, +<0.45244,-0.13425,ZP>, +<0.45210,-0.12150,ZP>, +<0.45168,-0.10864,ZP>, +<0.45123,-0.09574,ZP>, +<0.45089,-0.08284,ZP>, +<0.45070,-0.07000,ZP>, +<0.45059,-0.05722,ZP>, +<0.45053,-0.04447,ZP>, +<0.45046,-0.03166,ZP>, +<0.45043,-0.01887,ZP>, +<0.45042,-0.00609,ZP>, +<0.45039,0.00663,ZP>, +<0.45039,0.01937,ZP>, +<0.45038,0.03208,ZP>, +<0.45040,0.04479,ZP>, +<0.45039,0.05746,ZP>, +<0.45048,0.07020,ZP>, +<0.45066,0.08304,ZP>, +<0.45106,0.09595,ZP>, +<0.45161,0.10883,ZP>, +<0.45215,0.12161,ZP>, +<0.45258,0.13432,ZP>, +<0.45292,0.14710,ZP>, +<0.45325,0.16001,ZP>, +<0.45370,0.17312,0.66012>, +<0.45440,0.18665,0.66029>, +<0.45634,0.20053,0.65623>, +<0.45453,0.20430,0.64321>, +<0.44826,0.22176,0.64171>, +<0.44333,0.23144,0.63428>, +<0.43846,0.24045,0.62776>, +<0.43348,0.24925,0.62017>, +<0.42924,0.25836,0.61198>, +<0.42582,0.26757,0.60376>, +<0.42195,0.27633,0.59548>, +<0.41705,0.28425,0.58689>, +<0.41097,0.29102,0.57797>, +<0.40410,0.29658,0.56871>, +<0.39691,0.30174,0.55941>, +<0.38992,0.30730,0.55014>, +<0.38362,0.31363,0.54075>, +<0.37855,0.32076,0.53120>, +<0.37480,0.32859,0.52157>, +<0.37198,0.33677,0.51187>, +<0.36890,0.34493,0.50223>, +<0.36486,0.35265,0.49258>, +<0.35944,0.35961,0.48281>, +<0.35264,0.36537,0.47312>, +<0.34502,0.36961,0.46356>, +<0.33684,0.37256,0.45397>, +<0.32836,0.37476,0.44455>, +<0.31990,0.37772,0.43526>, +<0.31206,0.38205,0.42611>, +<0.30506,0.38780,0.41710>, +<0.29913,0.39488,0.40833>, +<0.29418,0.40272,0.39963> +<0.29898,-0.39537,0.38967>, +<0.30547,-0.38885,0.39839>, +<0.31260,-0.38317,0.40723>, +<0.32052,-0.37888,0.41625>, +<0.32888,-0.37592,0.42543>, +<0.33726,-0.37338,0.43462>, +<0.34537,-0.36992,0.44401>, +<0.35283,-0.36528,0.45348>, +<0.35930,-0.35930,0.46302>, +<0.36447,-0.35216,0.47267>, +<0.36836,-0.34431,0.48235>, +<0.37123,-0.33617,0.49198>, +<0.37402,-0.32802,0.50168>, +<0.37782,-0.32028,0.51141>, +<0.38310,-0.31314,0.52107>, +<0.38960,-0.30711,0.53046>, +<0.39685,-0.30212,0.53968>, +<0.40440,-0.29774,0.54897>, +<0.41174,-0.29292,0.55813>, +<0.41821,-0.28656,0.56726>, +<0.42327,-0.27871,0.57614>, +<0.42670,-0.26983,0.58451>, +<0.42923,-0.26044,0.59260>, +<0.43216,-0.25150,0.60089>, +<0.43698,-0.24310,0.60863>, +<0.44175,-0.23432,0.61618>, +<0.44656,-0.22509,0.62289>, +<0.45120,-0.21564,0.62988>, +<0.45564,-0.20609,0.63637>, +<0.46004,-0.19601,0.64240>, +<0.46457,-0.18536,0.64815>, +<0.46812,-0.17371,0.65462>, +<0.46720,-0.16051,0.65957>, +<0.46580,-0.14714,0.66017>, +<0.46508,-0.13425,ZP>, +<0.46476,-0.12119,ZP>, +<0.46455,-0.10828,ZP>, +<0.46431,-0.09546,0.66008>, +<0.46414,-0.08271,0.66008>, +<0.46408,-0.07003,ZP>, +<0.46386,-0.05728,ZP>, +<0.46367,-0.04452,ZP>, +<0.46351,-0.03167,ZP>, +<0.46344,-0.01885,ZP>, +<0.46344,-0.00604,ZP>, +<0.46346,0.00670,ZP>, +<0.46352,0.01945,ZP>, +<0.46349,0.03210,ZP>, +<0.46363,0.04484,ZP>, +<0.46353,0.05733,ZP>, +<0.46363,0.07010,ZP>, +<0.46308,0.08289,ZP>, +<0.46380,0.09550,ZP>, +<0.46449,0.10834,ZP>, +<0.46507,0.12101,ZP>, +<0.46551,0.13384,0.66010>, +<0.46601,0.14708,0.66020>, +<0.46746,0.16053,0.65948>, +<0.46821,0.17371,0.65443>, +<0.46449,0.18556,0.64815>, +<0.45996,0.19621,0.64242>, +<0.45549,0.20637,0.63665>, +<0.45114,0.21572,0.63000>, +<0.44647,0.22523,0.62308>, +<0.44174,0.23436,0.61600>, +<0.43696,0.24312,0.60848>, +<0.43212,0.25155,0.60080>, +<0.42967,0.26095,0.59248>, +<0.42710,0.27016,0.58448>, +<0.42323,0.27899,0.57612>, +<0.41794,0.28638,0.56727>, +<0.41122,0.29232,0.55824>, +<0.40362,0.29693,0.54899>, +<0.39596,0.30150,0.53978>, +<0.38878,0.30685,0.53058>, +<0.38264,0.31319,0.52113>, +<0.37788,0.32062,0.51163>, +<0.37460,0.32866,0.50203>, +<0.37217,0.33702,0.49238>, +<0.36926,0.34522,0.48272>, +<0.36515,0.35300,0.47304>, +<0.35962,0.35992,0.46348>, +<0.35284,0.36550,0.45398>, +<0.34508,0.36973,0.44443>, +<0.33681,0.37270,0.43505>, +<0.32825,0.37493,0.42583>, +<0.31988,0.37801,0.41661>, +<0.31204,0.38251,0.40764>, +<0.30500,0.38852,0.39887>, +<0.29885,0.39550,0.39028> +<0.30527,-0.38952,0.38031>, +<0.31264,-0.38405,0.38904>, +<0.32037,-0.37938,0.39784>, +<0.32870,-0.37614,0.40684>, +<0.33716,-0.37337,0.41598>, +<0.34524,-0.36989,0.42513>, +<0.35284,-0.36524,0.43452>, +<0.35937,-0.35935,0.44398>, +<0.36460,-0.35232,0.45350>, +<0.36853,-0.34448,0.46310>, +<0.37134,-0.33617,0.47276>, +<0.37389,-0.32788,0.48233>, +<0.37744,-0.32000,0.49189>, +<0.38239,-0.31285,0.50146>, +<0.38882,-0.30670,0.51103>, +<0.39622,-0.30180,0.52038>, +<0.40418,-0.29784,0.52960>, +<0.41205,-0.29387,0.53885>, +<0.41896,-0.28842,0.54787>, +<0.42453,-0.28110,0.55681>, +<0.42818,-0.27228,0.56542>, +<0.43011,-0.26286,0.57356>, +<0.43110,-0.25328,0.58168>, +<0.43272,-0.24394,0.58961>, +<0.43715,-0.23510,0.59710>, +<0.44488,-0.22827,0.60427>, +<0.44979,-0.21899,0.61124>, +<0.45588,-0.21111,0.61815>, +<0.45938,-0.20133,0.62475>, +<0.46227,-0.19064,0.63039>, +<0.46636,-0.18037,0.63581>, +<0.47037,-0.16965,0.64098>, +<0.47429,-0.15853,0.64590>, +<0.47813,-0.14697,0.65070>, +<0.47988,-0.13468,0.65603>, +<0.47907,-0.12148,0.65946>, +<0.47771,-0.10835,0.66030>, +<0.47715,-0.09544,0.66018>, +<0.47688,-0.08256,0.66012>, +<0.47674,-0.06988,ZP>, +<0.47649,-0.05710,ZP>, +<0.47632,-0.04434,ZP>, +<0.47626,-0.03153,ZP>, +<0.47629,-0.01876,ZP>, +<0.47636,-0.00601,ZP>, +<0.47642,0.00673,ZP>, +<0.47650,0.01945,ZP>, +<0.47632,0.03199,0.66009>, +<0.47662,0.04468,ZP>, +<0.47655,0.05719,ZP>, +<0.47667,0.06999,0.66009>, +<0.47635,0.08211,0.66010>, +<0.47709,0.09508,0.66012>, +<0.47791,0.10785,0.66028>, +<0.47946,0.12099,0.65938>, +<0.48027,0.13408,0.65580>, +<0.47819,0.14680,0.65049>, +<0.47432,0.15845,0.64572>, +<0.47036,0.16967,0.64085>, +<0.46614,0.18091,0.63592>, +<0.46218,0.19114,0.63037>, +<0.45894,0.20123,0.62443>, +<0.45480,0.21095,0.61809>, +<0.44954,0.21891,0.61100>, +<0.44487,0.22831,0.60427>, +<0.43679,0.23484,0.59706>, +<0.43317,0.24403,0.58951>, +<0.43191,0.25381,0.58153>, +<0.43073,0.26349,0.57352>, +<0.42847,0.27273,0.56539>, +<0.42449,0.28115,0.55673>, +<0.41854,0.28813,0.54796>, +<0.41113,0.29325,0.53881>, +<0.40302,0.29696,0.52953>, +<0.39520,0.30105,0.52047>, +<0.38795,0.30630,0.51116>, +<0.38188,0.31288,0.50174>, +<0.37747,0.32047,0.49226>, +<0.37450,0.32873,0.48261>, +<0.37231,0.33722,0.47301>, +<0.36944,0.34547,0.46346>, +<0.36531,0.35319,0.45390>, +<0.35976,0.36000,0.44443>, +<0.35284,0.36557,0.43491>, +<0.34497,0.36978,0.42561>, +<0.33667,0.37277,0.41647>, +<0.32806,0.37519,0.40725>, +<0.31974,0.37850,0.39831>, +<0.31196,0.38343,0.38950>, +<0.30488,0.38933,0.38088> +<0.31239,-0.38462,0.37092>, +<0.32029,-0.38006,0.37967>, +<0.32847,-0.37633,0.38847>, +<0.33687,-0.37332,0.39739>, +<0.34508,-0.36966,0.40650>, +<0.35259,-0.36506,0.41567>, +<0.35928,-0.35919,0.42508>, +<0.36461,-0.35223,0.43453>, +<0.36861,-0.34446,0.44400>, +<0.37140,-0.33617,0.45353>, +<0.37382,-0.32776,0.46312>, +<0.37725,-0.31970,0.47269>, +<0.38209,-0.31241,0.48224>, +<0.38835,-0.30631,0.49176>, +<0.39574,-0.30148,0.50115>, +<0.40372,-0.29791,0.51041>, +<0.41201,-0.29463,0.51966>, +<0.41954,-0.28975,0.52888>, +<0.42556,-0.28305,0.53779>, +<0.42954,-0.27449,0.54646>, +<0.43133,-0.26495,0.55469>, +<0.43138,-0.25527,0.56257>, +<0.43095,-0.24556,0.57062>, +<0.43358,-0.23638,0.57851>, +<0.43969,-0.22814,0.58588>, +<0.44750,-0.22127,0.59273>, +<0.45518,-0.21500,0.59961>, +<0.46162,-0.20722,0.60625>, +<0.46516,-0.19699,0.61249>, +<0.46622,-0.18629,0.61824>, +<0.46827,-0.17531,0.62375>, +<0.47205,-0.16490,0.62885>, +<0.47564,-0.15421,0.63350>, +<0.47909,-0.14311,0.63776>, +<0.48201,-0.13309,0.64135>, +<0.48533,-0.12040,0.64558>, +<0.48585,-0.11398,0.64567>, +<0.49073,-0.09584,0.65246>, +<0.49159,-0.08312,0.65582>, +<0.49132,-0.07011,0.65819>, +<0.49064,-0.05723,0.65951>, +<0.48998,-0.04441,ZP>, +<0.48960,-0.03158,0.66020>, +<0.48949,-0.01879,0.66020>, +<0.48955,-0.00602,0.66020>, +<0.48967,0.00681,0.66023>, +<0.48989,0.01960,0.66029>, +<0.48893,0.03238,0.65290>, +<0.49092,0.04482,ZP>, +<0.48776,0.05810,0.65438>, +<0.49229,0.07033,0.65760>, +<0.48941,0.08129,0.65042>, +<0.49108,0.09506,0.65146>, +<0.48511,0.09889,0.65000>, +<0.48566,0.11932,0.64543>, +<0.48253,0.13120,0.64170>, +<0.47914,0.14298,0.63764>, +<0.47565,0.15419,0.63339>, +<0.47201,0.16499,0.62877>, +<0.46819,0.17553,0.62366>, +<0.46706,0.18632,0.61841>, +<0.46514,0.19752,0.61275>, +<0.46110,0.20730,0.60639>, +<0.45403,0.21395,0.59963>, +<0.44618,0.22054,0.59291>, +<0.43900,0.22818,0.58599>, +<0.43384,0.23677,0.57869>, +<0.43200,0.24636,0.57057>, +<0.43256,0.25603,0.56259>, +<0.43219,0.26541,0.55471>, +<0.43002,0.27474,0.54646>, +<0.42540,0.28315,0.53778>, +<0.41877,0.28952,0.52879>, +<0.41095,0.29370,0.51949>, +<0.40263,0.29663,0.51046>, +<0.39455,0.30060,0.50131>, +<0.38725,0.30594,0.49192>, +<0.38141,0.31268,0.48257>, +<0.37719,0.32051,0.47296>, +<0.37447,0.32883,0.46341>, +<0.37246,0.33727,0.45396>, +<0.36961,0.34546,0.44440>, +<0.36541,0.35314,0.43499>, +<0.35973,0.35990,0.42550>, +<0.35271,0.36542,0.41616>, +<0.34486,0.36959,0.40702>, +<0.33642,0.37278,0.39783>, +<0.32783,0.37542,0.38891>, +<0.31965,0.37936,0.38016>, +<0.31191,0.38422,0.37147> +<0.31990,-0.38040,0.36160>, +<0.32813,-0.37653,0.37034>, +<0.33646,-0.37313,0.37910>, +<0.34456,-0.36938,0.38796>, +<0.35228,-0.36467,0.39709>, +<0.35898,-0.35891,0.40631>, +<0.36450,-0.35196,0.41568>, +<0.36861,-0.34431,0.42512>, +<0.37146,-0.33614,0.43462>, +<0.37384,-0.32776,0.44415>, +<0.37714,-0.31968,0.45365>, +<0.38186,-0.31216,0.46318>, +<0.38812,-0.30586,0.47274>, +<0.39547,-0.30108,0.48216>, +<0.40346,-0.29769,0.49146>, +<0.41184,-0.29504,0.50064>, +<0.41975,-0.29084,0.50978>, +<0.42642,-0.28447,0.51878>, +<0.43085,-0.27627,0.52747>, +<0.43270,-0.26677,0.53593>, +<0.43242,-0.25717,0.54396>, +<0.43029,-0.24769,0.55172>, +<0.43081,-0.23776,0.55977>, +<0.43559,-0.22874,0.56734>, +<0.44336,-0.22178,0.57460>, +<0.45263,-0.21690,0.58148>, +<0.46120,-0.21169,0.58837>, +<0.46663,-0.20283,0.59496>, +<0.46853,-0.19193,0.60098>, +<0.46705,-0.18111,0.60607>, +<0.47004,-0.17057,0.61126>, +<0.47364,-0.16026,0.61621>, +<0.47708,-0.14989,0.62023>, +<0.48188,-0.13977,0.62470>, +<0.48391,-0.12796,0.62904>, +<0.48614,-0.11698,0.63231>, +<0.48882,-0.10522,0.63621>, +<0.49125,-0.09330,0.63894>, +<0.49336,-0.08135,0.64147>, +<0.49528,-0.06869,0.64367>, +<0.49689,-0.05626,0.64521>, +<0.49812,-0.04402,0.64728>, +<0.49911,-0.03146,0.64835>, +<0.49977,-0.01883,0.64900>, +<0.50010,-0.00610,0.64924>, +<0.50009,0.00654,0.64896>, +<0.49975,0.01919,0.64815>, +<0.49912,0.03153,0.64644>, +<0.49812,0.04428,0.64553>, +<0.49687,0.05636,0.64399>, +<0.49532,0.06859,0.64206>, +<0.49357,0.08018,0.63940>, +<0.49133,0.09287,0.63771>, +<0.48893,0.10482,0.63560>, +<0.48633,0.11625,0.63272>, +<0.48367,0.12698,0.62973>, +<0.48102,0.13845,0.62483>, +<0.47707,0.14972,0.62089>, +<0.47356,0.16049,0.61618>, +<0.46990,0.17091,0.61121>, +<0.46882,0.18158,0.60563>, +<0.46909,0.19225,0.60038>, +<0.46642,0.20284,0.59446>, +<0.45982,0.21045,0.58796>, +<0.45079,0.21536,0.58134>, +<0.44203,0.22145,0.57461>, +<0.43516,0.22953,0.56763>, +<0.43171,0.23885,0.55982>, +<0.43212,0.24844,0.55180>, +<0.43389,0.25758,0.54393>, +<0.43375,0.26735,0.53607>, +<0.43120,0.27697,0.52776>, +<0.42594,0.28471,0.51902>, +<0.41888,0.29036,0.50980>, +<0.41068,0.29378,0.50062>, +<0.40205,0.29634,0.49156>, +<0.39397,0.30024,0.48228>, +<0.38681,0.30568,0.47310>, +<0.38111,0.31262,0.46367>, +<0.37716,0.32042,0.45407>, +<0.37463,0.32867,0.44459>, +<0.37263,0.33712,0.43498>, +<0.36968,0.34532,0.42559>, +<0.36531,0.35292,0.41617>, +<0.35949,0.35958,0.40677>, +<0.35240,0.36500,0.39762>, +<0.34440,0.36927,0.38848>, +<0.33603,0.37266,0.37957>, +<0.32757,0.37594,0.37085>, +<0.31946,0.37990,0.36212> +<0.32772,-0.37655,0.35223>, +<0.33591,-0.37284,0.36093>, +<0.34401,-0.36886,0.36975>, +<0.35160,-0.36416,0.37862>, +<0.35851,-0.35840,0.38781>, +<0.36414,-0.35169,0.39710>, +<0.36853,-0.34403,0.40644>, +<0.37158,-0.33591,0.41586>, +<0.37402,-0.32761,0.42536>, +<0.37733,-0.31956,0.43492>, +<0.38185,-0.31209,0.44438>, +<0.38797,-0.30563,0.45383>, +<0.39534,-0.30069,0.46331>, +<0.40338,-0.29730,0.47262>, +<0.41181,-0.29511,0.48187>, +<0.41983,-0.29155,0.49104>, +<0.42682,-0.28580,0.50005>, +<0.43195,-0.27786,0.50887>, +<0.43414,-0.26851,0.51723>, +<0.43381,-0.25877,0.52539>, +<0.43099,-0.24951,0.53328>, +<0.42958,-0.24011,0.54123>, +<0.43217,-0.23025,0.54923>, +<0.43913,-0.22217,0.55657>, +<0.44817,-0.21690,0.56335>, +<0.45860,-0.21411,0.56993>, +<0.46680,-0.20760,0.57665>, +<0.47091,-0.19747,0.58283>, +<0.47085,-0.18609,0.58850>, +<0.46690,-0.17534,0.59361>, +<0.46730,-0.16442,0.59906>, +<0.47516,-0.15574,0.60376>, +<0.47961,-0.14574,0.60749>, +<0.48608,-0.13666,0.61174>, +<0.48818,-0.12540,0.61639>, +<0.48698,-0.11399,0.61980>, +<0.48950,-0.10200,0.62342>, +<0.49180,-0.09029,0.62635>, +<0.49477,-0.07797,0.62853>, +<0.49752,-0.06734,0.63128>, +<0.49693,-0.05538,0.63286>, +<0.49818,-0.04291,0.63426>, +<0.49909,-0.03069,0.63529>, +<0.49968,-0.01843,0.63582>, +<0.49997,-0.00607,0.63598>, +<0.50045,0.00542,0.63564>, +<0.49969,0.01808,0.63454>, +<0.49914,0.02981,0.63315>, +<0.49818,0.04304,0.63210>, +<0.49812,0.05476,0.63045>, +<0.49577,0.06692,0.62930>, +<0.49446,0.07591,0.62522>, +<0.49182,0.09017,0.62450>, +<0.48947,0.10247,0.62194>, +<0.48955,0.11375,0.62028>, +<0.48940,0.12509,0.61721>, +<0.48472,0.13529,0.61254>, +<0.47843,0.14530,0.60825>, +<0.47506,0.15605,0.60364>, +<0.46842,0.16570,0.59910>, +<0.46977,0.17690,0.59391>, +<0.47276,0.18680,0.58880>, +<0.47170,0.19848,0.58298>, +<0.46564,0.20726,0.57644>, +<0.45653,0.21227,0.56969>, +<0.44633,0.21591,0.56312>, +<0.43785,0.22238,0.55640>, +<0.43247,0.23108,0.54902>, +<0.43092,0.24063,0.54113>, +<0.43327,0.24983,0.53328>, +<0.43545,0.25953,0.52563>, +<0.43518,0.26961,0.51767>, +<0.43216,0.27864,0.50915>, +<0.42633,0.28585,0.50015>, +<0.41884,0.29087,0.49103>, +<0.41029,0.29362,0.48197>, +<0.40164,0.29595,0.47278>, +<0.39361,0.29992,0.46357>, +<0.38657,0.30549,0.45427>, +<0.38120,0.31239,0.44476>, +<0.37737,0.32015,0.43532>, +<0.37480,0.32847,0.42576>, +<0.37270,0.33693,0.41637>, +<0.36955,0.34502,0.40700>, +<0.36496,0.35249,0.39757>, +<0.35894,0.35904,0.38840>, +<0.35170,0.36443,0.37926>, +<0.34381,0.36883,0.37027>, +<0.33554,0.37251,0.36154>, +<0.32733,0.37605,0.35274> +<0.33545,-0.37253,0.34290>, +<0.34337,-0.36826,0.35163>, +<0.35102,-0.36340,0.36046>, +<0.35784,-0.35770,0.36940>, +<0.36371,-0.35105,0.37863>, +<0.36828,-0.34373,0.38801>, +<0.37162,-0.33571,0.39743>, +<0.37431,-0.32748,0.40688>, +<0.37766,-0.31950,0.41630>, +<0.38218,-0.31201,0.42580>, +<0.38802,-0.30553,0.43518>, +<0.39524,-0.30042,0.44461>, +<0.40327,-0.29685,0.45401>, +<0.41181,-0.29486,0.46319>, +<0.42009,-0.29186,0.47243>, +<0.42734,-0.28667,0.48150>, +<0.43280,-0.27936,0.49037>, +<0.43558,-0.27018,0.49895>, +<0.43547,-0.26041,0.50706>, +<0.43270,-0.25100,0.51497>, +<0.42946,-0.24178,0.52286>, +<0.43019,-0.23204,0.53079>, +<0.43511,-0.22296,0.53851>, +<0.44377,-0.21671,0.54561>, +<0.45414,-0.21419,0.55222>, +<0.46445,-0.21103,0.55887>, +<0.47163,-0.20301,0.56548>, +<0.47353,-0.19190,0.57148>, +<0.47117,-0.18094,0.57674>, +<0.46626,-0.17041,0.58189>, +<0.46753,-0.15918,0.58723>, +<0.47422,-0.14968,0.59198>, +<0.48307,-0.14289,0.59568>, +<0.49091,-0.13435,0.60018>, +<0.49166,-0.12219,0.60378>, +<0.48773,-0.11054,0.60702>, +<0.49014,-0.09898,0.61052>, +<0.49231,-0.08742,0.61323>, +<0.49815,-0.07703,0.61601>, +<0.50231,-0.06599,0.61862>, +<0.50197,-0.05378,0.62003>, +<0.49873,-0.04189,0.62098>, +<0.49913,-0.02982,0.62203>, +<0.49983,-0.01791,0.62246>, +<0.50445,-0.00630,0.62274>, +<0.50624,0.00588,0.62287>, +<0.50238,0.01725,0.62168>, +<0.49916,0.02921,0.62042>, +<0.49833,0.04138,0.61906>, +<0.50124,0.05364,0.61794>, +<0.49984,0.06582,0.61612>, +<0.49425,0.07579,0.61373>, +<0.49225,0.08786,0.61191>, +<0.49035,0.09967,0.60922>, +<0.49245,0.11078,0.60696>, +<0.49254,0.12358,0.60438>, +<0.48750,0.13277,0.60049>, +<0.47933,0.14104,0.59599>, +<0.47203,0.15027,0.59187>, +<0.46786,0.16064,0.58720>, +<0.46940,0.17164,0.58173>, +<0.47439,0.18160,0.57686>, +<0.47560,0.19304,0.57143>, +<0.47116,0.20335,0.56509>, +<0.46249,0.20984,0.55882>, +<0.45176,0.21178,0.55201>, +<0.44210,0.21613,0.54535>, +<0.43452,0.22341,0.53844>, +<0.43087,0.23268,0.53073>, +<0.43092,0.24252,0.52291>, +<0.43514,0.25195,0.51523>, +<0.43723,0.26158,0.50752>, +<0.43662,0.27116,0.49924>, +<0.43286,0.27985,0.49052>, +<0.42649,0.28656,0.48158>, +<0.41855,0.29091,0.47251>, +<0.40992,0.29315,0.46332>, +<0.40143,0.29543,0.45414>, +<0.39357,0.29951,0.44490>, +<0.38680,0.30511,0.43550>, +<0.38154,0.31208,0.42608>, +<0.37771,0.31999,0.41662>, +<0.37508,0.32830,0.40725>, +<0.37272,0.33665,0.39796>, +<0.36919,0.34458,0.38855>, +<0.36431,0.35188,0.37929>, +<0.35814,0.35833,0.37012>, +<0.35102,0.36373,0.36104>, +<0.34322,0.36826,0.35226>, +<0.33516,0.37221,0.34345> +<0.34283,-0.36781,0.33355>, +<0.35022,-0.36270,0.34240>, +<0.35718,-0.35694,0.35135>, +<0.36312,-0.35040,0.36042>, +<0.36800,-0.34312,0.36968>, +<0.37165,-0.33537,0.37903>, +<0.37468,-0.32726,0.38847>, +<0.37822,-0.31937,0.39793>, +<0.38270,-0.31193,0.40736>, +<0.38846,-0.30533,0.41686>, +<0.39542,-0.30015,0.42617>, +<0.40327,-0.29642,0.43553>, +<0.41176,-0.29437,0.44478>, +<0.42012,-0.29180,0.45395>, +<0.42775,-0.28711,0.46320>, +<0.43371,-0.28023,0.47217>, +<0.43705,-0.27151,0.48080>, +<0.43731,-0.26178,0.48902>, +<0.43497,-0.25241,0.49690>, +<0.43015,-0.24359,0.50462>, +<0.42921,-0.23379,0.51273>, +<0.43218,-0.22417,0.52053>, +<0.43954,-0.21677,0.52774>, +<0.44932,-0.21247,0.53443>, +<0.46050,-0.21212,0.54079>, +<0.46987,-0.20687,0.54761>, +<0.47553,-0.19740,0.55399>, +<0.47514,-0.18608,0.55952>, +<0.46947,-0.17596,0.56432>, +<0.46591,-0.16496,0.56963>, +<0.46820,-0.15375,0.57462>, +<0.47610,-0.14533,0.57920>, +<0.48690,-0.14024,0.58341>, +<0.49392,-0.13051,0.58810>, +<0.49371,-0.11805,0.59147>, +<0.48723,-0.10722,0.59416>, +<0.48634,-0.09528,0.59783>, +<0.49284,-0.08444,0.60055>, +<0.50039,-0.07585,0.60325>, +<0.50535,-0.06464,0.60606>, +<0.50409,-0.05209,0.60722>, +<0.49834,-0.04122,0.60782>, +<0.49920,-0.02912,0.60899>, +<0.49973,-0.01690,0.60907>, +<0.50676,-0.00684,0.60991>, +<0.50897,0.00500,0.61004>, +<0.50500,0.01656,0.60897>, +<0.49924,0.02780,0.60726>, +<0.49839,0.04015,0.60583>, +<0.50245,0.05173,0.60534>, +<0.50119,0.06359,0.60298>, +<0.49453,0.07392,0.60084>, +<0.48894,0.08464,0.59995>, +<0.49084,0.09709,0.59565>, +<0.49523,0.10844,0.59442>, +<0.49683,0.11996,0.59197>, +<0.49168,0.13070,0.58854>, +<0.48128,0.13730,0.58392>, +<0.47290,0.14490,0.57996>, +<0.46721,0.15525,0.57498>, +<0.46890,0.16661,0.56964>, +<0.47496,0.17654,0.56487>, +<0.47833,0.18758,0.55964>, +<0.47599,0.19862,0.55409>, +<0.46824,0.20659,0.54777>, +<0.45810,0.20983,0.54092>, +<0.44735,0.21104,0.53463>, +<0.43810,0.21638,0.52790>, +<0.43190,0.22484,0.52062>, +<0.43004,0.23493,0.51290>, +<0.43263,0.24462,0.50493>, +<0.43727,0.25351,0.49739>, +<0.43893,0.26308,0.48942>, +<0.43771,0.27263,0.48105>, +<0.43327,0.28087,0.47233>, +<0.42651,0.28702,0.46323>, +<0.41852,0.29100,0.45403>, +<0.40980,0.29246,0.44492>, +<0.40139,0.29494,0.43572>, +<0.39371,0.29914,0.42647>, +<0.38717,0.30492,0.41710>, +<0.38207,0.31210,0.40770>, +<0.37827,0.31994,0.39833>, +<0.37532,0.32809,0.38908>, +<0.37259,0.33628,0.37972>, +<0.36870,0.34406,0.37037>, +<0.36358,0.35124,0.36116>, +<0.35739,0.35754,0.35208>, +<0.35027,0.36298,0.34317>, +<0.34274,0.36773,0.33429> +<0.34974,-0.36220,0.32452>, +<0.35640,-0.35625,0.33336>, +<0.36250,-0.34971,0.34241>, +<0.36758,-0.34255,0.35168>, +<0.37171,-0.33489,0.36097>, +<0.37525,-0.32710,0.37039>, +<0.37905,-0.31935,0.37978>, +<0.38354,-0.31197,0.38920>, +<0.38908,-0.30532,0.39865>, +<0.39580,-0.29987,0.40808>, +<0.40345,-0.29588,0.41737>, +<0.41168,-0.29330,0.42661>, +<0.42004,-0.29117,0.43576>, +<0.42779,-0.28710,0.44494>, +<0.43426,-0.28082,0.45405>, +<0.43828,-0.27255,0.46284>, +<0.43926,-0.26315,0.47123>, +<0.43734,-0.25356,0.47922>, +<0.43261,-0.24476,0.48679>, +<0.42928,-0.23561,0.49466>, +<0.43013,-0.22558,0.50268>, +<0.43578,-0.21683,0.51031>, +<0.44484,-0.21150,0.51726>, +<0.45525,-0.20957,0.52360>, +<0.46608,-0.20879,0.52988>, +<0.47481,-0.20225,0.53668>, +<0.47844,-0.19135,0.54298>, +<0.47566,-0.18024,0.54813>, +<0.46817,-0.17094,0.55270>, +<0.46561,-0.15978,0.55797>, +<0.46957,-0.14869,0.56286>, +<0.47873,-0.14137,0.56701>, +<0.49011,-0.13694,0.57108>, +<0.49656,-0.12664,0.57597>, +<0.49524,-0.11430,0.57944>, +<0.48689,-0.10424,0.58192>, +<0.48608,-0.09201,0.58521>, +<0.49211,-0.08134,0.58791>, +<0.50287,-0.07414,0.59047>, +<0.50815,-0.06279,0.59336>, +<0.50594,-0.05048,0.59445>, +<0.49810,-0.04063,0.59492>, +<0.49524,-0.02837,0.59603>, +<0.49903,-0.01634,0.59637>, +<0.50888,-0.00754,0.59716>, +<0.51179,0.00508,0.59751>, +<0.50753,0.01647,0.59590>, +<0.49887,0.02630,0.59455>, +<0.49748,0.03892,0.59302>, +<0.50406,0.04992,0.59193>, +<0.50228,0.06239,0.59024>, +<0.49352,0.07155,0.58848>, +<0.48864,0.08262,0.58639>, +<0.48957,0.09452,0.58365>, +<0.49609,0.10481,0.58122>, +<0.49953,0.11690,0.57931>, +<0.49465,0.12823,0.57562>, +<0.48403,0.13443,0.57137>, +<0.47354,0.14023,0.56765>, +<0.46722,0.15017,0.56336>, +<0.46744,0.16213,0.55778>, +<0.47466,0.17149,0.55323>, +<0.47982,0.18220,0.54844>, +<0.47982,0.19364,0.54296>, +<0.47399,0.20291,0.53666>, +<0.46416,0.20758,0.53002>, +<0.45301,0.20735,0.52394>, +<0.44267,0.21041,0.51748>, +<0.43439,0.21725,0.51056>, +<0.43054,0.22698,0.50287>, +<0.43125,0.23697,0.49495>, +<0.43597,0.24572,0.48726>, +<0.43962,0.25478,0.47956>, +<0.44073,0.26452,0.47148>, +<0.43870,0.27381,0.46306>, +<0.43382,0.28167,0.45420>, +<0.42659,0.28698,0.44501>, +<0.41841,0.28999,0.43590>, +<0.40973,0.29151,0.42673>, +<0.40159,0.29447,0.41756>, +<0.39420,0.29902,0.40833>, +<0.38796,0.30508,0.39901>, +<0.38299,0.31217,0.38970>, +<0.37906,0.31988,0.38035>, +<0.37576,0.32779,0.37102>, +<0.37240,0.33577,0.36161>, +<0.36818,0.34337,0.35230>, +<0.36289,0.35035,0.34318>, +<0.35665,0.35666,0.33424>, +<0.34976,0.36241,0.32528> +<0.35600,-0.35592,0.31548> +<0.36196,-0.34921,0.32445> +<0.36720,-0.34203,0.33358> +<0.37161,-0.33444,0.34291> +<0.37561,-0.32668,0.35227> +<0.37977,-0.31907,0.36167> +<0.38440,-0.31185,0.37111> +<0.38985,-0.30520,0.38058> +<0.39633,-0.29959,0.38995> +<0.40390,-0.29530,0.39932> +<0.41210,-0.29251,0.40857> +<0.42051,-0.29051,0.41784> +<0.42829,-0.28692,0.42706> +<0.43504,-0.28142,0.43622> +<0.43968,-0.27369,0.44515> +<0.44133,-0.26436,0.45361> +<0.43981,-0.25459,0.46157> +<0.43567,-0.24553,0.46913> +<0.43058,-0.23706,0.47671> +<0.42919,-0.22750,0.48467> +<0.43214,-0.21799,0.49252> +<0.43985,-0.21076,0.49982> +<0.45049,-0.20735,0.50647> +<0.46170,-0.20758,0.51261> +<0.47208,-0.20484,0.51939> +<0.47950,-0.19675,0.52631> +<0.48005,-0.18543,0.53209> +<0.47525,-0.17501,0.53708> +<0.46751,-0.16607,0.54179> +<0.46545,-0.15460,0.54699> +<0.47121,-0.14359,0.55192> +<0.48207,-0.13845,0.55527> +<0.49349,-0.13420,0.55992> +<0.49934,-0.12277,0.56454> +<0.49591,-0.11057,0.56718> +<0.48719,-0.10113,0.56962> +<0.48653,-0.08858,0.57308> +<0.49327,-0.07829,0.57586> +<0.50467,-0.07260,0.57816> +<0.51004,-0.06109,0.58067> +<0.50704,-0.04874,0.58164> +<0.49775,-0.03970,0.58227> +<0.49436,-0.02723,0.58354> +<0.49935,-0.01533,0.58353> +<0.51008,-0.00758,0.58417> +<0.51336,0.00439,0.58441> +<0.50926,0.01608,0.58331> +<0.49943,0.02420,0.58167> +<0.49722,0.03692,0.58053> +<0.50502,0.04760,0.57915> +<0.50315,0.06047,0.57734> +<0.49393,0.06924,0.57525> +<0.48751,0.07974,0.57358> +<0.48889,0.09263,0.57070> +<0.49826,0.10169,0.56902> +<0.50012,0.11317,0.56692> +<0.49642,0.12489,0.56350> +<0.48700,0.13174,0.55948> +<0.47616,0.13616,0.55582> +<0.46813,0.14492,0.55187> +<0.46721,0.15648,0.54686> +<0.47350,0.16620,0.54151> +<0.48060,0.17519,0.53713> +<0.48377,0.18726,0.53232> +<0.47924,0.19827,0.52594> +<0.47010,0.20462,0.51919> +<0.45929,0.20508,0.51281> +<0.44835,0.20597,0.50683> +<0.43868,0.21079,0.50018> +<0.43207,0.21896,0.49302> +<0.43071,0.22900,0.48522> +<0.43335,0.23836,0.47743> +<0.43884,0.24689,0.46986> +<0.44240,0.25637,0.46205> +<0.44284,0.26625,0.45385> +<0.43985,0.27518,0.44520> +<0.43409,0.28211,0.43619> +<0.42669,0.28669,0.42699> +<0.41847,0.28906,0.41775> +<0.40996,0.29069,0.40860> +<0.40192,0.29387,0.39944> +<0.39473,0.29870,0.39022> +<0.38868,0.30490,0.38097> +<0.38374,0.31205,0.37162> +<0.37960,0.31959,0.36228> +<0.37592,0.32741,0.35286> +<0.37219,0.33519,0.34357> +<0.36771,0.34277,0.33436> +<0.36242,0.34978,0.32532> +<0.35628,0.35636,0.31633> +} +normal_vectors { +nx*ny, +<-0.727,-0.685,0.031>, +<-0.784,-0.621,-0.005>, +<-0.847,-0.531,-0.014>, +<-0.889,-0.457,-0.019>, +<-0.897,-0.442,-0.024>, +<-0.867,-0.498,-0.014>, +<-0.810,-0.586,-0.009>, +<-0.719,-0.695,-0.018>, +<-0.590,-0.807,-0.035>, +<-0.442,-0.896,-0.047>, +<-0.319,-0.947,-0.038>, +<-0.328,-0.944,0.018>, +<-0.512,-0.858,0.046>, +<-0.706,-0.702,0.090>, +<-0.882,-0.450,0.138>, +<-0.975,-0.137,0.172>, +<-0.969,0.175,0.176>, +<-0.919,0.378,0.107>, +<-0.970,0.239,0.033>, +<-0.989,-0.131,-0.074>, +<-0.833,-0.525,-0.173>, +<-0.516,-0.831,-0.209>, +<-0.213,-0.957,-0.198>, +<-0.260,-0.961,-0.094>, +<-0.656,-0.755,0.029>, +<-0.939,-0.301,0.168>, +<-0.951,0.227,0.211>, +<-0.864,0.486,0.131>, +<-0.968,0.235,0.081>, +<-0.939,-0.333,-0.083>, +<-0.579,-0.792,-0.193>, +<-0.422,-0.902,-0.087>, +<-0.770,-0.638,0.005>, +<-0.985,-0.080,0.153>, +<-0.864,0.464,0.196>, +<-0.921,0.382,0.083>, +<-0.968,-0.246,-0.047>, +<-0.654,-0.740,-0.156>, +<-0.685,-0.729,0.009>, +<-0.977,-0.141,0.162>, +<-0.862,0.492,0.121>, +<-0.863,0.503,0.045>, +<-0.998,-0.057,0.017>, +<-0.850,-0.526,-0.011>, +<-0.921,-0.387,0.038>, +<-0.940,0.327,0.101>, +<-0.837,0.546,0.040>, +<-0.989,0.140,-0.050>, +<-0.880,-0.474,0.016>, +<-0.844,-0.514,0.154>, +<-0.981,0.103,0.162>, +<-0.711,0.702,0.032>, +<-0.658,0.743,-0.123>, +<-0.964,0.254,-0.084>, +<-0.925,-0.374,0.069>, +<-0.882,-0.431,0.192>, +<-0.981,0.144,0.133>, +<-0.728,0.685,-0.019>, +<-0.453,0.888,-0.081>, +<-0.680,0.714,-0.166>, +<-0.976,0.202,-0.079>, +<-0.926,-0.359,0.116>, +<-0.845,-0.500,0.190>, +<-0.961,-0.146,0.236>, +<-0.899,0.402,0.174>, +<-0.577,0.817,0.010>, +<-0.182,0.979,-0.092>, +<-0.212,0.955,-0.207>, +<-0.550,0.812,-0.194>, +<-0.861,0.486,-0.150>, +<-0.995,0.089,-0.045>, +<-0.960,-0.275,0.049>, +<-0.926,-0.351,0.137>, +<-0.975,-0.128,0.181>, +<-0.967,0.183,0.176>, +<-0.857,0.495,0.142>, +<-0.673,0.735,0.086>, +<-0.482,0.875,0.033>, +<-0.314,0.949,0.006>, +<-0.353,0.934,-0.052>, +<-0.493,0.869,-0.044>, +<-0.637,0.770,-0.026>, +<-0.757,0.653,-0.012>, +<-0.838,0.546,-0.006>, +<-0.886,0.464,-0.012>, +<-0.906,0.422,-0.022>, +<-0.889,0.458,-0.018>, +<-0.837,0.547,-0.014>, +<-0.767,0.642,-0.006>, +<-0.707,0.706,0.032> +<-0.667,-0.745,-0.005>, +<-0.728,-0.684,-0.042>, +<-0.806,-0.591,-0.047>, +<-0.869,-0.493,-0.035>, +<-0.904,-0.427,-0.015>, +<-0.900,-0.435,0.009>, +<-0.859,-0.511,0.027>, +<-0.787,-0.617,0.027>, +<-0.677,-0.736,0.017>, +<-0.537,-0.843,0.002>, +<-0.391,-0.920,-0.018>, +<-0.302,-0.953,-0.021>, +<-0.403,-0.915,-0.026>, +<-0.595,-0.804,0.007>, +<-0.794,-0.606,0.051>, +<-0.942,-0.323,0.087>, +<-0.995,-0.013,0.104>, +<-0.953,0.279,0.119>, +<-0.940,0.335,0.065>, +<-1,0.022,0.014>, +<-0.931,-0.357,-0.081>, +<-0.685,-0.716,-0.135>, +<-0.342,-0.923,-0.174>, +<-0.211,-0.973,-0.088>, +<-0.546,-0.837,-0.037>, +<-0.878,-0.467,0.103>, +<-0.987,0.034,0.157>, +<-0.896,0.418,0.151>, +<-0.944,0.314,0.102>, +<-0.973,-0.225,-0.057>, +<-0.698,-0.697,-0.166>, +<-0.469,-0.880,-0.077>, +<-0.723,-0.691,0>, +<-0.975,-0.166,0.144>, +<-0.907,0.376,0.187>, +<-0.934,0.350,0.075>, +<-0.974,-0.219,-0.062>, +<-0.719,-0.679,-0.146>, +<-0.746,-0.663,0.061>, +<-0.971,-0.174,0.165>, +<-0.892,0.404,0.203>, +<-0.884,0.466,0.033>, +<-0.991,-0.044,-0.129>, +<-0.862,-0.506,-0.017>, +<-0.931,-0.345,0.118>, +<-0.932,0.338,0.130>, +<-0.881,0.473,0.015>, +<-0.984,0.092,-0.152>, +<-0.918,-0.397,-0.011>, +<-0.891,-0.411,0.191>, +<-0.974,0.143,0.175>, +<-0.750,0.658,0.061>, +<-0.750,0.644,-0.149>, +<-0.979,0.191,-0.071>, +<-0.935,-0.350,0.054>, +<-0.925,-0.335,0.181>, +<-0.966,0.227,0.122>, +<-0.684,0.729,-0.031>, +<-0.517,0.849,-0.106>, +<-0.792,0.596,-0.129>, +<-0.993,0.109,-0.040>, +<-0.914,-0.388,0.115>, +<-0.894,-0.407,0.185>, +<-0.985,0.046,0.167>, +<-0.830,0.548,0.100>, +<-0.464,0.884,-0.053>, +<-0.172,0.981,-0.095>, +<-0.367,0.915,-0.171>, +<-0.715,0.687,-0.127>, +<-0.947,0.316,-0.059>, +<-0.997,-0.063,0.037>, +<-0.937,-0.342,0.074>, +<-0.963,-0.239,0.125>, +<-0.993,0.057,0.106>, +<-0.927,0.366,0.086>, +<-0.768,0.638,0.047>, +<-0.569,0.822,0.005>, +<-0.380,0.925,-0.029>, +<-0.320,0.947,-0.029>, +<-0.439,0.898,-0.019>, +<-0.586,0.810,0.002>, +<-0.721,0.693,0.021>, +<-0.820,0.571,0.032>, +<-0.882,0.471,0.026>, +<-0.914,0.405,0.004>, +<-0.907,0.420,-0.018>, +<-0.862,0.506,-0.040>, +<-0.790,0.612,-0.050>, +<-0.707,0.706,-0.043>, +<-0.642,0.767,-0.004> +<-0.573,-0.819,-0.013>, +<-0.639,-0.767,-0.050>, +<-0.730,-0.681,-0.057>, +<-0.818,-0.573,-0.047>, +<-0.887,-0.461,-0.026>, +<-0.924,-0.382,0>, +<-0.917,-0.398,0.018>, +<-0.869,-0.494,0.026>, +<-0.786,-0.618,0.024>, +<-0.663,-0.748,0.011>, +<-0.516,-0.857,-0.006>, +<-0.357,-0.934,-0.032>, +<-0.299,-0.954,-0.030>, +<-0.442,-0.897,-0.011>, +<-0.645,-0.764,0.025>, +<-0.840,-0.539,0.061>, +<-0.966,-0.241,0.091>, +<-0.992,0.055,0.110>, +<-0.948,0.310,0.078>, +<-0.976,0.214,0.040>, +<-0.987,-0.157,-0.041>, +<-0.839,-0.534,-0.105>, +<-0.554,-0.822,-0.134>, +<-0.257,-0.961,-0.099>, +<-0.390,-0.918,-0.066>, +<-0.774,-0.631,0.060>, +<-0.975,-0.177,0.132>, +<-0.943,0.280,0.179>, +<-0.935,0.348,0.069>, +<-0.992,-0.109,-0.057>, +<-0.815,-0.561,-0.146>, +<-0.564,-0.822,-0.084>, +<-0.683,-0.730,0.009>, +<-0.952,-0.266,0.154>, +<-0.947,0.256,0.193>, +<-0.954,0.292,0.065>, +<-0.969,-0.163,-0.185>, +<-0.814,-0.569,-0.113>, +<-0.815,-0.575,0.070>, +<-0.968,-0.163,0.189>, +<-0.928,0.293,0.229>, +<-0.979,0.204,0.015>, +<-0.990,-0.048,-0.134>, +<-0.961,-0.274,-0.018>, +<-0.947,-0.250,0.204>, +<-0.956,0.241,0.169>, +<-0.966,0.260,-0.006>, +<-0.991,0.055,-0.125>, +<-0.983,-0.180,-0.024>, +<-0.940,-0.266,0.212>, +<-0.964,0.159,0.213>, +<-0.831,0.546,0.105>, +<-0.831,0.539,-0.135>, +<-0.970,0.153,-0.191>, +<-0.959,-0.280,0.038>, +<-0.961,-0.202,0.189>, +<-0.942,0.307,0.133>, +<-0.679,0.734,0.004>, +<-0.609,0.782,-0.132>, +<-0.863,0.490,-0.128>, +<-1,0.015,-0.021>, +<-0.917,-0.394,0.066>, +<-0.945,-0.261,0.195>, +<-0.963,0.230,0.141>, +<-0.727,0.683,0.063>, +<-0.336,0.940,-0.059>, +<-0.256,0.959,-0.121>, +<-0.581,0.802,-0.139>, +<-0.860,0.499,-0.108>, +<-0.992,0.122,-0.028>, +<-0.968,-0.246,0.047>, +<-0.951,-0.295,0.091>, +<-0.995,-0.017,0.100>, +<-0.956,0.282,0.082>, +<-0.819,0.572,0.054>, +<-0.621,0.783,0.015>, +<-0.416,0.909,-0.019>, +<-0.310,0.950,-0.031>, +<-0.407,0.913,-0.033>, +<-0.563,0.826,-0.008>, +<-0.709,0.705,0.009>, +<-0.822,0.570,0.023>, +<-0.894,0.448,0.025>, +<-0.932,0.363,0.015>, +<-0.927,0.375,-0.006>, +<-0.879,0.476,-0.035>, +<-0.803,0.594,-0.053>, +<-0.707,0.704,-0.061>, +<-0.612,0.789,-0.051>, +<-0.546,0.838,-0.012> +<-0.478,-0.878,-0.017>, +<-0.535,-0.844,-0.043>, +<-0.628,-0.777,-0.052>, +<-0.734,-0.677,-0.050>, +<-0.830,-0.556,-0.040>, +<-0.903,-0.430,-0.022>, +<-0.940,-0.341,-0.002>, +<-0.932,-0.363,0.012>, +<-0.880,-0.475,0.016>, +<-0.789,-0.615,0.011>, +<-0.654,-0.756,0.001>, +<-0.497,-0.868,-0.013>, +<-0.330,-0.944,-0.020>, +<-0.307,-0.952,-0.010>, +<-0.477,-0.879,0.012>, +<-0.686,-0.726,0.045>, +<-0.873,-0.480,0.080>, +<-0.979,-0.182,0.094>, +<-0.989,0.107,0.099>, +<-0.961,0.274,0.030>, +<-0.998,0.057,-0.003>, +<-0.946,-0.316,-0.076>, +<-0.737,-0.666,-0.114>, +<-0.425,-0.894,-0.139>, +<-0.318,-0.947,-0.032>, +<-0.638,-0.769,0.037>, +<-0.917,-0.379,0.125>, +<-0.982,0.069,0.174>, +<-0.953,0.299,0.046>, +<-1,0.004,-0.042>, +<-0.895,-0.428,-0.123>, +<-0.694,-0.698,-0.174>, +<-0.692,-0.721,0.043>, +<-0.925,-0.343,0.161>, +<-0.971,0.113,0.211>, +<-0.995,0.094,0.022>, +<-0.978,-0.153,-0.142>, +<-0.923,-0.381,-0.049>, +<-0.865,-0.484,0.131>, +<-0.946,-0.165,0.279>, +<-0.943,0.170,0.287>, +<-0.993,0.120,0.019>, +<-0.998,-0.061,0>, +<-0.987,-0.162,-0.008>, +<-0.964,-0.153,0.218>, +<-0.968,0.133,0.213>, +<-0.985,0.172,0>, +<-0.998,0.059,0>, +<-0.997,-0.081,0.012>, +<-0.960,-0.122,0.253>, +<-0.940,0.187,0.285>, +<-0.886,0.438,0.148>, +<-0.948,0.316,-0.033>, +<-0.980,0.136,-0.144>, +<-0.998,-0.070,-0.002>, +<-0.977,-0.062,0.203>, +<-0.908,0.387,0.162>, +<-0.704,0.709,0.034>, +<-0.733,0.647,-0.209>, +<-0.921,0.370,-0.122>, +<-0.995,-0.097,-0.002>, +<-0.943,-0.327,0.059>, +<-0.985,-0.031,0.172>, +<-0.894,0.432,0.122>, +<-0.594,0.804,0.018>, +<-0.298,0.954,-0.028>, +<-0.455,0.879,-0.145>, +<-0.761,0.639,-0.115>, +<-0.955,0.287,-0.074>, +<-0.996,-0.093,0.003>, +<-0.959,-0.282,0.036>, +<-0.992,-0.081,0.100>, +<-0.973,0.215,0.084>, +<-0.853,0.517,0.063>, +<-0.660,0.751,0.032>, +<-0.449,0.894,0.003>, +<-0.311,0.950,-0.017>, +<-0.379,0.925,-0.024>, +<-0.546,0.837,-0.013>, +<-0.700,0.714,0>, +<-0.825,0.566,0.009>, +<-0.904,0.428,0.015>, +<-0.945,0.327,0.011>, +<-0.942,0.337,-0.003>, +<-0.893,0.449,-0.025>, +<-0.814,0.580,-0.045>, +<-0.709,0.703,-0.055>, +<-0.598,0.799,-0.056>, +<-0.505,0.862,-0.044>, +<-0.451,0.892,-0.016> +<-0.419,-0.908,-0.021>, +<-0.439,-0.898,-0.025>, +<-0.513,-0.858,-0.040>, +<-0.620,-0.783,-0.045>, +<-0.738,-0.673,-0.041>, +<-0.841,-0.540,-0.028>, +<-0.914,-0.405,-0.012>, +<-0.949,-0.315,0.002>, +<-0.939,-0.343,0.009>, +<-0.885,-0.466,0.010>, +<-0.787,-0.617,0.003>, +<-0.644,-0.765,-0.006>, +<-0.482,-0.876,-0.017>, +<-0.328,-0.944,-0.015>, +<-0.339,-0.941,0>, +<-0.524,-0.851,0.032>, +<-0.728,-0.682,0.065>, +<-0.901,-0.425,0.086>, +<-0.985,-0.147,0.090>, +<-0.990,0.127,0.064>, +<-0.984,0.179,0.004>, +<-0.993,-0.109,-0.049>, +<-0.880,-0.464,-0.104>, +<-0.650,-0.750,-0.122>, +<-0.406,-0.912,-0.053>, +<-0.508,-0.861,0.014>, +<-0.825,-0.550,0.129>, +<-0.973,-0.157,0.170>, +<-0.985,0.140,0.104>, +<-0.998,0.058,-0.032>, +<-0.913,-0.338,-0.230>, +<-0.813,-0.558,-0.166>, +<-0.786,-0.612,0.088>, +<-0.889,-0.417,0.192>, +<-0.964,-0.055,0.258>, +<-0.998,-0.010,0.061>, +<-0.985,-0.172,0.010>, +<-0.971,-0.238,-0.013>, +<-0.937,-0.306,0.167>, +<-0.950,-0.119,0.290>, +<-0.972,-0.028,0.235>, +<-0.996,-0.090,-0.001>, +<-0.991,-0.072,0.111>, +<-1,-0.039,-0.006>, +<-0.994,-0.014,0.109>, +<-0.992,0.013,0.125>, +<-1,0.035,0.005>, +<-0.998,0.060,-0.003>, +<-0.996,0.086,0.006>, +<-0.986,0.060,0.157>, +<-0.959,0.143,0.244>, +<-0.962,0.247,0.114>, +<-0.979,0.206,-0.006>, +<-0.989,0.147,0.015>, +<-0.997,0.038,0.061>, +<-0.961,0.133,0.244>, +<-0.874,0.436,0.214>, +<-0.833,0.547,0.078>, +<-0.835,0.519,-0.183>, +<-0.920,0.307,-0.245>, +<-0.993,-0.115,0.009>, +<-0.981,-0.152,0.125>, +<-0.965,0.204,0.164>, +<-0.796,0.595,0.115>, +<-0.469,0.883,-0.005>, +<-0.406,0.911,-0.071>, +<-0.675,0.727,-0.127>, +<-0.889,0.445,-0.105>, +<-0.996,0.079,-0.044>, +<-0.980,-0.199,0.007>, +<-0.991,-0.114,0.075>, +<-0.982,0.167,0.089>, +<-0.886,0.456,0.080>, +<-0.702,0.710,0.052>, +<-0.493,0.870,0.016>, +<-0.335,0.942,-0.007>, +<-0.372,0.928,-0.019>, +<-0.534,0.845,-0.019>, +<-0.691,0.723,-0.008>, +<-0.823,0.568,0.002>, +<-0.908,0.420,0.009>, +<-0.951,0.310,0.009>, +<-0.949,0.314,0.003>, +<-0.904,0.428,-0.011>, +<-0.823,0.567,-0.027>, +<-0.711,0.702,-0.042>, +<-0.587,0.808,-0.047>, +<-0.478,0.878,-0.039>, +<-0.411,0.911,-0.025>, +<-0.397,0.917,-0.021> +<-0.434,-0.900,-0.019>, +<-0.396,-0.918,-0.005>, +<-0.403,-0.915,-0.016>, +<-0.492,-0.870,-0.030>, +<-0.613,-0.790,-0.032>, +<-0.742,-0.670,-0.025>, +<-0.848,-0.529,-0.015>, +<-0.921,-0.390,-0.003>, +<-0.954,-0.300,0.004>, +<-0.942,-0.335,0.007>, +<-0.886,-0.464,0.003>, +<-0.782,-0.623,-0.006>, +<-0.637,-0.771,-0.017>, +<-0.478,-0.878,-0.022>, +<-0.348,-0.937,-0.009>, +<-0.388,-0.921,0.015>, +<-0.573,-0.818,0.047>, +<-0.767,-0.637,0.080>, +<-0.918,-0.385,0.091>, +<-0.988,-0.133,0.084>, +<-0.995,0.094,0.034>, +<-0.999,0.046,-0.022>, +<-0.959,-0.266,-0.093>, +<-0.811,-0.572,-0.124>, +<-0.600,-0.792,-0.114>, +<-0.515,-0.857,0.003>, +<-0.723,-0.680,0.126>, +<-0.921,-0.340,0.189>, +<-0.985,-0.083,0.153>, +<-0.991,-0.126,-0.048>, +<-0.952,-0.271,-0.145>, +<-0.934,-0.357,-0.016>, +<-0.882,-0.466,0.069>, +<-0.890,-0.393,0.231>, +<-0.955,-0.182,0.234>, +<-0.985,-0.167,0.051>, +<-0.978,-0.210,-0.004>, +<-0.981,-0.195,0.003>, +<-0.976,-0.186,0.111>, +<-0.959,-0.137,0.250>, +<-0.959,-0.148,0.243>, +<-0.942,-0.058,0.330>, +<-0.922,-0.091,0.376>, +<-0.909,-0.132,0.394>, +<-0.913,-0.014,0.408>, +<-0.916,0.019,0.402>, +<-0.922,0.052,0.383>, +<-0.935,0.084,0.345>, +<-0.951,0.115,0.287>, +<-0.968,0.139,0.211>, +<-0.970,0.158,0.186>, +<-0.982,0.175,0.072>, +<-0.981,0.193,-0.001>, +<-0.978,0.207,-0.004>, +<-0.976,0.211,0.059>, +<-0.953,0.240,0.184>, +<-0.909,0.368,0.194>, +<-0.922,0.385,0.050>, +<-0.946,0.324,-0.002>, +<-0.950,0.267,-0.160>, +<-0.997,0.072,-0.035>, +<-0.983,0.061,0.173>, +<-0.904,0.391,0.170>, +<-0.693,0.714,0.106>, +<-0.496,0.868,-0.005>, +<-0.619,0.775,-0.128>, +<-0.823,0.554,-0.129>, +<-0.965,0.243,-0.095>, +<-0.997,-0.073,-0.023>, +<-0.995,-0.092,0.038>, +<-0.986,0.146,0.086>, +<-0.911,0.404,0.088>, +<-0.746,0.662,0.072>, +<-0.542,0.839,0.038>, +<-0.375,0.927,0.006>, +<-0.379,0.925,-0.016>, +<-0.526,0.850,-0.022>, +<-0.683,0.730,-0.016>, +<-0.818,0.575,-0.006>, +<-0.908,0.420,0.002>, +<-0.952,0.306,0.007>, +<-0.953,0.303,0.005>, +<-0.910,0.415,-0.001>, +<-0.829,0.559,-0.012>, +<-0.713,0.700,-0.022>, +<-0.578,0.816,-0.028>, +<-0.454,0.890,-0.028>, +<-0.367,0.930,-0.009>, +<-0.375,0.927,-0.002>, +<-0.421,0.907,-0.018> +<-0.507,-0.862,-0.011>, +<-0.437,-0.899,0.015>, +<-0.354,-0.935,0.009>, +<-0.369,-0.929,-0.009>, +<-0.475,-0.880,-0.018>, +<-0.608,-0.794,-0.017>, +<-0.744,-0.668,-0.012>, +<-0.852,-0.523,-0.004>, +<-0.924,-0.382,0.003>, +<-0.955,-0.297,0.006>, +<-0.941,-0.338,0.002>, +<-0.882,-0.471,-0.008>, +<-0.776,-0.630,-0.020>, +<-0.635,-0.772,-0.028>, +<-0.488,-0.872,-0.024>, +<-0.388,-0.922,-0.002>, +<-0.452,-0.892,0.026>, +<-0.625,-0.778,0.065>, +<-0.799,-0.594,0.090>, +<-0.926,-0.365,0.095>, +<-0.986,-0.146,0.077>, +<-1,0,0.004>, +<-0.991,-0.118,-0.063>, +<-0.909,-0.399,-0.118>, +<-0.771,-0.625,-0.119>, +<-0.674,-0.735,-0.075>, +<-0.697,-0.711,0.098>, +<-0.846,-0.499,0.191>, +<-0.941,-0.283,0.188>, +<-0.971,-0.230,0.063>, +<-0.948,-0.319,0.015>, +<-0.944,-0.329,0>, +<-0.944,-0.327,0.032>, +<-0.939,-0.324,0.113>, +<-0.948,-0.294,0.118>, +<-0.935,-0.298,0.192>, +<-0.882,-0.299,0.364>, +<-0.819,-0.247,0.518>, +<-0.737,-0.157,0.657>, +<-0.643,-0.071,0.762>, +<-0.577,-0.014,0.817>, +<-0.484,-0.002,0.875>, +<-0.451,-0.005,0.893>, +<-0.412,-0.006,0.911>, +<-0.404,-0.004,0.915>, +<-0.409,-0.004,0.912>, +<-0.428,-0.006,0.904>, +<-0.461,-0.006,0.887>, +<-0.512,0.005,0.859>, +<-0.581,0.033,0.813>, +<-0.666,0.087,0.740>, +<-0.752,0.166,0.638>, +<-0.830,0.248,0.500>, +<-0.889,0.295,0.351>, +<-0.939,0.292,0.182>, +<-0.956,0.286,0.071>, +<-0.923,0.340,0.182>, +<-0.952,0.307,0.003>, +<-0.945,0.328,0>, +<-0.957,0.289,0.026>, +<-0.979,0.193,0.074>, +<-0.936,0.289,0.203>, +<-0.835,0.522,0.172>, +<-0.667,0.739,0.091>, +<-0.677,0.730,-0.090>, +<-0.784,0.608,-0.124>, +<-0.916,0.383,-0.116>, +<-0.993,0.095,-0.066>, +<-1,-0.003,0.004>, +<-0.985,0.156,0.078>, +<-0.922,0.374,0.098>, +<-0.785,0.613,0.090>, +<-0.597,0.800,0.058>, +<-0.432,0.902,0.022>, +<-0.407,0.913,-0.007>, +<-0.528,0.849,-0.024>, +<-0.677,0.736,-0.023>, +<-0.811,0.585,-0.014>, +<-0.903,0.429,-0.004>, +<-0.950,0.312,0.004>, +<-0.953,0.302,0.007>, +<-0.913,0.408,0.005>, +<-0.833,0.554,0>, +<-0.715,0.699,-0.008>, +<-0.573,0.820,-0.014>, +<-0.437,0.900,-0.013>, +<-0.330,0.944,-0.007>, +<-0.329,0.944,0.014>, +<-0.427,0.904,0.024>, +<-0.503,0.864,-0.009> +<-0.605,-0.796,-0.015>, +<-0.528,-0.849,0.027>, +<-0.409,-0.912,0.024>, +<-0.316,-0.949,0.007>, +<-0.345,-0.939,-0.003>, +<-0.463,-0.886,-0.007>, +<-0.605,-0.796,-0.007>, +<-0.745,-0.667,-0.002>, +<-0.854,-0.520,0.004>, +<-0.925,-0.381,0.008>, +<-0.952,-0.305,0.004>, +<-0.936,-0.352,-0.005>, +<-0.875,-0.484,-0.020>, +<-0.770,-0.638,-0.032>, +<-0.638,-0.770,-0.035>, +<-0.511,-0.860,-0.024>, +<-0.446,-0.895,0.005>, +<-0.523,-0.851,0.041>, +<-0.675,-0.733,0.079>, +<-0.824,-0.557,0.104>, +<-0.927,-0.363,0.100>, +<-0.978,-0.200,0.057>, +<-0.989,-0.148,-0.016>, +<-0.959,-0.264,-0.107>, +<-0.852,-0.486,-0.195>, +<-0.801,-0.589,-0.106>, +<-0.815,-0.573,0.086>, +<-0.840,-0.514,0.176>, +<-0.904,-0.394,0.166>, +<-0.934,-0.355,0.047>, +<-0.934,-0.357,-0.005>, +<-0.937,-0.349,0.018>, +<-0.901,-0.391,0.187>, +<-0.824,-0.379,0.420>, +<-0.726,-0.255,0.639>, +<-0.578,-0.087,0.811>, +<-0.420,0.006,0.908>, +<-0.270,0.018,0.963>, +<-0.143,0.008,0.990>, +<-0.057,0.001,0.998>, +<-0.011,0,1>, +<0.004,0.002,1>, +<0.006,-0.002,1>, +<0.006,-0.001,1>, +<0.006,0,1>, +<0.006,0,1>, +<0.006,0,1>, +<0.006,0,1>, +<-0.001,0,1>, +<-0.024,0,1>, +<-0.076,-0.003,0.997>, +<-0.164,-0.007,0.986>, +<-0.289,-0.016,0.957>, +<-0.434,-0.002,0.901>, +<-0.587,0.093,0.804>, +<-0.712,0.364,0.600>, +<-0.833,0.379,0.404>, +<-0.940,0.248,0.233>, +<-0.938,0.347,0.019>, +<-0.935,0.354,-0.005>, +<-0.939,0.331,0.090>, +<-0.904,0.372,0.211>, +<-0.813,0.555,0.177>, +<-0.798,0.599,0.071>, +<-0.812,0.574,-0.105>, +<-0.856,0.479,-0.197>, +<-0.963,0.251,-0.097>, +<-0.990,0.140,-0.011>, +<-0.976,0.210,0.062>, +<-0.923,0.371,0.100>, +<-0.815,0.570,0.104>, +<-0.653,0.753,0.078>, +<-0.502,0.864,0.036>, +<-0.456,0.890,0>, +<-0.543,0.839,-0.026>, +<-0.674,0.738,-0.033>, +<-0.802,0.597,-0.026>, +<-0.895,0.445,-0.012>, +<-0.945,0.328,0.002>, +<-0.951,0.310,0.008>, +<-0.914,0.406,0.010>, +<-0.835,0.550,0.007>, +<-0.716,0.698,0.002>, +<-0.570,0.821,-0.002>, +<-0.426,0.905,-0.004>, +<-0.309,0.951,0>, +<-0.291,0.957,0.009>, +<-0.399,0.917,0.024>, +<-0.529,0.848,0.033>, +<-0.615,0.788,-0.012> +<-0.724,-0.690,-0.028>, +<-0.644,-0.765,0.023>, +<-0.522,-0.853,0.026>, +<-0.382,-0.924,0.016>, +<-0.293,-0.956,0.007>, +<-0.330,-0.944,0.002>, +<-0.455,-0.890,0>, +<-0.603,-0.798,0.004>, +<-0.745,-0.667,0.010>, +<-0.853,-0.522,0.014>, +<-0.921,-0.390,0.013>, +<-0.945,-0.328,0.003>, +<-0.926,-0.378,-0.013>, +<-0.863,-0.505,-0.030>, +<-0.763,-0.645,-0.042>, +<-0.648,-0.760,-0.042>, +<-0.549,-0.835,-0.023>, +<-0.520,-0.854,0.014>, +<-0.597,-0.800,0.058>, +<-0.723,-0.684,0.098>, +<-0.840,-0.530,0.114>, +<-0.918,-0.384,0.100>, +<-0.946,-0.323,0.023>, +<-0.926,-0.369,-0.076>, +<-0.905,-0.412,-0.104>, +<-0.884,-0.467,0>, +<-0.884,-0.467,0.035>, +<-0.884,-0.463,0.066>, +<-0.878,-0.468,0.102>, +<-0.908,-0.417,0.038>, +<-0.837,-0.468,0.284>, +<-0.739,-0.355,0.572>, +<-0.564,-0.131,0.815>, +<-0.352,0.008,0.936>, +<-0.152,0.012,0.988>, +<-0.026,0.002,1>, +<0.007,0,1>, +<0.002,0,1>, +z,z,<0.002,0,1>, +z,z,z,<0.001,0,1>, +ZS(7) +<0.003,0,1>, +<0.008,0,1>, +<-0.027,-0.004,1>, +<-0.158,-0.014,0.987>, +<-0.414,-0.017,0.910>, +<-0.564,0.126,0.816>, +<-0.739,0.351,0.575>, +<-0.836,0.465,0.290>, +<-0.907,0.418,0.045>, +<-0.845,0.502,0.187>, +<-0.873,0.477,0.097>, +<-0.887,0.462,0.027>, +<-0.885,0.465,0>, +<-0.907,0.409,-0.105>, +<-0.929,0.363,-0.074>, +<-0.945,0.324,0.032>, +<-0.914,0.391,0.104>, +<-0.834,0.539,0.117>, +<-0.708,0.700,0.097>, +<-0.582,0.812,0.054>, +<-0.525,0.851,0.009>, +<-0.574,0.818,-0.027>, +<-0.678,0.734,-0.041>, +<-0.791,0.611,-0.038>, +<-0.882,0.470,-0.022>, +<-0.935,0.356,-0.003>, +<-0.944,0.329,0.011>, +<-0.911,0.412,0.017>, +<-0.836,0.549,0.017>, +<-0.719,0.695,0.011>, +<-0.572,0.820,0.006>, +<-0.423,0.906,0.003>, +<-0.298,0.954,0.003>, +<-0.273,0.962,0.007>, +<-0.374,0.927,0.013>, +<-0.523,0.852,0.022>, +<-0.657,0.754,0.023>, +<-0.741,0.671,-0.028> +<-0.835,-0.548,-0.045>, +<-0.769,-0.639,0.007>, +<-0.655,-0.756,0.017>, +<-0.511,-0.859,0.015>, +<-0.368,-0.930,0.010>, +<-0.283,-0.959,0.006>, +<-0.325,-0.946,0.004>, +<-0.454,-0.891,0.008>, +<-0.603,-0.798,0.016>, +<-0.743,-0.669,0.022>, +<-0.848,-0.530,0.024>, +<-0.911,-0.412,0.017>, +<-0.931,-0.364,0.002>, +<-0.909,-0.416,-0.018>, +<-0.847,-0.531,-0.040>, +<-0.757,-0.651,-0.049>, +<-0.668,-0.743,-0.044>, +<-0.604,-0.797,-0.016>, +<-0.604,-0.797,0.029>, +<-0.672,-0.736,0.077>, +<-0.768,-0.631,0.111>, +<-0.851,-0.513,0.110>, +<-0.901,-0.427,0.072>, +<-0.891,-0.452,0.047>, +<-0.874,-0.486,0.009>, +<-0.877,-0.480,-0.002>, +<-0.840,-0.529,0.124>, +<-0.918,-0.392,0.052>, +<-0.808,-0.515,0.285>, +<-0.655,-0.473,0.589>, +<-0.459,-0.084,0.884>, +<-0.204,0.022,0.979>, +<-0.021,0.004,1>, +<0.006,0,1>, +<0.001,0,1>, +ZS(19) +<0.001,-0.001,1>, +<0.004,-0.001,1>, +<0.009,0,1>, +<-0.017,-0.003,1>, +<-0.200,-0.019,0.980>, +<-0.452,0.080,0.889>, +<-0.663,0.417,0.622>, +<-0.781,0.536,0.322>, +<-0.952,0.280,0.126>, +<-0.802,0.559,0.212>, +<-0.879,0.477,-0.003>, +<-0.877,0.481,0.010>, +<-0.892,0.451,0.046>, +<-0.899,0.432,0.069>, +<-0.847,0.521,0.108>, +<-0.759,0.642,0.110>, +<-0.665,0.743,0.073>, +<-0.607,0.794,0.021>, +<-0.622,0.783,-0.024>, +<-0.691,0.721,-0.047>, +<-0.781,0.623,-0.047>, +<-0.864,0.502,-0.034>, +<-0.918,0.397,-0.011>, +<-0.932,0.362,0.010>, +<-0.904,0.427,0.023>, +<-0.833,0.552,0.026>, +<-0.720,0.693,0.022>, +<-0.575,0.818,0.014>, +<-0.425,0.905,0.008>, +<-0.297,0.955,0.004>, +<-0.268,0.963,0.004>, +<-0.366,0.931,0.007>, +<-0.515,0.857,0.008>, +<-0.666,0.746,0.007>, +<-0.786,0.618,0.002>, +<-0.854,0.517,-0.053> +<-0.917,-0.394,-0.063>, +<-0.872,-0.489,-0.013>, +<-0.788,-0.616,0>, +<-0.661,-0.750,0.005>, +<-0.511,-0.860,0.004>, +<-0.366,-0.931,0.003>, +<-0.285,-0.958,0.003>, +<-0.329,-0.944,0.008>, +<-0.459,-0.888,0.019>, +<-0.606,-0.795,0.029>, +<-0.739,-0.672,0.036>, +<-0.837,-0.546,0.035>, +<-0.894,-0.448,0.023>, +<-0.910,-0.416,0.002>, +<-0.885,-0.466,-0.024>, +<-0.826,-0.562,-0.047>, +<-0.755,-0.653,-0.055>, +<-0.697,-0.716,-0.040>, +<-0.668,-0.744,-0.002>, +<-0.684,-0.728,0.045>, +<-0.739,-0.670,0.079>, +<-0.796,-0.596,0.103>, +<-0.850,-0.513,0.119>, +<-0.872,-0.486,0.050>, +<-0.860,-0.510,-0.005>, +<-0.955,-0.271,0.122>, +<-0.807,-0.559,0.192>, +<-0.684,-0.437,0.583>, +<-0.565,-0.086,0.820>, +<-0.144,0.022,0.989>, +<0.010,0.005,1>, +<0.003,0.001,1>, +ZS(23) +<0.001,0,1>, +<0.002,0,1>, +<0.002,0,1>, +<0.004,0,1>, +<0.010,-0.003,1>, +<-0.135,-0.014,0.991>, +<-0.549,0.073,0.832>, +<-0.654,0.527,0.543>, +<-0.802,0.555,0.219>, +<-0.934,0.351,0.072>, +<-0.860,0.511,-0.006>, +<-0.873,0.486,0.054>, +<-0.849,0.515,0.117>, +<-0.790,0.605,0.096>, +<-0.736,0.673,0.070>, +<-0.689,0.724,0.038>, +<-0.680,0.733,-0.010>, +<-0.713,0.700,-0.046>, +<-0.773,0.632,-0.057>, +<-0.841,0.539,-0.042>, +<-0.894,0.449,-0.016>, +<-0.913,0.409,0.009>, +<-0.891,0.453,0.028>, +<-0.827,0.561,0.037>, +<-0.721,0.692,0.033>, +<-0.581,0.814,0.025>, +<-0.432,0.902,0.014>, +<-0.305,0.952,0.005>, +<-0.272,0.962,0.001>, +<-0.365,0.931,0>, +<-0.515,0.857,0>, +<-0.671,0.741,0>, +<-0.802,0.597,-0.010>, +<-0.889,0.458,-0.019>, +<-0.935,0.346,-0.074> +<-0.955,-0.297,-0.022>, +<-0.940,-0.339,-0.032>, +<-0.890,-0.456,-0.025>, +<-0.801,-0.598,-0.010>, +<-0.672,-0.741,-0.007>, +<-0.518,-0.855,-0.007>, +<-0.374,-0.927,-0.004>, +<-0.301,-0.954,0.002>, +<-0.349,-0.937,0.013>, +<-0.474,-0.880,0.028>, +<-0.613,-0.789,0.040>, +<-0.735,-0.676,0.047>, +<-0.822,-0.568,0.044>, +<-0.870,-0.493,0.027>, +<-0.878,-0.479,0.001>, +<-0.851,-0.524,-0.028>, +<-0.803,-0.594,-0.046>, +<-0.757,-0.652,-0.043>, +<-0.744,-0.667,-0.042>, +<-0.729,-0.684,0.005>, +<-0.752,-0.657,0.058>, +<-0.798,-0.595,0.097>, +<-0.820,-0.568,0.069>, +<-0.842,-0.539,-0.009>, +<-0.832,-0.554,0.023>, +<-0.736,-0.521,0.433>, +<-0.487,-0.259,0.834>, +<-0.182,0.017,0.983>, +<0.017,0.005,1>, +<0.006,0.001,1>, +<0.002,0.001,1>, +ZS(28) +<0.001,0,1>, +<0.004,-0.036,1>, +<0.009,-0.002,1>, +<-0.157,0.026,0.987>, +<-0.504,0.217,0.836>, +<-0.738,0.503,0.450>, +<-0.829,0.558,0.034>, +<-0.843,0.538,-0.010>, +<-0.818,0.572,0.066>, +<-0.797,0.597,0.089>, +<-0.758,0.651,0.049>, +<-0.737,0.676,-0.005>, +<-0.753,0.656,-0.047>, +<-0.769,0.638,-0.045>, +<-0.815,0.578,-0.044>, +<-0.860,0.510,-0.022>, +<-0.883,0.469,0.009>, +<-0.870,0.492,0.034>, +<-0.816,0.577,0.047>, +<-0.720,0.692,0.047>, +<-0.590,0.806,0.036>, +<-0.446,0.895,0.022>, +<-0.323,0.946,0.007>, +<-0.288,0.958,-0.002>, +<-0.374,0.927,-0.007>, +<-0.521,0.854,-0.008>, +<-0.679,0.734,-0.011>, +<-0.812,0.584,-0.014>, +<-0.901,0.432,-0.029>, +<-0.955,0.294,-0.036>, +<-0.972,0.232,-0.030> +<-0.913,-0.407,0.017>, +<-0.945,-0.324,-0.031>, +<-0.950,-0.308,-0.038>, +<-0.903,-0.428,-0.025>, +<-0.812,-0.584,-0.019>, +<-0.682,-0.731,-0.016>, +<-0.529,-0.848,-0.016>, +<-0.393,-0.920,-0.010>, +<-0.331,-0.944,0>, +<-0.381,-0.924,0.016>, +<-0.497,-0.867,0.035>, +<-0.624,-0.780,0.050>, +<-0.731,-0.680,0.057>, +<-0.803,-0.594,0.050>, +<-0.839,-0.544,0.029>, +<-0.840,-0.543,0>, +<-0.816,-0.578,-0.021>, +<-0.776,-0.628,-0.063>, +<-0.766,-0.642,-0.045>, +<-0.783,-0.622,0.007>, +<-0.781,-0.624,0.028>, +<-0.797,-0.603,0.021>, +<-0.824,-0.567,-0.015>, +<-0.774,-0.614,0.153>, +<-0.641,-0.428,0.637>, +<-0.332,-0.094,0.938>, +<-0.001,0.013,1>, +<0.007,0.004,1>, +<0.002,0.001,1>, +<0.001,0,1>, +ZS(31) +<0.035,0.001,1>, +<0.002,-0.004,1>, +<0.002,-0.013,1>, +<-0.310,0.081,0.947>, +<-0.631,0.420,0.653>, +<-0.774,0.610,0.169>, +<-0.825,0.565,-0.015>, +<-0.801,0.598,0.016>, +<-0.785,0.618,0.023>, +<-0.788,0.616,0.002>, +<-0.771,0.635,-0.048>, +<-0.781,0.621,-0.060>, +<-0.821,0.571,-0.018>, +<-0.844,0.536,0.008>, +<-0.841,0.540,0.037>, +<-0.799,0.598,0.055>, +<-0.718,0.693,0.059>, +<-0.603,0.796,0.049>, +<-0.471,0.881,0.031>, +<-0.354,0.935,0.010>, +<-0.317,0.948,-0.006>, +<-0.392,0.920,-0.016>, +<-0.533,0.846,-0.020>, +<-0.688,0.726,-0.018>, +<-0.819,0.573,-0.021>, +<-0.912,0.409,-0.028>, +<-0.962,0.270,-0.042>, +<-0.965,0.262,-0.029>, +<-0.941,0.336,0.025> +<-0.790,-0.609,0.065>, +<-0.866,-0.500,-0.013>, +<-0.937,-0.348,-0.027>, +<-0.954,-0.298,-0.019>, +<-0.910,-0.414,-0.025>, +<-0.817,-0.576,-0.024>, +<-0.689,-0.724,-0.025>, +<-0.543,-0.839,-0.025>, +<-0.421,-0.907,-0.019>, +<-0.377,-0.926,-0.004>, +<-0.426,-0.904,0.017>, +<-0.530,-0.847,0.040>, +<-0.639,-0.767,0.057>, +<-0.725,-0.686,0.060>, +<-0.780,-0.624,0.049>, +<-0.804,-0.595,0.028>, +<-0.793,-0.609,-0.007>, +<-0.776,-0.631,-0.026>, +<-0.765,-0.643,0>, +<-0.778,-0.629,-0.003>, +<-0.790,-0.613,-0.006>, +<-0.803,-0.596,-0.021>, +<-0.722,-0.612,0.323>, +<-0.517,-0.345,0.784>, +<-0.146,-0.004,0.989>, +<0.014,0.006,1>, +<0.004,0.001,1>, +<0.002,0.001,1>, +ZS(34) +<0,-0.001,1>, +<0.003,-0.001,1>, +<0.013,-0.006,1>, +<-0.128,0,0.992>, +<-0.506,0.336,0.794>, +<-0.720,0.606,0.338>, +<-0.803,0.595,-0.022>, +<-0.791,0.612,-0.006>, +<-0.779,0.627,-0.003>, +<-0.767,0.642,0>, +<-0.779,0.627,-0.021>, +<-0.797,0.604,0>, +<-0.807,0.590,0.036>, +<-0.779,0.624,0.059>, +<-0.716,0.695,0.065>, +<-0.620,0.783,0.059>, +<-0.506,0.862,0.039>, +<-0.401,0.916,0.013>, +<-0.360,0.933,-0.009>, +<-0.421,0.907,-0.024>, +<-0.550,0.835,-0.031>, +<-0.697,0.716,-0.031>, +<-0.825,0.564,-0.027>, +<-0.918,0.396,-0.026>, +<-0.965,0.260,-0.020>, +<-0.956,0.292,-0.027>, +<-0.897,0.441,-0.013>, +<-0.830,0.553,0.073> +<-0.576,-0.808,0.127>, +<-0.707,-0.706,0.037>, +<-0.833,-0.554,0.011>, +<-0.924,-0.382,-0.003>, +<-0.948,-0.319,-0.010>, +<-0.909,-0.416,-0.020>, +<-0.817,-0.577,-0.029>, +<-0.693,-0.720,-0.035>, +<-0.560,-0.828,-0.036>, +<-0.460,-0.888,-0.028>, +<-0.432,-0.902,-0.008>, +<-0.481,-0.876,0.018>, +<-0.568,-0.822,0.044>, +<-0.653,-0.755,0.059>, +<-0.718,-0.694,0.059>, +<-0.757,-0.652,0.043>, +<-0.770,-0.637,0.024>, +<-0.754,-0.656,0.014>, +<-0.754,-0.657,-0.003>, +<-0.703,-0.706,0.086>, +<-0.771,-0.637,-0.013>, +<-0.680,-0.569,0.462>, +<-0.403,-0.264,0.876>, +<-0.021,0.020,1>, +<0.007,0.004,1>, +<0.002,0.001,1>, +<0.001,0,1>, +ZS(36) +<0.001,0,1>, +<0.002,-0.001,1>, +<0.007,-0.004,1>, +<-0.015,-0.020,1>, +<-0.394,0.256,0.883>, +<-0.676,0.565,0.473>, +<-0.770,0.637,-0.010>, +<-0.700,0.709,0.091>, +<-0.755,0.655,-0.003>, +<-0.758,0.652,0.017>, +<-0.773,0.634,0.032>, +<-0.757,0.651,0.050>, +<-0.713,0.698,0.064>, +<-0.640,0.766,0.060>, +<-0.549,0.835,0.043>, +<-0.462,0.887,0.016>, +<-0.418,0.908,-0.012>, +<-0.459,0.888,-0.033>, +<-0.570,0.821,-0.041>, +<-0.704,0.709,-0.039>, +<-0.826,0.562,-0.034>, +<-0.918,0.397,-0.025>, +<-0.960,0.281,-0.012>, +<-0.945,0.328,-0.005>, +<-0.865,0.501,0.008>, +<-0.755,0.655,0.037>, +<-0.632,0.763,0.136> +<-0.270,-0.947,0.174>, +<-0.451,-0.889,0.082>, +<-0.646,-0.762,0.051>, +<-0.801,-0.598,0.030>, +<-0.901,-0.433,0.011>, +<-0.935,-0.354,-0.001>, +<-0.901,-0.434,-0.018>, +<-0.810,-0.586,-0.034>, +<-0.694,-0.719,-0.044>, +<-0.580,-0.813,-0.046>, +<-0.507,-0.861,-0.035>, +<-0.497,-0.867,-0.012>, +<-0.542,-0.840,0.019>, +<-0.606,-0.794,0.042>, +<-0.667,-0.744,0.049>, +<-0.712,-0.701,0.047>, +<-0.732,-0.680,0.047>, +<-0.743,-0.669,0.013>, +<-0.806,-0.586,0.077>, +<-0.740,-0.673,0.019>, +<-0.594,-0.627,0.504>, +<-0.307,-0.183,0.934>, +<0.019,0.014,1>, +<0.005,0.004,1>, +<0.002,0.002,1>, +ZS(40) +<0.002,-0.002,1>, +<0.005,-0.004,1>, +<0.019,-0.014,1>, +<-0.299,0.171,0.939>, +<-0.586,0.630,0.509>, +<-0.737,0.675,0.030>, +<-0.813,0.576,0.084>, +<-0.745,0.667,0.013>, +<-0.733,0.678,0.051>, +<-0.711,0.701,0.054>, +<-0.662,0.748,0.054>, +<-0.595,0.802,0.041>, +<-0.529,0.849,0.014>, +<-0.489,0.872,-0.018>, +<-0.507,0.861,-0.042>, +<-0.590,0.806,-0.051>, +<-0.707,0.706,-0.048>, +<-0.820,0.571,-0.037>, +<-0.909,0.416,-0.021>, +<-0.947,0.321,-0.002>, +<-0.923,0.385,0.013>, +<-0.834,0.550,0.031>, +<-0.695,0.718,0.049>, +<-0.511,0.856,0.080>, +<-0.330,0.927,0.179> +<0.054,-0.980,0.192>, +<-0.135,-0.984,0.112>, +<-0.365,-0.927,0.088>, +<-0.590,-0.804,0.065>, +<-0.762,-0.646,0.043>, +<-0.873,-0.487,0.025>, +<-0.913,-0.407,0.008>, +<-0.881,-0.472,-0.014>, +<-0.794,-0.607,-0.036>, +<-0.688,-0.723,-0.051>, +<-0.601,-0.798,-0.054>, +<-0.557,-0.830,-0.037>, +<-0.561,-0.828,-0.008>, +<-0.602,-0.798,0.010>, +<-0.637,-0.770,0.036>, +<-0.683,-0.729,0.053>, +<-0.708,-0.705,0.031>, +<-0.719,-0.695,-0.010>, +<-0.721,-0.691,0.050>, +<-0.662,-0.494,0.564>, +<-0.211,-0.127,0.969>, +<0.016,0.011,1>, +<0.004,0.003,1>, +<0.002,0.002,1>, +ZS(42) +<0.002,-0.002,1>, +<0.004,-0.003,1>, +<0.016,-0.011,1>, +<-0.199,0.109,0.974>, +<-0.665,0.477,0.574>, +<-0.719,0.692,0.070>, +<-0.720,0.694,-0.010>, +<-0.709,0.704,0.031>, +<-0.683,0.729,0.054>, +<-0.635,0.772,0.037>, +<-0.598,0.802,0.006>, +<-0.557,0.830,-0.014>, +<-0.558,0.829,-0.044>, +<-0.607,0.792,-0.061>, +<-0.700,0.712,-0.055>, +<-0.805,0.592,-0.038>, +<-0.890,0.456,-0.014>, +<-0.924,0.383,0.011>, +<-0.891,0.453,0.029>, +<-0.794,0.606,0.050>, +<-0.640,0.765,0.070>, +<-0.426,0.901,0.088>, +<-0.194,0.975,0.109>, +<0,0.981,0.194> +<0.326,-0.929,0.176>, +<0.169,-0.977,0.128>, +<-0.056,-0.993,0.103>, +<-0.293,-0.952,0.086>, +<-0.534,-0.843,0.072>, +<-0.720,-0.691,0.061>, +<-0.836,-0.547,0.042>, +<-0.879,-0.477,0.022>, +<-0.847,-0.531,-0.004>, +<-0.764,-0.644,-0.035>, +<-0.677,-0.734,-0.051>, +<-0.618,-0.784,-0.045>, +<-0.614,-0.788,-0.053>, +<-0.624,-0.781,-0.012>, +<-0.649,-0.760,0.020>, +<-0.665,-0.747,0.015>, +<-0.694,-0.720,-0.010>, +<-0.706,-0.706,0.061>, +<-0.548,-0.527,0.650>, +<-0.143,-0.108,0.984>, +<0.012,0.010,1>, +<0.003,0.002,1>, +<0.002,0,1>, +ZS(44) +<0.002,0,1>, +<0.003,-0.002,1>, +<0.012,-0.010,1>, +<-0.125,0.087,0.988>, +<-0.534,0.511,0.674>, +<-0.704,0.705,0.087>, +<-0.695,0.719,-0.010>, +<-0.667,0.745,0.015>, +<-0.651,0.759,0.020>, +<-0.624,0.781,-0.019>, +<-0.615,0.786,-0.065>, +<-0.620,0.783,-0.050>, +<-0.683,0.728,-0.055>, +<-0.774,0.632,-0.036>, +<-0.855,0.518,-0.003>, +<-0.887,0.461,0.024>, +<-0.849,0.526,0.049>, +<-0.746,0.663,0.071>, +<-0.578,0.811,0.088>, +<-0.352,0.931,0.097>, +<-0.109,0.988,0.109>, +<0.115,0.986,0.119>, +<0.290,0.940,0.181> +<0.367,-0.929,0.044>, +<0.363,-0.928,0.086>, +<0.246,-0.962,0.118>, +<0.004,-0.995,0.099>, +<-0.239,-0.967,0.087>, +<-0.480,-0.873,0.086>, +<-0.671,-0.737,0.083>, +<-0.788,-0.612,0.067>, +<-0.828,-0.560,0.040>, +<-0.794,-0.608,0.007>, +<-0.722,-0.692,-0.021>, +<-0.641,-0.765,-0.053>, +<-0.629,-0.776,-0.050>, +<-0.642,-0.767,0>, +<-0.655,-0.755,-0.003>, +<-0.574,-0.814,0.086>, +<-0.690,-0.722,0.049>, +<-0.527,-0.549,0.649>, +<-0.113,-0.115,0.987>, +<0.010,0.010,1>, +<0.002,0.003,1>, +<0,0.001,1>, +ZS(46) +<0,-0.001,1>, +<0.002,-0.002,1>, +<0.009,-0.009,1>, +<-0.092,0.089,0.992>, +<-0.509,0.529,0.678>, +<-0.690,0.720,0.077>, +<-0.581,0.810,0.081>, +<-0.657,0.754,-0.003>, +<-0.644,0.765,0>, +<-0.630,0.774,-0.060>, +<-0.640,0.766,-0.060>, +<-0.729,0.685,-0.023>, +<-0.802,0.597,0.008>, +<-0.835,0.549,0.042>, +<-0.798,0.598,0.070>, +<-0.692,0.717,0.089>, +<-0.517,0.850,0.096>, +<-0.289,0.952,0.101>, +<-0.051,0.993,0.104>, +<0.190,0.974,0.124>, +<0.358,0.928,0.102>, +<0.406,0.912,0.064> +<0.021,-1,-0.019>, +<0.170,-0.983,0.064>, +<0.308,-0.950,0.052>, +<0.272,-0.961,0.055>, +<0.050,-0.995,0.089>, +<-0.206,-0.974,0.091>, +<-0.437,-0.894,0.100>, +<-0.620,-0.778,0.103>, +<-0.730,-0.677,0.089>, +<-0.759,-0.648,0.060>, +<-0.726,-0.687,0.027>, +<-0.668,-0.744,-0.014>, +<-0.611,-0.791,-0.004>, +<-0.627,-0.779,-0.003>, +<-0.713,-0.694,0.099>, +<-0.671,-0.741,0.017>, +<-0.486,-0.677,0.552>, +<-0.108,-0.145,0.984>, +<0.010,0.010,1>, +<0.003,0.003,1>, +<0.001,0.001,1>, +ZS(48) +<0.001,-0.001,1>, +<0.002,-0.002,1>, +<0.009,-0.009,1>, +<-0.084,0.113,0.990>, +<-0.472,0.660,0.585>, +<-0.678,0.734,0.039>, +<-0.711,0.698,0.092>, +<-0.629,0.777,-0.002>, +<-0.609,0.793,-0.009>, +<-0.670,0.742,-0.021>, +<-0.735,0.677,0.026>, +<-0.767,0.638,0.060>, +<-0.741,0.666,0.089>, +<-0.640,0.761,0.106>, +<-0.470,0.876,0.107>, +<-0.252,0.963,0.099>, +<-0.019,0.995,0.095>, +<0.230,0.970,0.075>, +<0.337,0.940,0.054>, +<0.275,0.959,0.072>, +<0.144,0.989,0.020> +<-0.373,-0.916,-0.148>, +<-0.216,-0.975,-0.047>, +<-0.028,-1,-0.002>, +<0.181,-0.983,0.017>, +<0.219,-0.976,0.020>, +<0.059,-0.996,0.064>, +<-0.198,-0.976,0.091>, +<-0.414,-0.904,0.110>, +<-0.576,-0.809,0.118>, +<-0.665,-0.740,0.105>, +<-0.683,-0.727,0.067>, +<-0.651,-0.758,0.041>, +<-0.615,-0.789,0.018>, +<-0.612,-0.791,-0.006>, +<-0.635,-0.773,-0.013>, +<-0.643,-0.588,0.491>, +<-0.127,-0.214,0.969>, +<0.010,0.012,1>, +<0.003,0.002,1>, +<0.001,0.001,1>, +ZS(50) +<0.001,-0.001,1>, +<0.002,-0.002,1>, +<0.009,-0.012,1>, +<-0.099,0.187,0.977>, +<-0.627,0.588,0.511>, +<-0.642,0.767,-0.005>, +<-0.613,0.790,-0.007>, +<-0.615,0.788,0.017>, +<-0.658,0.752,0.036>, +<-0.693,0.718,0.064>, +<-0.676,0.729,0.104>, +<-0.595,0.795,0.120>, +<-0.444,0.889,0.115>, +<-0.245,0.964,0.099>, +<-0.015,0.997,0.079>, +<0.195,0.980,0.034>, +<0.242,0.970,0.012>, +<0.097,0.995,0.008>, +<-0.075,0.997,-0.019>, +<-0.227,0.969,-0.098> +<-0.743,-0.635,-0.210>, +<-0.606,-0.786,-0.121>, +<-0.418,-0.905,-0.083>, +<-0.206,-0.977,-0.057>, +<0.011,-1,-0.019>, +<0.112,-0.994,-0.003>, +<-0.003,-1,0.029>, +<-0.231,-0.970,0.081>, +<-0.417,-0.902,0.112>, +<-0.544,-0.832,0.114>, +<-0.616,-0.782,0.099>, +<-0.601,-0.795,0.083>, +<-0.597,-0.802,0.014>, +<-0.595,-0.804,-0.021>, +<-0.570,-0.681,0.459>, +<-0.184,-0.309,0.933>, +<0.011,0.016,1>, +<0.002,0.003,1>, +<0.001,0,1>, +ZS(52) +<0.001,0,1>, +<0.002,-0.003,1>, +<0.010,-0.016,1>, +<-0.160,0.291,0.943>, +<-0.574,0.666,0.475>, +<-0.597,0.802,-0.021>, +<-0.598,0.801,0.014>, +<-0.606,0.791,0.086>, +<-0.624,0.774,0.103>, +<-0.557,0.823,0.116>, +<-0.440,0.890,0.118>, +<-0.270,0.959,0.092>, +<-0.057,0.997,0.054>, +<0.107,0.994,0.009>, +<0.096,0.995,-0.011>, +<-0.073,0.997,-0.037>, +<-0.264,0.962,-0.075>, +<-0.458,0.883,-0.103>, +<-0.619,0.765,-0.175> +<-0.933,-0.282,-0.224>, +<-0.871,-0.465,-0.157>, +<-0.747,-0.652,-0.127>, +<-0.579,-0.808,-0.107>, +<-0.375,-0.923,-0.090>, +<-0.169,-0.982,-0.080>, +<-0.053,-0.997,-0.049>, +<-0.136,-0.991,0.004>, +<-0.320,-0.946,0.054>, +<-0.446,-0.891,0.084>, +<-0.523,-0.843,0.124>, +<-0.574,-0.816,0.065>, +<-0.565,-0.825,-0.015>, +<-0.611,-0.724,0.320>, +<-0.267,-0.405,0.875>, +<0.014,0.018,1>, +<0.002,0.004,1>, +<0,0.002,1>, +ZS(54) +<0,-0.002,1>, +<0.003,-0.004,1>, +<0.014,-0.019,1>, +<-0.249,0.392,0.885>, +<-0.605,0.718,0.344>, +<-0.567,0.824,-0.016>, +<-0.578,0.813,0.069>, +<-0.531,0.837,0.132>, +<-0.456,0.885,0.095>, +<-0.324,0.943,0.081>, +<-0.159,0.987,0.025>, +<-0.037,0.999,-0.028>, +<-0.073,0.996,-0.052>, +<-0.237,0.968,-0.080>, +<-0.428,0.898,-0.101>, +<-0.622,0.774,-0.120>, +<-0.777,0.614,-0.139>, +<-0.873,0.446,-0.199> +<-0.982,-0.171,-0.077>, +<-0.973,-0.204,-0.109>, +<-0.936,-0.316,-0.152>, +<-0.840,-0.522,-0.145>, +<-0.685,-0.717,-0.126>, +<-0.508,-0.852,-0.127>, +<-0.333,-0.936,-0.114>, +<-0.232,-0.969,-0.080>, +<-0.350,-0.935,-0.058>, +<-0.441,-0.896,0.053>, +<-0.490,-0.870,0.061>, +<-0.538,-0.843,-0.008>, +<-0.611,-0.777,0.153>, +<-0.346,-0.518,0.783>, +<0.020,-0.022,1>, +<0.004,0.005,1>, +<0.002,0.002,1>, +ZS(56) +<0.002,-0.002,1>, +<0.004,-0.005,1>, +<0.020,0.013,1>, +<-0.335,0.504,0.796>, +<-0.616,0.769,0.169>, +<-0.545,0.839,-0.005>, +<-0.492,0.867,0.072>, +<-0.430,0.901,0.056>, +<-0.345,0.938,-0.032>, +<-0.217,0.975,-0.047>, +<-0.250,0.963,-0.100>, +<-0.385,0.915,-0.121>, +<-0.558,0.821,-0.117>, +<-0.728,0.675,-0.120>, +<-0.862,0.484,-0.148>, +<-0.944,0.291,-0.155>, +<-0.970,0.188,-0.152> +<-0.838,-0.544,-0.030>, +<-0.904,-0.419,-0.089>, +<-0.949,-0.309,-0.067>, +<-0.952,-0.304,-0.042>, +<-0.885,-0.456,-0.096>, +<-0.740,-0.660,-0.131>, +<-0.585,-0.801,-0.130>, +<-0.461,-0.865,-0.199>, +<-0.411,-0.905,-0.106>, +<-0.475,-0.880,0.016>, +<-0.509,-0.861,-0.003>, +<-0.552,-0.834,0.026>, +<-0.424,-0.643,0.638>, +<-0.005,-0.146,0.989>, +<0.004,0.007,1>, +<0.002,0.002,1>, +ZS(58) +<0.002,-0.002,1>, +<0.004,-0.007,1>, +<0,0.132,0.991>, +<-0.415,0.636,0.651>, +<-0.560,0.828,0.030>, +<-0.505,0.863,-0.002>, +<-0.468,0.884,0.021>, +<-0.413,0.905,-0.103>, +<-0.429,0.881,-0.201>, +<-0.493,0.860,-0.134>, +<-0.633,0.762,-0.136>, +<-0.786,0.606,-0.124>, +<-0.910,0.403,-0.100>, +<-0.960,0.274,-0.060>, +<-0.963,0.260,-0.074>, +<-0.943,0.325,-0.075> +<-0.454,-0.883,0.122>, +<-0.597,-0.799,0.066>, +<-0.724,-0.689,0.033>, +<-0.836,-0.548,0.001>, +<-0.888,-0.459,0>, +<-0.851,-0.524,-0.022>, +<-0.691,-0.714,-0.116>, +<-0.556,-0.823,-0.113>, +<-0.467,-0.884,-0.002>, +<-0.481,-0.876,-0.003>, +<-0.309,-0.945,0.104>, +<-0.513,-0.737,0.439>, +<-0.089,-0.329,0.940>, +<0.006,0.009,1>, +<0.001,0.002,1>, +ZS(60) +<0.001,-0.002,1>, +<0.005,-0.016,1>, +<-0.081,0.320,0.944>, +<-0.516,0.728,0.452>, +<-0.392,0.919,0.049>, +<-0.489,0.872,-0.008>, +<-0.471,0.882,-0.002>, +<-0.512,0.846,-0.148>, +<-0.593,0.787,-0.172>, +<-0.785,0.613,-0.087>, +<-0.893,0.450,-0.023>, +<-0.916,0.402,-0.008>, +<-0.872,0.490,-0.018>, +<-0.788,0.616,0.023>, +<-0.708,0.702,0.077> +<0.091,-0.979,0.181>, +<-0.099,-0.984,0.148>, +<-0.310,-0.941,0.135>, +<-0.489,-0.865,0.116>, +<-0.630,-0.770,0.104>, +<-0.733,-0.673,0.096>, +<-0.724,-0.686,0.074>, +<-0.562,-0.826,0.050>, +<-0.458,-0.889,0.014>, +<-0.534,-0.836,0.130>, +<-0.562,-0.803,0.201>, +<-0.248,-0.505,0.827>, +<0.011,-0.003,1>, +<0.002,0,1>, +<0,0.001,1>, +ZS(60) +<0,-0.001,1>, +<0.001,-0.007,1>, +<0.014,-0.004,1>, +<-0.199,0.638,0.744>, +<-0.560,0.802,0.209>, +<-0.538,0.833,0.128>, +<-0.455,0.891,-0.015>, +<-0.483,0.876,0.007>, +<-0.704,0.710,-0.008>, +<-0.804,0.593,0.038>, +<-0.801,0.597,0.049>, +<-0.700,0.710,0.077>, +<-0.566,0.819,0.093>, +<-0.413,0.901,0.133>, +<-0.256,0.943,0.213> +<0.474,-0.861,0.183>, +<0.387,-0.902,0.190>, +<0.200,-0.962,0.187>, +<-0.047,-0.985,0.163>, +<-0.259,-0.952,0.166>, +<-0.421,-0.891,0.171>, +<-0.540,-0.825,0.167>, +<-0.536,-0.829,0.160>, +<-0.467,-0.882,0.068>, +<-0.315,-0.945,0.092>, +<-0.455,-0.677,0.579>, +<0.013,-0.176,0.984>, +<0,0.005,1>, +<0.001,0,1>, +ZS(62) +<0.001,-0.003,1>, +<0.007,-0.006,1>, +<0.020,0.174,0.984>, +<-0.594,0.629,0.501>, +<-0.388,0.919,0.073>, +<-0.441,0.897,0.019>, +<-0.537,0.835,0.121>, +<-0.649,0.747,0.144>, +<-0.609,0.779,0.146>, +<-0.491,0.859,0.145>, +<-0.323,0.936,0.138>, +<-0.128,0.982,0.140>, +<0.054,0.985,0.162>, +<0.244,0.942,0.231> +<0.369,-0.921,0.125>, +<0.411,-0.905,0.111>, +<0.402,-0.914,0.052>, +<0.301,-0.951,0.076>, +<0.103,-0.983,0.154>, +<-0.104,-0.977,0.187>, +<-0.307,-0.929,0.205>, +<-0.391,-0.904,0.176>, +<-0.510,-0.832,0.219>, +<-0.513,-0.805,0.299>, +<-0.108,-0.443,0.890>, +<0.005,0.016,1>, +<0,0.002,1>, +ZS(64) +<0.002,0,1>, +<0.003,-0.014,1>, +<-0.070,0.602,0.795>, +<-0.511,0.804,0.303>, +<-0.462,0.881,0.105>, +<-0.473,0.864,0.172>, +<-0.442,0.869,0.223>, +<-0.290,0.937,0.195>, +<-0.111,0.977,0.184>, +<0.099,0.978,0.181>, +<0.285,0.944,0.165>, +<0.409,0.903,0.131>, +<0.494,0.860,0.127> +<-0.176,-0.983,-0.055>, +<-0.082,-0.996,-0.034>, +<0.028,-1,-0.023>, +<0.130,-0.992,0.002>, +<0.116,-0.993,0.016>, +<-0.091,-0.996,-0.014>, +<-0.212,-0.975,0.072>, +<-0.349,-0.934,0.076>, +<-0.414,-0.909,0.047>, +<-0.479,-0.661,0.578>, +<0.025,-0.146,0.989>, +<0.002,0.002,1>, +ZS(65) +<0,-0.002,1>, +<-0.001,-0.006,1>, +<0.017,0.134,0.991>, +<-0.448,0.653,0.610>, +<-0.424,0.904,0.062>, +<-0.385,0.914,0.128>, +<-0.247,0.950,0.191>, +<-0.078,0.989,0.126>, +<0.123,0.988,0.098>, +<0.257,0.965,0.060>, +<0.315,0.947,0.064>, +<0.316,0.945,0.077>, +<0.268,0.961,0.061> +<-0.688,-0.706,-0.169>, +<-0.574,-0.808,-0.135>, +<-0.455,-0.882,-0.126>, +<-0.346,-0.930,-0.124>, +<-0.284,-0.930,-0.233>, +<-0.252,-0.957,-0.144>, +<-0.293,-0.956,0.024>, +<-0.349,-0.937,-0.001>, +<-0.468,-0.840,0.275>, +<-0.090,-0.454,0.887>, +<0.002,0.009,1>, +ZS(66) +<0,-0.002,1>, +<0.002,-0.004,1>, +<0.006,-0.011,1>, +<-0.076,0.451,0.889>, +<-0.467,0.834,0.294>, +<-0.348,0.937,0.011>, +<-0.233,0.971,0.050>, +<-0.154,0.987,-0.033>, +<-0.133,0.986,-0.097>, +<-0.014,1,-0.033>, +<-0.076,0.995,-0.066>, +<-0.159,0.984,-0.074>, +<-0.264,0.960,-0.090> +<-0.900,-0.422,-0.110>, +<-0.859,-0.495,-0.128>, +<-0.785,-0.600,-0.155>, +<-0.639,-0.734,-0.231>, +<-0.498,-0.848,-0.181>, +<-0.329,-0.944,-0.004>, +<-0.327,-0.945,0>, +<-0.346,-0.938,0.017>, +<-0.359,-0.742,0.566>, +<0.019,-0.208,0.978>, +<0,0.004,1>, +ZS(67) +<0.002,0,1>, +<0.003,-0.004,1>, +<0.022,0.198,0.980>, +<-0.350,0.736,0.579>, +<-0.349,0.937,0.021>, +<-0.319,0.948,0.004>, +<-0.321,0.947,0>, +<-0.318,0.923,-0.214>, +<-0.301,0.921,-0.248>, +<-0.464,0.877,-0.126>, +<-0.590,0.797,-0.129>, +<-0.701,0.698,-0.148> +<-0.731,-0.681,-0.036>, +<-0.767,-0.640,-0.043>, +<-0.768,-0.640,-0.007>, +<-0.730,-0.682,0.039>, +<-0.565,-0.822,0.072>, +<-0.417,-0.908,0.030>, +<-0.309,-0.951,0.009>, +<-0.385,-0.905,0.182>, +<-0.135,-0.570,0.810>, +<0.005,-0.024,1>, +<0,0.001,1>, +ZS(69) +<0.004,0.019,1>, +<-0.126,0.559,0.820>, +<-0.392,0.900,0.193>, +<-0.307,0.952,-0.002>, +<-0.299,0.954,0>, +<-0.321,0.944,-0.082>, +<-0.589,0.790,-0.172>, +<-0.753,0.646,-0.122>, +<-0.842,0.529,-0.102>, +<-0.886,0.454,-0.095> +<-0.163,-0.978,0.129>, +<-0.244,-0.962,0.126>, +<-0.324,-0.935,0.145>, +<-0.398,-0.904,0.158>, +<-0.454,-0.873,0.181>, +<-0.397,-0.897,0.197>, +<-0.312,-0.946,0.086>, +<-0.376,-0.834,0.405>, +<0.004,-0.363,0.932>, +<0,0.006,1>, +ZS(70) +<0,-0.005,1>, +<0.008,0.346,0.938>, +<-0.375,0.826,0.422>, +<-0.283,0.959,-0.007>, +<-0.356,0.934,0.031>, +<-0.546,0.836,0.063>, +<-0.716,0.694,0.072>, +<-0.775,0.630,0.047>, +<-0.780,0.626,-0.006>, +<-0.766,0.643,-0.014> +<0.434,-0.879,0.196>, +<0.345,-0.918,0.194>, +<0.215,-0.955,0.205>, +<0.073,-0.974,0.213>, +<-0.097,-0.965,0.245>, +<-0.207,-0.955,0.211>, +<-0.292,-0.951,0.100>, +<-0.262,-0.735,0.625>, +<0.012,-0.164,0.986>, +<0,0.002,1>, +ZS(70) +<0,-0.001,1>, +<0.011,0.146,0.989>, +<-0.249,0.721,0.646>, +<-0.297,0.949,0.109>, +<-0.375,0.904,0.205>, +<-0.493,0.841,0.222>, +<-0.466,0.869,0.168>, +<-0.389,0.908,0.154>, +<-0.317,0.938,0.138>, +<-0.242,0.959,0.149> +<0.391,-0.915,0.099>, +<0.360,-0.929,0.080>, +<0.291,-0.955,0.062>, +<0.079,-0.997,0.021>, +<-0.026,-0.998,0.062>, +<-0.177,-0.983,0.051>, +<-0.289,-0.941,0.178>, +<-0.100,-0.594,0.798>, +<0.002,-0.033,1>, +ZS(72) +<0.002,0.024,1>, +<-0.087,0.574,0.814>, +<-0.306,0.920,0.246>, +<-0.225,0.946,0.231>, +<-0.151,0.946,0.287>, +<0.016,0.973,0.232>, +<0.163,0.963,0.216>, +<0.298,0.934,0.197>, +<0.397,0.897,0.197> +<-0.218,-0.974,-0.054>, +<-0.177,-0.982,-0.059>, +<-0.154,-0.972,-0.180>, +<-0.146,-0.980,-0.136>, +<-0.164,-0.986,0.010>, +<-0.207,-0.978,-0.004>, +<-0.292,-0.893,0.343>, +<-0.002,-0.441,0.898>, +<0,0.007,1>, +ZS(72) +<0,-0.007,1>, +<0.002,0.420,0.907>, +<-0.294,0.884,0.364>, +<-0.175,0.979,0.108>, +<0.009,0.989,0.146>, +<0.149,0.987,0.058>, +<0.245,0.968,0.057>, +<0.406,0.910,0.086>, +<0.455,0.884,0.104> +<-0.721,-0.683,-0.114>, +<-0.636,-0.758,-0.148>, +<-0.524,-0.841,-0.132>, +<-0.310,-0.950,-0.031>, +<-0.205,-0.979,-0.006>, +<-0.192,-0.981,-0.003>, +<-0.250,-0.835,0.491>, +<0.016,-0.297,0.955>, +<0,0.003,1>, +ZS(72) +<0,-0.003,1>, +<0.015,0.277,0.961>, +<-0.245,0.824,0.510>, +<-0.185,0.983,0.004>, +<-0.075,0.997,0.023>, +<-0.072,0.997,0.022>, +<-0.052,0.995,-0.089>, +<-0.040,0.994,-0.105>, +<-0.088,0.996,-0.016> +<-0.697,-0.717,0.022>, +<-0.651,-0.757,0.057>, +<-0.535,-0.838,0.111>, +<-0.431,-0.890,0.146>, +<-0.254,-0.961,0.107>, +<-0.177,-0.982,0.066>, +<-0.171,-0.758,0.630>, +<0.008,-0.173,0.985>, +ZS(74) +<0.007,0.155,0.988>, +<-0.160,0.748,0.643>, +<-0.173,0.983,0.054>, +<-0.158,0.987,0>, +<-0.275,0.961,-0.024>, +<-0.368,0.927,-0.071>, +<-0.563,0.820,-0.099>, +<-0.642,0.763,-0.078> +<-0.112,-0.982,0.149>, +<-0.147,-0.975,0.169>, +<-0.171,-0.964,0.204>, +<-0.200,-0.943,0.264>, +<-0.140,-0.961,0.236>, +<-0.158,-0.970,0.186>, +<-0.092,-0.674,0.733>, +<0.003,-0.082,0.997>, +ZS(74) +<0.002,0.068,0.998>, +<-0.083,0.658,0.749>, +<-0.161,0.978,0.135>, +<-0.181,0.977,0.111>, +<-0.389,0.905,0.170>, +<-0.508,0.850,0.138>, +<-0.614,0.784,0.088>, +<-0.663,0.747,0.044> +<0.471,-0.870,0.147>, +<0.388,-0.905,0.173>, +<0.260,-0.945,0.196>, +<0.123,-0.957,0.261>, +<-0.051,-0.984,0.169>, +<-0.136,-0.970,0.203>, +<-0.036,-0.590,0.806>, +<0,-0.028,1>, +ZS(74) +<0,0.020,1>, +<-0.031,0.571,0.820>, +<-0.146,0.958,0.247>, +<-0.136,0.967,0.216>, +<-0.175,0.937,0.301>, +<-0.147,0.964,0.221>, +<-0.120,0.976,0.181>, +<-0.089,0.982,0.165> +<0.473,-0.880,0.041>, +<0.411,-0.911,0.019>, +<0.190,-0.982,0.001>, +<0.095,-0.995,0.013>, +<-0.085,-0.996,-0.001>, +<-0.115,-0.953,0.279>, +<-0.005,-0.519,0.855>, +<0,-0.003,1>, +ZS(75) +<-0.005,0.503,0.864>, +<-0.116,0.948,0.296>, +<-0.070,0.987,0.146>, +<0.132,0.961,0.243>, +<0.276,0.941,0.195>, +<0.424,0.889,0.170>, +<0.517,0.844,0.142> +<-0.061,-0.998,-0.030>, +<-0.044,-0.987,-0.153>, +<-0.046,-0.989,-0.137>, +<-0.057,-0.998,0>, +<-0.060,-0.998,-0.003>, +<-0.085,-0.937,0.339>, +<0.007,-0.467,0.884>, +<0,0.005,1>, +ZS(74) +<0,-0.006,1>, +<0.003,0.455,0.890>, +<-0.084,0.933,0.351>, +<-0.062,0.998,-0.003>, +<0.098,0.995,0.007>, +<0.193,0.981,-0.028>, +<0.357,0.934,-0.026>, +<0.391,0.920,0.010> +<-0.570,-0.821,-0.016>, +<-0.497,-0.867,-0.039>, +<-0.274,-0.961,-0.032>, +<-0.172,-0.985,-0.009>, +<-0.034,-1,-0.004>, +<-0.053,-0.924,0.379>, +<0.007,-0.432,0.902>, +<0,0.006,1>, +ZS(74) +<0,-0.006,1>, +<0.002,0.426,0.905>, +<-0.050,0.922,0.385>, +<-0.037,1,-0.004>, +<-0.161,0.987,-0.005>, +<-0.248,0.966,-0.076>, +<-0.346,0.936,-0.061>, +<-0.385,0.922,0.023> +<-0.556,-0.826,0.098>, +<-0.487,-0.864,0.131>, +<-0.367,-0.915,0.170>, +<-0.237,-0.948,0.213>, +<-0.012,-0.992,0.123>, +<-0.019,-0.917,0.398>, +<0.004,-0.412,0.911>, +<0,0.005,1>, +ZS(74) +<0,-0.006,1>, +<0,0.413,0.911>, +<-0.017,0.917,0.399>, +<-0.014,0.994,0.112>, +<-0.130,0.971,0.202>, +<-0.225,0.963,0.146>, +<-0.352,0.932,0.084>, +<-0.385,0.922,0.047> +<0.021,-0.987,0.158>, +<0.017,-0.983,0.183>, +<0.012,-0.974,0.225>, +<0.013,-0.946,0.323>, +<0.015,-0.979,0.201>, +<0.017,-0.916,0.401>, +<0.001,-0.409,0.913>, +<0,0.005,1>, +ZS(73) +<0,-0.001,1>, +<0,-0.006,1>, +<0,0.411,0.912>, +<0.015,0.916,0.402>, +<0.013,0.994,0.104>, +<0.138,0.971,0.194>, +<0.238,0.962,0.133>, +<0.292,0.952,0.090>, +<0.320,0.943,0.089> +<0.612,-0.788,0.073>, +<0.536,-0.838,0.102>, +<0.394,-0.906,0.154>, +<0.266,-0.941,0.211>, +<0.042,-0.991,0.126>, +<0.053,-0.921,0.386>, +<-0.002,-0.424,0.906>, +<0,0.006,1>, +ZS(74) +<0.001,-0.007,1>, +<0.002,0.423,0.906>, +<0.129,0.914,0.384>, +<0.037,1,-0.005>, +<0.155,0.988,-0.009>, +<0.254,0.967,-0.012>, +<0.419,0.908,-0.013>, +<0.499,0.866,-0.016> +<0.503,-0.863,-0.049>, +<0.444,-0.892,-0.085>, +<0.298,-0.952,-0.068>, +<0.201,-0.979,-0.013>, +<0.062,-0.998,-0.004>, +<0.087,-0.932,0.352>, +<-0.004,-0.456,0.890>, +<0,0.006,1>, +ZS(74) +<0.001,-0.006,1>, +<0.002,0.456,0.890>, +<0.091,0.928,0.361>, +<0.070,0.991,0.110>, +<0.061,0.998,0>, +<0.051,0.992,-0.116>, +<0.073,0.985,-0.154>, +<0.089,0.993,-0.073> +<-0.287,-0.956,0.051>, +<-0.248,-0.968,-0.031>, +<-0.141,-0.989,-0.050>, +<-0.061,-0.998,0.013>, +<0.087,-0.996,-0.003>, +<0.165,-0.942,0.291>, +<0.004,-0.506,0.862>, +ZS(75) +<0,-0.002,1>, +<0.002,0.501,0.865>, +<0.009,0.949,0.316>, +<0.084,0.996,-0.002>, +<-0.114,0.993,0.012>, +<-0.211,0.978,-0.006>, +<-0.418,0.908,-0.003>, +<-0.496,0.868,0.014> +<-0.265,-0.956,0.129>, +<-0.234,-0.962,0.142>, +<-0.092,-0.985,0.146>, +<0.002,-0.978,0.206>, +<0.133,-0.976,0.175>, +<0.144,-0.965,0.221>, +<0.027,-0.607,0.794>, +<0,-0.019,1>, +ZS(73) +<0,0.001,1>, +<-0.001,0.018,1>, +<0.022,0.570,0.821>, +<0.143,0.963,0.227>, +<0.023,0.981,0.193>, +<-0.152,0.946,0.288>, +<-0.308,0.930,0.202>, +<-0.438,0.882,0.173>, +<-0.542,0.827,0.146> +<0.509,-0.861,-0.004>, +<0.475,-0.879,0.034>, +<0.355,-0.929,0.104>, +<0.299,-0.939,0.169>, +<0.153,-0.981,0.117>, +<0.115,-0.984,0.140>, +<0.084,-0.660,0.747>, +<-0.003,-0.068,0.998>, +ZS(74) +<-0.004,0.067,0.998>, +<0.079,0.660,0.747>, +<0.167,0.959,0.228>, +<0.122,0.955,0.270>, +<0.179,0.942,0.283>, +<0.151,0.963,0.223>, +<0.128,0.975,0.184>, +<0.083,0.981,0.178> +<0.520,-0.851,-0.073>, +<0.460,-0.878,-0.135>, +<0.340,-0.934,-0.111>, +<0.279,-0.960,-0.022>, +<0.150,-0.989,0.002>, +<0.174,-0.983,0.053>, +<0.162,-0.748,0.644>, +<-0.007,-0.156,0.988>, +ZS(74) +<-0.008,0.155,0.988>, +<0.163,0.743,0.649>, +<0.180,0.979,0.098>, +<0.292,0.945,0.145>, +<0.467,0.869,0.164>, +<0.577,0.810,0.102>, +<0.673,0.738,0.056>, +<0.717,0.696,0.031> +<-0.156,-0.988,0.019>, +<-0.183,-0.983,-0.029>, +<-0.119,-0.993,-0.021>, +<-0.071,-0.997,0.033>, +<0.015,-1,0.031>, +<0.163,-0.986,0.017>, +<0.245,-0.824,0.511>, +<-0.015,-0.276,0.961>, +<0,0.003,1>, +ZS(72) +<0,-0.003,1>, +<-0.017,0.279,0.960>, +<0.247,0.825,0.509>, +<0.192,0.981,0.001>, +<0.229,0.973,-0.011>, +<0.355,0.934,-0.044>, +<0.577,0.808,-0.120>, +<0.685,0.717,-0.131>, +<0.755,0.645,-0.118> +<-0.541,-0.834,0.102>, +<-0.473,-0.877,0.088>, +<-0.322,-0.940,0.107>, +<-0.193,-0.965,0.175>, +<-0.019,-0.968,0.252>, +<0.164,-0.972,0.168>, +<0.298,-0.874,0.385>, +<-0.002,-0.418,0.909>, +<0,0.007,1>, +ZS(72) +<0,-0.007,1>, +<-0.004,0.427,0.904>, +<0.296,0.886,0.358>, +<0.208,0.978,-0.004>, +<0.172,0.985,0.009>, +<0.157,0.977,-0.145>, +<0.171,0.967,-0.186>, +<0.220,0.974,-0.057>, +<0.268,0.962,-0.047> +<-0.271,-0.942,0.200>, +<-0.137,-0.971,0.195>, +<0.015,-0.977,0.212>, +<0.143,-0.961,0.235>, +<0.251,-0.920,0.300>, +<0.283,-0.925,0.255>, +<0.312,-0.912,0.265>, +<0.087,-0.572,0.815>, +<-0.002,-0.024,1>, +ZS(72) +<-0.002,0.028,1>, +<0.090,0.583,0.807>, +<0.293,0.937,0.189>, +<0.187,0.981,0.043>, +<0.035,0.998,0.048>, +<-0.068,0.998,0.008>, +<-0.278,0.959,0.060>, +<-0.330,0.941,0.077>, +<-0.357,0.930,0.089> +<0.401,-0.907,0.132>, +<0.472,-0.872,0.126>, +<0.562,-0.815,0.138>, +<0.616,-0.773,0.153>, +<0.581,-0.789,0.201>, +<0.390,-0.905,0.170>, +<0.292,-0.952,0.089>, +<0.250,-0.721,0.646>, +<-0.011,-0.147,0.989>, +<0,0.001,1>, +ZS(70) +<0,-0.002,1>, +<-0.011,0.154,0.988>, +<0.254,0.728,0.637>, +<0.291,0.952,0.097>, +<0.199,0.958,0.204>, +<0.082,0.966,0.247>, +<-0.093,0.973,0.210>, +<-0.232,0.953,0.194>, +<-0.352,0.918,0.182>, +<-0.441,0.877,0.190> +<0.849,-0.527,-0.027>, +<0.857,-0.515,0.013>, +<0.826,-0.560,0.068>, +<0.735,-0.678,0.026>, +<0.492,-0.870,-0.012>, +<0.316,-0.949,-0.012>, +<0.283,-0.959,-0.007>, +<0.376,-0.826,0.421>, +<-0.009,-0.347,0.938>, +<0,0.005,1>, +ZS(70) +<0,-0.006,1>, +<-0.007,0.352,0.936>, +<0.375,0.829,0.416>, +<0.314,0.945,0.091>, +<0.372,0.903,0.216>, +<0.410,0.891,0.196>, +<0.344,0.925,0.159>, +<0.272,0.951,0.147>, +<0.191,0.972,0.140>, +<0.097,0.983,0.155> +<0.890,-0.441,-0.116>, +<0.831,-0.543,-0.120>, +<0.709,-0.694,-0.125>, +<0.509,-0.839,-0.193>, +<0.252,-0.963,-0.096>, +<0.299,-0.954,0>, +<0.307,-0.952,-0.002>, +<0.392,-0.900,0.192>, +<0.125,-0.559,0.819>, +<-0.004,-0.019,1>, +ZS(70) +<-0.004,0.021,1>, +<0.129,0.563,0.817>, +<0.388,0.902,0.189>, +<0.318,0.948,0.024>, +<0.436,0.898,0.062>, +<0.582,0.809,0.083>, +<0.699,0.713,0.046>, +<0.722,0.692,0.010>, +<0.694,0.720,-0.006>, +<0.653,0.758,0.004> +<0.646,-0.749,-0.145>, +<0.525,-0.844,-0.112>, +<0.407,-0.905,-0.123>, +<0.234,-0.937,-0.257>, +<0.297,-0.929,-0.221>, +<0.321,-0.947,0>, +<0.295,-0.955,0.014>, +<0.349,-0.937,0.021>, +<0.352,-0.735,0.580>, +<-0.022,-0.197,0.980>, +<-0.002,0.004,1>, +<-0.001,0,1>, +ZS(67) +<0,-0.003,1>, +<-0.018,0.200,0.980>, +<0.349,0.739,0.577>, +<0.348,0.937,0.021>, +<0.328,0.945,0>, +<0.347,0.938,-0.011>, +<0.544,0.823,-0.161>, +<0.672,0.718,-0.181>, +<0.800,0.591,-0.106>, +<0.863,0.498,-0.086>, +<0.892,0.441,-0.097> +<0.187,-0.979,-0.082>, +<0.086,-0.995,-0.050>, +<-0.005,-1,-0.044>, +<-0.052,-0.998,-0.023>, +<0.087,-0.994,-0.060>, +<0.093,-0.996,-0.018>, +<0.171,-0.982,0.074>, +<0.312,-0.949,0.053>, +<0.469,-0.833,0.292>, +<0.075,-0.449,0.890>, +<-0.005,0.012,1>, +<-0.001,0.002,1>, +<0,0.001,1>, +ZS(66) +<-0.002,-0.009,1>, +<0.082,0.453,0.888>, +<0.462,0.837,0.293>, +<0.358,0.934,-0.006>, +<0.319,0.948,0.015>, +<0.271,0.951,-0.147>, +<0.326,0.917,-0.231>, +<0.408,0.905,-0.121>, +<0.523,0.841,-0.135>, +<0.657,0.737,-0.158>, +<0.759,0.621,-0.194> +<-0.319,-0.945,0.075>, +<-0.370,-0.925,0.088>, +<-0.367,-0.928,0.069>, +<-0.302,-0.952,0.056>, +<-0.176,-0.979,0.099>, +<0.016,-0.990,0.142>, +<0.222,-0.953,0.207>, +<0.371,-0.908,0.196>, +<0.442,-0.892,0.096>, +<0.457,-0.650,0.607>, +<-0.025,-0.133,0.991>, +<-0.003,0.006,1>, +<-0.002,0.001,1>, +ZS(65) +<0,-0.003,1>, +<-0.016,0.135,0.991>, +<0.416,0.660,0.626>, +<0.419,0.907,0.047>, +<0.362,0.931,0.044>, +<0.231,0.971,0.065>, +<0.129,0.991,-0.035>, +<-0.066,0.998,-0.013>, +<-0.030,1,-0.030>, +<0.071,0.996,-0.053>, +<0.174,0.983,-0.062>, +<0.279,0.956,-0.088> +<-0.522,-0.843,0.132>, +<-0.436,-0.889,0.140>, +<-0.300,-0.939,0.169>, +<-0.118,-0.977,0.175>, +<0.106,-0.977,0.184>, +<0.297,-0.934,0.197>, +<0.471,-0.854,0.220>, +<0.514,-0.834,0.201>, +<0.527,-0.817,0.233>, +<0.525,-0.791,0.316>, +<0.089,-0.431,0.898>, +<-0.006,0.018,1>, +<-0.001,0.004,1>, +<0,0.002,1>, +ZS(63) +<-0.001,0,1>, +<-0.005,-0.013,1>, +<0.095,0.466,0.880>, +<0.520,0.792,0.321>, +<0.494,0.855,0.157>, +<0.380,0.910,0.163>, +<0.281,0.938,0.202>, +<0.096,0.982,0.162>, +<-0.119,0.986,0.116>, +<-0.297,0.954,0.046>, +<-0.360,0.931,0.065>, +<-0.347,0.931,0.110>, +<-0.303,0.947,0.104> +<-0.242,-0.943,0.229>, +<-0.052,-0.985,0.162>, +<0.140,-0.980,0.144>, +<0.333,-0.932,0.144>, +<0.501,-0.853,0.146>, +<0.629,-0.763,0.147>, +<0.697,-0.701,0.148>, +<0.585,-0.801,0.126>, +<0.449,-0.893,0.037>, +<0.299,-0.948,0.107>, +<0.484,-0.659,0.576>, +<-0.018,-0.154,0.988>, +<0,0.008,1>, +<-0.001,0.002,1>, +ZS(62) +<-0.001,-0.002,1>, +<-0.004,-0.005,1>, +<-0.021,0.162,0.987>, +<0.535,0.639,0.552>, +<0.301,0.946,0.118>, +<0.471,0.879,0.071>, +<0.525,0.834,0.172>, +<0.498,0.848,0.180>, +<0.361,0.916,0.172>, +<0.192,0.967,0.164>, +<-0.042,0.984,0.175>, +<-0.256,0.949,0.185>, +<-0.396,0.901,0.179>, +<-0.485,0.855,0.183> +<0.265,-0.946,0.186>, +<0.435,-0.892,0.121>, +<0.596,-0.798,0.092>, +<0.719,-0.692,0.071>, +<0.820,-0.570,0.047>, +<0.840,-0.541,0.043>, +<0.750,-0.662,-0.006>, +<0.494,-0.869,0.009>, +<0.448,-0.894,0>, +<0.503,-0.861,0.074>, +<0.560,-0.801,0.213>, +<0.178,-0.642,0.745>, +<-0.009,0.003,1>, +<-0.001,0.002,1>, +<0,0.001,1>, +ZS(60) +<0,-0.001,1>, +<-0.001,-0.005,1>, +<-0.012,-0.006,1>, +<0.192,0.614,0.766>, +<0.559,0.802,0.213>, +<0.515,0.852,0.096>, +<0.461,0.887,0.023>, +<0.577,0.813,0.075>, +<0.724,0.684,0.093>, +<0.700,0.706,0.104>, +<0.574,0.812,0.110>, +<0.410,0.904,0.118>, +<0.219,0.967,0.132>, +<0.034,0.986,0.165>, +<-0.155,0.959,0.237> +<0.725,-0.686,0.062>, +<0.815,-0.580,0.006>, +<0.893,-0.449,-0.022>, +<0.935,-0.354,-0.014>, +<0.918,-0.396,-0.028>, +<0.820,-0.566,-0.088>, +<0.609,-0.771,-0.185>, +<0.517,-0.840,-0.164>, +<0.466,-0.885,0>, +<0.478,-0.879,0>, +<0.402,-0.915,0.043>, +<0.503,-0.744,0.441>, +<0.090,-0.314,0.945>, +<-0.006,0.010,1>, +<-0.001,0.002,1>, +ZS(60) +<-0.001,-0.002,1>, +<-0.005,-0.013,1>, +<0.080,0.313,0.946>, +<0.508,0.731,0.457>, +<0.410,0.911,0.038>, +<0.480,0.877,-0.003>, +<0.467,0.884,0>, +<0.570,0.815,-0.107>, +<0.722,0.685,-0.098>, +<0.859,0.513,-0.008>, +<0.872,0.490,-0.007>, +<0.787,0.616,0.018>, +<0.666,0.744,0.058>, +<0.530,0.843,0.096>, +<0.382,0.908,0.171> +<0.954,-0.290,-0.081>, +<0.974,-0.212,-0.081>, +<0.973,-0.222,-0.064>, +<0.929,-0.355,-0.105>, +<0.809,-0.573,-0.129>, +<0.648,-0.749,-0.139>, +<0.492,-0.860,-0.136>, +<0.425,-0.879,-0.215>, +<0.401,-0.909,-0.114>, +<0.463,-0.886,0.024>, +<0.501,-0.866,0.004>, +<0.554,-0.832,0.031>, +<0.425,-0.639,0.642>, +<0.005,-0.141,0.990>, +<-0.005,0.007,1>, +<-0.002,0.002,1>, +ZS(58) +<-0.002,-0.002,1>, +<-0.004,-0.007,1>, +<-0.001,0.131,0.991>, +<0.416,0.632,0.654>, +<0.559,0.829,0.032>, +<0.510,0.860,-0.005>, +<0.479,0.878,0.013>, +<0.409,0.906,-0.107>, +<0.478,0.856,-0.200>, +<0.609,0.784,-0.124>, +<0.770,0.626,-0.126>, +<0.904,0.421,-0.075>, +<0.946,0.324,-0.030>, +<0.931,0.359,-0.066>, +<0.875,0.481,-0.062>, +<0.799,0.601,0.006> +<0.978,-0.145,-0.153>, +<0.957,-0.247,-0.153>, +<0.882,-0.448,-0.148>, +<0.747,-0.652,-0.127>, +<0.570,-0.812,-0.123>, +<0.385,-0.915,-0.122>, +<0.236,-0.967,-0.098>, +<0.194,-0.980,-0.050>, +<0.333,-0.942,-0.040>, +<0.423,-0.904,0.053>, +<0.494,-0.866,0.075>, +<0.543,-0.840,0>, +<0.607,-0.779,0.154>, +<0.346,-0.517,0.782>, +<-0.021,-0.023,1>, +<-0.004,0.005,1>, +<-0.002,0.002,1>, +ZS(56) +<-0.002,-0.002,1>, +<-0.004,-0.005,1>, +<-0.020,0.014,1>, +<0.334,0.505,0.796>, +<0.614,0.771,0.170>, +<0.539,0.842,-0.010>, +<0.487,0.872,0.058>, +<0.445,0.894,0.052>, +<0.354,0.932,-0.072>, +<0.243,0.965,-0.093>, +<0.375,0.920,-0.111>, +<0.547,0.828,-0.122>, +<0.720,0.683,-0.124>, +<0.869,0.475,-0.143>, +<0.949,0.286,-0.129>, +<0.976,0.196,-0.093>, +<0.978,0.195,-0.079> +<0.890,-0.408,-0.203>, +<0.798,-0.587,-0.140>, +<0.641,-0.758,-0.122>, +<0.439,-0.893,-0.102>, +<0.237,-0.968,-0.083>, +<0.058,-0.997,-0.057>, +<0.018,-1,-0.032>, +<0.147,-0.989,0.021>, +<0.326,-0.942,0.077>, +<0.466,-0.880,0.093>, +<0.540,-0.832,0.126>, +<0.577,-0.814,0.065>, +<0.565,-0.825,-0.015>, +<0.611,-0.726,0.317>, +<0.272,-0.406,0.872>, +<-0.020,0.018,1>, +<-0.008,0.004,1>, +<-0.005,0.002,1>, +ZS(54) +<0,-0.002,1>, +<-0.002,-0.004,1>, +<-0.013,-0.019,1>, +<0.246,0.391,0.887>, +<0.606,0.717,0.344>, +<0.566,0.824,-0.016>, +<0.573,0.817,0.068>, +<0.517,0.847,0.125>, +<0.434,0.897,0.080>, +<0.315,0.948,0.037>, +<0.132,0.991,-0.004>, +<0.086,0.995,-0.053>, +<0.229,0.970,-0.085>, +<0.426,0.899,-0.099>, +<0.622,0.775,-0.110>, +<0.784,0.605,-0.141>, +<0.899,0.403,-0.173>, +<0.947,0.235,-0.221> +<0.647,-0.740,-0.186>, +<0.482,-0.870,-0.102>, +<0.278,-0.957,-0.076>, +<0.071,-0.997,-0.041>, +<-0.113,-0.994,-0.013>, +<-0.121,-0.993,0.003>, +<0.055,-0.997,0.049>, +<0.276,-0.957,0.085>, +<0.450,-0.886,0.110>, +<0.566,-0.817,0.111>, +<0.624,-0.775,0.098>, +<0.602,-0.794,0.080>, +<0.595,-0.803,0.012>, +<0.594,-0.804,-0.021>, +<0.570,-0.686,0.452>, +<0.193,-0.320,0.928>, +<-0.018,0.017,1>, +<-0.007,0.008,1>, +<-0.001,0.005,1>, +ZS(52) +<-0.001,0,1>, +<-0.002,-0.003,1>, +<-0.010,-0.015,1>, +<0.156,0.287,0.945>, +<0.560,0.671,0.485>, +<0.597,0.802,-0.021>, +<0.600,0.800,0.017>, +<0.599,0.795,0.092>, +<0.608,0.787,0.104>, +<0.526,0.843,0.113>, +<0.394,0.913,0.106>, +<0.206,0.976,0.070>, +<-0.006,1,0.016>, +<-0.076,0.997,-0.012>, +<0.056,0.998,-0.035>, +<0.260,0.963,-0.069>, +<0.472,0.875,-0.105>, +<0.659,0.741,-0.129>, +<0.790,0.578,-0.205> +<0.248,-0.961,-0.118>, +<0.088,-0.996,-0.028>, +<-0.098,-0.995,0.011>, +<-0.254,-0.967,0.010>, +<-0.205,-0.978,0.032>, +<0.020,-0.997,0.076>, +<0.254,-0.963,0.091>, +<0.454,-0.885,0.107>, +<0.602,-0.790,0.113>, +<0.676,-0.731,0.098>, +<0.683,-0.728,0.061>, +<0.648,-0.761,0.035>, +<0.613,-0.790,0.015>, +<0.612,-0.791,-0.006>, +<0.632,-0.775,-0.017>, +<0.653,-0.590,0.475>, +<0.139,-0.228,0.964>, +<-0.011,0.019,1>, +<-0.002,0.008,1>, +<-0.001,0.001,1>, +ZS(50) +<-0.001,-0.001,1>, +<-0.002,-0.002,1>, +<-0.009,-0.011,1>, +<0.099,0.183,0.978>, +<0.642,0.569,0.514>, +<0.642,0.767,-0.004>, +<0.612,0.790,-0.006>, +<0.619,0.785,0.023>, +<0.656,0.753,0.049>, +<0.679,0.730,0.075>, +<0.649,0.753,0.109>, +<0.547,0.829,0.116>, +<0.379,0.920,0.103>, +<0.164,0.983,0.084>, +<-0.081,0.996,0.048>, +<-0.200,0.980,0.012>, +<-0.123,0.992,0.008>, +<0.088,0.996,-0.026>, +<0.274,0.960,-0.060>, +<0.442,0.883,-0.155> +<-0.141,-0.990,0.003>, +<-0.278,-0.959,0.061>, +<-0.340,-0.939,0.048>, +<-0.231,-0.970,0.072>, +<0.028,-0.996,0.087>, +<0.264,-0.960,0.092>, +<0.482,-0.871,0.100>, +<0.645,-0.758,0.099>, +<0.738,-0.670,0.083>, +<0.755,-0.654,0.056>, +<0.719,-0.695,0.023>, +<0.662,-0.749,-0.017>, +<0.609,-0.793,-0.007>, +<0.627,-0.779,-0.002>, +<0.626,-0.779,-0.025>, +<0.670,-0.743,0.009>, +<0.478,-0.709,0.519>, +<0.114,-0.153,0.982>, +<-0.010,0.015,1>, +<-0.003,0.003,1>, +<-0.001,0.001,1>, +ZS(48) +<-0.001,-0.001,1>, +<-0.002,-0.002,1>, +<-0.009,-0.009,1>, +<0.086,0.114,0.990>, +<0.464,0.676,0.573>, +<0.676,0.736,0.040>, +<0.717,0.689,0.102>, +<0.628,0.778,-0.003>, +<0.615,0.788,0>, +<0.680,0.733,-0.007>, +<0.733,0.679,0.037>, +<0.753,0.654,0.068>, +<0.707,0.701,0.095>, +<0.582,0.806,0.105>, +<0.392,0.915,0.100>, +<0.162,0.983,0.088>, +<-0.094,0.992,0.084>, +<-0.281,0.959,0.041>, +<-0.271,0.961,0.048>, +<-0.105,0.993,0.048>, +<0.044,0.998,-0.039> +<-0.420,-0.906,0.053>, +<-0.362,-0.927,0.094>, +<-0.186,-0.975,0.118>, +<0.058,-0.994,0.092>, +<0.298,-0.950,0.091>, +<0.526,-0.846,0.088>, +<0.694,-0.715,0.082>, +<0.793,-0.606,0.064>, +<0.820,-0.571,0.038>, +<0.781,-0.624,0.007>, +<0.713,-0.701,-0.021>, +<0.636,-0.770,-0.052>, +<0.627,-0.777,-0.050>, +<0.642,-0.767,0>, +<0.655,-0.756,-0.002>, +<0.685,-0.728,-0.028>, +<0.693,-0.720,0.042>, +<0.530,-0.548,0.646>, +<0.108,-0.116,0.987>, +<-0.010,0.010,1>, +<-0.002,0.002,1>, +<0,0.001,1>, +ZS(46) +<0,-0.001,1>, +<-0.002,-0.002,1>, +<-0.009,-0.009,1>, +<0.090,0.091,0.992>, +<0.509,0.531,0.677>, +<0.688,0.721,0.076>, +<0.569,0.818,0.091>, +<0.656,0.755,-0.003>, +<0.643,0.766,0>, +<0.634,0.771,-0.053>, +<0.656,0.753,-0.053>, +<0.740,0.672,-0.015>, +<0.804,0.594,0.016>, +<0.820,0.570,0.049>, +<0.763,0.642,0.073>, +<0.631,0.771,0.089>, +<0.428,0.899,0.089>, +<0.188,0.978,0.092>, +<-0.058,0.993,0.101>, +<-0.286,0.953,0.101>, +<-0.357,0.931,0.074>, +<-0.315,0.948,0.046> +<-0.296,-0.937,0.184>, +<-0.115,-0.986,0.117>, +<0.109,-0.989,0.101>, +<0.351,-0.933,0.085>, +<0.576,-0.814,0.075>, +<0.742,-0.668,0.061>, +<0.840,-0.541,0.044>, +<0.869,-0.494,0.023>, +<0.832,-0.555,-0.003>, +<0.753,-0.658,-0.032>, +<0.670,-0.741,-0.047>, +<0.616,-0.787,-0.042>, +<0.614,-0.788,-0.051>, +<0.625,-0.780,-0.011>, +<0.650,-0.759,0.019>, +<0.666,-0.746,0.013>, +<0.694,-0.720,-0.009>, +<0.709,-0.702,0.062>, +<0.545,-0.523,0.655>, +<0.132,-0.103,0.986>, +<-0.012,0.010,1>, +<-0.003,0.002,1>, +<-0.002,0,1>, +ZS(44) +<-0.002,0,1>, +<-0.003,-0.002,1>, +<-0.012,-0.010,1>, +<0.118,0.086,0.989>, +<0.531,0.510,0.677>, +<0.704,0.705,0.087>, +<0.694,0.720,-0.010>, +<0.666,0.746,0.015>, +<0.650,0.759,0.019>, +<0.624,0.781,-0.020>, +<0.618,0.784,-0.064>, +<0.633,0.772,-0.049>, +<0.701,0.711,-0.050>, +<0.789,0.614,-0.029>, +<0.860,0.511,0.003>, +<0.873,0.487,0.030>, +<0.812,0.581,0.055>, +<0.682,0.728,0.071>, +<0.481,0.873,0.081>, +<0.238,0.967,0.090>, +<0.003,0.994,0.106>, +<-0.221,0.967,0.127>, +<-0.350,0.924,0.157> +<-0.005,-0.982,0.188>, +<0.187,-0.976,0.109>, +<0.418,-0.904,0.085>, +<0.627,-0.776,0.063>, +<0.782,-0.622,0.043>, +<0.877,-0.480,0.024>, +<0.905,-0.426,0.009>, +<0.866,-0.500,-0.012>, +<0.781,-0.623,-0.034>, +<0.683,-0.729,-0.049>, +<0.600,-0.798,-0.052>, +<0.561,-0.827,-0.036>, +<0.566,-0.824,-0.008>, +<0.606,-0.795,0.010>, +<0.639,-0.769,0.037>, +<0.684,-0.728,0.050>, +<0.708,-0.705,0.028>, +<0.719,-0.695,-0.010>, +<0.723,-0.689,0.057>, +<0.666,-0.484,0.569>, +<0.199,-0.116,0.973>, +<-0.016,0.011,1>, +<-0.004,0.003,1>, +<-0.002,0.002,1>, +ZS(42) +<-0.002,-0.002,1>, +<-0.004,-0.003,1>, +<-0.016,-0.011,1>, +<0.192,0.103,0.976>, +<0.661,0.474,0.581>, +<0.719,0.691,0.074>, +<0.719,0.695,-0.010>, +<0.706,0.707,0.034>, +<0.680,0.732,0.055>, +<0.631,0.775,0.035>, +<0.598,0.801,0.001>, +<0.562,0.827,-0.018>, +<0.568,0.822,-0.045>, +<0.625,0.778,-0.059>, +<0.721,0.691,-0.051>, +<0.823,0.567,-0.031>, +<0.897,0.442,-0.005>, +<0.911,0.412,0.015>, +<0.854,0.520,0.032>, +<0.730,0.682,0.050>, +<0.543,0.837,0.068>, +<0.309,0.947,0.085>, +<0.082,0.991,0.107>, +<-0.104,0.976,0.190> +<0.320,-0.932,0.168>, +<0.495,-0.865,0.079>, +<0.676,-0.735,0.050>, +<0.817,-0.575,0.030>, +<0.906,-0.423,0.012>, +<0.927,-0.374,-0.002>, +<0.885,-0.464,-0.019>, +<0.797,-0.603,-0.033>, +<0.689,-0.723,-0.042>, +<0.583,-0.812,-0.044>, +<0.514,-0.857,-0.034>, +<0.507,-0.862,-0.012>, +<0.549,-0.836,0.017>, +<0.611,-0.790,0.040>, +<0.668,-0.743,0.047>, +<0.711,-0.701,0.046>, +<0.731,-0.681,0.045>, +<0.742,-0.670,0.011>, +<0.809,-0.582,0.081>, +<0.738,-0.674,0.027>, +<0.586,-0.629,0.510>, +<0.296,-0.171,0.940>, +<-0.019,0.014,1>, +<-0.005,0.004,1>, +<-0.002,0.002,1>, +ZS(40) +<-0.002,-0.002,1>, +<-0.005,-0.004,1>, +<-0.019,-0.014,1>, +<0.295,0.165,0.941>, +<0.589,0.629,0.508>, +<0.735,0.677,0.036>, +<0.811,0.580,0.081>, +<0.746,0.666,0.015>, +<0.730,0.681,0.056>, +<0.705,0.707,0.055>, +<0.654,0.754,0.052>, +<0.589,0.808,0.038>, +<0.528,0.849,0.011>, +<0.496,0.868,-0.020>, +<0.525,0.850,-0.042>, +<0.614,0.788,-0.049>, +<0.731,0.680,-0.045>, +<0.841,0.541,-0.032>, +<0.918,0.396,-0.014>, +<0.936,0.352,0.002>, +<0.885,0.465,0.015>, +<0.772,0.635,0.032>, +<0.601,0.798,0.051>, +<0.396,0.914,0.085>, +<0.214,0.961,0.178> +<0.608,-0.785,0.117>, +<0.730,-0.683,0.035>, +<0.845,-0.535,0.016>, +<0.928,-0.373,-0.002>, +<0.941,-0.337,-0.010>, +<0.895,-0.446,-0.022>, +<0.803,-0.595,-0.030>, +<0.687,-0.726,-0.035>, +<0.563,-0.825,-0.036>, +<0.470,-0.882,-0.027>, +<0.443,-0.896,-0.008>, +<0.489,-0.872,0.018>, +<0.571,-0.820,0.043>, +<0.653,-0.755,0.058>, +<0.715,-0.697,0.059>, +<0.754,-0.656,0.043>, +<0.767,-0.641,0.025>, +<0.754,-0.657,0.014>, +<0.754,-0.656,-0.003>, +<0.699,-0.710,0.090>, +<0.769,-0.639,-0.009>, +<0.676,-0.564,0.475>, +<0.393,-0.253,0.884>, +<0.014,0.020,1>, +<-0.007,0.004,1>, +<-0.002,0.001,1>, +<-0.001,0,1>, +ZS(36) +<-0.001,0,1>, +<-0.002,-0.001,1>, +<-0.007,-0.004,1>, +<0.015,-0.020,1>, +<0.394,0.253,0.883>, +<0.670,0.574,0.472>, +<0.768,0.640,-0.007>, +<0.698,0.710,0.093>, +<0.754,0.657,-0.003>, +<0.759,0.651,0.020>, +<0.775,0.631,0.036>, +<0.753,0.656,0.054>, +<0.704,0.707,0.065>, +<0.629,0.775,0.061>, +<0.539,0.841,0.041>, +<0.459,0.889,0.012>, +<0.429,0.903,-0.016>, +<0.483,0.875,-0.035>, +<0.599,0.800,-0.040>, +<0.733,0.680,-0.035>, +<0.848,0.530,-0.029>, +<0.928,0.372,-0.018>, +<0.951,0.310,-0.009>, +<0.909,0.416,0>, +<0.805,0.593,0.016>, +<0.666,0.744,0.044>, +<0.524,0.840,0.137> +<0.801,-0.595,0.057>, +<0.873,-0.487,-0.016>, +<0.939,-0.343,-0.019>, +<0.949,-0.314,-0.013>, +<0.897,-0.441,-0.024>, +<0.804,-0.594,-0.024>, +<0.681,-0.732,-0.027>, +<0.544,-0.838,-0.027>, +<0.433,-0.901,-0.020>, +<0.390,-0.921,-0.005>, +<0.436,-0.900,0.016>, +<0.533,-0.845,0.039>, +<0.637,-0.769,0.057>, +<0.720,-0.691,0.062>, +<0.775,-0.630,0.052>, +<0.800,-0.599,0.030>, +<0.791,-0.612,-0.006>, +<0.776,-0.631,-0.025>, +<0.766,-0.643,0>, +<0.778,-0.629,-0.003>, +<0.790,-0.613,-0.006>, +<0.802,-0.597,-0.022>, +<0.719,-0.606,0.341>, +<0.504,-0.335,0.796>, +<0.131,0.002,0.991>, +<-0.008,0.006,1>, +<0,0.002,1>, +<0,0.001,1>, +ZS(34) +<0,-0.001,1>, +<0,-0.002,1>, +<-0.007,-0.006,1>, +<0.137,0,0.991>, +<0.506,0.337,0.794>, +<0.718,0.607,0.339>, +<0.802,0.597,-0.021>, +<0.791,0.612,-0.007>, +<0.778,0.629,-0.003>, +<0.766,0.643,0>, +<0.781,0.624,-0.021>, +<0.803,0.596,0.002>, +<0.808,0.588,0.039>, +<0.774,0.631,0.059>, +<0.705,0.706,0.066>, +<0.606,0.793,0.056>, +<0.494,0.869,0.035>, +<0.397,0.918,0.010>, +<0.373,0.928,-0.010>, +<0.448,0.894,-0.023>, +<0.583,0.812,-0.027>, +<0.729,0.684,-0.026>, +<0.847,0.530,-0.024>, +<0.930,0.366,-0.022>, +<0.958,0.285,-0.017>, +<0.925,0.380,-0.025>, +<0.841,0.540,-0.002>, +<0.760,0.645,0.081> +<0.915,-0.403,0.019>, +<0.944,-0.328,-0.027>, +<0.946,-0.322,-0.035>, +<0.893,-0.450,-0.019>, +<0.801,-0.599,-0.018>, +<0.673,-0.739,-0.017>, +<0.528,-0.849,-0.017>, +<0.404,-0.915,-0.013>, +<0.349,-0.937,-0.003>, +<0.394,-0.919,0.013>, +<0.502,-0.864,0.033>, +<0.622,-0.782,0.048>, +<0.726,-0.685,0.055>, +<0.798,-0.600,0.049>, +<0.835,-0.549,0.029>, +<0.837,-0.547,0.003>, +<0.816,-0.578,-0.020>, +<0.778,-0.626,-0.062>, +<0.768,-0.639,-0.047>, +<0.785,-0.620,0.005>, +<0.782,-0.622,0.026>, +<0.800,-0.600,0.017>, +<0.824,-0.567,-0.016>, +<0.771,-0.613,0.171>, +<0.634,-0.410,0.655>, +<0.313,-0.075,0.947>, +<-0.002,0.008,1>, +<-0.004,0,1>, +ZS(34) +<-0.003,0,1>, +<0.002,-0.008,1>, +<0.321,0.079,0.944>, +<0.637,0.415,0.649>, +<0.772,0.613,0.168>, +<0.824,0.567,-0.015>, +<0.800,0.600,0.017>, +<0.786,0.617,0.020>, +<0.791,0.612,-0.005>, +<0.772,0.633,-0.057>, +<0.783,0.619,-0.065>, +<0.828,0.561,-0.016>, +<0.850,0.526,0.010>, +<0.842,0.539,0.040>, +<0.793,0.607,0.057>, +<0.706,0.706,0.059>, +<0.588,0.807,0.049>, +<0.456,0.889,0.031>, +<0.348,0.937,0.010>, +<0.332,0.943,-0.005>, +<0.423,0.906,-0.013>, +<0.570,0.821,-0.017>, +<0.722,0.692,-0.017>, +<0.842,0.539,-0.020>, +<0.925,0.378,-0.027>, +<0.957,0.286,-0.037>, +<0.938,0.346,-0.031>, +<0.893,0.450,0.024> +<0.949,-0.314,-0.018>, +<0.934,-0.356,-0.024>, +<0.882,-0.471,-0.017>, +<0.793,-0.610,-0.005>, +<0.665,-0.747,-0.006>, +<0.516,-0.856,-0.008>, +<0.384,-0.923,-0.005>, +<0.319,-0.948,0>, +<0.363,-0.932,0.011>, +<0.480,-0.877,0.025>, +<0.612,-0.790,0.038>, +<0.731,-0.681,0.045>, +<0.818,-0.574,0.043>, +<0.866,-0.499,0.028>, +<0.876,-0.483,0.002>, +<0.852,-0.523,-0.028>, +<0.807,-0.589,-0.046>, +<0.762,-0.646,-0.044>, +<0.748,-0.662,-0.045>, +<0.732,-0.681,0>, +<0.755,-0.654,0.056>, +<0.797,-0.597,0.094>, +<0.817,-0.572,0.067>, +<0.842,-0.539,-0.008>, +<0.829,-0.558,0.036>, +<0.728,-0.507,0.461>, +<0.505,-0.227,0.833>, +<0.162,0.017,0.987>, +<-0.014,0.004,1>, +<-0.003,0,1>, +ZS(30) +<-0.003,0,1>, +<-0.013,-0.003,1>, +<0.166,-0.015,0.986>, +<0.498,0.236,0.834>, +<0.731,0.512,0.452>, +<0.831,0.555,0.033>, +<0.840,0.543,-0.001>, +<0.813,0.578,0.075>, +<0.791,0.605,0.093>, +<0.751,0.659,0.043>, +<0.739,0.674,-0.015>, +<0.761,0.646,-0.057>, +<0.776,0.629,-0.049>, +<0.822,0.568,-0.044>, +<0.868,0.497,-0.020>, +<0.887,0.461,0.013>, +<0.868,0.495,0.037>, +<0.807,0.589,0.049>, +<0.706,0.707,0.049>, +<0.572,0.819,0.038>, +<0.429,0.903,0.022>, +<0.315,0.949,0.008>, +<0.304,0.953,0>, +<0.406,0.914,-0.005>, +<0.559,0.829,-0.006>, +<0.714,0.700,-0.009>, +<0.834,0.551,-0.014>, +<0.913,0.407,-0.032>, +<0.952,0.304,-0.032>, +<0.958,0.287,-0.001> +<0.911,-0.408,-0.050>, +<0.866,-0.499,-0.002>, +<0.783,-0.623,0.004>, +<0.658,-0.753,0.007>, +<0.511,-0.860,0.005>, +<0.374,-0.928,0.002>, +<0.301,-0.954,0.003>, +<0.344,-0.939,0.009>, +<0.466,-0.885,0.019>, +<0.605,-0.796,0.028>, +<0.734,-0.678,0.036>, +<0.831,-0.555,0.036>, +<0.888,-0.458,0.025>, +<0.906,-0.424,0.004>, +<0.884,-0.466,-0.021>, +<0.831,-0.555,-0.046>, +<0.763,-0.644,-0.057>, +<0.704,-0.709,-0.043>, +<0.672,-0.740,-0.005>, +<0.684,-0.728,0.043>, +<0.735,-0.674,0.077>, +<0.789,-0.605,0.105>, +<0.845,-0.520,0.124>, +<0.870,-0.489,0.058>, +<0.860,-0.510,-0.003>, +<0.953,-0.275,0.127>, +<0.794,-0.567,0.220>, +<0.666,-0.438,0.604>, +<0.461,-0.093,0.882>, +<0.131,0.018,0.991>, +<-0.010,0.002,1>, +<-0.003,0,1>, +ZS(25) +<-0.001,0,1>, +<-0.003,0,1>, +<-0.009,-0.002,1>, +<0.135,-0.016,0.991>, +<0.554,0.080,0.829>, +<0.668,0.437,0.602>, +<0.799,0.563,0.211>, +<0.950,0.290,0.118>, +<0.864,0.504,0.002>, +<0.871,0.486,0.074>, +<0.837,0.529,0.136>, +<0.775,0.624,0.104>, +<0.719,0.692,0.068>, +<0.678,0.735,0.029>, +<0.682,0.731,-0.020>, +<0.722,0.690,-0.052>, +<0.784,0.618,-0.059>, +<0.853,0.521,-0.042>, +<0.903,0.429,-0.013>, +<0.916,0.400,0.012>, +<0.887,0.461,0.032>, +<0.817,0.575,0.040>, +<0.705,0.708,0.035>, +<0.561,0.827,0.025>, +<0.412,0.911,0.016>, +<0.296,0.955,0.007>, +<0.288,0.958,0.003>, +<0.398,0.917,0.003>, +<0.553,0.833,0.002>, +<0.705,0.709,0.002>, +<0.822,0.569,-0.006>, +<0.898,0.440,-0.018>, +<0.936,0.347,-0.058> +<0.832,-0.554,-0.037>, +<0.767,-0.642,0.018>, +<0.654,-0.756,0.023>, +<0.514,-0.858,0.016>, +<0.376,-0.927,0.010>, +<0.296,-0.955,0.005>, +<0.337,-0.941,0.006>, +<0.459,-0.888,0.010>, +<0.602,-0.799,0.018>, +<0.737,-0.675,0.025>, +<0.840,-0.542,0.028>, +<0.904,-0.428,0.022>, +<0.927,-0.374,0.007>, +<0.909,-0.416,-0.015>, +<0.852,-0.522,-0.037>, +<0.766,-0.641,-0.049>, +<0.677,-0.735,-0.047>, +<0.610,-0.792,-0.020>, +<0.601,-0.799,0.026>, +<0.663,-0.745,0.078>, +<0.756,-0.644,0.115>, +<0.842,-0.527,0.115>, +<0.895,-0.439,0.080>, +<0.894,-0.445,0.051>, +<0.877,-0.480,0.014>, +<0.876,-0.482,-0.002>, +<0.836,-0.533,0.127>, +<0.949,-0.293,0.117>, +<0.792,-0.518,0.323>, +<0.655,-0.425,0.625>, +<0.447,-0.078,0.891>, +<0.194,0.018,0.981>, +<0.018,0.004,1>, +<-0.005,0,1>, +z,z,<-0.001,0,1>, +<-0.002,0,1>, +<-0.002,0,1>, +ZS(15) +<-0.001,0,1>, +<-0.003,0,1>, +<-0.006,0,1>, +<0.021,-0.003,1>, +<0.201,-0.017,0.980>, +<0.451,0.083,0.889>, +<0.623,0.541,0.564>, +<0.791,0.520,0.321>, +<0.915,0.398,0.063>, +<0.838,0.532,0.124>, +<0.876,0.483,-0.002>, +<0.882,0.472,0.020>, +<0.903,0.426,0.054>, +<0.892,0.444,0.089>, +<0.828,0.549,0.113>, +<0.734,0.672,0.104>, +<0.641,0.765,0.062>, +<0.596,0.803,0.012>, +<0.628,0.778,-0.031>, +<0.705,0.707,-0.052>, +<0.797,0.602,-0.050>, +<0.879,0.475,-0.033>, +<0.929,0.370,-0.009>, +<0.936,0.352,0.012>, +<0.900,0.434,0.025>, +<0.824,0.566,0.027>, +<0.704,0.710,0.022>, +<0.555,0.832,0.016>, +<0.405,0.914,0.010>, +<0.289,0.957,0.006>, +<0.284,0.959,0.008>, +<0.399,0.917,0.009>, +<0.551,0.834,0.012>, +<0.696,0.718,0.011>, +<0.806,0.593,0.005>, +<0.867,0.497,-0.045> +<0.725,-0.688,-0.025>, +<0.647,-0.762,0.028>, +<0.527,-0.849,0.030>, +<0.390,-0.920,0.017>, +<0.306,-0.952,0.006>, +<0.341,-0.940,0>, +<0.460,-0.888,0.001>, +<0.601,-0.799,0.006>, +<0.739,-0.673,0.012>, +<0.846,-0.532,0.016>, +<0.915,-0.404,0.015>, +<0.942,-0.336,0.007>, +<0.927,-0.375,-0.008>, +<0.868,-0.495,-0.026>, +<0.772,-0.634,-0.039>, +<0.658,-0.751,-0.042>, +<0.558,-0.830,-0.026>, +<0.517,-0.856,0.010>, +<0.582,-0.811,0.056>, +<0.706,-0.701,0.100>, +<0.829,-0.546,0.122>, +<0.912,-0.396,0.110>, +<0.947,-0.318,0.040>, +<0.933,-0.352,-0.070>, +<0.906,-0.410,-0.107>, +<0.883,-0.469,-0.001>, +<0.891,-0.454,0.004>, +<0.879,-0.471,0.071>, +<0.846,-0.500,0.187>, +<0.907,-0.419,0.050>, +<0.834,-0.465,0.297>, +<0.734,-0.346,0.584>, +<0.556,-0.123,0.822>, +<0.346,0.011,0.938>, +<0.145,0.011,0.989>, +<0.022,0,1>, +<-0.010,-0.002,1>, +<-0.006,0,1>, +<-0.003,0.001,1>, +<0,0.002,1>, +ZS(5) +<-0.001,0,1>, +<-0.001,0,1>, +<-0.002,0,1>, +<-0.001,0,1>, +<-0.001,0,1>, +<-0.002,0,1>, +<-0.003,0,1>, +<-0.004,0,1>, +<-0.009,0,1>, +<0.024,-0.003,1>, +<0.152,-0.011,0.988>, +<0.354,-0.004,0.935>, +<0.564,0.130,0.815>, +<0.739,0.349,0.576>, +<0.836,0.464,0.294>, +<0.906,0.420,0.052>, +<0.871,0.474,0.127>, +<0.890,0.454,0.038>, +<0.894,0.449,-0.003>, +<0.883,0.469,-0.001>, +<0.908,0.401,-0.120>, +<0.940,0.338,-0.051>, +<0.947,0.313,0.066>, +<0.899,0.423,0.112>, +<0.806,0.580,0.117>, +<0.676,0.731,0.091>, +<0.554,0.832,0.046>, +<0.514,0.858,0.001>, +<0.585,0.810,-0.035>, +<0.696,0.717,-0.047>, +<0.810,0.584,-0.042>, +<0.899,0.437,-0.025>, +<0.946,0.324,-0.005>, +<0.949,0.316,0.009>, +<0.908,0.418,0.016>, +<0.826,0.563,0.016>, +<0.703,0.711,0.013>, +<0.553,0.833,0.007>, +<0.405,0.914,0.005>, +<0.291,0.957,0.004>, +<0.292,0.957,0.008>, +<0.409,0.912,0.015>, +<0.557,0.830,0.024>, +<0.685,0.728,0.024>, +<0.764,0.644,-0.024> +<0.610,-0.793,-0.019>, +<0.535,-0.844,0.027>, +<0.420,-0.907,0.024>, +<0.330,-0.944,0.008>, +<0.357,-0.934,-0.004>, +<0.469,-0.883,-0.009>, +<0.604,-0.797,-0.007>, +<0.741,-0.672,-0.002>, +<0.849,-0.528,0.004>, +<0.920,-0.391,0.006>, +<0.951,-0.310,0.003>, +<0.937,-0.348,-0.005>, +<0.880,-0.476,-0.017>, +<0.779,-0.627,-0.028>, +<0.650,-0.759,-0.032>, +<0.522,-0.853,-0.024>, +<0.446,-0.895,0.002>, +<0.504,-0.863,0.037>, +<0.654,-0.752,0.080>, +<0.810,-0.577,0.106>, +<0.920,-0.377,0.104>, +<0.975,-0.209,0.069>, +<0.992,-0.129,-0.010>, +<0.966,-0.237,-0.099>, +<0.857,-0.471,-0.208>, +<0.826,-0.554,-0.106>, +<0.819,-0.571,0.056>, +<0.812,-0.562,0.158>, +<0.893,-0.401,0.204>, +<0.929,-0.358,0.093>, +<0.934,-0.357,-0.006>, +<0.936,-0.350,0.023>, +<0.899,-0.392,0.196>, +<0.826,-0.373,0.423>, +<0.726,-0.248,0.642>, +<0.575,-0.085,0.814>, +<0.563,0.019,0.826>, +<0.277,0.016,0.961>, +<0.154,0.008,0.988>, +<0.068,0.004,0.998>, +<0.020,0,1>, +<-0.001,0,1>, +<-0.006,0,1>, +<-0.006,0,1>, +<-0.006,0,1>, +<-0.007,0,1>, +<-0.009,0,1>, +<0.270,-0.001,0.963>, +z,<0.227,-0.001,0.974>, +<0.085,0,0.996>, +<0.343,-0.007,0.939>, +<0.300,-0.025,0.954>, +<0.433,-0.014,0.901>, +<0.582,0.086,0.809>, +<0.728,0.255,0.636>, +<0.829,0.374,0.415>, +<0.902,0.389,0.189>, +<0.937,0.349,0.020>, +<0.935,0.354,-0.004>, +<0.915,0.387,0.111>, +<0.876,0.444,0.189>, +<0.821,0.550,0.150>, +<0.858,0.514,0.029>, +<0.833,0.530,-0.157>, +<0.870,0.444,-0.216>, +<0.977,0.203,-0.060>, +<0.991,0.136,0.015>, +<0.966,0.245,0.082>, +<0.900,0.422,0.109>, +<0.778,0.620,0.105>, +<0.614,0.786,0.073>, +<0.469,0.883,0.028>, +<0.450,0.893,-0.011>, +<0.558,0.829,-0.037>, +<0.694,0.719,-0.040>, +<0.823,0.567,-0.031>, +<0.913,0.407,-0.015>, +<0.956,0.292,-0.002>, +<0.955,0.296,0.006>, +<0.911,0.411,0.010>, +<0.827,0.562,0.008>, +<0.703,0.711,0.002>, +<0.555,0.832,-0.003>, +<0.411,0.911,-0.005>, +<0.305,0.952,0>, +<0.311,0.950,0.009>, +<0.434,0.901,0.025>, +<0.562,0.827,0.035>, +<0.646,0.763,-0.009> +<0.513,-0.858,-0.017>, +<0.448,-0.894,0.012>, +<0.370,-0.929,0.008>, +<0.382,-0.924,-0.010>, +<0.482,-0.876,-0.018>, +<0.609,-0.793,-0.018>, +<0.741,-0.672,-0.015>, +<0.848,-0.529,-0.006>, +<0.921,-0.390,0>, +<0.954,-0.300,0.002>, +<0.943,-0.333,-0.002>, +<0.886,-0.463,-0.011>, +<0.784,-0.620,-0.021>, +<0.647,-0.762,-0.026>, +<0.501,-0.865,-0.023>, +<0.392,-0.920,-0.004>, +<0.435,-0.900,0.024>, +<0.602,-0.796,0.058>, +<0.783,-0.616,0.090>, +<0.919,-0.383,0.096>, +<0.984,-0.162,0.080>, +<1,0.008,0.014>, +<0.996,-0.066,-0.060>, +<0.926,-0.356,-0.124>, +<0.789,-0.599,-0.137>, +<0.700,-0.705,-0.114>, +<0.658,-0.748,0.090>, +<0.805,-0.568,0.170>, +<0.918,-0.329,0.223>, +<0.974,-0.198,0.113>, +<0.960,-0.278,0.033>, +<0.944,-0.330,0>, +<0.952,-0.308,0>, +<0.951,-0.306,0.052>, +<0.955,-0.287,0.071>, +<0.949,-0.237,0.208>, +<0.881,-0.297,0.368>, +<0.805,-0.315,0.503>, +<0.745,-0.162,0.648>, +<0.663,-0.082,0.744>, +<0.588,-0.028,0.808>, +<0.505,-0.003,0.863>, +<0.456,0.004,0.890>, +<0.426,0,0.905>, +<0.414,-0.004,0.910>, +<0.425,-0.009,0.905>, +<0.443,0.259,0.858>, +<0.513,-0.012,0.858>, +<0.560,-0.023,0.828>, +<0.621,0.041,0.783>, +<0.696,0.073,0.714>, +<0.763,0.191,0.617>, +<0.834,0.216,0.508>, +<0.887,0.288,0.361>, +<0.965,0.135,0.225>, +<0.959,0.280,0.049>, +<0.957,0.290,0.011>, +<0.952,0.307,-0.002>, +<0.944,0.330,0>, +<0.968,0.248,0.047>, +<0.960,0.219,0.173>, +<0.892,0.387,0.232>, +<0.757,0.635,0.154>, +<0.656,0.755,0.015>, +<0.753,0.637,-0.165>, +<0.839,0.531,-0.121>, +<0.954,0.282,-0.100>, +<0.999,0.037,-0.035>, +<0.999,0.027,0.045>, +<0.972,0.214,0.095>, +<0.891,0.441,0.105>, +<0.737,0.670,0.091>, +<0.547,0.835,0.049>, +<0.394,0.919,0.010>, +<0.405,0.914,-0.019>, +<0.546,0.837,-0.033>, +<0.699,0.714,-0.030>, +<0.834,0.552,-0.019>, +<0.922,0.387,-0.007>, +<0.962,0.275,0.003>, +<0.958,0.288,0.007>, +<0.912,0.411,0.004>, +<0.827,0.562,-0.003>, +<0.704,0.710,-0.011>, +<0.560,0.828,-0.017>, +<0.427,0.904,-0.017>, +<0.332,0.943,-0.008>, +<0.352,0.936,0.015>, +<0.460,0.888,0.028>, +<0.537,0.843,-0.007> +<0.445,-0.895,-0.022>, +<0.410,-0.912,-0.009>, +<0.415,-0.910,-0.018>, +<0.499,-0.866,-0.031>, +<0.614,-0.788,-0.033>, +<0.739,-0.673,-0.025>, +<0.844,-0.536,-0.017>, +<0.918,-0.398,-0.005>, +<0.953,-0.304,0.002>, +<0.944,-0.331,0.005>, +<0.890,-0.457,0>, +<0.789,-0.614,-0.010>, +<0.647,-0.762,-0.019>, +<0.492,-0.870,-0.023>, +<0.357,-0.934,-0.011>, +<0.378,-0.926,0.010>, +<0.552,-0.833,0.042>, +<0.749,-0.659,0.073>, +<0.908,-0.409,0.090>, +<0.984,-0.154,0.085>, +<0.995,0.087,0.047>, +<0.995,0.095,-0.016>, +<0.976,-0.200,-0.088>, +<0.836,-0.533,-0.133>, +<0.639,-0.757,-0.137>, +<0.506,-0.862,-0.024>, +<0.660,-0.746,0.093>, +<0.884,-0.436,0.169>, +<0.977,-0.111,0.181>, +<0.998,-0.069,-0.003>, +<0.962,-0.235,-0.141>, +<0.947,-0.322,0>, +<0.925,-0.379,0.017>, +<0.922,-0.351,0.161>, +<0.958,-0.234,0.165>, +<0.977,-0.214,0.009>, +<0.974,-0.221,0.041>, +<0.982,-0.187,0>, +<0.981,-0.176,0.081>, +<0.965,-0.166,0.205>, +<0.965,-0.143,0.218>, +<0.948,-0.122,0.294>, +<0.932,-0.085,0.352>, +<0.922,-0.049,0.385>, +<0.918,-0.011,0.395>, +<0.916,0.030,0.400>, +<0.934,0.071,0.351>, +<0.889,0.104,0.446>, +<0.964,0.112,0.243>, +<0.914,0.158,0.373>, +<0.983,0.156,0.102>, +<0.970,0.187,0.154>, +<0.983,0.184,-0.006>, +<0.954,0.242,0.179>, +<0.963,0.253,0.093>, +<0.937,0.292,0.190>, +<0.942,0.317,0.112>, +<0.948,0.318,-0.008>, +<0.947,0.321,0>, +<0.980,0.187,-0.066>, +<0.994,0.078,0.080>, +<0.954,0.216,0.207>, +<0.826,0.538,0.172>, +<0.591,0.804,0.064>, +<0.552,0.832,-0.050>, +<0.726,0.675,-0.130>, +<0.895,0.431,-0.117>, +<0.992,0.111,-0.057>, +<0.994,-0.112,0.004>, +<0.997,-0.027,0.070>, +<0.972,0.215,0.096>, +<0.869,0.485,0.096>, +<0.687,0.723,0.068>, +<0.484,0.875,0.030>, +<0.335,0.942,0>, +<0.382,0.924,-0.023>, +<0.546,0.837,-0.027>, +<0.708,0.706,-0.019>, +<0.842,0.539,-0.010>, +<0.926,0.377,0.002>, +<0.963,0.269,0.007>, +<0.957,0.289,0.003>, +<0.910,0.416,-0.005>, +<0.824,0.566,-0.018>, +<0.705,0.709,-0.029>, +<0.570,0.821,-0.035>, +<0.451,0.892,-0.030>, +<0.375,0.927,-0.007>, +<0.398,0.917,0.002>, +<0.452,0.892,-0.016> +<0.431,-0.902,-0.021>, +<0.451,-0.892,-0.027>, +<0.519,-0.854,-0.041>, +<0.622,-0.782,-0.047>, +<0.736,-0.676,-0.043>, +<0.837,-0.547,-0.028>, +<0.910,-0.414,-0.013>, +<0.948,-0.319,0.002>, +<0.940,-0.341,0.009>, +<0.888,-0.459,0.009>, +<0.794,-0.608,0.002>, +<0.653,-0.758,-0.009>, +<0.493,-0.870,-0.019>, +<0.338,-0.941,-0.017>, +<0.330,-0.944,0>, +<0.502,-0.864,0.028>, +<0.708,-0.704,0.060>, +<0.886,-0.456,0.081>, +<0.981,-0.172,0.088>, +<0.992,0.101,0.076>, +<0.978,0.209,0.015>, +<0.999,-0.035,-0.031>, +<0.910,-0.402,-0.096>, +<0.699,-0.704,-0.127>, +<0.435,-0.895,-0.094>, +<0.446,-0.895,0>, +<0.760,-0.642,0.103>, +<0.951,-0.265,0.156>, +<0.983,0.103,0.154>, +<0.989,0.146,0.033>, +<0.934,-0.275,-0.228>, +<0.857,-0.479,-0.189>, +<0.855,-0.515,0.062>, +<0.862,-0.458,0.216>, +<0.956,-0.132,0.263>, +<0.997,-0.070,0.045>, +<0.980,-0.200,0.002>, +<0.977,-0.213,-0.008>, +<0.954,-0.267,0.134>, +<0.957,-0.140,0.253>, +<0.980,-0.050,0.193>, +<0.996,-0.089,0.016>, +<0.998,-0.061,-0.003>, +<1,-0.036,0>, +<0.986,-0.031,0.162>, +<0.973,0.025,0.229>, +<0.994,0.063,0.094>, +<0.998,0.060,-0.004>, +<1,0.041,0.003>, +<0.981,0.117,0.152>, +<0.968,0.204,0.147>, +<0.986,0.167,-0.003>, +<0.983,0.185,0>, +<0.994,0.102,0.033>, +<0.974,0.049,0.221>, +<0.911,0.304,0.278>, +<0.853,0.511,0.108>, +<0.914,0.401,-0.057>, +<0.912,0.355,-0.207>, +<0.972,0.174,-0.157>, +<0.983,-0.159,0.090>, +<0.977,0.019,0.211>, +<0.891,0.417,0.178>, +<0.634,0.770,0.076>, +<0.413,0.911,-0.008>, +<0.539,0.833,-0.124>, +<0.786,0.607,-0.120>, +<0.953,0.291,-0.085>, +<0.998,-0.057,-0.017>, +<0.976,-0.219,0.019>, +<0.996,-0.028,0.087>, +<0.963,0.250,0.097>, +<0.836,0.542,0.080>, +<0.641,0.766,0.046>, +<0.426,0.905,0.011>, +<0.297,0.955,-0.014>, +<0.379,0.925,-0.027>, +<0.554,0.832,-0.022>, +<0.717,0.697,-0.011>, +<0.847,0.532,0>, +<0.926,0.377,0.007>, +<0.961,0.276,0.008>, +<0.953,0.303,0>, +<0.903,0.430,-0.016>, +<0.819,0.573,-0.036>, +<0.705,0.708,-0.049>, +<0.583,0.811,-0.048>, +<0.478,0.877,-0.036>, +<0.420,0.907,-0.021>, +<0.417,0.909,-0.023> +<0.487,-0.873,-0.015>, +<0.540,-0.840,-0.042>, +<0.630,-0.775,-0.052>, +<0.732,-0.679,-0.050>, +<0.826,-0.562,-0.041>, +<0.899,-0.437,-0.021>, +<0.938,-0.346,-0.002>, +<0.932,-0.361,0.012>, +<0.883,-0.469,0.017>, +<0.795,-0.606,0.012>, +<0.662,-0.749,0.002>, +<0.505,-0.863,-0.012>, +<0.339,-0.941,-0.021>, +<0.298,-0.954,-0.014>, +<0.458,-0.889,0.010>, +<0.668,-0.743,0.045>, +<0.857,-0.510,0.077>, +<0.973,-0.215,0.088>, +<0.993,0.069,0.095>, +<0.959,0.280,0.035>, +<0.992,0.124,0.009>, +<0.969,-0.239,-0.062>, +<0.792,-0.601,-0.105>, +<0.498,-0.855,-0.145>, +<0.291,-0.956,-0.044>, +<0.539,-0.842,0>, +<0.866,-0.487,0.115>, +<0.987,-0.057,0.151>, +<0.955,0.290,0.067>, +<0.988,0.153,0.025>, +<0.944,-0.313,-0.102>, +<0.761,-0.608,-0.228>, +<0.667,-0.744,0.032>, +<0.882,-0.436,0.179>, +<0.970,0.062,0.234>, +<0.998,0.058,0.025>, +<0.976,-0.150,-0.160>, +<0.942,-0.334,-0.038>, +<0.879,-0.450,0.158>, +<0.941,-0.201,0.271>, +<0.953,0.114,0.281>, +<0.993,0.116,0.013>, +<0.999,-0.046,0.001>, +<0.975,-0.220,-0.011>, +<0.934,-0.256,0.251>, +<0.945,0.097,0.313>, +<0.937,0.303,0.177>, +<0.986,0.165,-0.009>, +<0.996,-0.083,0.017>, +<0.984,-0.040,0.175>, +<0.934,0.323,0.151>, +<0.947,0.321,-0.024>, +<0.980,0.133,-0.145>, +<0.999,0.002,0.052>, +<0.974,-0.044,0.223>, +<0.936,0.275,0.220>, +<0.769,0.631,0.102>, +<0.772,0.625,-0.116>, +<0.879,0.395,-0.266>, +<0.993,0.082,-0.085>, +<0.962,-0.262,0.077>, +<0.965,-0.196,0.173>, +<0.959,0.231,0.164>, +<0.750,0.655,0.094>, +<0.409,0.913,-0.018>, +<0.339,0.938,-0.076>, +<0.623,0.771,-0.130>, +<0.865,0.490,-0.110>, +<0.989,0.138,-0.059>, +<0.977,-0.215,0.002>, +<0.961,-0.268,0.062>, +<0.995,0.005,0.099>, +<0.948,0.306,0.084>, +<0.799,0.598,0.063>, +<0.591,0.806,0.025>, +<0.373,0.928,-0.004>, +<0.268,0.963,-0.013>, +<0.391,0.920,-0.029>, +<0.566,0.824,-0.017>, +<0.725,0.689,-0.003>, +<0.847,0.531,0.011>, +<0.921,0.389,0.019>, +<0.954,0.299,0.012>, +<0.943,0.331,-0.009>, +<0.891,0.454,-0.031>, +<0.809,0.585,-0.048>, +<0.704,0.708,-0.053>, +<0.596,0.801,-0.052>, +<0.506,0.861,-0.041>, +<0.457,0.889,-0.019> +<0.577,-0.817,-0.010>, +<0.640,-0.767,-0.048>, +<0.728,-0.683,-0.055>, +<0.815,-0.578,-0.046>, +<0.884,-0.467,-0.028>, +<0.922,-0.388,0>, +<0.917,-0.397,0.018>, +<0.872,-0.489,0.026>, +<0.793,-0.609,0.023>, +<0.672,-0.741,0.009>, +<0.523,-0.852,-0.008>, +<0.366,-0.930,-0.033>, +<0.293,-0.956,-0.028>, +<0.425,-0.905,-0.012>, +<0.631,-0.775,0.021>, +<0.826,-0.560,0.061>, +<0.958,-0.272,0.093>, +<0.994,0.020,0.105>, +<0.951,0.295,0.093>, +<0.963,0.265,0.039>, +<0.996,-0.079,-0.031>, +<0.886,-0.454,-0.095>, +<0.627,-0.768,-0.127>, +<0.302,-0.942,-0.148>, +<0.303,-0.951,-0.068>, +<0.685,-0.728,0.032>, +<0.942,-0.310,0.125>, +<0.966,0.186,0.181>, +<0.923,0.382,0.044>, +<0.998,0.058,-0.002>, +<0.902,-0.418,-0.104>, +<0.623,-0.769,-0.144>, +<0.640,-0.768,-0.003>, +<0.937,-0.329,0.114>, +<0.953,0.219,0.211>, +<0.954,0.297,0.042>, +<0.962,-0.180,-0.204>, +<0.821,-0.554,-0.140>, +<0.830,-0.550,0.091>, +<0.963,-0.183,0.199>, +<0.946,0.269,0.182>, +<0.978,0.209,-0.014>, +<0.987,-0.049,-0.150>, +<0.946,-0.319,-0.048>, +<0.904,-0.389,0.175>, +<0.974,0.082,0.210>, +<0.899,0.404,0.167>, +<0.963,0.265,-0.041>, +<0.991,-0.134,-0.020>, +<0.987,-0.103,0.122>, +<0.938,0.344,0.043>, +<0.866,0.489,-0.107>, +<0.979,0.119,-0.163>, +<0.968,-0.251,0.021>, +<0.957,-0.221,0.186>, +<0.955,0.208,0.211>, +<0.723,0.686,0.082>, +<0.626,0.775,-0.088>, +<0.816,0.551,-0.177>, +<0.986,0.140,-0.088>, +<0.946,-0.321,0.050>, +<0.927,-0.342,0.157>, +<0.986,0.034,0.165>, +<0.850,0.517,0.105>, +<0.527,0.850,0.008>, +<0.238,0.970,-0.051>, +<0.402,0.901,-0.164>, +<0.726,0.674,-0.136>, +<0.938,0.334,-0.092>, +<1,-0.032,0.006>, +<0.945,-0.321,0.056>, +<0.966,-0.229,0.120>, +<0.993,0.062,0.099>, +<0.924,0.373,0.082>, +<0.757,0.652,0.050>, +<0.542,0.840,0.028>, +<0.329,0.944,-0.019>, +<0.265,0.963,-0.041>, +<0.414,0.910,-0.032>, +<0.579,0.815,-0.006>, +<0.730,0.683,0.019>, +<0.841,0.540,0.033>, +<0.909,0.416,0.028>, +<0.940,0.342,0.013>, +<0.928,0.373,-0.010>, +<0.876,0.481,-0.037>, +<0.799,0.599,-0.053>, +<0.705,0.707,-0.061>, +<0.612,0.789,-0.052>, +<0.545,0.838,-0.014> +<0.668,-0.744,-0.003>, +<0.727,-0.686,-0.040>, +<0.803,-0.594,-0.046>, +<0.867,-0.497,-0.033>, +<0.902,-0.432,-0.014>, +<0.899,-0.437,0.010>, +<0.861,-0.508,0.030>, +<0.792,-0.610,0.033>, +<0.685,-0.728,0.021>, +<0.547,-0.837,0.003>, +<0.400,-0.916,-0.018>, +<0.300,-0.954,-0.026>, +<0.386,-0.922,-0.027>, +<0.579,-0.815,0.011>, +<0.779,-0.625,0.051>, +<0.934,-0.348,0.086>, +<0.994,-0.042,0.106>, +<0.962,0.245,0.121>, +<0.931,0.358,0.070>, +<0.994,0.101,0.033>, +<0.960,-0.271,-0.073>, +<0.753,-0.644,-0.138>, +<0.441,-0.883,-0.164>, +<0.190,-0.975,-0.111>, +<0.402,-0.911,-0.092>, +<0.789,-0.610,0.067>, +<0.984,-0.112,0.142>, +<0.910,0.369,0.187>, +<0.911,0.401,0.097>, +<0.998,-0.045,-0.041>, +<0.836,-0.533,-0.128>, +<0.527,-0.843,-0.111>, +<0.642,-0.767,-0.017>, +<0.955,-0.265,0.133>, +<0.919,0.346,0.190>, +<0.929,0.359,0.088>, +<0.976,-0.210,-0.049>, +<0.742,-0.653,-0.150>, +<0.750,-0.660,0.043>, +<0.975,-0.153,0.159>, +<0.904,0.399,0.156>, +<0.900,0.435,0.005>, +<0.982,-0.026,-0.189>, +<0.837,-0.545,-0.046>, +<0.850,-0.513,0.124>, +<0.984,0.064,0.167>, +<0.839,0.529,0.129>, +<0.914,0.403,-0.050>, +<0.976,-0.217,-0.017>, +<0.975,-0.185,0.125>, +<0.898,0.440,0.015>, +<0.834,0.540,-0.118>, +<0.985,0.152,-0.082>, +<0.947,-0.322,-0.017>, +<0.908,-0.364,0.205>, +<0.991,0.086,0.107>, +<0.752,0.660,-0.011>, +<0.514,0.855,-0.074>, +<0.713,0.685,-0.152>, +<0.969,0.239,-0.068>, +<0.951,-0.302,0.064>, +<0.871,-0.467,0.152>, +<0.974,-0.144,0.177>, +<0.926,0.346,0.150>, +<0.648,0.761,0.036>, +<0.258,0.962,-0.089>, +<0.213,0.966,-0.147>, +<0.543,0.827,-0.144>, +<0.840,0.536,-0.089>, +<0.989,0.145,-0.016>, +<0.973,-0.217,0.078>, +<0.929,-0.359,0.090>, +<0.982,-0.149,0.119>, +<0.982,0.148,0.116>, +<0.885,0.455,0.098>, +<0.700,0.712,0.050>, +<0.486,0.874,-0.012>, +<0.292,0.956,-0.033>, +<0.292,0.956,-0.035>, +<0.449,0.893,-0.014>, +<0.606,0.795,0.009>, +<0.743,0.669,0.025>, +<0.838,0.544,0.032>, +<0.896,0.444,0.024>, +<0.922,0.387,0>, +<0.909,0.417,-0.021>, +<0.861,0.508,-0.042>, +<0.788,0.613,-0.052>, +<0.706,0.707,-0.042>, +<0.642,0.767,-0.002> +<0.728,-0.685,0.030> +<0.782,-0.624,-0.005> +<0.845,-0.534,-0.014> +<0.887,-0.462,-0.019> +<0.894,-0.447,-0.022> +<0.866,-0.499,-0.011> +<0.812,-0.584,-0.005> +<0.724,-0.689,-0.011> +<0.599,-0.800,-0.027> +<0.453,-0.890,-0.045> +<0.323,-0.945,-0.045> +<0.313,-0.950,0.013> +<0.492,-0.870,0.042> +<0.684,-0.723,0.098> +<0.868,-0.473,0.150> +<0.971,-0.160,0.179> +<0.973,0.143,0.181> +<0.921,0.365,0.139> +<0.951,0.306,0.042> +<0.998,-0.044,-0.045> +<0.889,-0.433,-0.147> +<0.605,-0.768,-0.209> +<0.266,-0.938,-0.221> +<0.163,-0.983,-0.082> +<0.529,-0.849,-0.016> +<0.875,-0.459,0.152> +<0.976,0.094,0.196> +<0.865,0.466,0.189> +<0.916,0.383,0.116> +<0.989,-0.129,-0.075> +<0.732,-0.653,-0.195> +<0.418,-0.902,-0.105> +<0.667,-0.745,0.018> +<0.971,-0.156,0.183> +<0.875,0.448,0.183> +<0.925,0.363,0.114> +<0.968,-0.248,-0.034> +<0.675,-0.728,-0.120> +<0.714,-0.700,0.017> +<0.984,-0.117,0.131> +<0.863,0.485,0.140> +<0.862,0.507,0.014> +<0.995,-0.062,-0.076> +<0.781,-0.624,-0.029> +<0.811,-0.580,0.077> +<0.992,0.039,0.117> +<0.808,0.581,0.093> +<0.868,0.495,-0.043> +<0.973,-0.231,0.017> +<0.967,-0.228,0.114> +<0.891,0.455,-0.007> +<0.782,0.618,-0.083> +<0.974,0.185,-0.128> +<0.899,-0.437,0.016> +<0.866,-0.425,0.263> +<0.996,0.084,0.023> +<0.823,0.567,-0.036> +<0.505,0.860,-0.069> +<0.604,0.785,-0.137> +<0.926,0.366,-0.094> +<0.975,-0.204,0.085> +<0.840,-0.522,0.152> +<0.907,-0.327,0.265> +<0.952,0.177,0.248> +<0.751,0.655,0.084> +<0.357,0.932,-0.059> +<0.133,0.983,-0.126> +<0.366,0.912,-0.185> +<0.692,0.705,-0.153> +<0.941,0.319,-0.114> +<0.998,-0.067,0> +<0.922,-0.384,0.041> +<0.932,-0.314,0.180> +<0.979,-0.034,0.203> +<0.939,0.291,0.183> +<0.806,0.580,0.121> +<0.600,0.797,0.070> +<0.388,0.921,0.019> +<0.252,0.968,-0.018> +<0.348,0.935,-0.069> +<0.513,0.857,-0.051> +<0.664,0.747,-0.030> +<0.780,0.625,-0.012> +<0.854,0.519,-0.007> +<0.899,0.438,-0.016> +<0.913,0.407,-0.022> +<0.890,0.455,-0.017> +<0.838,0.546,-0.011> +<0.766,0.643,-0.001> +<0.706,0.708,0.035> +} +uv_vectors { +nx*ny, +#local i=0; +#while (i, + #else + + #end + #local j=j+1; + #end + #local i=i+1; +#end +} +face_indices { +15842 +#local i=0; +#while (i + #end + #if (((j-1) >= 0) & ((i-1) >= 0)) + + #end + #local j=j+1; + #end + #local i=i+1; +#end +} diff --git a/samples/POV-Ray SDL/sky.inc b/samples/POV-Ray SDL/sky.inc new file mode 100755 index 00000000..93753d02 --- /dev/null +++ b/samples/POV-Ray SDL/sky.inc @@ -0,0 +1,91 @@ +// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. +// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a +// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. + +// Persistence Of Vision Ray Tracer Include File +// File: sky.inc +// Desc: sky for 'balcony.pov' demonstration scene +// Date: July/August 2001 +// Auth: Christoph Hormann + +// Updated: 09Aug2008 (jh) for v3.7 distribution + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +#if (version < 3.7) + #version 3.5; +#end + +#local P_Clouds= +pigment { + gradient z + pigment_map { + [ 0.0 color rgbt 1] + [ 0.1 + bozo + color_map { + [0.0 color rgbt < 0.85, 0.88, 0.94, 0.0>] + [0.15 color rgbt < 0.91, 0.96, 0.99, 0.0>] + [0.35 color rgbt < 0.91, 0.96, 0.99, 1.0>] + } + turbulence 0.75 + lambda 2.4 + omega 0.6 + octaves 8 + scale <0.4,0.4,0.15> + ] + [ 0.4 + bozo + color_map { + [0.0 color rgbt < 0.85, 0.88, 0.94, 0.0>] + [0.15 color rgbt < 0.91, 0.96, 0.99, 0.0>] + [0.35 color rgbt < 0.91, 0.96, 0.99, 1.0>] + } + turbulence 0.75 + lambda 2.4 + omega 0.6 + octaves 8 + scale <0.4,0.4,0.15> + ] + [ 0.65 color rgbt 1] + + } + rotate 10*z +} + + +#local Tex_Sky = +texture { + pigment { + function { abs(z) } + color_map { + [0.0 color rgb < 0.640, 0.685, 0.800 >] + [0.3 color rgb < 0.400, 0.550, 0.900 >] + } + turbulence 0.05 + } + + finish { + diffuse 0 + ambient 1 + } +} +texture { + pigment { P_Clouds } + finish { + diffuse 0 + ambient 1 + } +} + + +sphere { + <0, 0, 0>, 1 + texture { Tex_Sky } + scale<1000000, 1000000, 300000> + no_shadow + hollow on + photons{ collect off } +} + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ diff --git a/samples/POV-Ray SDL/table.inc b/samples/POV-Ray SDL/table.inc new file mode 100755 index 00000000..17981897 --- /dev/null +++ b/samples/POV-Ray SDL/table.inc @@ -0,0 +1,171 @@ +// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. +// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a +// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. + +// Persistence Of Vision Ray Tracer Include File +// File: table.inc +// Desc: table for 'balcony.pov' demonstration scene +// Date: July/August 2001 +// Auth: Christoph Hormann + +// Updated: 09Aug2008 (jh) for v3.7 distribution + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +#if (version < 3.7) + #version 3.5; +#end + +#declare Tex_Table_Foot= +texture { + pigment { + color rgb 0.4 + } + finish { + ambient 0.0 + diffuse 0.3 + specular 0.4 + roughness 0.01 + metallic + + reflection { + 0.8 + metallic + } + } +} + +#declare Tex_Table_Foot_Bottom= +texture { + pigment { + color rgb 0.2 + } + finish { + ambient 0.0 + diffuse 0.3 + specular 0.4 + roughness 0.02 + } +} + +#declare Tex_Dark_Wood= +texture { + pigment { + bozo + color_map { + [0.3 color rgb <0.0,0.0,0.16> ] + [0.5 color rgb <0.0,0.0,0.08> ] + [0.7 color rgb <0.0,0.0,0.0> ] + } + scale <4,1,1>*0.036 + } + finish { + ambient 0.09 + diffuse 0.3 + specular 0.5 + roughness 0.025 + + reflection { + 0.15 + metallic + } + } + normal { + granite 0.1 + scale 0.03 + accuracy 0.007 + } + scale 0.5 + rotate 90*y +} + +#declare Tex_Dark_Wood2 = +texture { + pigment { + wood + color_map { + [ 0.0000 color rgb<0.6431, 0.3176, 0.0824> ] + [ 0.1000 color rgb<0.6196, 0.2824, 0.0588> ] + [ 0.2000 color rgb<0.7137, 0.3725, 0.1529> ] + [ 0.3000 color rgb<0.7529, 0.4157, 0.1922> ] + [ 0.4000 color rgb<0.8157, 0.4941, 0.2588> ] + [ 0.5000 color rgb<0.7686, 0.4745, 0.2196> ] + [ 0.6000 color rgb<0.8471, 0.5647, 0.2980> ] + [ 0.7000 color rgb<0.8627, 0.5843, 0.3137> ] + [ 0.8000 color rgb<0.8902, 0.6314, 0.3529> ] + [ 0.9000 color rgb<0.8627, 0.6118, 0.3294> ] + [ 1.0000 color rgb<0.8392, 0.5922, 0.3098> ] + } + + turbulence <0.075, 0.075, 0.65> + scale <0.04, 0.04, 0.6> + + scale 0.27 + rotate 91*y + translate -0.1*z + } + finish { + ambient 0.0 + diffuse 0.4 + specular 0.3 + roughness 0.025 + + reflection { + 0.17 + metallic + } + } + normal { + granite 0.015 + scale <0.02, 0.02, 0.06> + rotate 91*y + accuracy 0.007 + } +} + + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +#include "shapes.inc" + +#declare Table_Height=0.66; + +#declare Table= +union { + + torus { 0.49, 0.01 sturm rotate 90*x translate z*(Table_Height-0.01) } + cylinder { z*(Table_Height-0.05), z*(Table_Height-0.01), 0.5 } + cylinder { z*(Table_Height-0.01), z*Table_Height, 0.49 } + + union { + cylinder { z*0.01, z*0.63, 0.03 translate 0.37*x } + cylinder { z*0.01, z*0.63, 0.03 translate 0.37*x rotate 120*z } + cylinder { z*0.01, z*0.63, 0.03 translate 0.37*x rotate 240*z } + + texture { Tex_Table_Foot } + + rotate -70*z + } + + union { + object { Round_Cylinder_Merge (0, z*0.03, 0.031, 0.005) translate 0.37*x } + object { Round_Cylinder_Merge (0, z*0.03, 0.031, 0.005) translate 0.37*x rotate 120*z } + object { Round_Cylinder_Merge (0, z*0.03, 0.031, 0.005) translate 0.37*x rotate 240*z } + + texture { Tex_Table_Foot_Bottom } + + rotate -70*z + } + + texture { Tex_Dark_Wood2 } + + #if (show_TableCloth) + scale <0.97, 0.97, 0.99> + #else + scale <0.97, 0.97, 1.00> + #end +} + +object { Table translate <3.3,2.52,0> } + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ diff --git a/samples/POV-Ray SDL/table_cloth.inc b/samples/POV-Ray SDL/table_cloth.inc new file mode 100755 index 00000000..84bf9331 --- /dev/null +++ b/samples/POV-Ray SDL/table_cloth.inc @@ -0,0 +1,91 @@ +// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. +// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a +// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. + +// Persistence Of Vision Ray Tracer Include File +// File: table_cloth.inc +// Desc: table cloth for 'balcony.pov' demonstration scene +// Date: July/August 2001 +// Auth: Christoph Hormann + +// Updated: 09Aug2008 (jh) for v3.7 distribution + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +#if (version < 3.7) + #version 3.5; +#end + +#declare ClCol01=color rgb <0.8, 0.7, 0.4>; +#declare ClCol02=color rgb <0.07, 0.12, 0.4>; + +#declare CPig1= +pigment { + gradient x + triangle_wave + color_map { + [0.04 ClCol01 ] + [0.04 ClCol02 ] + [0.06 ClCol02 ] + [0.06 ClCol01 ] + [0.09 ClCol01 ] + [0.09 ClCol02 ] + [0.13 ClCol02 ] + [0.13 ClCol01 ] + [0.16 ClCol01 ] + [0.16 ClCol02 ] + [0.18 ClCol02 ] + [0.18 ClCol01 ] + } +} + +#declare CPig2= +pigment { + gradient y + triangle_wave + pigment_map { + [0.04 CPig1 ] + [0.04 ClCol02 ] + [0.06 ClCol02 ] + [0.06 CPig1 ] + [0.09 CPig1 ] + [0.09 ClCol02 ] + [0.13 ClCol02 ] + [0.13 CPig1 ] + [0.16 CPig1 ] + [0.16 ClCol02 ] + [0.18 ClCol02 ] + [0.18 CPig1 ] + } +} + + /* +#include "clothutil.inc" + +ReadClothFile("cloth.cth") +DrawSmoothTriangles2(Points, 90, 90, on, true, "cloth.inc") + */ +#declare Table_Cloth= +mesh2{ + #include "cloth.inc" + texture { + uv_mapping + pigment { + CPig2 + } + finish { + ambient 0.0 + diffuse 0.6 + } + normal { + quilted 0.16 + scale 0.008 + } + } + rotate -30*z +} + +object { Table_Cloth translate <3.3,2.52,0> } + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + diff --git a/samples/POV-Ray SDL/table_stuff.inc b/samples/POV-Ray SDL/table_stuff.inc new file mode 100755 index 00000000..0bcdc4e5 --- /dev/null +++ b/samples/POV-Ray SDL/table_stuff.inc @@ -0,0 +1,136 @@ +// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. +// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a +// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. + +// Persistence Of Vision Ray Tracer Include File +// File: table_stuff.inc +// Desc: stuff on the table for 'balcony.pov' demonstration scene +// Date: July/August 2001 +// Auth: Christoph Hormann + +// Updated: 09Aug2008 (jh) for v3.7 distribution + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +#if (version < 3.7) + #version 3.5; +#end + +#declare Mat_Glass= +material { + texture { + pigment { color rgbt 1 } + finish { + ambient 0.0 + diffuse 0.1 + specular 0.5 + roughness 0.01 + + reflection { + 0.15, 1.0 + fresnel on + } + + conserve_energy + } + } + interior { + ior 1.5 + fade_distance 0.1 + fade_power 1001 + fade_color <0.4,0.4,0.8> + } +} + +#declare Tex_Box_Metal= +texture { + pigment { + color rgb <0.5,0.45,0.4> + } + finish { + ambient 0.0 + diffuse 0.05 + specular 0.5 + roughness 0.01 + metallic + + reflection { + 0.8 + metallic + } + } +} + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +#include "shapes.inc" +#include "functions.inc" + +#declare Table_Height=0.66; + +#declare Box_Iso= +isosurface { + function { -f_superellipsoid(x,y,z, 0.2, 0.2) } + contained_by {box { -1.2, 1.2 }} + max_gradient 1.1 + + translate 1.001*z +} + +#declare Box= +union { + intersection { + object { Box_Iso } + object { Round_Box_Merge (<-1.1,-1.1,1.6>, <1.1,1.1,-0.1>, 0.4) } + + } + intersection { + object { Box_Iso } + object { Round_Box_Merge (<-1.1,-1.1,1.6>, <1.1,1.1,2.2>, 0.4) } + scale 1.01 + rotate 0.2 + } + torus { + 0.6, 0.13 + rotate 90*z + translate 2*z + } + + scale <1,1,0.6> +} + +#include "bglass.inc" + +union { + object { + Glass + + photons{ + target 1.0 + refraction on + reflection on + } + + translate <-0.16,-0.1,0> + } + + object { + Box + + texture { + Tex_Box_Metal + } + photons{ + target 1.0 + reflection on + } + + scale 0.06 + translate <-0.1,0.2,0> + } + + + translate <3.3,2.52,Table_Height> +} + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ diff --git a/samples/POV-Ray SDL/terrain.inc b/samples/POV-Ray SDL/terrain.inc new file mode 100755 index 00000000..24f8408e --- /dev/null +++ b/samples/POV-Ray SDL/terrain.inc @@ -0,0 +1,118 @@ +// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. +// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a +// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. + +// Persistence of Vision Ray Tracer Include File +// File: terrain.inc +// Desc: terrain for 'balcony.pov' demonstration scene +// Date: July/August 2001 +// Auth: Christoph Hormann + +// Updated: 09Aug2008 (jh) for v3.7 distribution + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +#if (version < 3.7) + #version 3.5; +#end + +#declare Tex_Vegetation= +texture { + pigment { + bozo + color_map { + [0.3 color rgb <0.20,0.35,0.1>*0.9 ] + [0.8 color rgb <0.12,0.35,0.1>*0.7 ] + } + scale 4 + } + finish { + ambient 0.0 + diffuse 0.5 + brilliance 0.8 + specular 0.1 + } + normal { + granite 0.4 + } +} + +#declare Tex_Stone= +texture { + pigment { + color rgb <0.6,0.6,0.6> + } + finish { + ambient 0.0//0.1 + diffuse 0.45 + specular 0.15 + } +} + +#declare Tex_Terrain= +texture { + slope -z + texture_map { + [0.34 Tex_Vegetation ] + [0.34 Tex_Stone ] + } +} + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + + + +#declare Terrain= +object { + height_field { + + function 300,300 { + pigment { + function { 1-(min(pow(x*x + z*z,1.3), 1) -0.0001) } + color_map { + [0.0 color rgb 0.0] + [1.0 color rgb 1.0] + } + scale 0.35 + translate <0.5,0,0.5> + + warp { turbulence 0.3 } + + scale 3 + warp { turbulence 0.4 lambda 2.2 octaves 8 } + scale 1/3 + + rotate -90*x + translate -0.5*y + scale <1, -1, 1> + translate 0.5*y + } + } + + water_level 0.02 + + rotate 90*x + rotate -10*z + + scale <4, 4, 1> + scale 30 + } +} + + +union { + object { + Terrain + translate <130, 368, -10> + } + + object { + Terrain + rotate -180*z + scale 0.3 + translate <90, 97, -6> + } + texture { Tex_Terrain } +} + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ diff --git a/samples/POV-Ray SDL/water.inc b/samples/POV-Ray SDL/water.inc new file mode 100755 index 00000000..14facf30 --- /dev/null +++ b/samples/POV-Ray SDL/water.inc @@ -0,0 +1,74 @@ +// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. +// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a +// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. + +// Persistence Of Vision Ray Tracer Include File +// File: water.inc +// Desc: water for 'balcony.pov' demonstration scene +// Date: July/August 2001 +// Auth: Christoph Hormann + +// Updated: 09Aug2008 (jh) for v3.7 distribution + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +#if (version < 3.7) + #version 3.5; +#end + +#include "functions.inc" + +#declare RMF=function{ f_ridged_mf(x, y, z, 0.07, 2.2, 7, 0.6, 0.9, 1)} + +#declare M_Watx4 = +material { + texture { + pigment { + color rgbt <0.2, 0.22, 0.21, 0.94> + } + finish { + diffuse 0.0 + ambient -0.2 + + reflection { + 0.0, 0.95 + fresnel on + } + + conserve_energy + + specular 0.4 + roughness 0.007 + } + normal{ + function { RMF(x, y, z) } 0.8 + scale 0.3 + } + } + interior { + ior 1.31 + fade_distance 5 + fade_power 1001.0 + fade_color <0.02, 0.20, 0.06> + } +} + +plane { + z, -1 + material { + M_Watx4 + } + hollow on +} + +plane { + z, -12.0 + + texture { + pigment { color rgb 0 } + finish { ambient 0.0 diffuse 0.0 } + } + hollow on +} + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ From 51d6d741e5e1132feabf84551d6a39eb67c969d6 Mon Sep 17 00:00:00 2001 From: Christoph Lipka Date: Sun, 10 Jan 2016 20:11:26 +0100 Subject: [PATCH 13/62] Fixed ordering of POV-Ray SDL in `languages.yml` --- lib/linguist/languages.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 8baabdbd..c2974906 100755 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -2542,6 +2542,15 @@ PLpgSQL: extensions: - .sql +POV-Ray SDL: + type: programming + aliases: + - pov-ray + - povray + extensions: + - .pov + - .inc + Pan: type: programming color: '#cc0000' @@ -2711,15 +2720,6 @@ PostScript: aliases: - postscr ace_mode: text - -POV-Ray SDL: - type: programming - aliases: - - pov-ray - - povray - extensions: - - .pov - - .inc PowerShell: type: programming From 06af36dac2b367e01a703905082af8f290566837 Mon Sep 17 00:00:00 2001 From: Christoph Lipka Date: Sun, 10 Jan 2016 20:23:09 +0100 Subject: [PATCH 14/62] Fixed POV-Ray SDL entry in `grammars.yml` and Ace mode in `languages.yml` --- grammars.yml | 2 +- lib/linguist/languages.yml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) mode change 100644 => 100755 grammars.yml diff --git a/grammars.yml b/grammars.yml old mode 100644 new mode 100755 index 0ad993fc..a8882b15 --- a/grammars.yml +++ b/grammars.yml @@ -359,7 +359,7 @@ vendor/grammars/language-maxscript: vendor/grammars/language-ncl: - source.ncl vendor/grammars/language-povray: -- source.povray +- source.pov-ray sdl vendor/grammars/language-python: - text.python.console - text.python.traceback diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index c2974906..383cff72 100755 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -2550,6 +2550,7 @@ POV-Ray SDL: extensions: - .pov - .inc + ace_mode: text Pan: type: programming From 9d11128362f86218a3b8e6f081dda66bcaaf9ba6 Mon Sep 17 00:00:00 2001 From: Christoph Lipka Date: Sun, 10 Jan 2016 21:24:02 +0100 Subject: [PATCH 16/62] Updated POV-Ray SDL grammar sub-project --- vendor/grammars/language-povray | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/grammars/language-povray b/vendor/grammars/language-povray index f5c6de81..35b37059 160000 --- a/vendor/grammars/language-povray +++ b/vendor/grammars/language-povray @@ -1 +1 @@ -Subproject commit f5c6de8132fc01bd2274bf15e006bb4e3da7d710 +Subproject commit 35b3705991820b12f9280d8a5ced1cdad5c9f68f From df88de14e3135915181370d8c421be7cc73be8ef Mon Sep 17 00:00:00 2001 From: James Ko Date: Wed, 20 Jan 2016 19:01:19 -0500 Subject: [PATCH 17/62] Add .xproj to list of XML extensions --- lib/linguist/languages.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index fe3ed9aa..c4fb0a4c 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -3797,6 +3797,7 @@ XML: - .xliff - .xmi - .xml.dist + - .xproj - .xsd - .xul - .zcml From 721e5b4656571000b8a184f53ddc62fd29e9f8ac Mon Sep 17 00:00:00 2001 From: Abigail Date: Thu, 28 Jan 2016 11:41:35 +0000 Subject: [PATCH 18/62] Add detection of GrammarKit-generated files GrammarKit is a plugin by JetBrains for creating custom language plugins for JetBrains IDEs (such as IntelliJ, RubyMine, CLion and more). It defines a BNF parser language which can be used to generate a parser in Java, and it also integrates JFLex for generating a lexer in Java. Both of these generated Java files can be recognised by a comment on the first line of the file, and so classifying them as generated is trivial. --- lib/linguist/generated.rb | 31 +- samples/Java/GrammarKit.java | 625 +++++++++++++++++++++++++++++++++++ samples/Java/JFlexLexer.java | 482 +++++++++++++++++++++++++++ test/test_generated.rb | 6 + 4 files changed, 1143 insertions(+), 1 deletion(-) create mode 100644 samples/Java/GrammarKit.java create mode 100644 samples/Java/JFlexLexer.java diff --git a/lib/linguist/generated.rb b/lib/linguist/generated.rb index 35766e4d..7747406f 100644 --- a/lib/linguist/generated.rb +++ b/lib/linguist/generated.rb @@ -72,7 +72,9 @@ module Linguist vcr_cassette? || generated_module? || generated_unity3d_meta? || - generated_racc? + generated_racc? || + generated_jflex? || + generated_grammarkit? end # Internal: Is the blob an Xcode file? @@ -373,5 +375,32 @@ module Linguist return false unless lines.count > 2 return lines[2].start_with?("# This file is automatically generated by Racc") end + + # Internal: Is this a JFlex-generated file? + # + # A JFlex-generated file contains: + # /* The following code was generated by JFlex x.y.z on d/at/e ti:me */ + # on the first line. + # + # Return true or false + def generated_jflex? + return false unless extname == '.java' + return false unless lines.count > 1 + return lines[0].start_with?("/* The following code was generated by JFlex ") + end + + # Internal: Is this a GrammarKit-generated file? + # + # A GrammarKit-generated file typically contain: + # // This is a generated file. Not intended for manual editing. + # on the first line. This is not always the case, as it's possible to + # customize the class header. + # + # Return true or false + def generated_grammarkit? + return false unless extname == '.java' + return false unless lines.count > 1 + return lines[0].start_with?("// This is a generated file. Not intended for manual editing.") + end end end diff --git a/samples/Java/GrammarKit.java b/samples/Java/GrammarKit.java new file mode 100644 index 00000000..a5db6da8 --- /dev/null +++ b/samples/Java/GrammarKit.java @@ -0,0 +1,625 @@ +// This is a generated file. Not intended for manual editing. +package org.intellij.grammar.parser; + +import com.intellij.lang.PsiBuilder; +import com.intellij.lang.PsiBuilder.Marker; +import static org.intellij.grammar.psi.BnfTypes.*; +import static org.intellij.grammar.parser.GeneratedParserUtilBase.*; +import com.intellij.psi.tree.IElementType; +import com.intellij.lang.ASTNode; +import com.intellij.psi.tree.TokenSet; +import com.intellij.lang.PsiParser; +import com.intellij.lang.LightPsiParser; + +@SuppressWarnings({"SimplifiableIfStatement", "UnusedAssignment"}) +public class GrammarParser implements PsiParser, LightPsiParser { + + public ASTNode parse(IElementType t, PsiBuilder b) { + parseLight(t, b); + return b.getTreeBuilt(); + } + + public void parseLight(IElementType t, PsiBuilder b) { + boolean r; + b = adapt_builder_(t, b, this, EXTENDS_SETS_); + Marker m = enter_section_(b, 0, _COLLAPSE_, null); + if (t == BNF_ATTR) { + r = attr(b, 0); + } + else if (t == BNF_ATTR_PATTERN) { + r = attr_pattern(b, 0); + } + else if (t == BNF_ATTR_VALUE) { + r = attr_value(b, 0); + } + else if (t == BNF_ATTRS) { + r = attrs(b, 0); + } + else if (t == BNF_CHOICE) { + r = choice(b, 0); + } + else if (t == BNF_EXPRESSION) { + r = expression(b, 0); + } + else if (t == BNF_LITERAL_EXPRESSION) { + r = literal_expression(b, 0); + } + else if (t == BNF_MODIFIER) { + r = modifier(b, 0); + } + else if (t == BNF_PAREN_EXPRESSION) { + r = paren_expression(b, 0); + } + else if (t == BNF_PREDICATE) { + r = predicate(b, 0); + } + else if (t == BNF_PREDICATE_SIGN) { + r = predicate_sign(b, 0); + } + else if (t == BNF_QUANTIFIED) { + r = quantified(b, 0); + } + else if (t == BNF_QUANTIFIER) { + r = quantifier(b, 0); + } + else if (t == BNF_REFERENCE_OR_TOKEN) { + r = reference_or_token(b, 0); + } + else if (t == BNF_RULE) { + r = rule(b, 0); + } + else if (t == BNF_SEQUENCE) { + r = sequence(b, 0); + } + else if (t == BNF_STRING_LITERAL_EXPRESSION) { + r = string_literal_expression(b, 0); + } + else { + r = parse_root_(t, b, 0); + } + exit_section_(b, 0, m, t, r, true, TRUE_CONDITION); + } + + protected boolean parse_root_(IElementType t, PsiBuilder b, int l) { + return grammar(b, l + 1); + } + + public static final TokenSet[] EXTENDS_SETS_ = new TokenSet[] { + create_token_set_(BNF_LITERAL_EXPRESSION, BNF_STRING_LITERAL_EXPRESSION), + create_token_set_(BNF_CHOICE, BNF_EXPRESSION, BNF_LITERAL_EXPRESSION, BNF_PAREN_EXPRESSION, + BNF_PREDICATE, BNF_QUANTIFIED, BNF_REFERENCE_OR_TOKEN, BNF_SEQUENCE, + BNF_STRING_LITERAL_EXPRESSION), + }; + + /* ********************************************************** */ + // id attr_pattern? '=' attr_value ';'? + public static boolean attr(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "attr")) return false; + boolean r, p; + Marker m = enter_section_(b, l, _NONE_, ""); + r = consumeToken(b, BNF_ID); + p = r; // pin = 1 + r = r && report_error_(b, attr_1(b, l + 1)); + r = p && report_error_(b, consumeToken(b, BNF_OP_EQ)) && r; + r = p && report_error_(b, attr_value(b, l + 1)) && r; + r = p && attr_4(b, l + 1) && r; + exit_section_(b, l, m, BNF_ATTR, r, p, attr_recover_until_parser_); + return r || p; + } + + // attr_pattern? + private static boolean attr_1(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "attr_1")) return false; + attr_pattern(b, l + 1); + return true; + } + + // ';'? + private static boolean attr_4(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "attr_4")) return false; + consumeToken(b, BNF_SEMICOLON); + return true; + } + + /* ********************************************************** */ + // '(' string ')' + public static boolean attr_pattern(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "attr_pattern")) return false; + if (!nextTokenIs(b, BNF_LEFT_PAREN)) return false; + boolean r; + Marker m = enter_section_(b); + r = consumeToken(b, BNF_LEFT_PAREN); + r = r && consumeToken(b, BNF_STRING); + r = r && consumeToken(b, BNF_RIGHT_PAREN); + exit_section_(b, m, BNF_ATTR_PATTERN, r); + return r; + } + + /* ********************************************************** */ + // !'}' + static boolean attr_recover_until(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "attr_recover_until")) return false; + boolean r; + Marker m = enter_section_(b, l, _NOT_, null); + r = !consumeToken(b, BNF_RIGHT_BRACE); + exit_section_(b, l, m, null, r, false, null); + return r; + } + + /* ********************************************************** */ + // (reference_or_token | literal_expression) !'=' + public static boolean attr_value(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "attr_value")) return false; + boolean r; + Marker m = enter_section_(b, l, _NONE_, ""); + r = attr_value_0(b, l + 1); + r = r && attr_value_1(b, l + 1); + exit_section_(b, l, m, BNF_ATTR_VALUE, r, false, null); + return r; + } + + // reference_or_token | literal_expression + private static boolean attr_value_0(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "attr_value_0")) return false; + boolean r; + Marker m = enter_section_(b); + r = reference_or_token(b, l + 1); + if (!r) r = literal_expression(b, l + 1); + exit_section_(b, m, null, r); + return r; + } + + // !'=' + private static boolean attr_value_1(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "attr_value_1")) return false; + boolean r; + Marker m = enter_section_(b, l, _NOT_, null); + r = !consumeToken(b, BNF_OP_EQ); + exit_section_(b, l, m, null, r, false, null); + return r; + } + + /* ********************************************************** */ + // '{' attr* '}' + public static boolean attrs(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "attrs")) return false; + if (!nextTokenIs(b, BNF_LEFT_BRACE)) return false; + boolean r, p; + Marker m = enter_section_(b, l, _NONE_, null); + r = consumeToken(b, BNF_LEFT_BRACE); + p = r; // pin = 1 + r = r && report_error_(b, attrs_1(b, l + 1)); + r = p && consumeToken(b, BNF_RIGHT_BRACE) && r; + exit_section_(b, l, m, BNF_ATTRS, r, p, null); + return r || p; + } + + // attr* + private static boolean attrs_1(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "attrs_1")) return false; + int c = current_position_(b); + while (true) { + if (!attr(b, l + 1)) break; + if (!empty_element_parsed_guard_(b, "attrs_1", c)) break; + c = current_position_(b); + } + return true; + } + + /* ********************************************************** */ + // '{' sequence ('|' sequence)* '}' | sequence choice_tail* + public static boolean choice(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "choice")) return false; + boolean r; + Marker m = enter_section_(b, l, _COLLAPSE_, ""); + r = choice_0(b, l + 1); + if (!r) r = choice_1(b, l + 1); + exit_section_(b, l, m, BNF_CHOICE, r, false, null); + return r; + } + + // '{' sequence ('|' sequence)* '}' + private static boolean choice_0(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "choice_0")) return false; + boolean r; + Marker m = enter_section_(b); + r = consumeToken(b, BNF_LEFT_BRACE); + r = r && sequence(b, l + 1); + r = r && choice_0_2(b, l + 1); + r = r && consumeToken(b, BNF_RIGHT_BRACE); + exit_section_(b, m, null, r); + return r; + } + + // ('|' sequence)* + private static boolean choice_0_2(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "choice_0_2")) return false; + int c = current_position_(b); + while (true) { + if (!choice_0_2_0(b, l + 1)) break; + if (!empty_element_parsed_guard_(b, "choice_0_2", c)) break; + c = current_position_(b); + } + return true; + } + + // '|' sequence + private static boolean choice_0_2_0(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "choice_0_2_0")) return false; + boolean r; + Marker m = enter_section_(b); + r = consumeToken(b, BNF_OP_OR); + r = r && sequence(b, l + 1); + exit_section_(b, m, null, r); + return r; + } + + // sequence choice_tail* + private static boolean choice_1(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "choice_1")) return false; + boolean r; + Marker m = enter_section_(b); + r = sequence(b, l + 1); + r = r && choice_1_1(b, l + 1); + exit_section_(b, m, null, r); + return r; + } + + // choice_tail* + private static boolean choice_1_1(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "choice_1_1")) return false; + int c = current_position_(b); + while (true) { + if (!choice_tail(b, l + 1)) break; + if (!empty_element_parsed_guard_(b, "choice_1_1", c)) break; + c = current_position_(b); + } + return true; + } + + /* ********************************************************** */ + // '|' sequence + static boolean choice_tail(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "choice_tail")) return false; + if (!nextTokenIs(b, BNF_OP_OR)) return false; + boolean r, p; + Marker m = enter_section_(b, l, _NONE_, null); + r = consumeToken(b, BNF_OP_OR); + p = r; // pin = 1 + r = r && sequence(b, l + 1); + exit_section_(b, l, m, null, r, p, null); + return r || p; + } + + /* ********************************************************** */ + // choice? + public static boolean expression(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "expression")) return false; + Marker m = enter_section_(b, l, _COLLAPSE_, ""); + choice(b, l + 1); + exit_section_(b, l, m, BNF_EXPRESSION, true, false, null); + return true; + } + + /* ********************************************************** */ + // (attrs | rule) * + static boolean grammar(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "grammar")) return false; + int c = current_position_(b); + while (true) { + if (!grammar_0(b, l + 1)) break; + if (!empty_element_parsed_guard_(b, "grammar", c)) break; + c = current_position_(b); + } + return true; + } + + // attrs | rule + private static boolean grammar_0(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "grammar_0")) return false; + boolean r; + Marker m = enter_section_(b); + r = attrs(b, l + 1); + if (!r) r = rule(b, l + 1); + exit_section_(b, m, null, r); + return r; + } + + /* ********************************************************** */ + // string_literal_expression | number + public static boolean literal_expression(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "literal_expression")) return false; + if (!nextTokenIs(b, "", BNF_NUMBER, BNF_STRING)) return false; + boolean r; + Marker m = enter_section_(b, l, _COLLAPSE_, ""); + r = string_literal_expression(b, l + 1); + if (!r) r = consumeToken(b, BNF_NUMBER); + exit_section_(b, l, m, BNF_LITERAL_EXPRESSION, r, false, null); + return r; + } + + /* ********************************************************** */ + // 'private' | 'external' | 'wrapped' + public static boolean modifier(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "modifier")) return false; + boolean r; + Marker m = enter_section_(b, l, _NONE_, ""); + r = consumeToken(b, "private"); + if (!r) r = consumeToken(b, "external"); + if (!r) r = consumeToken(b, "wrapped"); + exit_section_(b, l, m, BNF_MODIFIER, r, false, null); + return r; + } + + /* ********************************************************** */ + // quantified | predicate + static boolean option(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "option")) return false; + boolean r; + Marker m = enter_section_(b); + r = quantified(b, l + 1); + if (!r) r = predicate(b, l + 1); + exit_section_(b, m, null, r); + return r; + } + + /* ********************************************************** */ + // '(' expression ')' + public static boolean paren_expression(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "paren_expression")) return false; + if (!nextTokenIs(b, BNF_LEFT_PAREN)) return false; + boolean r, p; + Marker m = enter_section_(b, l, _NONE_, null); + r = consumeToken(b, BNF_LEFT_PAREN); + p = r; // pin = 1 + r = r && report_error_(b, expression(b, l + 1)); + r = p && consumeToken(b, BNF_RIGHT_PAREN) && r; + exit_section_(b, l, m, BNF_PAREN_EXPRESSION, r, p, null); + return r || p; + } + + /* ********************************************************** */ + // predicate_sign simple + public static boolean predicate(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "predicate")) return false; + if (!nextTokenIs(b, "", BNF_OP_NOT, BNF_OP_AND)) return false; + boolean r; + Marker m = enter_section_(b, l, _NONE_, ""); + r = predicate_sign(b, l + 1); + r = r && simple(b, l + 1); + exit_section_(b, l, m, BNF_PREDICATE, r, false, null); + return r; + } + + /* ********************************************************** */ + // '&' | '!' + public static boolean predicate_sign(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "predicate_sign")) return false; + if (!nextTokenIs(b, "", BNF_OP_NOT, BNF_OP_AND)) return false; + boolean r; + Marker m = enter_section_(b, l, _NONE_, ""); + r = consumeToken(b, BNF_OP_AND); + if (!r) r = consumeToken(b, BNF_OP_NOT); + exit_section_(b, l, m, BNF_PREDICATE_SIGN, r, false, null); + return r; + } + + /* ********************************************************** */ + // '[' expression ']' | simple quantifier? + public static boolean quantified(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "quantified")) return false; + boolean r; + Marker m = enter_section_(b, l, _COLLAPSE_, ""); + r = quantified_0(b, l + 1); + if (!r) r = quantified_1(b, l + 1); + exit_section_(b, l, m, BNF_QUANTIFIED, r, false, null); + return r; + } + + // '[' expression ']' + private static boolean quantified_0(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "quantified_0")) return false; + boolean r; + Marker m = enter_section_(b); + r = consumeToken(b, BNF_LEFT_BRACKET); + r = r && expression(b, l + 1); + r = r && consumeToken(b, BNF_RIGHT_BRACKET); + exit_section_(b, m, null, r); + return r; + } + + // simple quantifier? + private static boolean quantified_1(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "quantified_1")) return false; + boolean r; + Marker m = enter_section_(b); + r = simple(b, l + 1); + r = r && quantified_1_1(b, l + 1); + exit_section_(b, m, null, r); + return r; + } + + // quantifier? + private static boolean quantified_1_1(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "quantified_1_1")) return false; + quantifier(b, l + 1); + return true; + } + + /* ********************************************************** */ + // '?' | '+' | '*' + public static boolean quantifier(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "quantifier")) return false; + boolean r; + Marker m = enter_section_(b, l, _NONE_, ""); + r = consumeToken(b, BNF_OP_OPT); + if (!r) r = consumeToken(b, BNF_OP_ONEMORE); + if (!r) r = consumeToken(b, BNF_OP_ZEROMORE); + exit_section_(b, l, m, BNF_QUANTIFIER, r, false, null); + return r; + } + + /* ********************************************************** */ + // id + public static boolean reference_or_token(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "reference_or_token")) return false; + if (!nextTokenIs(b, BNF_ID)) return false; + boolean r; + Marker m = enter_section_(b); + r = consumeToken(b, BNF_ID); + exit_section_(b, m, BNF_REFERENCE_OR_TOKEN, r); + return r; + } + + /* ********************************************************** */ + // modifier* id '::=' expression attrs? ';'? + public static boolean rule(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "rule")) return false; + boolean r, p; + Marker m = enter_section_(b, l, _NONE_, ""); + r = rule_0(b, l + 1); + r = r && consumeToken(b, BNF_ID); + r = r && consumeToken(b, BNF_OP_IS); + p = r; // pin = 3 + r = r && report_error_(b, expression(b, l + 1)); + r = p && report_error_(b, rule_4(b, l + 1)) && r; + r = p && rule_5(b, l + 1) && r; + exit_section_(b, l, m, BNF_RULE, r, p, rule_recover_until_parser_); + return r || p; + } + + // modifier* + private static boolean rule_0(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "rule_0")) return false; + int c = current_position_(b); + while (true) { + if (!modifier(b, l + 1)) break; + if (!empty_element_parsed_guard_(b, "rule_0", c)) break; + c = current_position_(b); + } + return true; + } + + // attrs? + private static boolean rule_4(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "rule_4")) return false; + attrs(b, l + 1); + return true; + } + + // ';'? + private static boolean rule_5(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "rule_5")) return false; + consumeToken(b, BNF_SEMICOLON); + return true; + } + + /* ********************************************************** */ + // !'{' + static boolean rule_recover_until(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "rule_recover_until")) return false; + boolean r; + Marker m = enter_section_(b, l, _NOT_, null); + r = !consumeToken(b, BNF_LEFT_BRACE); + exit_section_(b, l, m, null, r, false, null); + return r; + } + + /* ********************************************************** */ + // option + + public static boolean sequence(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "sequence")) return false; + boolean r; + Marker m = enter_section_(b, l, _COLLAPSE_, ""); + r = option(b, l + 1); + int c = current_position_(b); + while (r) { + if (!option(b, l + 1)) break; + if (!empty_element_parsed_guard_(b, "sequence", c)) break; + c = current_position_(b); + } + exit_section_(b, l, m, BNF_SEQUENCE, r, false, null); + return r; + } + + /* ********************************************************** */ + // !(modifier* id '::=' ) reference_or_token | literal_expression | paren_expression + static boolean simple(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "simple")) return false; + boolean r; + Marker m = enter_section_(b); + r = simple_0(b, l + 1); + if (!r) r = literal_expression(b, l + 1); + if (!r) r = paren_expression(b, l + 1); + exit_section_(b, m, null, r); + return r; + } + + // !(modifier* id '::=' ) reference_or_token + private static boolean simple_0(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "simple_0")) return false; + boolean r; + Marker m = enter_section_(b); + r = simple_0_0(b, l + 1); + r = r && reference_or_token(b, l + 1); + exit_section_(b, m, null, r); + return r; + } + + // !(modifier* id '::=' ) + private static boolean simple_0_0(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "simple_0_0")) return false; + boolean r; + Marker m = enter_section_(b, l, _NOT_, null); + r = !simple_0_0_0(b, l + 1); + exit_section_(b, l, m, null, r, false, null); + return r; + } + + // modifier* id '::=' + private static boolean simple_0_0_0(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "simple_0_0_0")) return false; + boolean r; + Marker m = enter_section_(b); + r = simple_0_0_0_0(b, l + 1); + r = r && consumeToken(b, BNF_ID); + r = r && consumeToken(b, BNF_OP_IS); + exit_section_(b, m, null, r); + return r; + } + + // modifier* + private static boolean simple_0_0_0_0(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "simple_0_0_0_0")) return false; + int c = current_position_(b); + while (true) { + if (!modifier(b, l + 1)) break; + if (!empty_element_parsed_guard_(b, "simple_0_0_0_0", c)) break; + c = current_position_(b); + } + return true; + } + + /* ********************************************************** */ + // string + public static boolean string_literal_expression(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "string_literal_expression")) return false; + if (!nextTokenIs(b, BNF_STRING)) return false; + boolean r; + Marker m = enter_section_(b); + r = consumeToken(b, BNF_STRING); + exit_section_(b, m, BNF_STRING_LITERAL_EXPRESSION, r); + return r; + } + + final static Parser attr_recover_until_parser_ = new Parser() { + public boolean parse(PsiBuilder b, int l) { + return attr_recover_until(b, l + 1); + } + }; + final static Parser rule_recover_until_parser_ = new Parser() { + public boolean parse(PsiBuilder b, int l) { + return rule_recover_until(b, l + 1); + } + }; +} diff --git a/samples/Java/JFlexLexer.java b/samples/Java/JFlexLexer.java new file mode 100644 index 00000000..e54564fb --- /dev/null +++ b/samples/Java/JFlexLexer.java @@ -0,0 +1,482 @@ +/* The following code was generated by JFlex 1.4.3 on 28/01/16 11:27 */ + +package test; +import com.intellij.lexer.*; +import com.intellij.psi.tree.IElementType; +import static org.intellij.grammar.psi.BnfTypes.*; + + +/** + * This class is a scanner generated by + * JFlex 1.4.3 + * on 28/01/16 11:27 from the specification file + * /home/abigail/code/intellij-grammar-kit-test/src/test/_GrammarLexer.flex + */ +public class _GrammarLexer implements FlexLexer { + /** initial size of the lookahead buffer */ + private static final int ZZ_BUFFERSIZE = 16384; + + /** lexical states */ + public static final int YYINITIAL = 0; + + /** + * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l + * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l + * at the beginning of a line + * l is of the form l = 2*k, k a non negative integer + */ + private static final int ZZ_LEXSTATE[] = { + 0, 0 + }; + + /** + * Translates characters to character classes + */ + private static final String ZZ_CMAP_PACKED = + "\11\0\1\1\1\1\1\0\1\1\1\1\22\0\1\1\101\0\1\13"+ + "\1\0\1\3\1\14\1\0\1\10\1\0\1\2\3\0\1\12\1\7"+ + "\3\0\1\6\1\4\1\5\1\11\uff8a\0"; + + /** + * Translates characters to character classes + */ + private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); + + /** + * Translates DFA states to action switch labels. + */ + private static final int [] ZZ_ACTION = zzUnpackAction(); + + private static final String ZZ_ACTION_PACKED_0 = + "\1\0\1\1\1\2\3\1\1\3\10\0\1\4\1\5"; + + private static int [] zzUnpackAction() { + int [] result = new int[17]; + int offset = 0; + offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); + return result; + } + + private static int zzUnpackAction(String packed, int offset, int [] result) { + int i = 0; /* index in packed string */ + int j = offset; /* index in unpacked array */ + int l = packed.length(); + while (i < l) { + int count = packed.charAt(i++); + int value = packed.charAt(i++); + do result[j++] = value; while (--count > 0); + } + return j; + } + + + /** + * Translates a state to a row index in the transition table + */ + private static final int [] ZZ_ROWMAP = zzUnpackRowMap(); + + private static final String ZZ_ROWMAP_PACKED_0 = + "\0\0\0\15\0\32\0\47\0\64\0\101\0\15\0\116"+ + "\0\133\0\150\0\165\0\202\0\217\0\234\0\251\0\15"+ + "\0\15"; + + private static int [] zzUnpackRowMap() { + int [] result = new int[17]; + int offset = 0; + offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result); + return result; + } + + private static int zzUnpackRowMap(String packed, int offset, int [] result) { + int i = 0; /* index in packed string */ + int j = offset; /* index in unpacked array */ + int l = packed.length(); + while (i < l) { + int high = packed.charAt(i++) << 16; + result[j++] = high | packed.charAt(i++); + } + return j; + } + + /** + * The transition table of the DFA + */ + private static final int [] ZZ_TRANS = zzUnpackTrans(); + + private static final String ZZ_TRANS_PACKED_0 = + "\1\2\1\3\1\4\1\2\1\5\2\2\1\6\5\2"+ + "\16\0\1\3\16\0\1\7\16\0\1\10\20\0\1\11"+ + "\11\0\1\12\20\0\1\13\4\0\1\14\25\0\1\15"+ + "\10\0\1\16\21\0\1\17\10\0\1\20\12\0\1\21"+ + "\6\0"; + + private static int [] zzUnpackTrans() { + int [] result = new int[182]; + int offset = 0; + offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result); + return result; + } + + private static int zzUnpackTrans(String packed, int offset, int [] result) { + int i = 0; /* index in packed string */ + int j = offset; /* index in unpacked array */ + int l = packed.length(); + while (i < l) { + int count = packed.charAt(i++); + int value = packed.charAt(i++); + value--; + do result[j++] = value; while (--count > 0); + } + return j; + } + + + /* error codes */ + private static final int ZZ_UNKNOWN_ERROR = 0; + private static final int ZZ_NO_MATCH = 1; + private static final int ZZ_PUSHBACK_2BIG = 2; + private static final char[] EMPTY_BUFFER = new char[0]; + private static final int YYEOF = -1; + private static java.io.Reader zzReader = null; // Fake + + /* error messages for the codes above */ + private static final String ZZ_ERROR_MSG[] = { + "Unkown internal scanner error", + "Error: could not match input", + "Error: pushback value was too large" + }; + + /** + * ZZ_ATTRIBUTE[aState] contains the attributes of state aState + */ + private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); + + private static final String ZZ_ATTRIBUTE_PACKED_0 = + "\1\0\1\11\4\1\1\11\10\0\2\11"; + + private static int [] zzUnpackAttribute() { + int [] result = new int[17]; + int offset = 0; + offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result); + return result; + } + + private static int zzUnpackAttribute(String packed, int offset, int [] result) { + int i = 0; /* index in packed string */ + int j = offset; /* index in unpacked array */ + int l = packed.length(); + while (i < l) { + int count = packed.charAt(i++); + int value = packed.charAt(i++); + do result[j++] = value; while (--count > 0); + } + return j; + } + + /** the current state of the DFA */ + private int zzState; + + /** the current lexical state */ + private int zzLexicalState = YYINITIAL; + + /** this buffer contains the current text to be matched and is + the source of the yytext() string */ + private CharSequence zzBuffer = ""; + + /** this buffer may contains the current text array to be matched when it is cheap to acquire it */ + private char[] zzBufferArray; + + /** the textposition at the last accepting state */ + private int zzMarkedPos; + + /** the textposition at the last state to be included in yytext */ + private int zzPushbackPos; + + /** the current text position in the buffer */ + private int zzCurrentPos; + + /** startRead marks the beginning of the yytext() string in the buffer */ + private int zzStartRead; + + /** endRead marks the last character in the buffer, that has been read + from input */ + private int zzEndRead; + + /** + * zzAtBOL == true <=> the scanner is currently at the beginning of a line + */ + private boolean zzAtBOL = true; + + /** zzAtEOF == true <=> the scanner is at the EOF */ + private boolean zzAtEOF; + + /* user code: */ + public _GrammarLexer() { + this((java.io.Reader)null); + } + + + /** + * Creates a new scanner + * + * @param in the java.io.Reader to read input from. + */ + public _GrammarLexer(java.io.Reader in) { + this.zzReader = in; + } + + + /** + * Unpacks the compressed character translation table. + * + * @param packed the packed character translation table + * @return the unpacked character translation table + */ + private static char [] zzUnpackCMap(String packed) { + char [] map = new char[0x10000]; + int i = 0; /* index in packed string */ + int j = 0; /* index in unpacked array */ + while (i < 52) { + int count = packed.charAt(i++); + char value = packed.charAt(i++); + do map[j++] = value; while (--count > 0); + } + return map; + } + + public final int getTokenStart(){ + return zzStartRead; + } + + public final int getTokenEnd(){ + return getTokenStart() + yylength(); + } + + public void reset(CharSequence buffer, int start, int end,int initialState){ + zzBuffer = buffer; + zzBufferArray = com.intellij.util.text.CharArrayUtil.fromSequenceWithoutCopying(buffer); + zzCurrentPos = zzMarkedPos = zzStartRead = start; + zzPushbackPos = 0; + zzAtEOF = false; + zzAtBOL = true; + zzEndRead = end; + yybegin(initialState); + } + + /** + * Refills the input buffer. + * + * @return false, iff there was new input. + * + * @exception java.io.IOException if any I/O-Error occurs + */ + private boolean zzRefill() throws java.io.IOException { + return true; + } + + + /** + * Returns the current lexical state. + */ + public final int yystate() { + return zzLexicalState; + } + + + /** + * Enters a new lexical state + * + * @param newState the new lexical state + */ + public final void yybegin(int newState) { + zzLexicalState = newState; + } + + + /** + * Returns the text matched by the current regular expression. + */ + public final CharSequence yytext() { + return zzBuffer.subSequence(zzStartRead, zzMarkedPos); + } + + + /** + * Returns the character at position pos from the + * matched text. + * + * It is equivalent to yytext().charAt(pos), but faster + * + * @param pos the position of the character to fetch. + * A value from 0 to yylength()-1. + * + * @return the character at position pos + */ + public final char yycharat(int pos) { + return zzBufferArray != null ? zzBufferArray[zzStartRead+pos]:zzBuffer.charAt(zzStartRead+pos); + } + + + /** + * Returns the length of the matched text region. + */ + public final int yylength() { + return zzMarkedPos-zzStartRead; + } + + + /** + * Reports an error that occured while scanning. + * + * In a wellformed scanner (no or only correct usage of + * yypushback(int) and a match-all fallback rule) this method + * will only be called with things that "Can't Possibly Happen". + * If this method is called, something is seriously wrong + * (e.g. a JFlex bug producing a faulty scanner etc.). + * + * Usual syntax/scanner level error handling should be done + * in error fallback rules. + * + * @param errorCode the code of the errormessage to display + */ + private void zzScanError(int errorCode) { + String message; + try { + message = ZZ_ERROR_MSG[errorCode]; + } + catch (ArrayIndexOutOfBoundsException e) { + message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; + } + + throw new Error(message); + } + + + /** + * Pushes the specified amount of characters back into the input stream. + * + * They will be read again by then next call of the scanning method + * + * @param number the number of characters to be read again. + * This number must not be greater than yylength()! + */ + public void yypushback(int number) { + if ( number > yylength() ) + zzScanError(ZZ_PUSHBACK_2BIG); + + zzMarkedPos -= number; + } + + + /** + * Resumes scanning until the next regular expression is matched, + * the end of input is encountered or an I/O-Error occurs. + * + * @return the next token + * @exception java.io.IOException if any I/O-Error occurs + */ + public IElementType advance() throws java.io.IOException { + int zzInput; + int zzAction; + + // cached fields: + int zzCurrentPosL; + int zzMarkedPosL; + int zzEndReadL = zzEndRead; + CharSequence zzBufferL = zzBuffer; + char[] zzBufferArrayL = zzBufferArray; + char [] zzCMapL = ZZ_CMAP; + + int [] zzTransL = ZZ_TRANS; + int [] zzRowMapL = ZZ_ROWMAP; + int [] zzAttrL = ZZ_ATTRIBUTE; + + while (true) { + zzMarkedPosL = zzMarkedPos; + + zzAction = -1; + + zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; + + zzState = ZZ_LEXSTATE[zzLexicalState]; + + + zzForAction: { + while (true) { + + if (zzCurrentPosL < zzEndReadL) + zzInput = (zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++] : zzBufferL.charAt(zzCurrentPosL++)); + else if (zzAtEOF) { + zzInput = YYEOF; + break zzForAction; + } + else { + // store back cached positions + zzCurrentPos = zzCurrentPosL; + zzMarkedPos = zzMarkedPosL; + boolean eof = zzRefill(); + // get translated positions and possibly new buffer + zzCurrentPosL = zzCurrentPos; + zzMarkedPosL = zzMarkedPos; + zzBufferL = zzBuffer; + zzEndReadL = zzEndRead; + if (eof) { + zzInput = YYEOF; + break zzForAction; + } + else { + zzInput = (zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++] : zzBufferL.charAt(zzCurrentPosL++)); + } + } + int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; + if (zzNext == -1) break zzForAction; + zzState = zzNext; + + int zzAttributes = zzAttrL[zzState]; + if ( (zzAttributes & 1) == 1 ) { + zzAction = zzState; + zzMarkedPosL = zzCurrentPosL; + if ( (zzAttributes & 8) == 8 ) break zzForAction; + } + + } + } + + // store back cached position + zzMarkedPos = zzMarkedPosL; + + switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { + case 1: + { return com.intellij.psi.TokenType.BAD_CHARACTER; + } + case 6: break; + case 4: + { return BNF_STRING; + } + case 7: break; + case 5: + { return BNF_NUMBER; + } + case 8: break; + case 3: + { return BNF_ID; + } + case 9: break; + case 2: + { return com.intellij.psi.TokenType.WHITE_SPACE; + } + case 10: break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + return null; + } + else { + zzScanError(ZZ_NO_MATCH); + } + } + } + } + + +} diff --git a/test/test_generated.rb b/test/test_generated.rb index 164e1fc2..591f50ed 100644 --- a/test/test_generated.rb +++ b/test/test_generated.rb @@ -69,5 +69,11 @@ class TestGenerated < Minitest::Test # Specflow generated_fixture_without_loading_data("Features/BindingCulture.feature.cs") + + # JFlex + generated_sample_loading_data("Java/JFlexLexer.java") + + # GrammarKit + generated_sample_loading_data("Java/GrammarKit.java") end end From 16d9612603c2ebf670745f2160178d4d0e7cd59c Mon Sep 17 00:00:00 2001 From: Paul Chaignon Date: Sun, 31 Jan 2016 10:29:06 +0100 Subject: [PATCH 19/62] Support for YANG language --- lib/linguist/languages.yml | 7 +++++ samples/YANG/sfc-lisp-impl.yang | 55 +++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 samples/YANG/sfc-lisp-impl.yang diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 306dfe9d..9903f2c9 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -3901,6 +3901,13 @@ YAML: - .yaml-tmlanguage ace_mode: yaml +YANG: + type: data + extensions: + - .yang + tm_scope: none + ace_mode: text + Yacc: type: programming extensions: diff --git a/samples/YANG/sfc-lisp-impl.yang b/samples/YANG/sfc-lisp-impl.yang new file mode 100644 index 00000000..761d9829 --- /dev/null +++ b/samples/YANG/sfc-lisp-impl.yang @@ -0,0 +1,55 @@ +module sfc-lisp-impl { + + yang-version 1; + namespace "urn:opendaylight:params:xml:ns:yang:controller:config:sfc-lisp:impl"; + prefix "sfc-lisp-impl"; + + import config { prefix config; revision-date 2013-04-05; } + import rpc-context { prefix rpcx; revision-date 2013-06-17; } + import opendaylight-md-sal-binding { prefix mdsal; revision-date 2013-10-28; } + + + description + "This module contains the base YANG definitions for + sfc-lisp implementation."; + + revision "2015-04-27" { + description + "Initial revision."; + } + + // This is the definition of the service implementation as a module identity + identity sfc-lisp-impl { + base config:module-type; + + // Specifies the prefix for generated java classes. + config:java-name-prefix SfcLisp; + } + + + // Augments the 'configuration' choice node under modules/module. + augment "/config:modules/config:module/config:configuration" { + case sfc-lisp-impl { + when "/config:modules/config:module/config:type = 'sfc-lisp-impl'"; + + //wires in the data-broker service + container data-broker { + uses config:service-ref { + refine type { + mandatory false; + config:required-identity mdsal:binding-async-data-broker; + } + } + } + + container rpc-registry { + uses config:service-ref { + refine type { + mandatory true; + config:required-identity mdsal:binding-rpc-registry; + } + } + } + } + } +} \ No newline at end of file From b235ed1223a97e6a1bdfa23043b7fa084dfd9804 Mon Sep 17 00:00:00 2001 From: Paul Chaignon Date: Sun, 31 Jan 2016 10:31:06 +0100 Subject: [PATCH 20/62] Grammar for YANG from Atom package --- .gitmodules | 3 +++ grammars.yml | 2 ++ lib/linguist/languages.yml | 2 +- vendor/grammars/language-yang | 1 + 4 files changed, 7 insertions(+), 1 deletion(-) create mode 160000 vendor/grammars/language-yang diff --git a/.gitmodules b/.gitmodules index e3dfa2a7..f4d07d4a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -707,3 +707,6 @@ [submodule "vendor/grammars/atom-language-stan"] path = vendor/grammars/atom-language-stan url = https://github.com/jrnold/atom-language-stan +[submodule "vendor/grammars/language-yang"] + path = vendor/grammars/language-yang + url = https://github.com/DzonyKalafut/language-yang.git diff --git a/grammars.yml b/grammars.yml index c8de7b72..8edfce74 100644 --- a/grammars.yml +++ b/grammars.yml @@ -372,6 +372,8 @@ vendor/grammars/language-xbase: - source.harbour vendor/grammars/language-yaml: - source.yaml +vendor/grammars/language-yang/: +- source.yang vendor/grammars/latex.tmbundle: - text.bibtex - text.log.latex diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 9903f2c9..a6813602 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -3905,7 +3905,7 @@ YANG: type: data extensions: - .yang - tm_scope: none + tm_scope: source.yang ace_mode: text Yacc: diff --git a/vendor/grammars/language-yang b/vendor/grammars/language-yang new file mode 160000 index 00000000..c2d4a701 --- /dev/null +++ b/vendor/grammars/language-yang @@ -0,0 +1 @@ +Subproject commit c2d4a701d15e0ea7a1cef4f2fe4396b336504d7c From c454396c26f2c67570a2b71e08de4504afe3ae08 Mon Sep 17 00:00:00 2001 From: Farbod Salamat-Zadeh Date: Tue, 2 Feb 2016 19:41:05 +0000 Subject: [PATCH 21/62] Add CSV as data type to languages.xml Adds the .csv extension (and also .txt extension) so that this file type is shown when searching on GitHub. --- lib/linguist/languages.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 081da674..c4df6e56 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -474,6 +474,12 @@ CSS: color: "#563d7c" extensions: - .css + +CSV: + type: data + extensions: + - .csv + - .txt Cap'n Proto: type: programming From 7b58b1ea59f82b7229db3e0258cb360a949151b7 Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Tue, 2 Feb 2016 19:37:35 -0700 Subject: [PATCH 22/62] Adding Perl6-specific grammar. --- .gitmodules | 3 +++ grammars.yml | 4 ++++ lib/linguist/languages.yml | 2 +- vendor/grammars/perl6fe | 1 + 4 files changed, 9 insertions(+), 1 deletion(-) create mode 160000 vendor/grammars/perl6fe diff --git a/.gitmodules b/.gitmodules index f4d07d4a..468dd8b9 100644 --- a/.gitmodules +++ b/.gitmodules @@ -710,3 +710,6 @@ [submodule "vendor/grammars/language-yang"] path = vendor/grammars/language-yang url = https://github.com/DzonyKalafut/language-yang.git +[submodule "vendor/grammars/perl6fe"] + path = vendor/grammars/perl6fe + url = https://github.com/MadcapJake/language-perl6fe.git diff --git a/grammars.yml b/grammars.yml index 8edfce74..4aefd99f 100644 --- a/grammars.yml +++ b/grammars.yml @@ -445,6 +445,10 @@ vendor/grammars/pascal.tmbundle: vendor/grammars/perl.tmbundle/: - source.perl - source.perl.6 +vendor/grammars/perl6fe: +- source.meta-info +- source.perl6fe +- source.regexp.perl6fe vendor/grammars/php-smarty.tmbundle: - text.html.smarty vendor/grammars/php.tmbundle: diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 081da674..9faff3af 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -2654,7 +2654,7 @@ Perl6: - Rexfile interpreters: - perl6 - tm_scope: source.perl.6 + tm_scope: source.perl6fe ace_mode: perl Pickle: diff --git a/vendor/grammars/perl6fe b/vendor/grammars/perl6fe new file mode 160000 index 00000000..8bcf0980 --- /dev/null +++ b/vendor/grammars/perl6fe @@ -0,0 +1 @@ +Subproject commit 8bcf098074c65aac5a73612e214a3b6eb1b2d5f8 From 9fd80bfd67f8087e4b89dd016cc53ea0a420a566 Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Tue, 2 Feb 2016 22:38:50 -0700 Subject: [PATCH 23/62] Updating to latest perl6 grammar --- vendor/grammars/perl6fe | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/grammars/perl6fe b/vendor/grammars/perl6fe index 8bcf0980..f433aa1d 160000 --- a/vendor/grammars/perl6fe +++ b/vendor/grammars/perl6fe @@ -1 +1 @@ -Subproject commit 8bcf098074c65aac5a73612e214a3b6eb1b2d5f8 +Subproject commit f433aa1dcade27f6da46c0e14779ed06d922cc20 From eb8eb28ca725e6f1f6e3b7de7c18015c630f6ef1 Mon Sep 17 00:00:00 2001 From: Paul Chaignon Date: Wed, 3 Feb 2016 14:19:58 +0100 Subject: [PATCH 24/62] Remove Less grammar --- .gitmodules | 3 --- grammars.yml | 2 -- lib/linguist/languages.yml | 2 +- vendor/grammars/less.tmbundle | 1 - 4 files changed, 1 insertion(+), 7 deletions(-) delete mode 160000 vendor/grammars/less.tmbundle diff --git a/.gitmodules b/.gitmodules index 468dd8b9..e67450e7 100644 --- a/.gitmodules +++ b/.gitmodules @@ -340,9 +340,6 @@ [submodule "vendor/grammars/latex.tmbundle"] path = vendor/grammars/latex.tmbundle url = https://github.com/textmate/latex.tmbundle -[submodule "vendor/grammars/less.tmbundle"] - path = vendor/grammars/less.tmbundle - url = https://github.com/textmate/less.tmbundle [submodule "vendor/grammars/lilypond.tmbundle"] path = vendor/grammars/lilypond.tmbundle url = https://github.com/textmate/lilypond.tmbundle diff --git a/grammars.yml b/grammars.yml index 4aefd99f..d7da2b7c 100644 --- a/grammars.yml +++ b/grammars.yml @@ -381,8 +381,6 @@ vendor/grammars/latex.tmbundle: - text.tex.latex - text.tex.latex.beamer - text.tex.latex.memoir -vendor/grammars/less.tmbundle: -- source.css.less vendor/grammars/lilypond.tmbundle: - source.lilypond vendor/grammars/liquid.tmbundle: diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 9faff3af..2b095e3f 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -1834,7 +1834,7 @@ Less: group: CSS extensions: - .less - tm_scope: source.css.less + tm_scope: none ace_mode: less color: "#A1D9A1" diff --git a/vendor/grammars/less.tmbundle b/vendor/grammars/less.tmbundle deleted file mode 160000 index 7ef97ad5..00000000 --- a/vendor/grammars/less.tmbundle +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 7ef97ad5f15d2a136afe4d5cf568fc8ee79675b7 From 889a39534066b711480b21f0156266ed413136b4 Mon Sep 17 00:00:00 2001 From: Paul Chaignon Date: Wed, 3 Feb 2016 14:22:23 +0100 Subject: [PATCH 25/62] Grammar for Less from Atom package --- .gitmodules | 3 +++ grammars.yml | 2 ++ lib/linguist/languages.yml | 2 +- vendor/grammars/language-less | 1 + 4 files changed, 7 insertions(+), 1 deletion(-) create mode 160000 vendor/grammars/language-less diff --git a/.gitmodules b/.gitmodules index e67450e7..41e39127 100644 --- a/.gitmodules +++ b/.gitmodules @@ -710,3 +710,6 @@ [submodule "vendor/grammars/perl6fe"] path = vendor/grammars/perl6fe url = https://github.com/MadcapJake/language-perl6fe.git +[submodule "vendor/grammars/language-less"] + path = vendor/grammars/language-less + url = https://github.com/atom/language-less.git diff --git a/grammars.yml b/grammars.yml index d7da2b7c..6139fb0a 100644 --- a/grammars.yml +++ b/grammars.yml @@ -354,6 +354,8 @@ vendor/grammars/language-javascript: vendor/grammars/language-jsoniq/: - source.jq - source.xq +vendor/grammars/language-less/: +- source.css.less vendor/grammars/language-maxscript: - source.maxscript vendor/grammars/language-ncl: diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 2b095e3f..9faff3af 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -1834,7 +1834,7 @@ Less: group: CSS extensions: - .less - tm_scope: none + tm_scope: source.css.less ace_mode: less color: "#A1D9A1" diff --git a/vendor/grammars/language-less b/vendor/grammars/language-less new file mode 160000 index 00000000..a4ded260 --- /dev/null +++ b/vendor/grammars/language-less @@ -0,0 +1 @@ +Subproject commit a4ded2608cd22b8dba79df2025ad8dcf62158ddb From a0065febe25a4e705367c71492c0e0216c4974ea Mon Sep 17 00:00:00 2001 From: Farbod Salamat-Zadeh Date: Sat, 6 Feb 2016 16:34:33 +0000 Subject: [PATCH 26/62] Add ace_mode and tm_scope for CSV --- lib/linguist/languages.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index c4df6e56..4fe4390e 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -477,6 +477,8 @@ CSS: CSV: type: data + ace_mode: text + tm_scope: none extensions: - .csv - .txt From 7b3efb185fed3f9f00415cd1ec9a967684bdcf07 Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Fri, 12 Feb 2016 16:25:05 -0700 Subject: [PATCH 27/62] Updating grammars --- vendor/grammars/Elm.tmLanguage | 2 +- vendor/grammars/Handlebars | 2 +- vendor/grammars/MagicPython | 2 +- vendor/grammars/NimLime | 2 +- vendor/grammars/atom-fsharp | 2 +- vendor/grammars/atom-language-stan | 2 +- vendor/grammars/c.tmbundle | 2 +- vendor/grammars/chapel-tmbundle | 2 +- vendor/grammars/d.tmbundle | 2 +- vendor/grammars/elixir-tmbundle | 2 +- vendor/grammars/factor | 2 +- vendor/grammars/gap-tmbundle | 2 +- vendor/grammars/html.tmbundle | 2 +- vendor/grammars/language-babel | 2 +- vendor/grammars/language-coffee-script | 2 +- vendor/grammars/language-crystal | 2 +- vendor/grammars/language-gfm | 2 +- vendor/grammars/language-javascript | 2 +- vendor/grammars/language-jsoniq | 2 +- vendor/grammars/language-renpy | 2 +- vendor/grammars/language-yaml | 2 +- vendor/grammars/latex.tmbundle | 2 +- vendor/grammars/objective-c.tmbundle | 2 +- vendor/grammars/perl6fe | 2 +- vendor/grammars/php.tmbundle | 2 +- vendor/grammars/powershell | 2 +- vendor/grammars/sublime-nginx | 2 +- vendor/grammars/sublime-pony | 2 +- vendor/grammars/sublime-rust | 2 +- vendor/grammars/sublime-typescript | 2 +- vendor/grammars/sublime_cobol | 2 +- vendor/grammars/swift.tmbundle | 2 +- vendor/grammars/vue-syntax-highlight | 2 +- 33 files changed, 33 insertions(+), 33 deletions(-) diff --git a/vendor/grammars/Elm.tmLanguage b/vendor/grammars/Elm.tmLanguage index 494145bd..437033bd 160000 --- a/vendor/grammars/Elm.tmLanguage +++ b/vendor/grammars/Elm.tmLanguage @@ -1 +1 @@ -Subproject commit 494145bded21fd6e18454d9d9d5aa8b67ced1b96 +Subproject commit 437033bd48350b49bc0dfa734206bfa0ba5de337 diff --git a/vendor/grammars/Handlebars b/vendor/grammars/Handlebars index 7e5396d9..2e9f6884 160000 --- a/vendor/grammars/Handlebars +++ b/vendor/grammars/Handlebars @@ -1 +1 @@ -Subproject commit 7e5396d9be8b05c705be614afb022f755a7edc17 +Subproject commit 2e9f68840073f5a3de13cbfed10e31b199760654 diff --git a/vendor/grammars/MagicPython b/vendor/grammars/MagicPython index d7855f98..82c76aff 160000 --- a/vendor/grammars/MagicPython +++ b/vendor/grammars/MagicPython @@ -1 +1 @@ -Subproject commit d7855f98ce6fbe0703c2753b0deae263a27fd8f8 +Subproject commit 82c76aff704192fb9ed1f505360635f575f13b5a diff --git a/vendor/grammars/NimLime b/vendor/grammars/NimLime index 4e60e565..4db349dd 160000 --- a/vendor/grammars/NimLime +++ b/vendor/grammars/NimLime @@ -1 +1 @@ -Subproject commit 4e60e5657fcddde6bf8b4bce0030ecb3154e7dfa +Subproject commit 4db349dda5219a37e99a0375e2a5d8a001fbf20e diff --git a/vendor/grammars/atom-fsharp b/vendor/grammars/atom-fsharp index 4376748e..13eb4d43 160000 --- a/vendor/grammars/atom-fsharp +++ b/vendor/grammars/atom-fsharp @@ -1 +1 @@ -Subproject commit 4376748ed29b5e104cd0dd807c8c9f09a09ec361 +Subproject commit 13eb4d4347be4e8dd825ba174e4271f9cb0f9cab diff --git a/vendor/grammars/atom-language-stan b/vendor/grammars/atom-language-stan index f6911bef..f8d855ea 160000 --- a/vendor/grammars/atom-language-stan +++ b/vendor/grammars/atom-language-stan @@ -1 +1 @@ -Subproject commit f6911bef091e155098f113ec5aaa89bd55283705 +Subproject commit f8d855eab960b4dd140c0f469a809401544850b8 diff --git a/vendor/grammars/c.tmbundle b/vendor/grammars/c.tmbundle index f1424d49..5b5d3663 160000 --- a/vendor/grammars/c.tmbundle +++ b/vendor/grammars/c.tmbundle @@ -1 +1 @@ -Subproject commit f1424d49dd879f6c5a67d3afe6c48a17f538345a +Subproject commit 5b5d366309e8a549ce6fff5bcd9aa57ffb6dae77 diff --git a/vendor/grammars/chapel-tmbundle b/vendor/grammars/chapel-tmbundle index b657738c..469476b2 160000 --- a/vendor/grammars/chapel-tmbundle +++ b/vendor/grammars/chapel-tmbundle @@ -1 +1 @@ -Subproject commit b657738cc05cddd8d8a20afa307e93e607d17d97 +Subproject commit 469476b285adf6c4a09973fd12e97ec831afd050 diff --git a/vendor/grammars/d.tmbundle b/vendor/grammars/d.tmbundle index e6551b27..bc27d5e5 160000 --- a/vendor/grammars/d.tmbundle +++ b/vendor/grammars/d.tmbundle @@ -1 +1 @@ -Subproject commit e6551b27e30960a272758afb7da323aa402d70e6 +Subproject commit bc27d5e552b28eaceb76cfe93bd7c27a1105b57d diff --git a/vendor/grammars/elixir-tmbundle b/vendor/grammars/elixir-tmbundle index 13d94e0e..a7aa16e3 160000 --- a/vendor/grammars/elixir-tmbundle +++ b/vendor/grammars/elixir-tmbundle @@ -1 +1 @@ -Subproject commit 13d94e0ec98c2447adc80230708afa94012ec825 +Subproject commit a7aa16e349f673d70dd43fcab72e2a3f219cb9d7 diff --git a/vendor/grammars/factor b/vendor/grammars/factor index fffb5014..97d1ec75 160000 --- a/vendor/grammars/factor +++ b/vendor/grammars/factor @@ -1 +1 @@ -Subproject commit fffb501486083871377237b9320159de140a943a +Subproject commit 97d1ec759eb9fa2ace83c62685b6b36faec05981 diff --git a/vendor/grammars/gap-tmbundle b/vendor/grammars/gap-tmbundle index ce4ff698..52c8fafb 160000 --- a/vendor/grammars/gap-tmbundle +++ b/vendor/grammars/gap-tmbundle @@ -1 +1 @@ -Subproject commit ce4ff698ebb4a692f0b9a3ab5e30853b87fd2b34 +Subproject commit 52c8fafb664fb7909223f92403e26fe3bfde0cdc diff --git a/vendor/grammars/html.tmbundle b/vendor/grammars/html.tmbundle index 58640721..7710c79b 160000 --- a/vendor/grammars/html.tmbundle +++ b/vendor/grammars/html.tmbundle @@ -1 +1 @@ -Subproject commit 58640721ca0ea5210786086940f789c299366791 +Subproject commit 7710c79b161314fe937b05b13b1101e78f5dc62e diff --git a/vendor/grammars/language-babel b/vendor/grammars/language-babel index e63e3e29..e2fd09d7 160000 --- a/vendor/grammars/language-babel +++ b/vendor/grammars/language-babel @@ -1 +1 @@ -Subproject commit e63e3e29e93327e1d0979e3acb37a0e2acc463c0 +Subproject commit e2fd09d7d9caf1f336b3a35581e55387723dcbf3 diff --git a/vendor/grammars/language-coffee-script b/vendor/grammars/language-coffee-script index afa4f6f1..93e935ec 160000 --- a/vendor/grammars/language-coffee-script +++ b/vendor/grammars/language-coffee-script @@ -1 +1 @@ -Subproject commit afa4f6f157e02fd1a635357e8117e4c726a84542 +Subproject commit 93e935ec1d54815c182d683d3dfb9583db4e269b diff --git a/vendor/grammars/language-crystal b/vendor/grammars/language-crystal index 5c0e60fd..f87d6864 160000 --- a/vendor/grammars/language-crystal +++ b/vendor/grammars/language-crystal @@ -1 +1 @@ -Subproject commit 5c0e60fd5323b5f093317ffda9721db3fcd72672 +Subproject commit f87d68645c9a4243a7942e6b414449f1eec8a3e7 diff --git a/vendor/grammars/language-gfm b/vendor/grammars/language-gfm index 6b60f7d8..298a8a3e 160000 --- a/vendor/grammars/language-gfm +++ b/vendor/grammars/language-gfm @@ -1 +1 @@ -Subproject commit 6b60f7d89bb7afc67640d46eb8a7cc83e266b30d +Subproject commit 298a8a3eb180f1fa6b8a8bc77c2147e355c8cafd diff --git a/vendor/grammars/language-javascript b/vendor/grammars/language-javascript index 162309ab..f68e4bfe 160000 --- a/vendor/grammars/language-javascript +++ b/vendor/grammars/language-javascript @@ -1 +1 @@ -Subproject commit 162309ab8525c0f1b8602514e6aa347c9889437e +Subproject commit f68e4bfe54a3b9d16450223f401d2fb16453897f diff --git a/vendor/grammars/language-jsoniq b/vendor/grammars/language-jsoniq index 7a971acf..008a2458 160000 --- a/vendor/grammars/language-jsoniq +++ b/vendor/grammars/language-jsoniq @@ -1 +1 @@ -Subproject commit 7a971acf1c2001e6b2e9afc7b69b6ff8a2ae39ce +Subproject commit 008a24589d32a8f8bbd55985d27844a7cda842e5 diff --git a/vendor/grammars/language-renpy b/vendor/grammars/language-renpy index 00e92d74..cc2f1c69 160000 --- a/vendor/grammars/language-renpy +++ b/vendor/grammars/language-renpy @@ -1 +1 @@ -Subproject commit 00e92d7450a97c33b40931113b64034bac27e010 +Subproject commit cc2f1c69f0b1c1d121aa5648422fc70d86dca7cf diff --git a/vendor/grammars/language-yaml b/vendor/grammars/language-yaml index e1d62e5a..249fdeed 160000 --- a/vendor/grammars/language-yaml +++ b/vendor/grammars/language-yaml @@ -1 +1 @@ -Subproject commit e1d62e5aff1c475ea3eedc3b03a52ce0e750ec89 +Subproject commit 249fdeed7877ccdcba123645f32cc6597bce4b37 diff --git a/vendor/grammars/latex.tmbundle b/vendor/grammars/latex.tmbundle index ed94d309..82986b93 160000 --- a/vendor/grammars/latex.tmbundle +++ b/vendor/grammars/latex.tmbundle @@ -1 +1 @@ -Subproject commit ed94d3091501cfc6d9aa293ea241d1c0ad6c6395 +Subproject commit 82986b93a4f4ae7aab52445d8b7742b9af635d05 diff --git a/vendor/grammars/objective-c.tmbundle b/vendor/grammars/objective-c.tmbundle index 1bade8a1..fdcedb95 160000 --- a/vendor/grammars/objective-c.tmbundle +++ b/vendor/grammars/objective-c.tmbundle @@ -1 +1 @@ -Subproject commit 1bade8a1c919c358fc4a6d83ba93e98e419ffede +Subproject commit fdcedb95de8846220c49f769fee91045188767d9 diff --git a/vendor/grammars/perl6fe b/vendor/grammars/perl6fe index f433aa1d..12fa46f7 160000 --- a/vendor/grammars/perl6fe +++ b/vendor/grammars/perl6fe @@ -1 +1 @@ -Subproject commit f433aa1dcade27f6da46c0e14779ed06d922cc20 +Subproject commit 12fa46f7bbf646616df1120ed8cfee3e1fcb75de diff --git a/vendor/grammars/php.tmbundle b/vendor/grammars/php.tmbundle index 2ecaa60d..3ed4837b 160000 --- a/vendor/grammars/php.tmbundle +++ b/vendor/grammars/php.tmbundle @@ -1 +1 @@ -Subproject commit 2ecaa60d92b92d4c07f243207ba1d5b2114bb70a +Subproject commit 3ed4837b43d3f650ebb525b068636281942883a0 diff --git a/vendor/grammars/powershell b/vendor/grammars/powershell index 982ae21d..b4ea52c5 160000 --- a/vendor/grammars/powershell +++ b/vendor/grammars/powershell @@ -1 +1 @@ -Subproject commit 982ae21d54b3affc498131515ebbfca6b186ac16 +Subproject commit b4ea52c51c5111fdda1d24103082d9580472c31b diff --git a/vendor/grammars/sublime-nginx b/vendor/grammars/sublime-nginx index ba28d29d..fcf644ec 160000 --- a/vendor/grammars/sublime-nginx +++ b/vendor/grammars/sublime-nginx @@ -1 +1 @@ -Subproject commit ba28d29de729f01d39a29fa214a6818112b48803 +Subproject commit fcf644ecea021ab8a6bc171f415f8df0b005b31e diff --git a/vendor/grammars/sublime-pony b/vendor/grammars/sublime-pony index 384ba3ed..b5eb8f8e 160000 --- a/vendor/grammars/sublime-pony +++ b/vendor/grammars/sublime-pony @@ -1 +1 @@ -Subproject commit 384ba3ed980189f0cc140d3fb86455f880fffeb0 +Subproject commit b5eb8f8e97e5253de8d81cfa4826cfb5815f2944 diff --git a/vendor/grammars/sublime-rust b/vendor/grammars/sublime-rust index 06a278cc..621e4f61 160000 --- a/vendor/grammars/sublime-rust +++ b/vendor/grammars/sublime-rust @@ -1 +1 @@ -Subproject commit 06a278ccfaf5e542d26a95d66c734b4407bc4912 +Subproject commit 621e4f6117531d8fe299eb5584a6be766df1822e diff --git a/vendor/grammars/sublime-typescript b/vendor/grammars/sublime-typescript index 0504a558..26fd717a 160000 --- a/vendor/grammars/sublime-typescript +++ b/vendor/grammars/sublime-typescript @@ -1 +1 @@ -Subproject commit 0504a5582b6e5d814630259c87f2d8f8e6027c47 +Subproject commit 26fd717a79d1984e76bbe6d958c5c4bbf0179049 diff --git a/vendor/grammars/sublime_cobol b/vendor/grammars/sublime_cobol index ad15734a..3d2b6dbc 160000 --- a/vendor/grammars/sublime_cobol +++ b/vendor/grammars/sublime_cobol @@ -1 +1 @@ -Subproject commit ad15734a4a9798a006525f53a968565fee1411b1 +Subproject commit 3d2b6dbcd1b27023150ff9d8ab47953706d070b8 diff --git a/vendor/grammars/swift.tmbundle b/vendor/grammars/swift.tmbundle index f5ce5833..32141e91 160000 --- a/vendor/grammars/swift.tmbundle +++ b/vendor/grammars/swift.tmbundle @@ -1 +1 @@ -Subproject commit f5ce5833a914f71aa1ab7df0a262104acd3436ef +Subproject commit 32141e91eeffbbd29482d5b1a0131eec4613e73e diff --git a/vendor/grammars/vue-syntax-highlight b/vendor/grammars/vue-syntax-highlight index a2336ddc..f20c9bab 160000 --- a/vendor/grammars/vue-syntax-highlight +++ b/vendor/grammars/vue-syntax-highlight @@ -1 +1 @@ -Subproject commit a2336ddc7ea01876caa31793f806250cad3b53e6 +Subproject commit f20c9bab7e71738f421e6edc1aab8839ee05d85a From bd95ac0beb4acfb68a505f0a1a5a40b6f00585ad Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Fri, 12 Feb 2016 16:27:29 -0700 Subject: [PATCH 28/62] Bumping version --- lib/linguist/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/linguist/version.rb b/lib/linguist/version.rb index ba44bb5b..bc1707a9 100644 --- a/lib/linguist/version.rb +++ b/lib/linguist/version.rb @@ -1,3 +1,3 @@ module Linguist - VERSION = "4.7.4" + VERSION = "4.7.5" end From 8de50edb41952b70f44f8199a4995e669c3e5a80 Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Fri, 12 Feb 2016 17:05:44 -0700 Subject: [PATCH 29/62] ruby for example --- lib/linguist/strategy/modeline.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/linguist/strategy/modeline.rb b/lib/linguist/strategy/modeline.rb index ece98a1f..eb5a8a5f 100644 --- a/lib/linguist/strategy/modeline.rb +++ b/lib/linguist/strategy/modeline.rb @@ -5,12 +5,12 @@ module Linguist # First form vim modeline # [text]{white}{vi:|vim:|ex:}[white]{options} - # ex: 'vim: syntax=perl' + # ex: 'vim: syntax=ruby' VIM_MODELINE_1 = /(?:vim|vi|ex):\s*(?:ft|filetype|syntax)=(\w+)\s?/i # Second form vim modeline (compatible with some versions of Vi) # [text]{white}{vi:|vim:|Vim:|ex:}[white]se[t] {options}:[text] - # ex: 'vim set syntax=perl:' + # ex: 'vim set syntax=ruby:' VIM_MODELINE_2 = /(?:vim|vi|Vim|ex):\s*se(?:t)?.*\s(?:ft|filetype|syntax)=(\w+)\s?.*:/i MODELINES = [EMACS_MODELINE, VIM_MODELINE_1, VIM_MODELINE_2] From fb9f271720c13f109e34cd818cf8a26b23d821b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Sun, 14 Feb 2016 21:57:02 +0200 Subject: [PATCH 30/62] Shell: Add shell-script alias for recognizing Emacs modelines --- lib/linguist/languages.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 14519a61..1f04c03c 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -3274,6 +3274,7 @@ Shell: color: "#89e051" aliases: - sh + - shell-script - bash - zsh extensions: From 17a946358831a776fcacbe8be7dbed29c2dbac10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Sun, 14 Feb 2016 22:08:21 +0200 Subject: [PATCH 31/62] Makefile: Add Makefile.am and Makefile.in filenames --- lib/linguist/languages.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 14519a61..e1c0f970 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -2031,6 +2031,8 @@ Makefile: - Makefile - Makefile.inc - makefile + - Makefile.am + - Makefile.in interpreters: - make ace_mode: makefile From 41713d7719c547278948eae451172100ce4c2c7d Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Thu, 18 Feb 2016 21:41:38 +0000 Subject: [PATCH 32/62] add a sample of FLUX code These samples were taken from the paper "Flux: A Language for Programming High-Performance Servers", by Burns et al and Flux V0.02 which can be found here: https://plasma.cs.umass.edu/emery/flux.1.html --- samples/FLUX/gameserver.fx | 54 +++++++++++++ samples/FLUX/imageserver.fx | 44 +++++++++++ samples/FLUX/mbittorrent.fx | 151 ++++++++++++++++++++++++++++++++++++ samples/FLUX/test.fx | 38 +++++++++ 4 files changed, 287 insertions(+) create mode 100644 samples/FLUX/gameserver.fx create mode 100644 samples/FLUX/imageserver.fx create mode 100644 samples/FLUX/mbittorrent.fx create mode 100644 samples/FLUX/test.fx diff --git a/samples/FLUX/gameserver.fx b/samples/FLUX/gameserver.fx new file mode 100644 index 00000000..9c40d5f1 --- /dev/null +++ b/samples/FLUX/gameserver.fx @@ -0,0 +1,54 @@ +typedef engine isEngineMessage; +typedef turn isTurnMessage; +typedef connect isConnectMessage; +typedef disconnect isDisconnectMessage; + +ClientMessage(char* data) => (); +ParseMessage(char* data) => (int type, int client, char* data); +ReadMessage(int type, int client, char* data) => (); + +ParseEngine(int type, int client, char* data) => (int client, int direction); +DoEngine(int client, int direction) => (); + +ParseTurn(int type, int client, char* data) => (int client, int direction); +DoTurn(int client, int direction) => (); + +ParseConnect(int type, int client, char* data) + => (int client, char* host, int port); +DoConnect(int client, char* host, int port) => (); + +ParseDisconnect(int type, int client, char* data) => (int client); +DoDisconnect(int client) => (); + +UpdateBoard(ClientList clients) => (ClientList clients); +SendData(ClientList clients) => (); + +DoUpdate(ClientList clients) => (); + +DataTimer() => (ClientList clients); + +GetClients() => (ClientList clients); + +Wait(ClientList clients) => (ClientList clients); + +Listen () => (char* data); + +source Listen => ClientMessage; +source DataTimer => DoUpdate; + +DataTimer = GetClients -> Wait; + +DoUpdate = UpdateBoard -> SendData; + +ClientMessage=ParseMessage -> ReadMessage; + +ReadMessage:[engine, _, _] = ParseEngine -> DoEngine; +ReadMessage:[turn, _, _] = ParseTurn -> DoTurn; +ReadMessage:[connect, _, _] = ParseConnect -> DoConnect; +ReadMessage:[disconnect, _, _] = ParseDisconnect -> DoDisconnect; + +atomic GetClients:{client_lock}; +atomic DoConnect:{client_lock}; +atomic DoDisconnect:{client_lock}; + + diff --git a/samples/FLUX/imageserver.fx b/samples/FLUX/imageserver.fx new file mode 100644 index 00000000..effbfaed --- /dev/null +++ b/samples/FLUX/imageserver.fx @@ -0,0 +1,44 @@ +typedef xml TestXML; +typedef html TestHTML; + +typedef inCache TestInCache; + +Page (int socket) => (); + +ReadRequest (int socket) => (int socket, bool close, image_tag *request); + +CheckCache (int socket, bool close, image_tag *request) + => (int socket, bool close, image_tag *request); + +Handler (int socket, bool close, image_tag *request) + => (int socket, bool close, image_tag *request); + +Complete (int socket, bool close, image_tag *request) => (); + +ReadInFromDisk (int socket, bool close, image_tag *request) + => (int socket, bool close, image_tag *request, __u8 *rgb_data); + +Write (int socket, bool close, image_tag *request) + => (int socket, bool close, image_tag *request); + +Compress(int socket, bool close, image_tag *request, __u8 *rgb_data) + => (int socket, bool close, image_tag *request); + +StoreInCache(int socket, bool close, image_tag *request) + => (int socket, bool close, image_tag *request); + +Listen () + => (int socket); + +source Listen => Page; + +Handler:[_, _, inCache]=; +Handler:[_, _, _]=ReadInFromDisk -> Compress -> StoreInCache; + +Page = ReadRequest -> CheckCache-> Handler -> Write -> Complete; + +atomic CheckCache:{cache}; +atomic StoreInCache:{cache}; +atomic Complete:{cache}; + +handle error ReadInFromDisk => FourOhFor; diff --git a/samples/FLUX/mbittorrent.fx b/samples/FLUX/mbittorrent.fx new file mode 100644 index 00000000..620bcd54 --- /dev/null +++ b/samples/FLUX/mbittorrent.fx @@ -0,0 +1,151 @@ +typedef choke TestChoke; +typedef unchoke TestUnchoke; +typedef interested TestInterested; +typedef uninterested TestUninterested; +typedef request TestRequest; +typedef cancel TestCancel; +typedef piece TestPiece; +typedef bitfield TestBitfield; +typedef have TestHave; +typedef piececomplete TestPieceComplete; + +CheckinWithTracker (torrent_data_t *tdata) + => (); + +SendRequestToTracker (torrent_data_t *tdata) + => (torrent_data_t *tdata, int socket); + +GetTrackerResponse (torrent_data_t *tdata, int socket) + => (); + +UpdateChokeList (torrent_data_t *tdata) + => (); + +PickChoked (torrent_data_t *tdata) + => (torrent_data_t *tdata, chokelist_t clist); + +SendChokeUnchoke (torrent_data_t *tdata, chokelist_t clist) + => (); + +SetupConnection (torrent_data_t *tdata, int socket) + => (); + +Handshake (torrent_data_t *tdata, int socket) + => (torrent_data_t *tdata, client_data_t *client); + +SendBitfield (torrent_data_t *tdata, client_data_t *client) + => (); + +Message (torrent_data_t *tdata, client_data_t *client) + => (); + +ReadMessage (torrent_data_t *tdata, client_data_t *client) + => (torrent_data_t *tdata, client_data_t *client, int type, int length, char *payload); + +HandleMessage (torrent_data_t *tdata, client_data_t *client, int type, int length, char *payload) + => (client_data_t *client); + +MessageDone (client_data_t *client) + => (); + +CompletePiece (torrent_data_t *tdata, client_data_t *client, int piece) + => (torrent_data_t *tdata, client_data_t *client); + +VerifyPiece (torrent_data_t *tdata, client_data_t *client, int piece) + => (torrent_data_t *tdata, client_data_t *client, int piece); + +SendHave (torrent_data_t *tdata, client_data_t *client, int piece) + => (torrent_data_t *tdata, client_data_t *client); + +SendUninterested (torrent_data_t *tdata, client_data_t *client) + => (torrent_data_t *tdata, client_data_t *client); + +Choke (torrent_data_t *tdata, client_data_t *client, int type, int length, char *payload) + => (client_data_t *client); + +Cancel (torrent_data_t *tdata, client_data_t *client, int type, int length, char *payload) + => (client_data_t *client); + +Interested (torrent_data_t *tdata, client_data_t *client, int type, int length, char *payload) + => (client_data_t *client); + +Uninterested (torrent_data_t *tdata, client_data_t *client, int type, int length, char *payload) + => (client_data_t *client); + +Bitfield (torrent_data_t *tdata, client_data_t *client, int type, int length, char *payload) + => (client_data_t *client); + +Unchoke (torrent_data_t *tdata, client_data_t *client, int type, int length, char *payload) + => (torrent_data_t *tdata, client_data_t *client); + +SendRequest (torrent_data_t *tdata, client_data_t *client) + => (client_data_t *client); + +Have (torrent_data_t *tdata, client_data_t *client, int type, int length, char *payload) + => (torrent_data_t *tdata, client_data_t *client); + +Piece (torrent_data_t *tdata, client_data_t *client, int type, int length, char *payload) + => (torrent_data_t *tdata, client_data_t *client, int piece); + +Request (torrent_data_t *tdata, client_data_t *client, int type, int length, char *payload) + => (client_data_t *client); + +SendKeepAlives (torrent_data_t *tdata) + => (); + +GetClients () + => (int maxfd, fd_set *fds); + +SelectSockets (int maxfd, fd_set *fds) + => (fd_set *fds); + +CheckSockets (fd_set *fds) + => (torrent_data_t *tdata, client_data_t *client); + +TrackerTimer () + => (torrent_data_t *tdata); + +ChokeTimer () + => (torrent_data_t *tdata); + +Connect () + => (torrent_data_t *tdata, int socket); + +KeepAliveTimer () + => (torrent_data_t *tdata); + +Listen () + => (torrent_data_t *tdata, client_data_t *client); + +source TrackerTimer => CheckinWithTracker; +source ChokeTimer => UpdateChokeList; +source Connect => SetupConnection; +source Listen => Message; +source KeepAliveTimer => SendKeepAlives; + +Listen = GetClients -> SelectSockets -> CheckSockets; +CheckinWithTracker = SendRequestToTracker -> GetTrackerResponse; +UpdateChokeList = PickChoked -> SendChokeUnchoke; +SetupConnection = Handshake -> SendBitfield; +Message = ReadMessage -> HandleMessage -> MessageDone; + +CompletePiece:[_, _, piececomplete] = VerifyPiece -> SendHave -> SendUninterested; + +HandleMessage:[_, _, choke, _, _] = Choke; +HandleMessage:[_, _, unchoke, _, _] = Unchoke -> SendRequest; +HandleMessage:[_, _, interested, _, _] = Interested; + +HandleMessage:[_, _, uninterested, _, _] = Uninterested; +HandleMessage:[_, _, request, _, _] = Request; +HandleMessage:[_, _, cancel, _, _] = Cancel; +HandleMessage:[_, _, piece, _, _] = Piece -> CompletePiece -> SendRequest; +HandleMessage:[_, _, bitfield, _, _] = Bitfield; +HandleMessage:[_, _, have, _, _] = Have -> SendRequest; + +atomic GetClients:{BigLock}; +atomic CheckSockets:{BigLock}; +atomic Message:{BigLock}; +atomic CheckinWithTracker:{BigLock}; +atomic UpdateChokeList:{BigLock}; +atomic SetupConnection:{BigLock}; +atomic SendKeepAlives:{BigLock}; diff --git a/samples/FLUX/test.fx b/samples/FLUX/test.fx new file mode 100644 index 00000000..bb81fa9a --- /dev/null +++ b/samples/FLUX/test.fx @@ -0,0 +1,38 @@ +// concrete node signatures +Listen () + => (int socket); + +ReadRequest (int socket) + => (int socket, bool close, image_tag *request); + +CheckCache (int socket, bool close, image_tag *request) + => (int socket, bool close, image_tag *request); + +// omitted for space: +// ReadInFromDisk, StoreInCache +Compress (int socket, bool close, image_tag *request, __u8 *rgb_data) + => (int socket, bool close, image_tag *request); +Write (int socket, bool close, image_tag *request) + => (int socket, bool close, image_tag *request); +Complete (int socket, bool close, image_tag *request) => (); + +// source node +source Listen => Image; + +// abstract node +Image = ReadRequest -> CheckCache -> Handler -> Write -> Complete; + +// predicate type & dispatch +typedef hit TestInCache; +Handler:[_, _, hit] = ; +Handler:[_, _, _] = +ReadInFromDisk -> Compress -> StoreInCache; + +// error handler +handle error ReadInFromDisk => FourOhFor; + +// atomicity constraints +atomic CheckCache:{cache}; +atomic StoreInCache:{cache}; +atomic Complete:{cache}; + From 5c4129f85bb2d5af921cd826f4d6e75072bc1fe9 Mon Sep 17 00:00:00 2001 From: Paul Chaignon Date: Fri, 19 Feb 2016 08:50:01 +0100 Subject: [PATCH 33/62] Move HACKING.rst.txt to sample directory The file was incorrectly placed at the root of the repo --- HACKING.rst.txt => samples/reStructuredText/HACKING.rst.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename HACKING.rst.txt => samples/reStructuredText/HACKING.rst.txt (100%) diff --git a/HACKING.rst.txt b/samples/reStructuredText/HACKING.rst.txt similarity index 100% rename from HACKING.rst.txt rename to samples/reStructuredText/HACKING.rst.txt From 6b001cf861f31ad51c71274ff332d5a6b84f0d89 Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Thu, 18 Feb 2016 21:44:21 +0000 Subject: [PATCH 34/62] add support for HLSL/FX Add support for DirectX HLSL / FX files. The FX files are just HLSL files with some additional syntax to set render-states and define multiple shader stages in one file. Samples are either written by me, or taken from Chromium. --- lib/linguist/languages.yml | 10 ++ samples/HLSL/accelerated_surface_win.hlsl | 27 +++++ samples/HLSL/corridor.fx | 105 +++++++++++++++++++ samples/HLSL/jellyfish.fx | 119 ++++++++++++++++++++++ samples/HLSL/noise.fx | 41 ++++++++ 5 files changed, 302 insertions(+) create mode 100644 samples/HLSL/accelerated_surface_win.hlsl create mode 100644 samples/HLSL/corridor.fx create mode 100644 samples/HLSL/jellyfish.fx create mode 100644 samples/HLSL/noise.fx diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 14519a61..7ee17bb0 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -1323,6 +1323,16 @@ HCL: ace_mode: ruby tm_scope: source.ruby +HLSL: + type: programming + extensions: + - .fx + - .fxh + - .hlsl + - .hlsli + ace_mode: text + tm_scope: none + HTML: type: markup tm_scope: text.html.basic diff --git a/samples/HLSL/accelerated_surface_win.hlsl b/samples/HLSL/accelerated_surface_win.hlsl new file mode 100644 index 00000000..74d28b8f --- /dev/null +++ b/samples/HLSL/accelerated_surface_win.hlsl @@ -0,0 +1,27 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// To compile these two shaders: +// fxc /E pixelMain /T ps_2_0 accelerated_surface_win.hlsl +// fxc /E vertexMain /T vs_2_0 accelerated_surface_win.hlsl +// +// fxc is in the DirectX SDK. + +struct Vertex { + float4 position : POSITION; + float2 texCoord : TEXCOORD0; +}; + +texture t; +sampler s; + +// Passes a position and texture coordinate to the pixel shader. +Vertex vertexMain(Vertex input) { + return input; +}; + +// Samples a texture at the given texture coordinate and returns the result. +float4 pixelMain(float2 texCoord : TEXCOORD0) : COLOR0 { + return tex2D(s, texCoord); +}; diff --git a/samples/HLSL/corridor.fx b/samples/HLSL/corridor.fx new file mode 100644 index 00000000..476ea4cc --- /dev/null +++ b/samples/HLSL/corridor.fx @@ -0,0 +1,105 @@ +float4x4 matWorldView : WORLDVIEW; +float4x4 matWorldViewProjection : WORLDVIEWPROJECTION; + +struct VS_INPUT { + float4 Position : POSITION0; + float3 Normal : NORMAL; + float3 Tangent : TANGENT; + float3 Binormal : BINORMAL; + float2 TexCoord0 : TEXCOORD0; + float2 TexCoord1 : TEXCOORD1; +}; + +struct VS_OUTPUT { + float4 Position : POSITION0; + float2 TexCoord0 : TEXCOORD0; + float2 TexCoord1 : TEXCOORD1; + float3x3 TangentToView : TEXCOORD2; +}; + +VS_OUTPUT vs_main(VS_INPUT input) +{ + VS_OUTPUT output; + output.Position = mul(input.Position, matWorldViewProjection); + output.TexCoord0 = input.TexCoord0 * 5; + output.TexCoord1 = input.TexCoord1; + output.TangentToView[0] = mul(float4(input.Tangent, 0), matWorldView).xyz; + output.TangentToView[1] = mul(float4(input.Binormal, 0), matWorldView).xyz; + output.TangentToView[2] = mul(float4(input.Normal, 0), matWorldView).xyz; + return output; +} + +struct PS_OUTPUT { + float4 gbuffer0 : COLOR0; + float4 gbuffer1 : COLOR1; +}; + +texture albedo_tex; +sampler albedo_samp = sampler_state { + Texture = (albedo_tex); + MipFilter = Linear; + MinFilter = Linear; + MagFilter = Linear; + AddressU = Wrap; + AddressV = Wrap; + sRGBTexture = True; +}; + +texture normal_tex; +sampler normal_samp = sampler_state { + Texture = (normal_tex); + MipFilter = Linear; + MinFilter = Linear; + MagFilter = Linear; + AddressU = Wrap; + AddressV = Wrap; + sRGBTexture = False; +}; + +texture specular_tex; +sampler specular_samp = sampler_state { + Texture = (specular_tex); + MipFilter = Linear; + MinFilter = Linear; + MagFilter = Linear; + AddressU = Wrap; + AddressV = Wrap; + sRGBTexture = True; +}; + +texture ao_tex; +sampler ao_samp = sampler_state { + Texture = (ao_tex); + MipFilter = Linear; + MinFilter = Linear; + MagFilter = Linear; + AddressU = Wrap; + AddressV = Wrap; + sRGBTexture = True; +}; + +PS_OUTPUT ps_main(VS_OUTPUT Input) +{ + PS_OUTPUT o; + + float3 tangentNormal = normalize(tex2D(normal_samp, Input.TexCoord0).xyz * 2 - 1); + float3 eyeNormal = normalize(mul(tangentNormal, Input.TangentToView)); + + float3 albedo = tex2D(albedo_samp, Input.TexCoord0).rgb; + float ao = tex2D(ao_samp, Input.TexCoord1).r * 0.75; + float spec = tex2D(specular_samp, Input.TexCoord0).r; + + o.gbuffer0 = float4(eyeNormal, spec * ao); + o.gbuffer1 = float4(albedo, 1 - ao); + return o; +} + +technique mesh { + pass Geometry { + VertexShader = compile vs_3_0 vs_main(); + PixelShader = compile ps_3_0 ps_main(); + + AlphaBlendEnable = False; + ZWriteEnable = True; + } +} diff --git a/samples/HLSL/jellyfish.fx b/samples/HLSL/jellyfish.fx new file mode 100644 index 00000000..c1c8359e --- /dev/null +++ b/samples/HLSL/jellyfish.fx @@ -0,0 +1,119 @@ +float4x4 matWorldViewProjection : WORLDVIEWPROJECTION; +float4x4 matWorldView : WORLDVIEW; +float4x4 matWorld : WORLD; +float4x4 matView : VIEW; + +uniform float4 vViewPosition; + +struct VS_INPUT +{ + float3 Pos: POSITION; + float3 Normal: NORMAL; + float3 Tangent: TANGENT; + float3 Binormal: BINORMAL; +}; + +struct VS_OUTPUT +{ + float4 Pos : POSITION; + float3 reflection : TEXCOORD1; + float3 refraction : TEXCOORD2; + float fresnel : TEXCOORD3; +}; + +uniform float3 amt; +uniform float3 scale; +uniform float3 phase; + +float3 deform(float3 p) +{ + float s = 3; + float3 p2 = p * scale + phase; + s += sin(p2.x) * amt.x; + s += sin(p2.y) * amt.y; + s += sin(p2.z) * amt.z; + return p * s / 3; +} + +VS_OUTPUT vs_main( VS_INPUT In ) +{ + VS_OUTPUT Out; + + float3 pos = In.Pos; + float3 norm = In.Normal; + + float3 p1 = pos + In.Tangent * 0.05; + float3 p2 = pos + In.Binormal * 0.05; + pos = deform(pos); + p1 = deform(p1); + p2 = deform(p2); + + p1 -= pos; + p2 -= pos; + norm = normalize(cross(p1, p2)); + + float3 view = normalize(pos - vViewPosition.xyz); + + Out.Pos = mul(float4(pos, 1.0), matWorldViewProjection); + Out.reflection = reflect(view, norm); + Out.refraction = reflect(view, norm * 0.4f); /* fake, but who cares? */ + Out.fresnel = dot(view, norm); + norm = mul(float4(norm, 0.0), matWorldViewProjection); + + return Out; +} + +#define PS_INPUT VS_OUTPUT + +#if 0 +textureCUBE reflectionMap; +samplerCUBE reflectionMapSampler = sampler_state +{ + Texture = (reflectionMap); + MipFilter = LINEAR; + MinFilter = LINEAR; + MagFilter = LINEAR; +}; +#else +// textures +texture reflectionMap +< + string type = "CUBE"; + string name = "test_cube.dds"; +>; + +samplerCUBE reflectionMapSampler = sampler_state +{ + Texture = (reflectionMap); + MipFilter = LINEAR; + MinFilter = LINEAR; + MagFilter = LINEAR; +}; +#endif + +struct PS_OUTPUT +{ + float4 color : COLOR0; +}; + +PS_OUTPUT ps_main( PS_INPUT In ) +{ + PS_OUTPUT Out; + + float4 reflection = texCUBE(reflectionMapSampler, normalize(In.reflection)) * 1.5; + float4 refraction = texCUBE(reflectionMapSampler, normalize(In.refraction)); + float fresnel = In.fresnel; +// float fresnel = abs(normalize(In.normal).z); + Out.color = lerp(reflection, refraction, fresnel) * pow(1.0 - fresnel * 0.75, 1.0); + + return Out; +} + +technique blur_ps_vs_2_0 +{ + pass P0 + { + VertexShader = compile vs_2_0 vs_main(); + PixelShader = compile ps_2_0 ps_main(); + } +} diff --git a/samples/HLSL/noise.fx b/samples/HLSL/noise.fx new file mode 100644 index 00000000..be0303c1 --- /dev/null +++ b/samples/HLSL/noise.fx @@ -0,0 +1,41 @@ +float alpha = 1.f; + +texture tex; +sampler tex_sampler = sampler_state +{ + Texture = (tex); + MipFilter = LINEAR; + MinFilter = LINEAR; + MagFilter = LINEAR; + + AddressU = WRAP; + AddressV = WRAP; +}; + +struct VS_OUTPUT +{ + float4 pos : POSITION; + float2 tex : TEXCOORD1; +}; + +VS_OUTPUT vertex(float4 ipos : POSITION, float2 tex : TEXCOORD0) +{ + VS_OUTPUT Out; + Out.pos = ipos; + Out.tex = tex * 2; + return Out; +} + +float4 pixel(VS_OUTPUT In) : COLOR +{ + return tex2D(tex_sampler, In.tex) * alpha; +} + +technique blur_ps_vs_2_0 +{ + pass P0 + { + VertexShader = compile vs_2_0 vertex(); + PixelShader = compile ps_2_0 pixel(); + } +} From b08c5a8421bbc69d503d82d74cc905b31f078ff8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Sun, 14 Feb 2016 22:05:53 +0200 Subject: [PATCH 35/62] Shell: Add .sh.in extension --- lib/linguist/languages.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 1f04c03c..2e2f5fce 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -3285,6 +3285,7 @@ Shell: - .command - .fcgi - .ksh + - .sh.in - .tmux - .tool - .zsh From b67254e9862816f056181b260941e22e6c60fd60 Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Fri, 19 Feb 2016 18:52:10 +0100 Subject: [PATCH 36/62] add support for Uno Uno is a fast, native dialect of C#, that includes a lot of specialized functionality for graphics programming. https://www.fusetools.com/learn/uno --- lib/linguist/languages.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 14519a61..d5646305 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -3591,6 +3591,13 @@ Unity3D Asset: - .unity tm_scope: source.yaml +Uno: + type: programming + extensions: + - .uno + ace_mode: csharp + tm_scope: source.cs + UnrealScript: type: programming color: "#a54c4d" From 1c20c541917da5a1aa2650381810f65a2cfafbcb Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Fri, 19 Feb 2016 16:55:38 -0700 Subject: [PATCH 37/62] Fixing ordering of makefile filenames --- lib/linguist/languages.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 3e015b2b..4d61ca61 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -2029,10 +2029,10 @@ Makefile: - GNUmakefile - Kbuild - Makefile - - Makefile.inc - - makefile - Makefile.am - Makefile.in + - Makefile.inc + - makefile interpreters: - make ace_mode: makefile From 864a6c0a205aba086955eb5a2430e60d4a42b089 Mon Sep 17 00:00:00 2001 From: Michael Zhou Date: Fri, 19 Feb 2016 18:23:15 -0500 Subject: [PATCH 38/62] Add .bzl extension to Python in languages.yml .bzl is the extension for Skylark, a subset of Python that is used to define build extensions for the Bazel build system. Eg: https://github.com/bazelbuild/bazel/blob/master/tools/build_rules/closure/closure_js_binary.bzl --- lib/linguist/languages.yml | 1 + samples/Python/closure_js_binary.bzl | 124 +++++++++++++++++++++++++++ 2 files changed, 125 insertions(+) create mode 100644 samples/Python/closure_js_binary.bzl diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 4d61ca61..b497d88b 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -2822,6 +2822,7 @@ Python: color: "#3572A5" extensions: - .py + - .bzl - .cgi - .fcgi - .gyp diff --git a/samples/Python/closure_js_binary.bzl b/samples/Python/closure_js_binary.bzl new file mode 100644 index 00000000..c4453ffb --- /dev/null +++ b/samples/Python/closure_js_binary.bzl @@ -0,0 +1,124 @@ +# Copyright 2015 The Bazel Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Build definitions for JavaScript binaries compiled with the Closure Compiler. + +A single file is produced with the _compiled.js suffix. + +By default, the name of the entry point is assumed to be the same as that of the +build target. This behaviour may be overridden with the "main" attribute. + +The optimization level may be set with the "compilation_level" attribute. +Supported values are: unobfuscated, simple, and advanced. + +Example: + + closure_js_binary( + name = "hello", + compilation_level = "simple", + language_in = "ecmascript6", + language_out = "ecmascript3", + externs = ["//third_party/javascript/google_cast/cast.js"], + deps = [ + "@closure_library//:closure_library", + ":hello_lib", + ], + ) + +This rule will produce hello_combined.js. +""" + +_COMPILATION_LEVELS = { + "whitespace_only": [ + "--compilation_level=WHITESPACE_ONLY", + "--formatting=PRETTY_PRINT" + ], + "simple": ["--compilation_level=SIMPLE"], + "advanced": ["--compilation_level=ADVANCED"] +} + +_SUPPORTED_LANGUAGES = { + "es3": ["ES3"], + "ecmascript3": ["ECMASCRIPT3"], + "es5": ["ES5"], + "ecmascript5": ["ECMASCRIPT5"], + "es5_strict": ["ES5_STRICT"], + "ecmascript5_strict": ["ECMASCRIPT5_STRICT"], + "es6": ["ES6"], + "ecmascript6": ["ECMASCRIPT6"], + "es6_strict": ["ES6_STRICT"], + "ecmascript6_strict": ["ECMASCRIPT6_STRICT"], + "es6_typed": ["ES6_TYPED"], + "ecmascript6_typed": ["ECMASCRIPT6_TYPED"], +} + +def _impl(ctx): + externs = set(order="compile") + srcs = set(order="compile") + for dep in ctx.attr.deps: + externs += dep.transitive_js_externs + srcs += dep.transitive_js_srcs + + args = [ + "--entry_point=goog:%s" % ctx.attr.main, + "--js_output_file=%s" % ctx.outputs.out.path, + "--dependency_mode=LOOSE", + "--warning_level=VERBOSE", + ] + (["--js=%s" % src.path for src in srcs] + + ["--externs=%s" % extern.path for extern in externs]) + + # Set the compilation level. + if ctx.attr.compilation_level in _COMPILATION_LEVELS: + args += _COMPILATION_LEVELS[ctx.attr.compilation_level] + else: + fail("Invalid compilation_level '%s', expected one of %s" % + (ctx.attr.compilation_level, _COMPILATION_LEVELS.keys())) + + # Set the language in. + if ctx.attr.language_in in _SUPPORTED_LANGUAGES: + args += "--language_in=" + _SUPPORTED_LANGUAGES[ctx.attr.language_in] + else: + fail("Invalid language_in '%s', expected one of %s" % + (ctx.attr.language_in, _SUPPORTED_LANGUAGES.keys())) + + # Set the language out. + if ctx.attr.language_out in _SUPPORTED_LANGUAGES: + args += "--language_out=" + _SUPPORTED_LANGUAGES[ctx.attr.language_out] + else: + fail("Invalid language_out '%s', expected one of %s" % + (ctx.attr.language_out, _SUPPORTED_LANGUAGES.keys())) + + ctx.action( + inputs=list(srcs) + list(externs), + outputs=[ctx.outputs.out], + arguments=args, + executable=ctx.executable._closure_compiler) + + return struct(files=set([ctx.outputs.out])) + +closure_js_binary = rule( + implementation=_impl, + attrs={ + "deps": attr.label_list( + allow_files=False, + providers=["transitive_js_externs", "transitive_js_srcs"]), + "main": attr.string(default="%{name}"), + "compilation_level": attr.string(default="advanced"), + "language_in": attr.string(default="ecmascript6"), + "language_out": attr.string(default="ecmascript3"), + "_closure_compiler": attr.label( + default=Label("//external:closure_compiler_"), + executable=True), + }, + outputs={"out": "%{name}_combined.js"}) From f8d6be55ee9df7fa91e6e878655ea4b2c274020b Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Fri, 19 Feb 2016 19:03:24 +0100 Subject: [PATCH 39/62] add .ux as an XML extension This is used by Fusetools' UX markup: https://www.fusetools.com/learn/fuse#hello-ux-markup --- lib/linguist/languages.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index d5646305..b7e4d4d5 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -3804,6 +3804,7 @@ XML: - .tsx - .ui - .urdf + - .ux - .vbproj - .vcxproj - .vxml From ead85379ed8314fa0cd5f3854295ff1664bce2db Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Mon, 22 Feb 2016 18:44:02 +0100 Subject: [PATCH 40/62] add sample uno-files --- samples/Uno/PlayerPads.uno | 154 +++++++++++++++++++++++++++++++++++++ samples/Uno/Pong.uno | 139 +++++++++++++++++++++++++++++++++ samples/Uno/TowerBlock.uno | 136 ++++++++++++++++++++++++++++++++ 3 files changed, 429 insertions(+) create mode 100644 samples/Uno/PlayerPads.uno create mode 100644 samples/Uno/Pong.uno create mode 100644 samples/Uno/TowerBlock.uno diff --git a/samples/Uno/PlayerPads.uno b/samples/Uno/PlayerPads.uno new file mode 100644 index 00000000..0d71a25e --- /dev/null +++ b/samples/Uno/PlayerPads.uno @@ -0,0 +1,154 @@ +using Uno; +using Uno.Collections; +using Uno.Graphics; +using Uno.Scenes; +using Uno.Designer; +using Uno.Content; +using Uno.Content.Models; +using Uno.UI; + +namespace PONG2D +{ + public class PlayerPads : Node + { + + Image _player1Image; + Image _player2Image; + + [Inline] + public Image Player1 + { + get { return _player1Image; } + set + { + if (_player1Image != value) + { + _player1Image = value; + + } + } + } + + [Inline] + public Image Player2 + { + get { return _player2Image; } + set + { + if (_player2Image != value) + { + _player2Image = value; + + } + } + } + + [Hide] + public float2 Player1Pos + { + get { return (Player1.ActualPosition); } + set + { + if (Player1 != null) + Player1.Position = value; + + } + } + + [Hide] + public float2 Player2Pos + { + get { return (Player2.ActualPosition); } + set + { + if (Player2 != null) + Player2.Position = value; + + } + } + + public Rect Player1Rect + { + get { return new Rect(Player1Pos, float2(Player1.Width, Player2.Height)); } + set + { + Player1Pos = value.Position; + if (Player1 != null) + { + Player1.Width = value.Size.X; + Player1.Height = value.Size.Y; + } + } + } + + public Rect Player2Rect + { + get { return new Rect(Player2Pos, float2(Player2.Width, Player2.Height)); } + set + { + Player2Pos = value.Position; + if (Player2 != null) + { + Player2.Width = value.Size.X; + Player2.Height = value.Size.Y; + } + } + } + + public Ball Ball + { + get; + set; + } + + public float PadVelocity { get; set; } + + public PlayerPads() + { + + } + + void UpdatePositions() + { + + } + + protected override void OnUpdate() + { + base.OnUpdate(); + + if (Input.IsKeyDown(Uno.Platform.Key.W)) + { + Player1Pos = float2(0, Player1Pos.Y - PadVelocity); + } + + if (Input.IsKeyDown(Uno.Platform.Key.S)) + { + Player1Pos = float2(0, Player1Pos.Y + PadVelocity); + } + + if (Input.IsKeyDown(Uno.Platform.Key.Up)) + { + Player2Pos = float2(0, Player2Pos.Y - PadVelocity); + } + + if (Input.IsKeyDown(Uno.Platform.Key.Down)) + { + Player2Pos = float2(0, Player2Pos.Y + PadVelocity); + } + + if (Ball != null) + { + + if (Ball.BallRectangle.Intersects(Player1Rect) || + Ball.BallRectangle.Intersects(Player2Rect)) + { + + Ball.BallVelocity = float2(Ball.BallVelocity.X * -1f, Ball.BallVelocity.Y); + } + } + + } + + } +} \ No newline at end of file diff --git a/samples/Uno/Pong.uno b/samples/Uno/Pong.uno new file mode 100644 index 00000000..4e578250 --- /dev/null +++ b/samples/Uno/Pong.uno @@ -0,0 +1,139 @@ +using Uno; +using Uno.Collections; +using Uno.Graphics; +using Uno.Scenes; +using Uno.Content; +using Uno.Content.Models; + +namespace PONG2D +{ + public class Pong : Node + { + float2 _player1Pos; + float2 _player2Pos; + float2 ballPosition; + float2 ballVelocity; + float2 rectangleSize; + + Rect player1Rect; + Rect player2Rect; + Rect ballRect; + + float2 resolution = Context.VirtualResolution; + + Random random = new Random(1); + + + float2 Player1Pos + { + get { return _player1Pos; } + set + { + _player1Pos = Math.Clamp(value, float2(0, 0), resolution - rectangleSize); + } + } + + float2 Player2Pos + { + get { return _player2Pos; } + set + { + _player2Pos = Math.Clamp(value, float2(0, 0), resolution - rectangleSize); + } + } + + public Pong() + { + Uno.Scenes.Input.AddGlobalListener(this); + } + + protected override void OnInitialize() + { + base.OnInitialize(); + UpdateValues(); + + } + + void UpdateValues() + { + rectangleSize = float2(resolution.X / 80f, resolution.Y / 5f); + _player1Pos = float2(0f); + _player2Pos = float2(Context.VirtualResolution.X - rectangleSize.X, 0f); + + player1Rect = new Rect(_player1Pos, rectangleSize); + player2Rect = new Rect(_player2Pos, rectangleSize); + + ballPosition = float2(resolution.X * 0.5f - 10f, resolution.Y * 0.5f - 10f); + ballRect = new Rect(ballPosition, float2(20f)); + + + SpwanBall(); + + } + + void SpwanBall() + { + ballRect.Position = float2(resolution.X * 0.5f - 10f, resolution.Y * 0.5f - 10f); + ballVelocity = float2(5f, 10f) * 0.5f; + } + + void OnWindowResize(object sender, EventArgs args) + { + //UpdateValues(); + } + + protected override void OnUpdate() + { + base.OnUpdate(); + + var padVelocity = resolution.Y * (float)Application.Current.FrameInterval * 4f; + if (Input.IsKeyDown(Uno.Platform.Key.Up)) + { + Player1Pos = float2(Player1Pos.X, Player1Pos.Y - padVelocity); + } + + if (Input.IsKeyDown(Uno.Platform.Key.Down)) + { + Player1Pos = float2(Player1Pos.X, Player1Pos.Y + padVelocity); + } + + if (Input.IsKeyDown(Uno.Platform.Key.W)) + { + Player2Pos = float2(Player2Pos.X, Player2Pos.Y - padVelocity); + } + + if (Input.IsKeyDown(Uno.Platform.Key.S)) + { + Player2Pos = float2(Player2Pos.X, Player2Pos.Y + padVelocity); + } + player1Rect.Position = Player1Pos; + player2Rect.Position = Player2Pos; + + if (ballRect.Position.X > resolution.X || ballRect.Position.X < 0) + { + SpwanBall(); + } + if (ballRect.Position.Y > resolution.Y || + ballRect.Position.Y < 0) + { + ballVelocity.Y *= -1f; + } + + if (ballRect.Intersects(player1Rect) || + ballRect.Intersects(player2Rect)) + { + ballVelocity.X *= -1f; + } + + ballRect.Position += ballVelocity; + + } + + protected override void OnDraw() + { + Uno.Drawing.RoundedRectangle.Draw(player1Rect.Position, player1Rect.Size, float4(1f), 0); + Uno.Drawing.RoundedRectangle.Draw(player2Rect.Position, player2Rect.Size, float4(1f), 0); + Uno.Drawing.RoundedRectangle.Draw(ballRect.Position, ballRect.Size, float4(1f), 0f); + } + } +} \ No newline at end of file diff --git a/samples/Uno/TowerBlock.uno b/samples/Uno/TowerBlock.uno new file mode 100644 index 00000000..a25d6849 --- /dev/null +++ b/samples/Uno/TowerBlock.uno @@ -0,0 +1,136 @@ +using Uno; +using Uno.Collections; +using Uno.Graphics; +using Uno.Scenes; +using Uno.Content; +using Uno.Content.Models; +using Uno.Physics.Box2D; + +using TowerBuilder.Box2DMath; + +namespace TowerBuilder +{ + public class TowerBlock : TestBed + { + Body floorBody, deleteBody, mouseBody; + + private List bodies = new List(); + private List bodiesToDelete = new List(); + + private ContactListener contactListener; + + protected override void OnInitializeTestBed() + { + World.Gravity = float2(0, -25.0f); + World.ContactListener = contactListener = new ContactListener(this); + + bodies.Clear(); + bodiesToDelete.Clear(); + + CreateFloor(); + CreateDeleteBody(); + CreateBox2(); + } + + void CreateFloor() + { + var bodyDef = new BodyDef(); + bodyDef.position = float2(0, -40.0f); + + floorBody = World.CreateBody(bodyDef); + + var shape = new PolygonShape(); + shape.SetAsBox(30.0f, 10.0f); + + var fixtureDef = new FixtureDef(); + fixtureDef.shape = shape; + fixtureDef.density = 1.0f; + + floorBody.CreateFixture(fixtureDef); + } + + void CreateDeleteBody() + { + var bodyDef = new BodyDef(); + bodyDef.position = float2(0, -44.0f); + + deleteBody = World.CreateBody(bodyDef); + + var shape = new PolygonShape(); + shape.SetAsBox(200.0f, 10.0f); + + var fixtureDef = new FixtureDef(); + fixtureDef.shape = shape; + fixtureDef.density = 1.0f; + + deleteBody.CreateFixture(fixtureDef); + } + + Random random = new Random((int) (Uno.Diagnostics.Clock.GetSeconds() * 1000000)); + void CreateBox2() + { + var bodyDef = new BodyDef(); + bodyDef.type = BodyType.Dynamic; + bodyDef.position = float2(random.NextFloat(-25f, 25f), 50.0f); + bodyDef.angularVelocity = random.NextFloat() * 40 - 20; + bodyDef.userData = float3(0, 0, 0); + + var body = World.CreateBody(bodyDef); + + var shape = new PolygonShape(); + shape.SetAsBox(0.75f, 0.75f); + + var fixtureDef = new FixtureDef(); + fixtureDef.shape = shape; + fixtureDef.density = 5.0f; + //fixtureDef.friction = 0.75f; + + body.CreateFixture(fixtureDef); + + bodies.Add(body); + } + + private int c = 0; + protected override void OnFixedUpdate() + { + base.OnFixedUpdate(); + + debug_log bodies.Count; + if(c++ % 8 == 0 && bodies.Count < 20) CreateBox2(); + + foreach(var body in bodiesToDelete) + { + World.DestroyBody(body); + bodies.Remove(body); + } + + bodiesToDelete.Clear(); + } + + public class ContactListener : IContactListener + { + private TowerBlock b; + public ContactListener(TowerBlock b) + { + this.b = b; + } + + public void BeginContact(Contact contact) + { + if(contact.GetFixtureA().GetBody() == b.deleteBody) + { + b.bodiesToDelete.Add(contact.GetFixtureB().GetBody()); + } + else if(contact.GetFixtureB().GetBody() == b.deleteBody) + { + b.bodiesToDelete.Add(contact.GetFixtureA().GetBody()); + } + } + + public void EndContact(Contact contact) {} + public void PreSolve(Contact contact, ref Manifold manifold) {} + public void PostSolve(Contact contact, ref ContactImpulse impulse) {} + } + + } +} From cc6106f31bf92de44f39eed40ac874f0663e3c73 Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Mon, 22 Feb 2016 18:45:59 +0100 Subject: [PATCH 41/62] add sample ux-files --- samples/XML/MainView.ux | 57 +++++++++++++++++++++++++++++++++++++++++ samples/XML/MyApp.ux | 11 ++++++++ 2 files changed, 68 insertions(+) create mode 100644 samples/XML/MainView.ux create mode 100644 samples/XML/MyApp.ux diff --git a/samples/XML/MainView.ux b/samples/XML/MainView.ux new file mode 100644 index 00000000..d71edf1f --- /dev/null +++ b/samples/XML/MainView.ux @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + relativeNode + + + + + + + + RelativeTo="Size" + RelativeTo="ParentSize" + RelativeTo="Keyboard" + RelativeTo="PositionChange" + RelativeNode="relativeNode" + + + + + + + + + + + + + + + + + + + diff --git a/samples/XML/MyApp.ux b/samples/XML/MyApp.ux new file mode 100644 index 00000000..0e7b0088 --- /dev/null +++ b/samples/XML/MyApp.ux @@ -0,0 +1,11 @@ + + + + + + + This is an example of EdgeNavigator! + + + + From ab69fd01acfe0a5802a6a4b8d331d0ba6c7caed9 Mon Sep 17 00:00:00 2001 From: Eyal Dechter Date: Mon, 22 Feb 2016 15:03:26 -0500 Subject: [PATCH 42/62] Add .yap ext and yap interpreter for Prolog lang --- lib/linguist/languages.yml | 2 + samples/Prolog/queues.yap | 280 +++++++++++++++++++++++++++++++++++++ 2 files changed, 282 insertions(+) create mode 100644 samples/Prolog/queues.yap diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index b497d88b..aae87ce8 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -2751,8 +2751,10 @@ Prolog: - .pl - .pro - .prolog + - .yap interpreters: - swipl + - yap tm_scope: source.prolog ace_mode: prolog diff --git a/samples/Prolog/queues.yap b/samples/Prolog/queues.yap new file mode 100644 index 00000000..b464152e --- /dev/null +++ b/samples/Prolog/queues.yap @@ -0,0 +1,280 @@ +% This file has been included as an YAP library by Vitor Santos Costa, 1999 + +% File : QUEUES.PL +% Author : R.A.O'Keefe +% Updated: Friday November 18th, 1983, 8:09:31 pm +% Purpose: define queue operations +% Needs : lib(lists) for append/3. + +/** @defgroup Queues Queues +@ingroup library +@{ + +The following queue manipulation routines are available once +included with the `use_module(library(queues))` command. Queues are +implemented with difference lists. + +*/ + +/** + + @pred make_queue(+ _Queue_) + + +Creates a new empty queue. It should only be used to create a new queue. + + +*/ + + +/** @pred empty_queue(+ _Queue_) + + +Tests whether the queue is empty. + + +*/ +/** @pred head_queue(+ _Queue_, ? _Head_) + + +Unifies Head with the first element of the queue. + + +*/ +/** @pred join_queue(+ _Element_, + _OldQueue_, - _NewQueue_) + + +Adds the new element at the end of the queue. + + +*/ +/** @pred jump_queue(+ _Element_, + _OldQueue_, - _NewQueue_) + + +Adds the new element at the front of the list. + + +*/ +/** @pred length_queue(+ _Queue_, - _Length_) + + +Counts the number of elements currently in the queue. + + +*/ +/** @pred list_join_queue(+ _List_, + _OldQueue_, - _NewQueue_) + + +Ads the new elements at the end of the queue. + + +*/ +/** @pred list_jump_queue(+ _List_, + _OldQueue_, + _NewQueue_) + + +Adds all the elements of _List_ at the front of the queue. + + +*/ +/** @pred list_to_queue(+ _List_, - _Queue_) + + +Creates a new queue with the same elements as _List._ + + +*/ +/** @pred queue_to_list(+ _Queue_, - _List_) + + +Creates a new list with the same elements as _Queue_. + + + + + */ +/** @pred serve_queue(+ _OldQueue_, + _Head_, - _NewQueue_) + + +Removes the first element of the queue for service. + + +*/ +:- module(queues, [ + make_queue/1, % create empty queue + join_queue/3, % add element to end of queue + list_join_queue/3, % add many elements to end of queue + jump_queue/3, % add element to front of queue + list_jump_queue/3, % add many elements to front of queue + head_queue/2, % look at first element of queue + serve_queue/3, % remove first element of queue + length_queue/2, % count elements of queue + empty_queue/1, % test whether queue is empty + list_to_queue/2, % convert list to queue + queue_to_list/2 % convert queue to list + ]). + +:- use_module(library(lists), [append/3]). + +/* +:- mode + make_queue(-), + join_queue(+, +, -), + list_join_queue(+, +, -), + jump_queue(+, +, -), + list_jump_queue(+, +, -), + head_queue(+, ?), + serve_queue(+, ?, -), + length_queue(+, ?), + length_queue(+, +, +, -), + empty_queue(+), + list_to_queue(+, -), + queue_to_list(+, -), + queue_to_list(+, +, -). +*/ + +/* In this package, a queue is represented as a term Front-Back, where + Front is a list and Back is a tail of that list, and is normally a + variable. join_queue will only work when the Back is a variable, + the other routines will accept any tail. The elements of the queue + are the list difference, that is, all the elements starting at Front + and stopping at Back. Examples: + + [a,b,c,d,e|Z]-Z has elements a,b,c,d,e + [a,b,c,d,e]-[d,e] has elements a,b,c + Z-Z has no elements + [1,2,3]-[1,2,3] has no elements +*/ + +% make_queue(Queue) +% creates a new empty queue. It will also match empty queues, but +% because Prolog doesn't do the occurs check, it will also match +% other queues, creating circular lists. So this should ONLY be +% used to make new queues. + +make_queue(X-X). + + + +% join_queue(Element, OldQueue, NewQueue) +% adds the new element at the end of the queue. The old queue is +% side-effected, so you *can't* do +% join_queue(1, OldQ, NewQ1), +% join_queue(2, OldQ, NewQ2). +% There isn't any easy way of doing that, sensible though it might +% be. You *can* do +% join_queue(1, OldQ, MidQ), +% join_queue(2, MidQ, NewQ). +% See list_join_queue. + +join_queue(Element, Front-[Element|Back], Front-Back). + + + +% list_join_queue(List, OldQueue, NewQueue) +% adds the new elements at the end of the queue. The elements are +% added in the same order that they appear in the list, e.g. +% list_join_queue([y,z], [a,b,c|M]-M, [a,b,c,y,z|N]-N). + +list_join_queue(List, Front-OldBack, Front-NewBack) :- + append(List, OldBack, NewBack). + + + +% jump_queue(Element, OldQueue, NewQueue) +% adds the new element at the front of the list. Unlike join_queue, +% jump_queue(1, OldQ, NewQ1), +% jump_queue(2, OldQ, NewQ2) +% *does* work, though if you add things at the end of NewQ1 they +% will also show up in NewQ2. Note that +% jump_queue(1, OldQ, MidQ), +% jump_queue(2, MidQ, NewQ) +% makes NewQ start 2, 1, ... + +jump_queue(Element, Front-Back, [Element|Front]-Back). + + + +% list_jump_queue(List, OldQueue, NewQueue) +% adds all the elements of List at the front of the queue. There are +% two ways we might do this. We could add all the elements one at a +% time, so that they would appear at the beginning of the queue in the +% opposite order to the order they had in the list, or we could add +% them in one lump, so that they have the same order in the queue as +% in the list. As you can easily add the elements one at a time if +% that is what you want, I have chosen the latter. + +list_jump_queue(List, OldFront-Back, NewFront-Back) :- + append(List, OldFront, NewFront). +% reverse(List, OldFront, NewFront). % for the other definition + + + +% head_queue(Queue, Head) +% unifies Head with the first element of the queue. The tricky part +% is that we might be at the end of a queue: Back-Back, with Back a +% variable, and in that case this predicate should not succeed, as we +% don't know what that element is or whether it exists yet. + +head_queue(Front-Back, Head) :- + Front \== Back, % the queue is not empty + Front = [Head|_]. + + + +% serve_queue(OldQueue, Head, NewQueue) +% removes the first element of the queue for service. + +serve_queue(OldFront-Back, Head, NewFront-Back) :- + OldFront \== Back, + OldFront = [Head|NewFront]. + + + +% empty_queue(Queue) +% tests whether the queue is empty. If the back of a queue were +% guaranteed to be a variable, we could have +% empty_queue(Front-Back) :- var(Front). +% but I don't see why you shouldn't be able to treat difference +% lists as queues if you want to. + +empty_queue(Front-Back) :- + Front == Back. + + + +% length_queue(Queue, Length) +% counts the number of elements currently in the queue. Note that +% we have to be careful in checking for the end of the list, we +% can't test for [] the way length(List) does. + +length_queue(Front-Back, Length) :- + length_queue(Front, Back, 0, N), + Length = N. + +length_queue(Front, Back, N, N) :- + Front == Back, !. +length_queue([_|Front], Back, K, N) :- + L is K+1, + length_queue(Front, Back, L, N). + + + +% list_to_queue(List, Queue) +% creates a new queue with the same elements as List. + +list_to_queue(List, Front-Back) :- + append(List, Back, Front). + + + +% queue_to_list(Queue, List) +% creates a new list with the same elements as Queue. + +queue_to_list(Front-Back, List) :- + queue_to_list(Front, Back, List). + +queue_to_list(Front, Back, Ans) :- + Front == Back, !, Ans = []. +queue_to_list([Head|Front], Back, [Head|Tail]) :- + queue_to_list(Front, Back, Tail). + From bfa7eced4469926fe2fe967f32dedb0eeddb03fc Mon Sep 17 00:00:00 2001 From: William Claude Tumeo Date: Fri, 26 Feb 2016 00:31:58 -0300 Subject: [PATCH 43/62] Try fix "Ren'Py being detected as Python" - Remove Ren'Py from Python group - Add .rpy to Python + sample --- lib/linguist/heuristics.rb | 8 ++++++ lib/linguist/languages.yml | 2 +- samples/Python/simpleclient.rpy | 49 +++++++++++++++++++++++++++++++++ 3 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 samples/Python/simpleclient.rpy diff --git a/lib/linguist/heuristics.rb b/lib/linguist/heuristics.rb index 0806ce1f..af6c5e83 100644 --- a/lib/linguist/heuristics.rb +++ b/lib/linguist/heuristics.rb @@ -321,6 +321,14 @@ module Linguist end end + disambiguate ".rpy" do |data| + if /(^(import|from)[\s\S])/m.match(data) + Language["Python"] + else + Language["Ren'Py"] + end + end + disambiguate ".rs" do |data| if /^(use |fn |mod |pub |macro_rules|impl|#!?\[)/.match(data) Language["Rust"] diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index e9c63ef1..4a348bc2 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -2831,6 +2831,7 @@ Python: - .pyp - .pyt - .pyw + - .rpy - .tac - .wsgi - .xpy @@ -3004,7 +3005,6 @@ Redcode: Ren'Py: type: programming - group: Python aliases: - renpy color: "#ff7f7f" diff --git a/samples/Python/simpleclient.rpy b/samples/Python/simpleclient.rpy new file mode 100644 index 00000000..ceb5f991 --- /dev/null +++ b/samples/Python/simpleclient.rpy @@ -0,0 +1,49 @@ + +# Copyright (c) Twisted Matrix Laboratories. +# See LICENSE for details. + + +""" +An example client. Run simpleserv.py first before running this. +""" + +from twisted.internet import reactor, protocol + + +# a client protocol + +class EchoClient(protocol.Protocol): + """Once connected, send a message, then print the result.""" + + def connectionMade(self): + self.transport.write("hello, world!") + + def dataReceived(self, data): + "As soon as any data is received, write it back." + print "Server said:", data + self.transport.loseConnection() + + def connectionLost(self, reason): + print "connection lost" + +class EchoFactory(protocol.ClientFactory): + protocol = EchoClient + + def clientConnectionFailed(self, connector, reason): + print "Connection failed - goodbye!" + reactor.stop() + + def clientConnectionLost(self, connector, reason): + print "Connection lost - goodbye!" + reactor.stop() + + +# this connects the protocol to a server running on port 8000 +def main(): + f = EchoFactory() + reactor.connectTCP("localhost", 8000, f) + reactor.run() + +# this only runs if the module was *not* imported +if __name__ == '__main__': + main() From db994a119767f5f497a7f5fa674729b3d8c9d510 Mon Sep 17 00:00:00 2001 From: Farbod Salamat-Zadeh Date: Sat, 27 Feb 2016 00:42:03 +0000 Subject: [PATCH 44/62] Remove .txt extension for CSV format --- lib/linguist/languages.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 4fe4390e..4296c4df 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -481,7 +481,6 @@ CSV: tm_scope: none extensions: - .csv - - .txt Cap'n Proto: type: programming From 9bfbd0550c9d8761b434dec3864e13d1bbeb5f85 Mon Sep 17 00:00:00 2001 From: Farbod Salamat-Zadeh Date: Sat, 27 Feb 2016 14:32:50 +0000 Subject: [PATCH 45/62] Move cars.csv from test/fixtures/Data to samples/CSV --- {test/fixtures/Data => samples/CSV}/cars.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename {test/fixtures/Data => samples/CSV}/cars.csv (63%) diff --git a/test/fixtures/Data/cars.csv b/samples/CSV/cars.csv similarity index 63% rename from test/fixtures/Data/cars.csv rename to samples/CSV/cars.csv index 73280e55..3c504cd2 100644 --- a/test/fixtures/Data/cars.csv +++ b/samples/CSV/cars.csv @@ -1,3 +1,3 @@ Year,Make,Model,Length 1997,Ford,E350,2.34 -2000,Mercury,Cougar,2.38 \ No newline at end of file +2000,Mercury,Cougar,2.38 From 3be007526cf43cc0a91504fe86d83af7db3e663a Mon Sep 17 00:00:00 2001 From: Farbod Salamat-Zadeh Date: Sat, 27 Feb 2016 15:30:22 +0000 Subject: [PATCH 46/62] Fix fixture_blob("Data/cars.csv") Changes `fixture_blob("Data/cars.csv")` to `sample_blob("CSV/cars.csv")` --- test/test_file_blob.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/test_file_blob.rb b/test/test_file_blob.rb index 08e2e49b..ebb0b7fc 100644 --- a/test/test_file_blob.rb +++ b/test/test_file_blob.rb @@ -152,7 +152,7 @@ class TestBlob < Minitest::Test end def test_csv - assert fixture_blob("Data/cars.csv").csv? + assert sample_blob("CSV/cars.csv").csv? end def test_pdf From 40413dfcc709c847f2d0051c9f694b02d296c096 Mon Sep 17 00:00:00 2001 From: William Tumeo Date: Sat, 27 Feb 2016 23:55:53 -0300 Subject: [PATCH 47/62] Add `class` and `def` to regex --- lib/linguist/heuristics.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/linguist/heuristics.rb b/lib/linguist/heuristics.rb index af6c5e83..895bfa20 100644 --- a/lib/linguist/heuristics.rb +++ b/lib/linguist/heuristics.rb @@ -322,7 +322,7 @@ module Linguist end disambiguate ".rpy" do |data| - if /(^(import|from)[\s\S])/m.match(data) + if /(^(import|from|class|def)[\s\S])/m.match(data) Language["Python"] else Language["Ren'Py"] From 6b60e5e786d5bda9b34084c4321ce4637bb57c9d Mon Sep 17 00:00:00 2001 From: William Tumeo Date: Sat, 27 Feb 2016 23:57:46 -0300 Subject: [PATCH 48/62] Remove wrong line in the sample --- samples/Ren'Py/example.rpy | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/samples/Ren'Py/example.rpy b/samples/Ren'Py/example.rpy index 90c3c286..71e34b97 100644 --- a/samples/Ren'Py/example.rpy +++ b/samples/Ren'Py/example.rpy @@ -1421,7 +1421,4 @@ init: # $ renpy.pause(1.0) # hide text with dissolve # -# return - - -Return to the tutorial. +# return \ No newline at end of file From 8fea8a0b47fc547b7a9c4fad10e91aa0da9d1322 Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Mon, 29 Feb 2016 07:53:48 -0700 Subject: [PATCH 49/62] Grammar update --- vendor/grammars/Sublime-Inform/.gitignore | 2 + .../Inform7/book.sublime-snippet | 6 + .../Inform7/chapter.sublime-snippet | 6 + .../Inform7/door.sublime-snippet | 7 + .../Inform7/inform7.JSON-tmLanguage | 34 ++ .../Sublime-Inform/Inform7/inform7.tmLanguage | 74 +++ .../Inform7/object.sublime-snippet | 8 + .../Inform7/part.sublime-snippet | 6 + .../Inform7/room.sublime-snippet | 7 + .../Inform7/scene.sublime-snippet | 11 + .../Inform7/section.sublime-snippet | 6 + .../Inform7/volume.sublime-snippet | 6 + vendor/grammars/Sublime-Inform/LICENSE.txt | 21 + vendor/grammars/Sublime-Inform/README.md | 8 + .../Commands/Save to CSS.tmCommand | 47 ++ .../Commands/Save to Minified CSS.tmCommand | 47 ++ .../Insert inline Image.tmDragCommand | 38 ++ .../Preferences/Comment.tmPreferences | 36 ++ vendor/grammars/less.tmbundle/README.md | 25 + .../less.tmbundle/Syntaxes/LESS.tmLanguage | 434 ++++++++++++++++++ vendor/grammars/less.tmbundle/info.plist | 26 ++ 21 files changed, 855 insertions(+) create mode 100644 vendor/grammars/Sublime-Inform/.gitignore create mode 100644 vendor/grammars/Sublime-Inform/Inform7/book.sublime-snippet create mode 100644 vendor/grammars/Sublime-Inform/Inform7/chapter.sublime-snippet create mode 100644 vendor/grammars/Sublime-Inform/Inform7/door.sublime-snippet create mode 100644 vendor/grammars/Sublime-Inform/Inform7/inform7.JSON-tmLanguage create mode 100755 vendor/grammars/Sublime-Inform/Inform7/inform7.tmLanguage create mode 100644 vendor/grammars/Sublime-Inform/Inform7/object.sublime-snippet create mode 100644 vendor/grammars/Sublime-Inform/Inform7/part.sublime-snippet create mode 100644 vendor/grammars/Sublime-Inform/Inform7/room.sublime-snippet create mode 100644 vendor/grammars/Sublime-Inform/Inform7/scene.sublime-snippet create mode 100644 vendor/grammars/Sublime-Inform/Inform7/section.sublime-snippet create mode 100644 vendor/grammars/Sublime-Inform/Inform7/volume.sublime-snippet create mode 100644 vendor/grammars/Sublime-Inform/LICENSE.txt create mode 100644 vendor/grammars/Sublime-Inform/README.md create mode 100644 vendor/grammars/less.tmbundle/Commands/Save to CSS.tmCommand create mode 100644 vendor/grammars/less.tmbundle/Commands/Save to Minified CSS.tmCommand create mode 100644 vendor/grammars/less.tmbundle/DragCommands/Insert inline Image.tmDragCommand create mode 100644 vendor/grammars/less.tmbundle/Preferences/Comment.tmPreferences create mode 100644 vendor/grammars/less.tmbundle/README.md create mode 100644 vendor/grammars/less.tmbundle/Syntaxes/LESS.tmLanguage create mode 100644 vendor/grammars/less.tmbundle/info.plist diff --git a/vendor/grammars/Sublime-Inform/.gitignore b/vendor/grammars/Sublime-Inform/.gitignore new file mode 100644 index 00000000..9bea4330 --- /dev/null +++ b/vendor/grammars/Sublime-Inform/.gitignore @@ -0,0 +1,2 @@ + +.DS_Store diff --git a/vendor/grammars/Sublime-Inform/Inform7/book.sublime-snippet b/vendor/grammars/Sublime-Inform/Inform7/book.sublime-snippet new file mode 100644 index 00000000..d00b609b --- /dev/null +++ b/vendor/grammars/Sublime-Inform/Inform7/book.sublime-snippet @@ -0,0 +1,6 @@ + + + book + source.Inform7 + diff --git a/vendor/grammars/Sublime-Inform/Inform7/chapter.sublime-snippet b/vendor/grammars/Sublime-Inform/Inform7/chapter.sublime-snippet new file mode 100644 index 00000000..344ae92d --- /dev/null +++ b/vendor/grammars/Sublime-Inform/Inform7/chapter.sublime-snippet @@ -0,0 +1,6 @@ + + + chapter + source.Inform7 + diff --git a/vendor/grammars/Sublime-Inform/Inform7/door.sublime-snippet b/vendor/grammars/Sublime-Inform/Inform7/door.sublime-snippet new file mode 100644 index 00000000..9504585b --- /dev/null +++ b/vendor/grammars/Sublime-Inform/Inform7/door.sublime-snippet @@ -0,0 +1,7 @@ + + + door + source.Inform7 + diff --git a/vendor/grammars/Sublime-Inform/Inform7/inform7.JSON-tmLanguage b/vendor/grammars/Sublime-Inform/Inform7/inform7.JSON-tmLanguage new file mode 100644 index 00000000..e5b6e92b --- /dev/null +++ b/vendor/grammars/Sublime-Inform/Inform7/inform7.JSON-tmLanguage @@ -0,0 +1,34 @@ +{ "name": "Inform7", + "scopeName": "source.Inform7", + "fileTypes": ["i7x"], + "patterns": [ + { "name": "keyword.control.Inform7", + "match": "\\b(Include|Release)\\b" + }, + { "name" : "comment.block.Inform7", + "begin" : "\\[", + "end" : "\\]", + "comment" : "All comments in Inform7 are delimited this way." + }, + { "name" : "string.quoted.double.Inform7", + "begin" : "\"", + "end" : "\"", + "patterns": [ + { "name" : "keyword.operator.Inform7", + "begin" : "\\[", + "end" : "\\]", + "comment" : "For logic inside of strings." + } + ] + }, + { "name" : "storage.type.Inform7", + "match" : "(Volume|Book|Chapter|Part|Section|Table)\\s+\\d?\\s+-?\\s+((?:\\w|\\s|-)*)", + "comment": "Matches headings for major sections in Inform7" + }, + { "name": "constant.numeric.Inform7", + "match": "([0-9])+", + "comment":"Gotta call out the numbers!" + } + ], + "uuid": "0c4cbdee-beb7-4ea6-af56-27246d479373" +} \ No newline at end of file diff --git a/vendor/grammars/Sublime-Inform/Inform7/inform7.tmLanguage b/vendor/grammars/Sublime-Inform/Inform7/inform7.tmLanguage new file mode 100755 index 00000000..5609885e --- /dev/null +++ b/vendor/grammars/Sublime-Inform/Inform7/inform7.tmLanguage @@ -0,0 +1,74 @@ + + + + + fileTypes + + i7x + inform + ni + + name + Inform7 + patterns + + + match + \b(Include|Release)\b + name + keyword.control.Inform7 + + + begin + \[ + comment + All comments in Inform7 are delimited this way. + end + \] + name + comment.block.Inform7 + + + begin + " + end + " + name + string.quoted.double.Inform7 + patterns + + + begin + \[ + comment + For logic inside of strings. + end + \] + name + keyword.operator.Inform7 + + + + + comment + Matches headings for major sections in Inform7 + match + (Volume|Book|Chapter|Part|Section|Table)\s+\d?\s+-?\s+((?:\w|\s|-)*) + name + storage.type.Inform7 + + + comment + Gotta call out the numbers! + match + ([0-9])+ + name + constant.numeric.Inform7 + + + scopeName + source.Inform7 + uuid + 0c4cbdee-beb7-4ea6-af56-27246d479373 + + diff --git a/vendor/grammars/Sublime-Inform/Inform7/object.sublime-snippet b/vendor/grammars/Sublime-Inform/Inform7/object.sublime-snippet new file mode 100644 index 00000000..65f040af --- /dev/null +++ b/vendor/grammars/Sublime-Inform/Inform7/object.sublime-snippet @@ -0,0 +1,8 @@ + + + object + source.Inform7 + diff --git a/vendor/grammars/Sublime-Inform/Inform7/part.sublime-snippet b/vendor/grammars/Sublime-Inform/Inform7/part.sublime-snippet new file mode 100644 index 00000000..9e161cca --- /dev/null +++ b/vendor/grammars/Sublime-Inform/Inform7/part.sublime-snippet @@ -0,0 +1,6 @@ + + + part + source.Inform7 + diff --git a/vendor/grammars/Sublime-Inform/Inform7/room.sublime-snippet b/vendor/grammars/Sublime-Inform/Inform7/room.sublime-snippet new file mode 100644 index 00000000..b6abef45 --- /dev/null +++ b/vendor/grammars/Sublime-Inform/Inform7/room.sublime-snippet @@ -0,0 +1,7 @@ + + + room + source.Inform7 + diff --git a/vendor/grammars/Sublime-Inform/Inform7/scene.sublime-snippet b/vendor/grammars/Sublime-Inform/Inform7/scene.sublime-snippet new file mode 100644 index 00000000..fd4be030 --- /dev/null +++ b/vendor/grammars/Sublime-Inform/Inform7/scene.sublime-snippet @@ -0,0 +1,11 @@ + + + scene + source.Inform7 + diff --git a/vendor/grammars/Sublime-Inform/Inform7/section.sublime-snippet b/vendor/grammars/Sublime-Inform/Inform7/section.sublime-snippet new file mode 100644 index 00000000..7ab043cb --- /dev/null +++ b/vendor/grammars/Sublime-Inform/Inform7/section.sublime-snippet @@ -0,0 +1,6 @@ + + + section + source.Inform7 + diff --git a/vendor/grammars/Sublime-Inform/Inform7/volume.sublime-snippet b/vendor/grammars/Sublime-Inform/Inform7/volume.sublime-snippet new file mode 100644 index 00000000..0721fcbf --- /dev/null +++ b/vendor/grammars/Sublime-Inform/Inform7/volume.sublime-snippet @@ -0,0 +1,6 @@ + + + volume + source.Inform7 + diff --git a/vendor/grammars/Sublime-Inform/LICENSE.txt b/vendor/grammars/Sublime-Inform/LICENSE.txt new file mode 100644 index 00000000..cda6f052 --- /dev/null +++ b/vendor/grammars/Sublime-Inform/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Nate Dickson + +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. diff --git a/vendor/grammars/Sublime-Inform/README.md b/vendor/grammars/Sublime-Inform/README.md new file mode 100644 index 00000000..3b907f1e --- /dev/null +++ b/vendor/grammars/Sublime-Inform/README.md @@ -0,0 +1,8 @@ +#Inform7 Package for Sublime Text 2 +This package has a lot of little files that make Inform7 easier to edit in Sublime Text 2. that's why it's called what it is, you see. +##Usage +Grab the zip file, unzip it, and put it in your ```Packages``` Directory. +That's pretty much it. Open an ```i7x``` file in Sublime Text 2 and it'll be all highlighted and there's a bunch of snippets you can use and all that. + +##Want to submit a pull request for this readme file? +Please, please do. \ No newline at end of file diff --git a/vendor/grammars/less.tmbundle/Commands/Save to CSS.tmCommand b/vendor/grammars/less.tmbundle/Commands/Save to CSS.tmCommand new file mode 100644 index 00000000..9f8e7561 --- /dev/null +++ b/vendor/grammars/less.tmbundle/Commands/Save to CSS.tmCommand @@ -0,0 +1,47 @@ + + + + + beforeRunningCommand + saveActiveFile + command + #!/usr/bin/env ruby18 + +file = ENV["TM_FILEPATH"] +target = file.sub(/\.less$/, ".css") +system("lessc \"#{file}\" \"#{target}\"") +puts "Compiled CSS to '#{target}'" + input + document + inputFormat + text + keyEquivalent + @b + name + Save to CSS + outputCaret + afterOutput + outputFormat + text + outputLocation + toolTip + requiredCommands + + + command + lessc + locations + + /opt/local/bin/lessc + /usr/local/bin/lessc + + + + scope + source.css.less + uuid + 78788223-5E5E-434E-98BE-17BCDF600611 + version + 2 + + diff --git a/vendor/grammars/less.tmbundle/Commands/Save to Minified CSS.tmCommand b/vendor/grammars/less.tmbundle/Commands/Save to Minified CSS.tmCommand new file mode 100644 index 00000000..fc8fe21f --- /dev/null +++ b/vendor/grammars/less.tmbundle/Commands/Save to Minified CSS.tmCommand @@ -0,0 +1,47 @@ + + + + + beforeRunningCommand + saveActiveFile + command + #!/usr/bin/env ruby18 + +file = ENV["TM_FILEPATH"] +target = file.sub(/\.less$/, ".css") +system("lessc -x \"#{file}\" \"#{target}\"") +puts "Compiled Minified CSS to '#{target}'" + input + document + inputFormat + text + keyEquivalent + ~@b + name + Save to Minified CSS + outputCaret + afterOutput + outputFormat + text + outputLocation + toolTip + requiredCommands + + + command + lessc + locations + + /opt/local/bin/lessc + /usr/local/bin/lessc + + + + scope + source.css.less + uuid + 448D3A8D-260E-4949-BA33-654886ECDCAF + version + 2 + + diff --git a/vendor/grammars/less.tmbundle/DragCommands/Insert inline Image.tmDragCommand b/vendor/grammars/less.tmbundle/DragCommands/Insert inline Image.tmDragCommand new file mode 100644 index 00000000..21ce88f4 --- /dev/null +++ b/vendor/grammars/less.tmbundle/DragCommands/Insert inline Image.tmDragCommand @@ -0,0 +1,38 @@ + + + + + beforeRunningCommand + nop + command + #!/usr/bin/env php +<?php +$path = getenv('TM_DROPPED_FILE'); +$path_parts = pathinfo($path); +$info = getimagesize($path); +list($width, $height) = $info; +$mime = $info['mime']; +$contents = base64_encode(file_get_contents($path)); + +echo "@gfx-{$path_parts['filename']}: \"data:{$mime};base64,{$contents}\";\n"; +echo "@gfx-{$path_parts['filename']}-width: {$width}px;\n"; +echo "@gfx-{$path_parts['filename']}-height: {$height}px;"; + draggedFileExtensions + + png + jpeg + jpg + gif + + input + selection + name + Insert inline Image + output + insertAsSnippet + scope + source.css.less + uuid + 7B0CA307-CC1C-4EE2-9F63-4825800ACDA7 + + diff --git a/vendor/grammars/less.tmbundle/Preferences/Comment.tmPreferences b/vendor/grammars/less.tmbundle/Preferences/Comment.tmPreferences new file mode 100644 index 00000000..1d8bf1fe --- /dev/null +++ b/vendor/grammars/less.tmbundle/Preferences/Comment.tmPreferences @@ -0,0 +1,36 @@ + + + + + name + Comments + scope + source.css.less + settings + + shellVariables + + + name + TM_COMMENT_START + value + // + + + name + TM_COMMENT_START_2 + value + /* + + + name + TM_COMMENT_END_2 + value + */ + + + + uuid + D0CC551B-751D-4A7C-A738-2513E3C7F285 + + diff --git a/vendor/grammars/less.tmbundle/README.md b/vendor/grammars/less.tmbundle/README.md new file mode 100644 index 00000000..ed6ac672 --- /dev/null +++ b/vendor/grammars/less.tmbundle/README.md @@ -0,0 +1,25 @@ +# Installation + +You can install this bundle in TextMate by opening the preferences and going to the bundles tab. After installation it will be automatically updated for you. + +# License (MIT) + +Copyright (c) 2010 Scott Kyle and Rasmus Andersson + +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. diff --git a/vendor/grammars/less.tmbundle/Syntaxes/LESS.tmLanguage b/vendor/grammars/less.tmbundle/Syntaxes/LESS.tmLanguage new file mode 100644 index 00000000..ac6ff8ba --- /dev/null +++ b/vendor/grammars/less.tmbundle/Syntaxes/LESS.tmLanguage @@ -0,0 +1,434 @@ + + + + + comment + LeSS + fileTypes + + less + + foldingStartMarker + /\*\*(?!\*)|\{\s*($|/\*(?!.*?\*/.*\S)) + foldingStopMarker + (?<!\*)\*\*/|^\s*\} + keyEquivalent + ^~L + name + LESS + patterns + + + match + \b(a|abbr|acronym|address|applet|article|area|audio|video|b|base|big|blockquote|body|br|button|caption|canvas|center|cite|code|col|colgroup|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figure|figcaption|form|frame|frameset|(h[1-6])|head|hr|html|i|iframe|img|input|ins|kbd|label|legend|li|link|map|mark|meta|menu|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|q|ruby|s|samp|script|select|small|span|strike|strong|style|sub|sup|summary|svg|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|ul|var|header|section|footer|aside|hgroup|time)\b + name + keyword.control.html.elements + + + begin + " + beginCaptures + + 0 + + name + punctuation.definition.string.begin.css + + + end + " + endCaptures + + 0 + + name + punctuation.definition.string.end.css + + + name + string.quoted.double.css + patterns + + + match + \\. + name + constant.character.escaped.css + + + + + begin + ' + beginCaptures + + 0 + + name + punctuation.definition.string.begin.css + + + end + ' + endCaptures + + 0 + + name + punctuation.definition.string.end.css + + + name + string.quoted.single.css + patterns + + + match + \\. + name + constant.character.escaped.css + + + + + captures + + 1 + + name + entity.other.attribute-name.class.css + + + match + (\.[a-zA-Z0-9_-]+) + + + begin + url\( + contentName + variable.parameter.url + end + \) + name + support.function.any-method.builtin.css + + + match + (#)([0-9a-fA-F]{3}|[0-9a-fA-F]{6})\b + name + constant.other.rgb-value.css + + + captures + + 0 + + name + entity.other.attribute-name.id + + + match + #[a-zA-Z0-9_:\(\)-]+ + name + meta.selector.css + + + begin + /\* + beginCaptures + + 0 + + name + punctuation.definition.comment.begin.css + + + end + \*/ + endCaptures + + 0 + + name + punctuation.definition.comment.end.css + + + name + comment.block.css + + + match + (-|\+)?\s*[0-9]+(\.[0-9]+)? + name + constant.numeric.css + + + match + (?<=[\d])(px|pt|cm|mm|in|em|ex|pc)\b|% + name + keyword.other.unit.css + + + captures + + 1 + + name + entity.other.attribute-name.pseudo-element.css + + + match + (:+(after|before|not|last-child|nth-of-type|nth-child|first-child|first-letter|first-line|selection|root)) + + + captures + + 1 + + name + entity.other.attribute-name.pseudo-class.css + + + match + (:+(active|hover|link|visited|focus)) + + + captures + + 1 + + name + punctuation.definition.entity.css + + 2 + + name + entity.other.attribute-name.attribute.css + + 3 + + name + punctuation.separator.operator.css + + 4 + + name + string.unquoted.attribute-value.css + + 5 + + name + string.quoted.double.attribute-value.css + + 6 + + name + punctuation.definition.string.begin.css + + 7 + + name + punctuation.definition.string.end.css + + + match + (?i)(\[)\s*(-?[_a-z\\[[:^ascii:]]][_a-z0-9\-\\[[:^ascii:]]]*)(?:\s*([~|^$*]?=)\s*(?:(-?[_a-z\\[[:^ascii:]]][_a-z0-9\-\\[[:^ascii:]]]*)|((?>(['"])(?:[^\\]|\\.)*?(\6)))))?\s*(\]) + name + meta.attribute-selector.css + + + captures + + 1 + + name + keyword.control.at-rule.import.css + + 2 + + name + punctuation.definition.keyword.css + + + match + ^\s*((@)import\b) + name + meta.at-rule.import.css + + + captures + + 1 + + name + support.type.property-name.css.vendor + + + match + (-(?:webkit|moz|khtml|o|icab|ms)-(?:background-size|border-radius|box-shadow|opacity|border-image))\s*: + + + captures + + 1 + + name + support.type.property-name.css + + + match + \b(azimuth|background-attachment|background-color|background-clip|background-image|background-position|background-repeat|background-size|background|behavior|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-collapse|border-color|border-left-color|border-left-style|border-left-width|border-left|border-right-color|border-right-style|border-right-width|border-right|border-spacing|border-style|border-top-color|border-top-style|border-top-width|border-top|border-width|border-radius|border|box-shadow|bottom|caption-side|clear|clip|color|content|counter-increment|counter-reset|cue-after|cue-before|cue|cursor|direction|display|elevation|empty-cells|filter|float|font-family|font-size-adjust|font-size|font-stretch|font-style|font-variant|font-weight|font|height|left|letter-spacing|line-height|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|marker-offset|margin|marks|max-height|max-width|min-height|min-width|opacity|orphans|outline-color|outline-style|outline-width|outline|overflow(-[xy])?|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page|pause-after|pause-before|pause|pitch-range|pitch|play-during|position|pre-wrap|quotes|richness|right|size|speak-header|speak-numeral|speak-punctuation|speech-rate|speak|stress|table-layout|text-align|text-decoration|text-indent|text-shadow|text-transform|top|unicode-bidi|vertical-align|visibility|voice-family|volume|white-space|widows|width|word-spacing|word-wrap|z-index|zoom) + + + match + \b(absolute|all-scroll|always|auto|baseline|below|bidi-override|block|bold|bolder|both|bottom|break-all|break-word|capitalize|center|char|circle|col-resize|collapse|crosshair|dashed|decimal|default|disabled|disc|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ellipsis|fixed|groove|hand|help|hidden|horizontal|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|inactive|inherit|inline-block|inline|inset|inside|inter-ideograph|inter-word|italic|justify|keep-all|left|lighter|line-edge|line-through|line|linear|list-item|loose|lower-alpha|lower-roman|lowercase|lr-tb|ltr|medium|middle|move|n-resize|ne-resize|newspaper|no-drop|no-repeat|nw-resize|none|normal|not-allowed|nowrap|oblique|outset|outside|overline|pointer|progress|relative|repeat-x|repeat-y|repeat|right|ridge|row-resize|rtl|s-resize|scroll|se-resize|separate|small-caps|solid|square|static|strict|super|sw-resize|table-footer-group|table-header-group|tb-rl|text-bottom|text-top|text|thick|thin|top|transparent|underline|upper-alpha|upper-roman|uppercase|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|padding-box)\b + name + support.constant.property-value.css + + + match + (\b(?i:arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace)\b) + name + support.constant.font-name.css + + + comment + http://www.w3.org/TR/CSS21/syndata.html#value-def-color + match + \b(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)\b + name + support.constant.color.w3c-standard-color-name.css + + + match + \b(saturate|desaturate|lighten|darken|grayscale)\b + name + support.function.any-method.builtin.less + + + match + \b(rgb|rgba|hsl|hsla|url)\b + name + support.function.any-method.builtin.css + + + captures + + 1 + + name + support.function.any-method.vendor.css + + + match + (-(?:webkit|moz|khtml|o|icab)-(?:gradient|linear-gradient)) + + + match + \b(color-stop|from|to)\b + name + support.function.any-method.webkit.gradient.css + + + captures + + 1 + + name + support.function.less + + + match + (\.[a-zA-Z0-9_-]+)\s*(;|\() + + + begin + (^[ \t]+)?(?=//) + beginCaptures + + 1 + + name + punctuation.whitespace.comment.leading.less + + + end + (?!\G) + patterns + + + begin + // + beginCaptures + + 0 + + name + punctuation.definition.comment.less + + + end + \n + name + comment.line.double-slash.less + + + + + match + @[a-zA-Z0-9_-][\w-]* + name + variable.other.less + + + match + \$|%|&|\*|\-\-|\-|\+\+|\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|(?<!\()/=|%=|\+=|\-=|&=|\^=|\/\b + name + keyword.operator.less + + + captures + + 1 + + name + punctuation.section.property-list.begin.css + + 2 + + name + punctuation.section.property-list.end.css + + + comment + Match empty braces to give proper ↩ action + match + (\{)(\}) + name + meta.brace.curly.less + + + match + \{|\} + name + meta.brace.curly.less + + + match + \(|\) + name + meta.brace.round.less + + + match + \[|\] + name + meta.brace.square.less + + + scopeName + source.css.less + uuid + 9343D324-75A1-4733-A5C0-5D1D4B6182D0 + + diff --git a/vendor/grammars/less.tmbundle/info.plist b/vendor/grammars/less.tmbundle/info.plist new file mode 100644 index 00000000..e555f0ba --- /dev/null +++ b/vendor/grammars/less.tmbundle/info.plist @@ -0,0 +1,26 @@ + + + + + contactEmailRot13 + zfurrgf@juvgrsnyyf.bet + contactName + Michael Sheets + description + Extends CSS with dynamic behavior such as variables, mixins, operations and functions. + mainMenu + + items + + 78788223-5E5E-434E-98BE-17BCDF600611 + 448D3A8D-260E-4949-BA33-654886ECDCAF + + submenus + + + name + LESS + uuid + D1D51EE5-E89F-4B14-8AE4-FC364E540B47 + + From 54fab9eb4ed6a3a9bfa36d1c28aaff2aaeea51a8 Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Mon, 29 Feb 2016 07:55:43 -0700 Subject: [PATCH 50/62] Bumping to v4.7.6 --- lib/linguist/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/linguist/version.rb b/lib/linguist/version.rb index bc1707a9..7bb4af7b 100644 --- a/lib/linguist/version.rb +++ b/lib/linguist/version.rb @@ -1,3 +1,3 @@ module Linguist - VERSION = "4.7.5" + VERSION = "4.7.6" end From ae27c71d5a9416a0c85f8ca96f0e772355d4133d Mon Sep 17 00:00:00 2001 From: Michael Zhou Date: Mon, 29 Feb 2016 20:35:57 -0500 Subject: [PATCH 51/62] Add BUCK filename to Python in languages.yml BUCK is the filename for the build files of the Facebook Buck build system. BUCK files are valid Python files. Eg.: https://github.com/GerritCodeReview/gerrit/blob/master/BUCK Also add a missing sample for Pants / Bazel BUILD files. They are also valid Python files. --- lib/linguist/languages.yml | 3 ++- samples/Python/filenames/BUCK | 31 +++++++++++++++++++++++ samples/Python/filenames/BUILD | 45 ++++++++++++++++++++++++++++++++++ 3 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 samples/Python/filenames/BUCK create mode 100644 samples/Python/filenames/BUILD diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 49194cbf..a4f4d3a6 100755 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -474,7 +474,7 @@ CSS: color: "#563d7c" extensions: - .css - + CSV: type: data ace_mode: text @@ -2854,6 +2854,7 @@ Python: - .wsgi - .xpy filenames: + - BUCK - BUILD - SConscript - SConstruct diff --git a/samples/Python/filenames/BUCK b/samples/Python/filenames/BUCK new file mode 100644 index 00000000..9657ff3a --- /dev/null +++ b/samples/Python/filenames/BUCK @@ -0,0 +1,31 @@ +include_defs('//tools/build.defs') + +gerrit_war(name = 'gerrit') +gerrit_war(name = 'gwtgerrit', ui = 'ui_dbg') +gerrit_war(name = 'headless', ui = None) +gerrit_war(name = 'chrome', ui = 'ui_chrome') +gerrit_war(name = 'firefox', ui = 'ui_firefox') +gerrit_war(name = 'safari', ui = 'ui_safari') +gerrit_war(name = 'polygerrit', ui = 'polygerrit') +gerrit_war(name = 'withdocs', docs = True) +gerrit_war(name = 'release', ui = 'ui_optdbg_r', docs = True, context = ['//plugins:core'], visibility = ['//tools/maven:']) + +API_DEPS = [ + '//gerrit-acceptance-framework:acceptance-framework', + '//gerrit-acceptance-framework:acceptance-framework-src', + '//gerrit-acceptance-framework:acceptance-framework-javadoc', + '//gerrit-extension-api:extension-api', + '//gerrit-extension-api:extension-api-src', + '//gerrit-extension-api:extension-api-javadoc', + '//gerrit-plugin-api:plugin-api', + '//gerrit-plugin-api:plugin-api-src', + '//gerrit-plugin-api:plugin-api-javadoc', + '//gerrit-plugin-gwtui:gwtui-api', + '//gerrit-plugin-gwtui:gwtui-api-src', + '//gerrit-plugin-gwtui:gwtui-api-javadoc', +] + +zip_file( + name = 'api', + srcs = API_DEPS, +) diff --git a/samples/Python/filenames/BUILD b/samples/Python/filenames/BUILD new file mode 100644 index 00000000..92057751 --- /dev/null +++ b/samples/Python/filenames/BUILD @@ -0,0 +1,45 @@ +package(default_visibility = ["//scripts/release:__pkg__"]) + +filegroup( + name = "git", + srcs = glob([".git/**"]), +) + +filegroup( + name = "dummy", + visibility = ["//visibility:public"], +) + +filegroup( + name = "srcs", + srcs = glob( + ["**"], + exclude = [ + "bazel-*/**", + "output/**", + ".*/**", + ], + ) + [ + "//examples:srcs", + "//scripts:srcs", + "//site:srcs", + "//src:srcs", + "//tools:srcs", + "//third_party:srcs", + ], + visibility = ["//visibility:private"], +) + +load("//tools/build_defs/pkg:pkg.bzl", "pkg_tar") + +pkg_tar( + name = "bazel-srcs", + files = [":srcs"], + strip_prefix = ".", + # Public but bazel-only visibility. + visibility = ["//:__subpackages__"], +) + +load("//tools/build_rules/go:def.bzl", "go_prefix") + +go_prefix("github.com/bazelbuild/bazel") From ca4ea03828b0444c046e6f5526b147a070a365ea Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Thu, 3 Mar 2016 19:15:09 -0500 Subject: [PATCH 52/62] Recognizing Jenkinsfile as Groovy source. --- lib/linguist/languages.yml | 2 ++ lib/linguist/vendor.yml | 3 ++ samples/Groovy/filenames/Jenkinsfile | 46 ++++++++++++++++++++++++++++ test/test_file_blob.rb | 3 ++ 4 files changed, 54 insertions(+) create mode 100644 samples/Groovy/filenames/Jenkinsfile diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 49194cbf..117f2f79 100755 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -1310,6 +1310,8 @@ Groovy: - .gvy interpreters: - groovy + filenames: + - Jenkinsfile Groovy Server Pages: type: programming diff --git a/lib/linguist/vendor.yml b/lib/linguist/vendor.yml index 294f312b..15001e98 100644 --- a/lib/linguist/vendor.yml +++ b/lib/linguist/vendor.yml @@ -302,3 +302,6 @@ # Android Google APIs - (^|/)\.google_apis/ + +# Jenkins Pipeline +- ^Jenkinsfile$ diff --git a/samples/Groovy/filenames/Jenkinsfile b/samples/Groovy/filenames/Jenkinsfile new file mode 100644 index 00000000..582306c4 --- /dev/null +++ b/samples/Groovy/filenames/Jenkinsfile @@ -0,0 +1,46 @@ +jettyUrl = 'http://localhost:8081/' + +def servers + +stage 'Dev' +node { + checkout scm + servers = load 'servers.groovy' + mvn '-o clean package' + dir('target') {stash name: 'war', includes: 'x.war'} +} + +stage 'QA' +parallel(longerTests: { + runTests(servers, 30) +}, quickerTests: { + runTests(servers, 20) +}) + +stage name: 'Staging', concurrency: 1 +node { + servers.deploy 'staging' +} + +input message: "Does ${jettyUrl}staging/ look good?" + +stage name: 'Production', concurrency: 1 +node { + sh "wget -O - -S ${jettyUrl}staging/" + echo 'Production server looks to be alive' + servers.deploy 'production' + echo "Deployed to ${jettyUrl}production/" +} + +def mvn(args) { + sh "${tool 'Maven 3.x'}/bin/mvn ${args}" +} + +def runTests(servers, duration) { + node { + checkout scm + servers.runWithServer {id -> + mvn "-o -f sometests test -Durl=${jettyUrl}${id}/ -Dduration=${duration}" + } + } +} diff --git a/test/test_file_blob.rb b/test/test_file_blob.rb index ebb0b7fc..1b83a0fb 100644 --- a/test/test_file_blob.rb +++ b/test/test_file_blob.rb @@ -522,6 +522,9 @@ class TestBlob < Minitest::Test assert sample_blob("myapp/My Template.xctemplate/___FILEBASENAME___.h").vendored? assert sample_blob("myapp/My Images.xcassets/some/stuff.imageset/Contents.json").vendored? assert !sample_blob("myapp/MyData.json").vendored? + + # Jenkins + assert sample_blob("Jenkinsfile").vendored? end def test_documentation From b2e3ea233468a1a30ac1b67a3980fea67838948b Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Tue, 8 Mar 2016 21:56:01 -0600 Subject: [PATCH 53/62] Adding ace_mode back for M4Sugar --- lib/linguist/languages.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 27aaa75e..442117a0 100755 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -2024,6 +2024,7 @@ M4Sugar: filenames: - configure.ac tm_scope: none + ace_mode: text MAXScript: type: programming From 5b72b4d3533fd931b183756c262158c10540d670 Mon Sep 17 00:00:00 2001 From: Mike Linksvayer Date: Tue, 8 Mar 2016 21:05:55 -0800 Subject: [PATCH 54/62] move note about grammar repos from LICENSE to README.md --- LICENSE | 6 ------ README.md | 8 ++++++++ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/LICENSE b/LICENSE index 7981307b..f09a7d0a 100644 --- a/LICENSE +++ b/LICENSE @@ -1,9 +1,3 @@ -The language grammars included in this gem are covered by their repositories' -respective licenses. See https://github.com/github/linguist/blob/master/grammars.yml -to determine the repository for each grammar. - -All other files are covered by the following license: - Copyright (c) 2011-2014 GitHub, Inc. Permission is hereby granted, free of charge, to any person diff --git a/README.md b/README.md index c2c803a8..2a5e7520 100644 --- a/README.md +++ b/README.md @@ -194,3 +194,11 @@ If you are the current maintainer of this gem: 0. Merge github/linguist PR 0. Tag and push: `git tag vx.xx.xx; git push --tags` 0. Push to rubygems.org -- `gem push github-linguist-3.0.0.gem` + +## License + +The language grammars included in this gem are covered by their repositories' +respective licenses. `grammars.yml` specifies the repository for each grammar. + +All other files are covered by the MIT license, see `LICENSE`. + From eacc48e8c7ad5c595b26268ab64fabae7eee7ea1 Mon Sep 17 00:00:00 2001 From: Lars Brinkhoff Date: Mon, 4 May 2015 09:29:38 +0200 Subject: [PATCH 55/62] Add .me to Groff file extensions. --- lib/linguist/languages.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 442117a0..6f0bf16e 100755 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -1290,6 +1290,7 @@ Groff: - '.8' - '.9' - .l + - .me - .ms - .n - .rno From 11a3b5b73cf0029e51e50b48a29bdb2ee3524ec7 Mon Sep 17 00:00:00 2001 From: Paul Chaignon Date: Wed, 9 Mar 2016 10:37:41 +0100 Subject: [PATCH 56/62] Support for Text extension .nb (Norwegian text) --- lib/linguist/languages.yml | 1 + samples/Text/aptitude-defaults.nb | 41 ++ samples/Text/tutor.nb | 973 ++++++++++++++++++++++++++++++ 3 files changed, 1015 insertions(+) create mode 100644 samples/Text/aptitude-defaults.nb create mode 100644 samples/Text/tutor.nb diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 442117a0..0171e1aa 100755 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -3572,6 +3572,7 @@ Text: extensions: - .txt - .fr + - .nb - .ncl tm_scope: none ace_mode: text diff --git a/samples/Text/aptitude-defaults.nb b/samples/Text/aptitude-defaults.nb new file mode 100644 index 00000000..67c37f59 --- /dev/null +++ b/samples/Text/aptitude-defaults.nb @@ -0,0 +1,41 @@ +Pakker uten en bestemt bolk\n Disse pakkene tilhører ingen bestemt bolk. Kanskje det er noe feil ved dem? +Virtuelle pakker\n Disse pakkene finnes ikke, de er navn som andre pakker bruker for å oppnå en eller annen egenskap. +Pakker som setter opp systemet ditt til å utføre en bestemt oppgave\n Pakkene i bolken «oppgaver» inneholder ingen filer, det kan hende de bare er avhengige av andre pakker. Disse pakkene gjør det mulig å installere pakker for en bestemt oppgave på en lett måte. +Administrative verktøy\n Pakkene i bolken «admin» gjør det mulig å utføre administrative oppgaver, som å installere programmer, opprette eller slette brukere, vise informasjon om systemet eller nettverkstrafikken osv. +Pakker som er laget av pakker i et annet format (rpm, tgz mm)\n Pakkene i bolken «alien» ble laget av programmet «alien» fra et annet format enn Debians eget pakkeformat, f.eks fra RPM-pakker +Debians grunnsystem\n Pakkene i bolken «grunnsystem» hører med til første del av Debian-installasjonen. +Programmer for faksmodem og andre kommunikasjonsenheter\n Pakkene i bolken «Kommunikasjon» brukes til å styre modemer og andre enheter på maskinen, deriblant programvare for styring av faksmodemer (for eksempel, PPP for oppringt internettforbindelse og programmer som opprinnelig er skrevet for dette, slik som zmodem og kermit), og programmer for å styre mobiltelefoner, snakke med FidoNet og kjøre et BBS. +Verktøy og programmer for programvareutvikling\n Pakker i seksjonen «utvikling» blir brukt til å skrive nye programmer og for å jobbe med videre med programmer som allerede er laget. Vanlige brukere som ikke kompilerer (setter sammen) sine egne programmer trenger neppe så mange programmer herfra.\n .\n Her finner du kompilatorer, avlusingsverktøy, skriveprogrammer som hjelper til med programmeringen, verktøy for håndtering av kildekode og andre ting som har med utvikling av programmer å gjøre. +Dokumentasjon og spesialiserte program for visning av dokumentasjon\n Pakker i «dok»-seksjonen dokumenterer deler av Debian-systemet eller viser fram dokumenter i forskjellige format. +Skriveprogram og tekstbehandlere\n Pakker i bolken «skriveprogram» lar deg redigere ren ASCII-tekst. Dette er nødvendigvis ikke tekstbehandlere, selv om du kan finne noen av dem her i denne bolken. +Program for å jobba med elektronikk og elektriske kretser\n Pakker i «elektronikk»-seksjonen inneholder verktøy for design av elektriske kretser, simulatorer og assemblere for mikrokontrollere og andre liknende programmer. +Programmer for innebygde systemer\nPakker i bolken «innebygd» er ment til å kjøre på innebygde systemer. Dette er spesialisert maskinvare med mye mindre datakraft enn en typisk skrivebordssystem, for eksempel en PDA, en mobiltelefon eller en Tivo. +Skrivebordssystemet GNOME\n GNOME er en samling programvare som danner et lettbrukt skrivbordsmiljø for Linux. Pakker i «gnome»-bolken er enten deler av GNOME-miljøet eller tett sammenvevd med det. +Spill, leketøy og andre programmer som bare er for gøy\n Pakker i «spill»-bolken er stort sett bare til for underholdningens skyld. +Verktøy for å lage, vise og redigere grafikkfiler\n Pakker i «grafikk»-bolken er programmer for visning av bildefiler, bildebehandlingsprogrammer, støtteprogrammer for forskjellig utstyr (som videokort, skanner og digitalt kamera) og programmeringsverktøy for å håndtere grafikk. +Programvare for radioamatører\n Pakker i «hamradio»-bolken er stort sett ment for radioamatører. +Programmer som kjører skriptspråk\n Pakker i «tolkeprogram»-bolken er programmer som kompilerer og kjører språk som Python, Perl og Ruby, og som sørger for standardbibliotek for disse språkene. +Skrivebordssystemet KDE\n KDE er en samling programvare som danner et lettbrukt skrivbordsmiljø for Linux. Pakker i «kde»-bolken er enten deler av KDE-miljøet eller tett sammenvevd med det. +Utviklingsfiler for biblioteker\n Pakker i «libdevel»-bolken inneholder filer som trengs for å lage programmer som bruker biblioteker i «libs»-bolken. Du trenger ikke pakker fra denne bolken hvis du ikke har tenkt å lage programmer selv. +Samling av programvarerutiner\n Pakker i «libs»-seksjonen sørger for nødvendige funksjoner som er felles for andre programmer på maskinen. Med svært få unntak skal det ikke værenødvendig å be om at slike pakker blir installert. Pakkesystemet sørger for å installere dem når de andre programmene trenger dem. +Perl-tolker og biblioteker\n Pakker i «perl»-bolken sørger for programmeringsspråket Perl og mange tredjeparts-biblioteker til Perl. Hvis du ikke er Perl-programmerer selv, så trenger du ikke uttrykkelig installere pakker fra denne bolken, pakkesystemet installerer dem selv hvis det er nødvendig. +Python-tolker og biblioteker\n Pakker i «python»-bolken sørger for programmeringsspråket Python og mange tredjeparts-biblioteker til det. Hvis du ikke er Python-programmerer selv, så trenger du ikke uttrykkelig installere pakker fra denne bolken, pakkesystemet installerer dem selv hvis det er nødvendig. +Program for å skrive, sende og omdirigere epostmeldinger\n Pakker i «epost»-bolken inneholder epostlesere, nisser som flytter eposten dit den skal, programvare for epostlister og filter for søppelpost. Det fins også diverse andre programmer som gjør noe med elektronisk post, men som ikke er så lette å plassere i grupper. +Numerisk analyse og andre matematikkrelaterte programmer\n Blant pakker i «matte»-bolken fins kalkulatorer, språk for matematiske utregninger, symbolsk algebra og programmer for å tegne ut matematiske objekter. +Ymse programvare\n Pakker i «ymse»-bolken er ofte vanskelige å klassifisere, men det betyr ikke at de ikke finnes. +Programmer for å koble til og tilby ulike tjenester i et nettverk\n Blant pakker i «nett»-bolken finner du klienter og tjenere for mange protokoller, verktøy for å manipulere og avluse lavnivå nettverksprotokoller, system for direkte meldingstjeneste og andre nettverksrelaterte programmer. +Klienter og tjenere for Usenet\n Pakker i bolken «nyheter» henger sammen med til det distribuerte nyhetssystemet Usenet. Seksjonen tjenere og leseprogrammer (klienter) for dette systemet. +Foreldede programbibliotek\n Pakker i bolken «gamle bibliotek» er foreldede og bør ikke brukes i ny programvare. De er tilgjengelige for at eldre programmer som er avhengige av programmene her fortsatt skal kunne virke.\n .\n Du skal normalt ikke behøve å be om å få installert pakker herfra. Pakkesystemet vil ta med disse pakkene når andre pakker krever det. +Programmer som etterlikner andre datasystemer og og programmer som hjelper deg med å lese fremmede filsystem\n Pakker i bolken «andreosfs» etterlikner maskinvare og operativsystem og tilbyr verktøy for å overføre data mellom ulike operativsystem og maskinvareplattformer. (For eksempel verktøy for å lese DOS-disketter, og verktøy til å kommunisere med håndholdte maskiner som Palm Pilot)\n .\n Programmer for å brenne CD-plater er også med i denne seksjonen. +Programvare for vitenskaplig arbeid\n Pakker i «vitenskap»-bolken er verktøy for astronomi, biologi og kjemi, pluss andre programmer man bruker i vitenskapelig arbeide. +Kommandoskall og alternative konsollmiljø\n Pakker i «skall» er programmer som tilbyr grensesnitt med kommandolinje. +Verktøy for å spille av og ta opp lyd\nI «lyd»-bolken finner du lydavspillere, opptakere, lydkomprimeringsprogram for mange format, miksere og lydstyring, program for MIDI-sekvenser og program for å lage noter. Her finner du også drivere for lydkort og programmer for lydprosessering. +TeX typografi-systemet\n Pakker i bolken «tex» er deler i et system for å produsere utskrifter og andre slags utdata med høy typografisk kvalitet. Det omfatter selve TeX, TeX-pakker, skriveprogrammer som hjelper deg med å lage dokumenter i TeX, verktøy for å gjøre om TeX og TeX utdatafiler til ulike andre format, TeX-skrifttyper og annen programvare knyttet TeX. +Tekstverktøy\n I bolken «tekst» finner du skriveprogrammer og tekstfiltere, stavekontroll, ordbøker og verktøy for å oversette mellom tegnkoding og tekst-filformater (for eksempel Unix og DOS) og programmer for å formatere, skrive ut og redigere som ren tekst. +Forskjellige systemverktøy\n Pakkene i bolken «verktøy» har oppgaver som faller utenfor de andre kategoriene. +Nettlesere, tjenere, mellomtjenere og andre verktøy\n I bolken «nett» finner du blant annet nettlesere, tjenere og mellomtjenere, programmer for å skrive CGI-skript eller nettbaserte programmer og andre programmer som har med verdensveven å gjøre. +Vindussystemet «X» og beslektede programmer\n Pakkene i bolken «X11» inneholder også grunnpakka for vindussystemet «X», vindusbehandlere, verktøy for X og andre programmer med en X-grensesnitt som ble plassert her fordi de ikke passet inn noen andre steder. +Debians hovedarkiv\n Selve Debian-distribusjonen består av pakker fra hovedbolken. Alle pakkene her er fri programvare.\n .\n For mer informasjon om hva Debian mener med «fri programvare», se http://www.debian.org/social_contract#guidelines + Programmer som avhenger av programvare utenfor Debian.\n Pakker i bolken«bidrag» er ikke med i Debian.\n\n Disse pakkene er fri programvare, men de avhenger av programmer som ikke er en del av Debian. Dette kan skyldes at de ikke er fri programvare og ligger i bolken «ufri» i pakkearkivet, og disse kan Debian slett ikke distribuere, eller - i noen sjeldne tilfeller - at ingen har laget en pakke av dette ennå.\n .\n For mer informasjon om hva Debian mener med «fri programvare», se http://www.debian.org/social_contract#guidelines +Programmer som ikke er fri programvare \n Pakkene i bolken «ufri» er ikke en del av Debian\n .\n Disse pakkene passet ikke med en eller flere av betingelsene i Debians retningslinjer for fri programvare (Debian Free Software Guidelines; se nedenfor). Du bør lese lisensen for programmene i denne bolken for å være sikker på at du har rett til å bruke dem slik du har tenkt.\n .\n For mer informasjon om hva Debian mener med «Fri programvare», se http://www.debian.org/social_contract#guidelines +Programmer som er lagret utenfor USA på grunn av eksportforbud.\n Det er stor sjanse for at pakkene i «utenfor USA» inneholder kryptografi, og noen få av dem inneholder patenterte algoritmer. På grunn av dette kan de ikke eksporteres ut av USA, og lagres derfor på en tjener i «den frie verden».\n .\n Merk: Debian-prosjektet er, etter samtale med eksperter på rettsvesenet om nye endringer i eksporteringsreglene, i ferd med å flette kryptografiske programmer inn i de USA-baserte arkivene. De fleste pakkene som før lå i denne bolken er derfor flyttet til «hoved». \ No newline at end of file diff --git a/samples/Text/tutor.nb b/samples/Text/tutor.nb new file mode 100644 index 00000000..242119c7 --- /dev/null +++ b/samples/Text/tutor.nb @@ -0,0 +1,973 @@ +=============================================================================== += V e l k o m m e n t i l i n n f ø r i n g e n i V i m -- Ver. 1.7 = +=============================================================================== + + Vim er en meget kraftig editor med mange kommandoer, alt for mange til å + kunne gå gjennom alle i en innføring som denne. Den er beregnet på å + sette deg inn i bruken av nok kommandoer så du vil være i stand til lett + å kunne bruke Vim som en editor til alle formål. + + Tiden som kreves for å gå gjennom denne innføringen tar ca. 25-30 + minutter, avhengig av hvor mye tid du bruker til eksperimentering. + + MERK: + Kommandoene i leksjonene vil modifisere teksten. Lag en kopi av denne + filen som du kan øve deg på (hvis du kjørte Ŧvimtutorŧ-kommandoen, er + dette allerede en kopi). + + Det er viktig å huske at denne innføringen er beregnet på læring gjennom + bruk. Det betyr at du må utføre kommandoene for å lære dem skikkelig. + Hvis du bare leser teksten, vil du glemme kommandoene! + + Først av alt, sjekk at ŦCaps Lockŧ IKKE er aktiv og trykk Ŧjŧ-tasten for + å flytte markøren helt til leksjon 1.1 fyller skjermen. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 1.1: FLYTTING AV MARKØREN + + + ** For å flytte markøren, trykk tastene h, j, k, l som vist. ** + ^ + k Tips: h-tasten er til venstre og flytter til venstre. + < h l > l-tasten er til høyre og flytter til høyre. + j j-tasten ser ut som en pil som peker nedover. + v + 1. Flytt markøren rundt på skjermen til du har fått det inn i fingrene. + + 2. Hold inne nedovertasten (j) til den repeterer. + Nå vet du hvordan du beveger deg til neste leksjon. + + 3. Gå til leksjon 1.2 ved hjelp av nedovertasten. + +Merk: Hvis du blir usikker på noe du har skrevet, trykk for å gå til + normalmodus. Skriv deretter kommandoen du ønsket på nytt. + +Merk: Piltastene skal også virke. Men ved å bruke hjkl vil du være i stand til + å bevege markøren mye raskere når du er blitt vant til det. Helt sant! + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 1.2: AVSLUTTE VIM + + + !! MERK: Før du utfører noen av punktene nedenfor, les hele leksjonen!! + + 1. Trykk -tasten (for å forsikre deg om at du er i normalmodus). + + 2. Skriv: :q! . + Dette avslutter editoren og FORKASTER alle forandringer som du har gjort. + + 3. Når du ser kommandolinjen i skallet, skriv kommandoen som startet denne + innføringen. Den er: vimtutor + + 4. Hvis du er sikker på at du husker dette, utfør punktene 1 til 3 for å + avslutte og starte editoren på nytt. + +MERK: :q! forkaster alle forandringer som du gjorde. I løpet av noen + få leksjoner vil du lære hvordan du lagrer forandringene til en fil. + + 5. Flytt markøren ned til leksjon 1.3. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 1.3: REDIGERING AV TEKST -- SLETTING + + + ** Trykk x for å slette tegnet under markøren. ** + + 1. Flytt markøren til den første linjen merket med --->. + + 2. For å ordne feilene på linjen, flytt markøren til den er oppå tegnet som + skal slettes. + + 3. Trykk tasten x for å slette det uønskede tegnet. + + 4. Repeter punkt 2 til 4 til setningen er lik den som er under. + +---> Hessstennnn brrråsnudddde ii gaaata. +---> Hesten bråsnudde i gata. + + 5. Nå som linjen er korrekt, gå til leksjon 1.4. + +MERK: Når du går gjennom innføringen, ikke bare prøv å huske kommandoene, men + bruk dem helt til de sitter. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 1.4: REDIGERING AV TEKST -- INNSETTING + + + ** Trykk i for å sette inn tekst. ** + + 1. Flytt markøren til den første linjen som er merket med --->. + + 2. For å gjøre den første linjen lik den andre, flytt markøren til den står + på tegnet ETTER posisjonen der teksten skal settes inn. + + 3. Trykk i og skriv inn teksten som mangler. + + 4. Etterhvert som hver feil er fikset, trykk for å returnere til + normalmodus. Repeter punkt 2 til 4 til setningen er korrekt. + +---> Det er tkst som mnglr . +---> Det er ganske mye tekst som mangler her. + + 5. Når du føler deg komfortabel med å sette inn tekst, gå til oppsummeringen + nedenfor. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 1.5: REDIGERING AV TEKST -- LEGGE TIL + + + ** Trykk A for å legge til tekst. ** + + 1. Flytt markøren til den første linjen nedenfor merket --->. + Det har ikke noe å si hvor markøren er plassert på den linjen. + + 2. Trykk A og skriv inn det som skal legges til. + + 3. Når teksten er lagt til, trykk for å returnere til normalmodusen. + + 4. Flytt markøren til den andre linjen markert med ---> og repeter steg 2 og + 3 for å reparere denne setningen. + +---> Det mangler noe tekst p + Det mangler noe tekst på denne linjen. +---> Det mangler også litt tek + Det mangler også litt tekst på denne linjen. + + 5. Når du føler at du behersker å legge til tekst, gå til leksjon 1.6. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 1.6: REDIGERE EN FIL + + + ** Bruk :wq for å lagre en fil og avslutte. ** + + !! MERK: Før du utfører noen av stegene nedenfor, les hele denne leksjonen!! + + 1. Avslutt denne innføringen som du gjorde i leksjon 1.2: :q! + + 2. Skriv denne kommandoen på kommandolinja: vim tutor + Ŧvimŧ er kommandoen for å starte Vim-editoren, Ŧtutorŧ er navnet på fila + som du vil redigere. Bruk en fil som kan forandres. + + 3. Sett inn og slett tekst som du lærte i de foregående leksjonene. + + 4. Lagre filen med forandringene og avslutt Vim med: :wq + + 5. Start innføringen på nytt og flytt ned til oppsummeringen som følger. + + 6. Etter å ha lest og forstått stegene ovenfor: Sett i gang. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + OPPSUMMERING AV LEKSJON 1 + + + 1. Markøren beveges ved hjelp av piltastene eller hjkl-tastene. + h (venstre) j (ned) k (opp) l (høyre) + + 2. For å starte Vim fra skall-kommandolinjen, skriv: vim FILNAVN + + 3. For å avslutte Vim, skriv: :q! for å forkaste endringer. + ELLER skriv: :wq for å lagre forandringene. + + 4. For å slette tegnet under markøren, trykk: x + + 5. For å sette inn eller legge til tekst, trykk: + i skriv innsatt tekst sett inn før markøren + A skriv tillagt tekst legg til på slutten av linjen + +MERK: Når du trykker går du til normalmodus eller du avbryter en uønsket + og delvis fullført kommando. + + Nå kan du gå videre til leksjon 2. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 2.1: SLETTEKOMMANDOER + + + ** Trykk dw for å slette et ord. ** + + 1. Trykk for å være sikker på at du er i normalmodus. + + 2. Flytt markøren til den første linjen nedenfor merket --->. + + 3. Flytt markøren til begynnelsen av ordet som skal slettes. + + 4. Trykk dw og ordet vil forsvinne. + +MERK: Bokstaven d vil komme til syne på den nederste linjen på skjermen når + du skriver den. Vim venter på at du skal skrive w . Hvis du ser et annet + tegn enn d har du skrevet noe feil; trykk og start på nytt. + +---> Det er agurk tre ord eple som ikke hører pære hjemme i denne setningen. +---> Det er tre ord som ikke hører hjemme i denne setningen. + + 5. Repeter punkt 3 og 4 til den første setningen er lik den andre. Gå + deretter til leksjon 2.2. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 2.2: FLERE SLETTEKOMMANDOER + + + ** Trykk d$ for å slette til slutten av linjen. ** + + 1. Trykk for å være sikker på at du er i normalmodus. + + 2. Flytt markøren til linjen nedenfor merket --->. + + 3. Flytt markøren til punktet der linjen skal kuttes (ETTER første punktum). + + 4. Trykk d$ for å slette alt til slutten av linjen. + +---> Noen skrev slutten på linjen en gang for mye. linjen en gang for mye. + + 5. Gå til leksjon 2.3 for å forstå hva som skjer. + + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 2.3: OM OPERATORER OG BEVEGELSER + + + Mange kommandoer som forandrer teksten er laget ut i fra en operator og en + bevegelse. Formatet for en slettekommando med sletteoperatoren d er: + + d bevegelse + + Der: + d - er sletteoperatoren. + bevegelse - er hva operatoren vil opere på (listet nedenfor). + + En kort liste med bevegelser: + w - til starten av det neste ordet, UNNTATT det første tegnet. + e - til slutten av det nåværende ordet, INKLUDERT det siste tegnet. + $ - til slutten av linjen, INKLUDERT det siste tegnet. + + Ved å skrive de vil altså alt fra markøren til slutten av ordet bli + slettet. + +MERK: Ved å skrive kun bevegelsen i normalmodusen uten en operator vil + markøren flyttes som spesifisert. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + LEKSJON 2.4: BRUK AV TELLER FOR EN BEVEGELSE + + + ** Ved å skrive et tall foran en bevegelse repeterer den så mange ganger. ** + + 1. Flytt markøren til starten av linjen markert ---> nedenfor. + + 2. Skriv 2w for å flytte markøren to ord framover. + + 3. Skriv 3e for å flytte markøren framover til slutten av det tredje + ordet. + + 4. Skriv 0 (null) for å flytte til starten av linjen. + + 5. Repeter steg 2 og 3 med forskjellige tall. + +---> Dette er en linje med noen ord som du kan bevege deg rundt på. + + 6. Gå videre til leksjon 2.5. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 2.5: BRUK AV ANTALL FOR Å SLETTE MER + + + ** Et tall sammen med en operator repeterer den så mange ganger. ** + + I kombinasjonen med sletteoperatoren og en bevegelse nevnt ovenfor setter du + inn antall før bevegelsen for å slette mer: + d nummer bevegelse + + 1. Flytt markøren til det første ordet med STORE BOKSTAVER på linjen markert + med --->. + + 2. Skriv 2dw for å slette de to ordene med store bokstaver. + + 3. Repeter steg 1 og 2 med forskjelling antall for å slette de etterfølgende + ordene som har store bokstaver. + +---> Denne ABC DE linjen FGHI JK LMN OP er nå Q RS TUV litt mer lesbar. + +MERK: Et antall mellom operatoren d og bevegelsen virker på samme måte som å + bruke bevegelsen uten en operator. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 2.6: OPERERE PÅ LINJER + + + ** Trykk dd for å slette en hel linje. ** + + På grunn av at sletting av linjer er mye brukt, fant utviklerne av Vi ut at + det vil være lettere å rett og slett trykke to d-er for å slette en linje. + + 1. Flytt markøren til den andre linjen i verset nedenfor. + 2. Trykk dd å slette linjen. + 3. Flytt deretter til den fjerde linjen. + 4. Trykk 2dd for å slette to linjer. + +---> 1) Roser er røde, +---> 2) Gjørme er gøy, +---> 3) Fioler er blå, +---> 4) Jeg har en bil, +---> 5) Klokker viser tiden, +---> 6) Druer er søte +---> 7) Og du er likeså. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 2.7: ANGRE-KOMMANDOEN + + + ** Trykk u for å angre siste kommando, U for å fikse en hel linje. ** + + 1. Flytt markøren til linjen nedenfor merket ---> og plasser den på den + første feilen. + 2. Trykk x for å slette det første uønskede tegnet. + 3. Trykk så u for å angre den siste utførte kommandoen. + 4. Deretter ordner du alle feilene på linjene ved å bruke kommandoen x . + 5. Trykk nå en stor U for å sette linjen tilbake til det den var + originalt. + 6. Trykk u noen ganger for å angre U og foregående kommandoer. + 7. Deretter trykker du CTRL-R (hold CTRL nede mens du trykker R) noen + ganger for å gjenopprette kommandoene (omgjøre angrekommandoene). + +---> RReparer feiilene påå denne linnnjen oog erssstatt dem meed angre. + + 8. Dette er meget nyttige kommandoer. Nå kan du gå til oppsummeringen av + leksjon 2. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + OPPSUMMERING AV LEKSJON 2 + + + 1. For å slette fra markøren fram til det neste ordet, trykk: dw + 2. For å slette fra markøren til slutten av en linje, trykk: d$ + 3. For å slette en hel linje, trykk: dd + + 4. For å repetere en bevegelse, sett et nummer foran: 2w + 5. Formatet for en forandringskommando er: + operator [nummer] bevegelse + der: + operator - hva som skal gjøres, f.eks. d for å slette + [nummer] - et valgfritt antall for å repetere bevegelsen + bevegelse - hva kommandoen skal operere på, eksempelvis w (ord), + $ (til slutten av linjen) og så videre. + + 6. For å gå til starten av en linje, bruk en null: 0 + + 7. For å angre tidligere endringer, skriv: u (liten u) + For å angre alle forandringer på en linje, skriv: U (stor U) + For å omgjøre angringen, trykk: CTRL-R + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 3.1: ŦLIM INNŧ-KOMMANDOEN + + + ** Trykk p for å lime inn tidligere slettet tekst etter markøren ** + + 1. Flytt markøren til den første linjen med ---> nedenfor. + + 2. Trykk dd for å slette linjen og lagre den i et Vim-register. + + 3. Flytt markøren til c)-linjen, OVER posisjonen linjen skal settes inn. + + 4. Trykk p for å legge linjen under markøren. + + 5. Repeter punkt 2 til 4 helt til linjene er i riktig rekkefølge. + +---> d) Kan du også lære? +---> b) Fioler er blå, +---> c) Intelligens må læres, +---> a) Roser er røde, + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 3.2: ŦERSTATTŧ-KOMMANDOEN + + + ** Trykk rx for å erstatte tegnet under markøren med x. ** + + 1. Flytt markøren til den første linjen nedenfor merket --->. + + 2. Flytt markøren så den står oppå den første feilen. + + 3. Trykk r og deretter tegnet som skal være der. + + 4. Repeter punkt 2 og 3 til den første linjen er lik den andre. + +---> Da dfnne lynjxn ble zkrevet, var det nøen som tjykket feite taster! +---> Da denne linjen ble skrevet, var det noen som trykket feile taster! + + 5. Gå videre til leksjon 3.2. + +MERK: Husk at du bør lære ved å BRUKE, ikke pugge. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 3.3: ŦFORANDREŧ-OPERATOREN + + + ** For å forandre til slutten av et ord, trykk ce . ** + + 1. Flytt markøren til den første linjen nedenfor som er merket --->. + + 2. Plasser markøren på u i Ŧlubjwrŧ. + + 3. Trykk ce og det korrekte ordet (i dette tilfellet, skriv Ŧinjenŧ). + + 4. Trykk og gå til det neste tegnet som skal forandres. + + 5. Repeter punkt 3 og 4 helt til den første setningen er lik den andre. + +---> Denne lubjwr har noen wgh som må forkwåp med Ŧforækzryasŧ-kommandoen. +---> Denne linjen har noen ord som må forandres med Ŧforandreŧ-kommandoen. + +Vær oppmerksom på at ce sletter ordet og går inn i innsettingsmodus. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 3.4: FLERE FORANDRINGER VED BRUK AV c + + + ** Forandringskommandoen blir brukt med de samme bevegelser som Ŧslettŧ. ** + + 1. Forandringsoperatoren fungerer på samme måte som Ŧslettŧ. Formatet er: + + c [nummer] bevegelse + + 2. Bevegelsene er de samme, som for eksempel w (ord) og $ (slutten av en + linje). + + 3. Gå til den første linjen nedenfor som er merket --->. + + 4. Flytt markøren til den første feilen. + + 5. Skriv c$ og skriv resten av linjen lik den andre og trykk . + +---> Slutten på denne linjen trenger litt hjelp for å gjøre den lik den neste. +---> Slutten på denne linjen trenger å bli rettet ved bruk av c$-kommandoen. + +MERK: Du kan bruke slettetasten for å rette feil mens du skriver. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + OPPSUMMERING AV LEKSJON 3 + + + 1. For å legge tilbake tekst som nettopp er blitt slettet, trykk p . Dette + limer inn den slettede teksten ETTER markøren (hvis en linje ble slettet + vil den bli limt inn på linjen under markøren). + + 2. For å erstatte et tegn under markøren, trykk r og deretter tegnet som + du vil ha der. + + 3. Forandringsoperatoren lar deg forandre fra markøren til dit bevegelsen + tar deg. Det vil si, skriv ce for å forandre fra markøren til slutten + av ordet, c$ for å forandre til slutten av linjen. + + 4. Formatet for Ŧforandreŧ er: + + c [nummer] bevegelse + +Nå kan du gå til neste leksjon. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 4.1: POSISJONERING AV MARKØREN OG FILSTATUS + + ** Trykk CTRL-G for å vise posisjonen i filen og filstatusen. + Trykk G for å gå til en spesifikk linje i filen. ** + + Merk: Les hele leksjonen før du utfører noen av punktene! + + 1. Hold nede Ctrl-tasten og trykk g . Vi kaller dette CTRL-G. En melding + vil komme til syne på bunnen av skjermen med filnavnet og posisjonen i + filen. Husk linjenummeret for bruk i steg 3. + +Merk: Du kan se markørposisjonen i nederste høyre hjørne av skjermen. Dette + skjer når Ŧrulerŧ-valget er satt (forklart i leksjon 6). + + 2. Trykk G for å gå til bunnen av filen. + Skriv gg for å gå til begynnelsen av filen. + + 3. Skriv inn linjenummeret du var på og deretter G . Dette vil føre deg + tilbake til linjen du var på da du først trykket CTRL-G. + + 4. Utfør steg 1 til 3 hvis du føler deg sikker på prosedyren. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 4.2: SØKEKOMMANDOEN + + ** Skriv / etterfulgt av en søkestreng som du vil lete etter. ** + + 1. Trykk / når du er i normalmodusen. Legg merke til at skråstreken og + markøren kommer til syne på bunnen av skjermen i likhet med + Ŧ:ŧ-kommandoene. + + 2. Skriv Ŧfeeeiilŧ og trykk . Dette er teksten du vil lete etter. + + 3. For å finne neste forekomst av søkestrengen, trykk n . + For å lete etter samme søketeksten i motsatt retning, trykk N . + + 4. For å lete etter en tekst bakover i filen, bruk ? istedenfor / . + + 5. For å gå tilbake til der du kom fra, trykk CTRL-O (Hold Ctrl nede mens + du trykker bokstaven o ). Repeter for å gå enda lengre tilbake. CTRL-I + går framover. + +---> Ŧfeeeiilŧ er ikke måten å skrive Ŧfeilŧ på, feeeiil er helt feil. +Merk: Når søkingen når slutten av filen, vil den fortsette fra starten unntatt + hvis Ŧwrapscanŧ-valget er resatt. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 4.3: FINN SAMSVARENDE PARENTESER + + + ** Trykk % for å finne en samsvarende ), ] eller } . ** + + 1. Plasser markøren på en (, [ eller { på linjen nedenfor merket --->. + + 2. Trykk % . + + 3. Markøren vil gå til den samsvarende parentesen eller hakeparentesen. + + 4. Trykk % for å flytte markøren til den andre samsvarende parentesen. + + 5. Flytt markøren til en annen (, ), [, ], { eller } og se hva % gjør. + +---> Dette ( er en testlinje med (, [ ] og { } i den )). + +Merk: Dette er veldig nyttig til feilsøking i programmer som har ubalansert + antall parenteser! + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 4.4: ERSTATT-KOMMANDOEN + + + ** Skriv :s/gammel/ny/g for å erstatte Ŧgammelŧ med Ŧnyŧ. ** + + 1. Flytt markøren til linjen nedenfor som er merket med --->. + + 2. Skriv :s/deen/den/ . Legg merke til at denne kommandoen bare + forandrer den første forekomsten av Ŧdeenŧ på linjen. + + 3. Skriv :s/deen/den/g . Når g-flagget legges til, betyr dette global + erstatning på linjen og erstatter alle forekomster av Ŧdeenŧ på linjen. + +---> deen som kan kaste deen tyngste steinen lengst er deen beste + + 4. For å erstatte alle forekomster av en tekststreng mellom to linjer, + skriv :#,#s/gammel/ny/g der #,# er linjenumrene på de to linjene for + linjeområdet erstatningen skal gjøres. + Skriv :%s/gammel/ny/g for å erstatte tekst i hele filen. + Skriv :%s/gammel/ny/gc for å finne alle forekomster i hele filen, og + deretter spørre om teksten skal erstattes eller + ikke. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + OPPSUMMERING AV LEKSJON 4 + + + 1. Ctrl-G viser nåværende posisjon i filen og filstatusen. + G går til slutten av filen. + nummer G går til det linjenummeret. + gg går til den første linjen. + + 2. Skriv / etterfulgt av en søketekst for å lete FRAMOVER etter teksten. + Skriv ? etterfulgt av en søketekst for å lete BAKOVER etter teksten. + Etter et søk kan du trykke n for å finne neste forekomst i den samme + retningen eller N for å lete i motsatt retning. + CTRL-O tar deg tilbake til gamle posisjoner, CTRL-I til nyere posisjoner. + + 3. Skriv % når markøren står på en (, ), [, ], { eller } for å finne den + som samsvarer. + + 4. Erstatte Ŧgammelŧ med første Ŧnyŧ på en linje: :s/gammel/ny + Erstatte alle Ŧgammelŧ med Ŧnyŧ på en linje: :s/gammel/ny/g + Erstatte tekst mellom to linjenumre: :#,#s/gammel/ny/g + Erstatte alle forekomster i en fil: :%s/gammel/ny/g + For å godkjenne hver erstatning, legg til Ŧcŧ: :%s/gammel/ny/gc +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 5.1: HVORDAN UTFØRE EN EKSTERN KOMMANDO + + + ** Skriv :! etterfulgt av en ekstern kommando for å utføre denne. ** + + 1. Skriv den velkjente kommandoen : for å plassere markøren på bunnen av + skjermen. Dette lar deg skrive en kommandolinjekommando. + + 2. Nå kan du skrive tegnet ! . Dette lar deg utføre en hvilken som helst + ekstern kommando. + + 3. Som et eksempel, skriv ls etter utropstegnet og trykk . Du vil + nå få en liste over filene i katalogen, akkurat som om du hadde kjørt + kommandoen direkte fra kommandolinjen i skallet. Eller bruk :!dir hvis + Ŧlsŧ ikke virker. + +MERK: Det er mulig å kjøre alle eksterne kommandoer på denne måten, også med + parametere. + +MERK: Alle Ŧ:ŧ-kommandoer må avsluttes med . Fra dette punktet er det + ikke alltid vi nevner det. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 5.2: MER OM LAGRING AV FILER + + + ** For å lagre endringene gjort i en tekst, skriv :w FILNAVN. ** + + 1. Skriv :!dir eller :!ls for å få en liste over filene i katalogen. Du + vet allerede at du må trykke etter dette. + + 2. Velg et filnavn på en fil som ikke finnes, som for eksempel TEST . + + 3. Skriv :w TEST (der TEST er filnavnet du velger). + + 4. Dette lagrer hele filen (denne innføringen) under navnet TEST . For å + sjekke dette, skriv :!dir eller :!ls igjen for å se innholdet av + katalogen. + +Merk: Hvis du nå hadde avsluttet Vim og startet på nytt igjen med Ŧvim TESTŧ, + ville filen vært en eksakt kopi av innføringen da du lagret den. + + 5. Fjern filen ved å skrive :!rm TEST hvis du er på et Unix-lignende + operativsystem, eller :!del TEST hvis du bruker MS-DOS. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 5.3: VELGE TEKST SOM SKAL LAGRES + + + ** For å lagre en del av en fil, skriv v bevegelse :w FILNAVN ** + + 1. Flytt markøren til denne linjen. + + 2. Trykk v og flytt markøren til det femte elementet nedenfor. Legg merke + til at teksten blir markert. + + 3. Trykk : (kolon). På bunnen av skjermen vil :'<,'> komme til syne. + + 4. Trykk w TEST , der TEST er et filnavn som ikke finnes enda. Kontroller + at du ser :'<,'>w TEST før du trykker Enter. + + 5. Vim vil skrive de valgte linjene til filen TEST. Bruk :!dir eller :!ls + for å se den. Ikke slett den enda! Vi vil bruke den i neste leksjon. + +MERK: Ved å trykke v startes visuelt valg. Du kan flytte markøren rundt for + å gjøre det valgte området større eller mindre. Deretter kan du bruke en + operator for å gjøre noe med teksten. For eksempel sletter d teksten. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 5.4: HENTING OG SAMMENSLÅING AV FILER + + + ** For å lese inn en annen fil inn i nåværende buffer, skriv :r FILNAVN ** + + 1. Plasser markøren like over denne linjen. + +MERK: Etter å ha utført steg 2 vil du se teksten fra leksjon 5.3. Gå deretter + NED for å se denne leksjonen igjen. + + 2. Hent TEST-filen ved å bruke kommandoen :r TEST der TEST er navnet på + filen du brukte. Filen du henter blir plassert nedenfor markørlinjen. + + 3. For å sjekke at filen ble hentet, gå tilbake og se at det er to kopier av + leksjon 5.3, originalen og denne versjonen. + +MERK: Du kan også lese utdataene av en ekstern kommando. For eksempel, :r !ls + leser utdataene av ls-kommandoen og legger dem nedenfor markøren. + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + OPPSUMMERING AV LEKSJON 5 + + + 1. :!kommando utfører en ekstern kommandio. + + Noen nyttige eksempler er: + (MS-DOS) (Unix) + :!dir :!ls - List filene i katalogen. + :!del FILNAVN :!rm FILNAVN - Slett filen FILNAVN. + + 2. :w FILNAVN skriver den nåværende Vim-filen disken med navnet FILNAVN . + + 3. v bevegelse :w FILNAVN lagrer de visuelt valgte linjene til filen + FILNAVN. + + 4. :r FILNAVN henter filen FILNAVN og legger den inn nedenfor markøren. + + 5. :r !dir leser utdataene fra Ŧdirŧ-kommandoen og legger dem nedenfor + markørposisjonen. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 6.1: ŦÅPNE LINJEŧ-KOMMANDOEN + + + ** Skriv o for å Ŧåpne oppŧ for en ny linje etter markøren og gå til + innsettingsmodus ** + + 1. Flytt markøren til linjen nedenfor merket --->. + + 2. Skriv o (liten o) for å åpne opp en linje NEDENFOR markøren og gå inn i + innsettingsmodus. + + 3. Skriv litt tekst og trykk for å gå ut av innsettingsmodusen. + +---> Etter at o er skrevet blir markøren plassert på den tomme linjen. + + 4. For å åpne en ny linje OVER markøren, trykk rett og slett en stor O + istedenfor en liten o . Prøv dette på linjen nedenfor. + +---> Lag ny linje over denne ved å trykke O mens markøren er på denne linjen. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 6.2: ŦLEGG TILŧ-KOMMANDOEN + + + ** Skriv a for å legge til tekst ETTER markøren. ** + + 1. Flytt markøren til starten av linjen merket ---> nedenfor. + + 2. Trykk e til markøren er på slutten av Ŧliŧ. + + 3. Trykk a (liten a) for å legge til tekst ETTER markøren. + + 4. Fullfør ordet sånn som på linjen nedenfor. Trykk for å gå ut av + innsettingsmodusen. + + 5. Bruk e for å gå til det neste ufullstendige ordet og repeter steg 3 og + 4. + +---> Denne li lar deg øve på å leg til tek på en linje. +---> Denne linjen lar deg øve på å legge til tekst på en linje. + +Merk: a, i og A går alle til den samme innsettingsmodusen, den eneste + forskjellen er hvor tegnene blir satt inn. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 6.3: EN ANNEN MÅTE Å ERSTATTE PÅ + + + ** Skriv en stor R for å erstatte mer enn ett tegn. ** + + 1. Flytt markøren til den første linjen nedenfor merket --->. Flytt markøren + til begynnelsen av den første Ŧxxxŧ-en. + + 2. Trykk R og skriv inn tallet som står nedenfor på den andre linjen så + det erstatter xxx. + + 3. Trykk for å gå ut av erstatningsmodusen. Legg merke til at resten + av linjen forblir uforandret. + + 4. Repeter stegene for å erstatte den gjenværende xxx. + +---> Ved å legge 123 til xxx får vi xxx. +---> Ved å legge 123 til 456 får vi 579. + +MERK: Erstatningsmodus er lik insettingsmodus, men hvert tegn som skrives + erstatter et eksisterende tegn. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 6.4: KOPIERE OG LIME INN TEKST + + + ** Bruk y-operatoren for å kopiere tekst og p for å lime den inn ** + + 1. Gå til linjen merket ---> nedenfor og plasser markøren etter Ŧa)ŧ. + + 2. Gå inn i visuell modus med v og flytt markøren til like før Ŧførsteŧ. + + 3. Trykk y for å kopiere (engelsk: Ŧyankŧ) den uthevede teksten. + + 4. Flytt markøren til slutten av den neste linjen: j$ + + 5. Trykk p for å lime inn teksten. Trykk deretter: a andre . + + 6. Bruk visuell modus for å velge Ŧ valget.ŧ, kopier det med y , gå til + slutten av den neste linjen med j$ og legg inn teksten der med p . + +---> a) Dette er det første valget. + b) + +Merk: Du kan også bruke y som en operator; yw kopierer ett ord. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 6.5: SETT VALG + + + ** Sett et valg så søk eller erstatning ignorerer store/små bokstaver. ** + + 1. Let etter Ŧignoreŧ ved å skrive: /ignore + Repeter flere ganger ved å trykke n . + + 2. Sett Ŧicŧ-valget (Ignore Case) ved å skrive: :set ic + + 3. Søk etter Ŧignoreŧ igjen ved å trykke n . + Legg merke til at både ŦIgnoreŧ og ŦIGNOREŧ blir funnet. + + 4. Sett Ŧhlsearchŧ- og Ŧincsearchŧ-valgene: :set hls is + + 5. Skriv søkekommandoen igjen og se hva som skjer: /ignore + + 6. For å slå av ignorering av store/små bokstaver, skriv: :set noic + +Merk: For å fjerne uthevingen av treff, skriv: :nohlsearch +Merk: Hvis du vil ignorere store/små bokstaver for kun en søkekommando, bruk + \c i uttrykket: /ignore\c +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + OPPSUMMERING AV LEKSJON 6 + + 1. Trykk o for å legge til en linje NEDENFOR markøren og gå inn i + innsettingsmodus. + Trykk O for å åpne en linje OVER markøren. + + 2. Skriv a for å sette inn tekst ETTER markøren. + Skriv A for å sette inn tekst etter slutten av linjen. + + 3. Kommandoen e går til slutten av et ord. + + 4. Operatoren y (Ŧyankŧ) kopierer tekst, p (Ŧpasteŧ) limer den inn. + + 5. Ved å trykke R går du inn i erstatningsmodus helt til trykkes. + + 6. Skriv Ŧ:set xxxŧ for å sette valget Ŧxxxŧ. Noen valg er: + Ŧicŧ Ŧignorecaseŧ ignorer store/små bokstaver under søk + Ŧisŧ Ŧincsearchŧ vis delvise treff for en søketekst + Ŧhlsŧ Ŧhlsearchŧ uthev alle søketreff + + 7. Legg til Ŧnoŧ foran valget for å slå det av: :set noic + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 7.1: FÅ HJELP + + + ** Bruk det innebygde hjelpesystemet. ** + + Vim har et omfattende innebygget hjelpesystem. For å starte det, prøv en av + disse måtene: + - Trykk Hjelp-tasten (hvis du har en) + - Trykk F1-tasten (hvis du har en) + - Skriv :help + + Les teksten i hjelpevinduet for å finne ut hvordan hjelpen virker. + Skriv CTRL-W CTRL-W for å hoppe fra et vindu til et annet + Skriv :q for å lukke hjelpevinduet. + + Du kan få hjelp for omtrent alle temaer om Vim ved å skrive et parameter til + Ŧ:helpŧ-kommandoen. Prøv disse (ikke glem å trykke ): + + :help w + :help c_CTRL-D + :help insert-index + :help user-manual +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 7.2: LAG ET OPPSTARTSSKRIPT + + + ** Slå på funksjoner i Vim ** + + Vim har mange flere funksjoner enn Vi, men flesteparten av dem er slått av + som standard. For å begynne å bruke flere funksjoner må du lage en + Ŧvimrcŧ-fil. + + 1. Start redigeringen av Ŧvimrcŧ-filen. Dette avhenger av systemet ditt: + :e ~/.vimrc for Unix + :e $VIM/_vimrc for MS Windows + + 2. Les inn eksempelfilen for Ŧvimrcŧ: + :r $VIMRUNTIME/vimrc_example.vim + + 3. Lagre filen med: + :w + + Neste gang du starter Vim vil den bruke syntaks-utheving. Du kan legge til + alle dine foretrukne oppsett i denne Ŧvimrcŧ-filen. + For mer informasjon, skriv :help vimrc-intro +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 7.3: FULLFØRING + + + ** Kommandolinjefullføring med CTRL-D og ** + + 1. Vær sikker på at Vim ikke er i Vi-kompatibel modus: :set nocp + + 2. Se hvilke filer som er i katalogen: :!ls eller :!dir + + 3. Skriv starten på en kommando: :e + + 4. Trykk CTRL-D og Vim vil vise en liste over kommandoer som starter med + Ŧeŧ. + + 5. Trykk og Vim vil fullføre kommandonavnet til Ŧ:editŧ. + + 6. Legg til et mellomrom og starten på et eksisterende filnavn: :edit FIL + + 7. Trykk . Vim vil fullføre navnet (hvis det er unikt). + +MERK: Fullføring fungerer for mange kommandoer. Prøv ved å trykke CTRL-D og + . Det er spesielt nyttig for bruk sammen med :help . +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + OPPSUMMERING AV LEKSJON 7 + + + 1. Skriv :help eller trykk eller for å åpne et hjelpevindu. + + 2. Skriv :help kommando for å få hjelp om kommando . + + 3. Trykk CTRL-W CTRL-W for å hoppe til et annet vindu. + + 4. Trykk :q for å lukke hjelpevinduet. + + 5. Opprett et vimrc-oppstartsskript for å lagre favorittvalgene dine. + + 6. Når du skriver en Ŧ:ŧ-kommando, trykk CTRL-D for å se mulige + fullføringer. Trykk for å bruke en fullføring. + + + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Her slutter innføringen i Vim. Den var ment som en rask oversikt over + editoren, akkurat nok til å la deg sette i gang med enkel bruk. Den er på + langt nær komplett, da Vim har mange flere kommandoer. Les bruksanvisningen + ved å skrive :help user-manual . + + For videre lesing og studier, kan denne boken anbefales: + ŦVim - Vi Improvedŧ av Steve Oualline + Utgiver: New Riders + Den første boken som er fullt og helt dedisert til Vim. Spesielt nyttig for + nybegynnere. Inneholder mange eksempler og illustrasjoner. + Se http://iccf-holland.org/click5.html + + Denne boken er eldre og handler mer om Vi enn Vim, men anbefales også: + ŦLearning the Vi Editorŧ av Linda Lamb + Utgiver: O'Reilly & Associates Inc. + Det er en god bok for å få vite omtrent hva som helst om Vi. + Den sjette utgaven inneholder også informasjon om Vim. + + Denne innføringen er skrevet av Michael C. Pierce og Robert K. Ware, + Colorado School of Mines med idéer av Charles Smith, Colorado State + University. E-mail: bware@mines.colorado.edu . + + Modifisert for Vim av Bram Moolenaar. + Oversatt av Øyvind A. Holm. E-mail: vimtutor _AT_ sunbase.org + Id: tutor.no 406 2007-03-18 22:48:36Z sunny + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +vim: set ts=8 : From eeedd53f323aa5bd49f087a5476079f150e59a73 Mon Sep 17 00:00:00 2001 From: Paul Chaignon Date: Wed, 9 Mar 2016 10:38:47 +0100 Subject: [PATCH 57/62] Support for Text extension .no (Norwegian text) --- lib/linguist/languages.yml | 1 + samples/Text/tutor.no | 973 +++++++++++++++++++++++++++++++++++++ 2 files changed, 974 insertions(+) create mode 100644 samples/Text/tutor.no diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 0171e1aa..a78b40ae 100755 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -3574,6 +3574,7 @@ Text: - .fr - .nb - .ncl + - .no tm_scope: none ace_mode: text diff --git a/samples/Text/tutor.no b/samples/Text/tutor.no new file mode 100644 index 00000000..f9d49c2a --- /dev/null +++ b/samples/Text/tutor.no @@ -0,0 +1,973 @@ +=============================================================================== += V e l k o m m e n t i l i n n f ø r i n g e n i V i m -- Ver. 1.7 = +=============================================================================== + + Vim er en meget kraftig editor med mange kommandoer, alt for mange til å + kunne gå gjennom alle i en innføring som denne. Den er beregnet på å + sette deg inn i bruken av nok kommandoer så du vil være i stand til lett + å kunne bruke Vim som en editor til alle formål. + + Tiden som kreves for å gå gjennom denne innføringen tar ca. 25-30 + minutter, avhengig av hvor mye tid du bruker til eksperimentering. + + MERK: + Kommandoene i leksjonene vil modifisere teksten. Lag en kopi av denne + filen som du kan øve deg på (hvis du kjørte «vimtutor»-kommandoen, er + dette allerede en kopi). + + Det er viktig å huske at denne innføringen er beregnet på læring gjennom + bruk. Det betyr at du må utføre kommandoene for å lære dem skikkelig. + Hvis du bare leser teksten, vil du glemme kommandoene! + + Først av alt, sjekk at «Caps Lock» IKKE er aktiv og trykk «j»-tasten for + å flytte markøren helt til leksjon 1.1 fyller skjermen. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 1.1: FLYTTING AV MARKØREN + + + ** For å flytte markøren, trykk tastene h, j, k, l som vist. ** + ^ + k Tips: h-tasten er til venstre og flytter til venstre. + < h l > l-tasten er til høyre og flytter til høyre. + j j-tasten ser ut som en pil som peker nedover. + v + 1. Flytt markøren rundt på skjermen til du har fått det inn i fingrene. + + 2. Hold inne nedovertasten (j) til den repeterer. + Nå vet du hvordan du beveger deg til neste leksjon. + + 3. Gå til leksjon 1.2 ved hjelp av nedovertasten. + +Merk: Hvis du blir usikker på noe du har skrevet, trykk for å gå til + normalmodus. Skriv deretter kommandoen du ønsket på nytt. + +Merk: Piltastene skal også virke. Men ved å bruke hjkl vil du være i stand til + å bevege markøren mye raskere når du er blitt vant til det. Helt sant! + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 1.2: AVSLUTTE VIM + + + !! MERK: Før du utfører noen av punktene nedenfor, les hele leksjonen!! + + 1. Trykk -tasten (for å forsikre deg om at du er i normalmodus). + + 2. Skriv: :q! . + Dette avslutter editoren og FORKASTER alle forandringer som du har gjort. + + 3. Når du ser kommandolinjen i skallet, skriv kommandoen som startet denne + innføringen. Den er: vimtutor + + 4. Hvis du er sikker på at du husker dette, utfør punktene 1 til 3 for å + avslutte og starte editoren på nytt. + +MERK: :q! forkaster alle forandringer som du gjorde. I løpet av noen + få leksjoner vil du lære hvordan du lagrer forandringene til en fil. + + 5. Flytt markøren ned til leksjon 1.3. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 1.3: REDIGERING AV TEKST -- SLETTING + + + ** Trykk x for å slette tegnet under markøren. ** + + 1. Flytt markøren til den første linjen merket med --->. + + 2. For å ordne feilene på linjen, flytt markøren til den er oppå tegnet som + skal slettes. + + 3. Trykk tasten x for å slette det uønskede tegnet. + + 4. Repeter punkt 2 til 4 til setningen er lik den som er under. + +---> Hessstennnn brrråsnudddde ii gaaata. +---> Hesten bråsnudde i gata. + + 5. Nå som linjen er korrekt, gå til leksjon 1.4. + +MERK: Når du går gjennom innføringen, ikke bare prøv å huske kommandoene, men + bruk dem helt til de sitter. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 1.4: REDIGERING AV TEKST -- INNSETTING + + + ** Trykk i for å sette inn tekst. ** + + 1. Flytt markøren til den første linjen som er merket med --->. + + 2. For å gjøre den første linjen lik den andre, flytt markøren til den står + på tegnet ETTER posisjonen der teksten skal settes inn. + + 3. Trykk i og skriv inn teksten som mangler. + + 4. Etterhvert som hver feil er fikset, trykk for å returnere til + normalmodus. Repeter punkt 2 til 4 til setningen er korrekt. + +---> Det er tkst som mnglr . +---> Det er ganske mye tekst som mangler her. + + 5. Når du føler deg komfortabel med å sette inn tekst, gå til oppsummeringen + nedenfor. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 1.5: REDIGERING AV TEKST -- LEGGE TIL + + + ** Trykk A for å legge til tekst. ** + + 1. Flytt markøren til den første linjen nedenfor merket --->. + Det har ikke noe å si hvor markøren er plassert på den linjen. + + 2. Trykk A og skriv inn det som skal legges til. + + 3. Når teksten er lagt til, trykk for å returnere til normalmodusen. + + 4. Flytt markøren til den andre linjen markert med ---> og repeter steg 2 og + 3 for å reparere denne setningen. + +---> Det mangler noe tekst p + Det mangler noe tekst på denne linjen. +---> Det mangler også litt tek + Det mangler også litt tekst på denne linjen. + + 5. Når du føler at du behersker å legge til tekst, gå til leksjon 1.6. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 1.6: REDIGERE EN FIL + + + ** Bruk :wq for å lagre en fil og avslutte. ** + + !! MERK: Før du utfører noen av stegene nedenfor, les hele denne leksjonen!! + + 1. Avslutt denne innføringen som du gjorde i leksjon 1.2: :q! + + 2. Skriv denne kommandoen på kommandolinja: vim tutor + «vim» er kommandoen for å starte Vim-editoren, «tutor» er navnet på fila + som du vil redigere. Bruk en fil som kan forandres. + + 3. Sett inn og slett tekst som du lærte i de foregående leksjonene. + + 4. Lagre filen med forandringene og avslutt Vim med: :wq + + 5. Start innføringen på nytt og flytt ned til oppsummeringen som følger. + + 6. Etter å ha lest og forstått stegene ovenfor: Sett i gang. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + OPPSUMMERING AV LEKSJON 1 + + + 1. Markøren beveges ved hjelp av piltastene eller hjkl-tastene. + h (venstre) j (ned) k (opp) l (høyre) + + 2. For å starte Vim fra skall-kommandolinjen, skriv: vim FILNAVN + + 3. For å avslutte Vim, skriv: :q! for å forkaste endringer. + ELLER skriv: :wq for å lagre forandringene. + + 4. For å slette tegnet under markøren, trykk: x + + 5. For å sette inn eller legge til tekst, trykk: + i skriv innsatt tekst sett inn før markøren + A skriv tillagt tekst legg til på slutten av linjen + +MERK: Når du trykker går du til normalmodus eller du avbryter en uønsket + og delvis fullført kommando. + + Nå kan du gå videre til leksjon 2. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 2.1: SLETTEKOMMANDOER + + + ** Trykk dw for å slette et ord. ** + + 1. Trykk for å være sikker på at du er i normalmodus. + + 2. Flytt markøren til den første linjen nedenfor merket --->. + + 3. Flytt markøren til begynnelsen av ordet som skal slettes. + + 4. Trykk dw og ordet vil forsvinne. + +MERK: Bokstaven d vil komme til syne på den nederste linjen på skjermen når + du skriver den. Vim venter på at du skal skrive w . Hvis du ser et annet + tegn enn d har du skrevet noe feil; trykk og start på nytt. + +---> Det er agurk tre ord eple som ikke hører pære hjemme i denne setningen. +---> Det er tre ord som ikke hører hjemme i denne setningen. + + 5. Repeter punkt 3 og 4 til den første setningen er lik den andre. Gå + deretter til leksjon 2.2. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 2.2: FLERE SLETTEKOMMANDOER + + + ** Trykk d$ for å slette til slutten av linjen. ** + + 1. Trykk for å være sikker på at du er i normalmodus. + + 2. Flytt markøren til linjen nedenfor merket --->. + + 3. Flytt markøren til punktet der linjen skal kuttes (ETTER første punktum). + + 4. Trykk d$ for å slette alt til slutten av linjen. + +---> Noen skrev slutten på linjen en gang for mye. linjen en gang for mye. + + 5. Gå til leksjon 2.3 for å forstå hva som skjer. + + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 2.3: OM OPERATORER OG BEVEGELSER + + + Mange kommandoer som forandrer teksten er laget ut i fra en operator og en + bevegelse. Formatet for en slettekommando med sletteoperatoren d er: + + d bevegelse + + Der: + d - er sletteoperatoren. + bevegelse - er hva operatoren vil opere på (listet nedenfor). + + En kort liste med bevegelser: + w - til starten av det neste ordet, UNNTATT det første tegnet. + e - til slutten av det nåværende ordet, INKLUDERT det siste tegnet. + $ - til slutten av linjen, INKLUDERT det siste tegnet. + + Ved å skrive de vil altså alt fra markøren til slutten av ordet bli + slettet. + +MERK: Ved å skrive kun bevegelsen i normalmodusen uten en operator vil + markøren flyttes som spesifisert. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + LEKSJON 2.4: BRUK AV TELLER FOR EN BEVEGELSE + + + ** Ved å skrive et tall foran en bevegelse repeterer den så mange ganger. ** + + 1. Flytt markøren til starten av linjen markert ---> nedenfor. + + 2. Skriv 2w for å flytte markøren to ord framover. + + 3. Skriv 3e for å flytte markøren framover til slutten av det tredje + ordet. + + 4. Skriv 0 (null) for å flytte til starten av linjen. + + 5. Repeter steg 2 og 3 med forskjellige tall. + +---> Dette er en linje med noen ord som du kan bevege deg rundt på. + + 6. Gå videre til leksjon 2.5. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 2.5: BRUK AV ANTALL FOR Å SLETTE MER + + + ** Et tall sammen med en operator repeterer den så mange ganger. ** + + I kombinasjonen med sletteoperatoren og en bevegelse nevnt ovenfor setter du + inn antall før bevegelsen for å slette mer: + d nummer bevegelse + + 1. Flytt markøren til det første ordet med STORE BOKSTAVER på linjen markert + med --->. + + 2. Skriv 2dw for å slette de to ordene med store bokstaver. + + 3. Repeter steg 1 og 2 med forskjelling antall for å slette de etterfølgende + ordene som har store bokstaver. + +---> Denne ABC DE linjen FGHI JK LMN OP er nå Q RS TUV litt mer lesbar. + +MERK: Et antall mellom operatoren d og bevegelsen virker på samme måte som å + bruke bevegelsen uten en operator. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 2.6: OPERERE PÅ LINJER + + + ** Trykk dd for å slette en hel linje. ** + + På grunn av at sletting av linjer er mye brukt, fant utviklerne av Vi ut at + det vil være lettere å rett og slett trykke to d-er for å slette en linje. + + 1. Flytt markøren til den andre linjen i verset nedenfor. + 2. Trykk dd å slette linjen. + 3. Flytt deretter til den fjerde linjen. + 4. Trykk 2dd for å slette to linjer. + +---> 1) Roser er røde, +---> 2) Gjørme er gøy, +---> 3) Fioler er blå, +---> 4) Jeg har en bil, +---> 5) Klokker viser tiden, +---> 6) Druer er søte +---> 7) Og du er likeså. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 2.7: ANGRE-KOMMANDOEN + + + ** Trykk u for å angre siste kommando, U for å fikse en hel linje. ** + + 1. Flytt markøren til linjen nedenfor merket ---> og plasser den på den + første feilen. + 2. Trykk x for å slette det første uønskede tegnet. + 3. Trykk så u for å angre den siste utførte kommandoen. + 4. Deretter ordner du alle feilene på linjene ved å bruke kommandoen x . + 5. Trykk nå en stor U for å sette linjen tilbake til det den var + originalt. + 6. Trykk u noen ganger for å angre U og foregående kommandoer. + 7. Deretter trykker du CTRL-R (hold CTRL nede mens du trykker R) noen + ganger for å gjenopprette kommandoene (omgjøre angrekommandoene). + +---> RReparer feiilene påå denne linnnjen oog erssstatt dem meed angre. + + 8. Dette er meget nyttige kommandoer. Nå kan du gå til oppsummeringen av + leksjon 2. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + OPPSUMMERING AV LEKSJON 2 + + + 1. For å slette fra markøren fram til det neste ordet, trykk: dw + 2. For å slette fra markøren til slutten av en linje, trykk: d$ + 3. For å slette en hel linje, trykk: dd + + 4. For å repetere en bevegelse, sett et nummer foran: 2w + 5. Formatet for en forandringskommando er: + operator [nummer] bevegelse + der: + operator - hva som skal gjøres, f.eks. d for å slette + [nummer] - et valgfritt antall for å repetere bevegelsen + bevegelse - hva kommandoen skal operere på, eksempelvis w (ord), + $ (til slutten av linjen) og så videre. + + 6. For å gå til starten av en linje, bruk en null: 0 + + 7. For å angre tidligere endringer, skriv: u (liten u) + For å angre alle forandringer på en linje, skriv: U (stor U) + For å omgjøre angringen, trykk: CTRL-R + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 3.1: «LIM INN»-KOMMANDOEN + + + ** Trykk p for å lime inn tidligere slettet tekst etter markøren ** + + 1. Flytt markøren til den første linjen med ---> nedenfor. + + 2. Trykk dd for å slette linjen og lagre den i et Vim-register. + + 3. Flytt markøren til c)-linjen, OVER posisjonen linjen skal settes inn. + + 4. Trykk p for å legge linjen under markøren. + + 5. Repeter punkt 2 til 4 helt til linjene er i riktig rekkefølge. + +---> d) Kan du også lære? +---> b) Fioler er blå, +---> c) Intelligens må læres, +---> a) Roser er røde, + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 3.2: «ERSTATT»-KOMMANDOEN + + + ** Trykk rx for å erstatte tegnet under markøren med x. ** + + 1. Flytt markøren til den første linjen nedenfor merket --->. + + 2. Flytt markøren så den står oppå den første feilen. + + 3. Trykk r og deretter tegnet som skal være der. + + 4. Repeter punkt 2 og 3 til den første linjen er lik den andre. + +---> Da dfnne lynjxn ble zkrevet, var det nøen som tjykket feite taster! +---> Da denne linjen ble skrevet, var det noen som trykket feile taster! + + 5. Gå videre til leksjon 3.2. + +MERK: Husk at du bør lære ved å BRUKE, ikke pugge. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 3.3: «FORANDRE»-OPERATOREN + + + ** For å forandre til slutten av et ord, trykk ce . ** + + 1. Flytt markøren til den første linjen nedenfor som er merket --->. + + 2. Plasser markøren på u i «lubjwr». + + 3. Trykk ce og det korrekte ordet (i dette tilfellet, skriv «injen»). + + 4. Trykk og gå til det neste tegnet som skal forandres. + + 5. Repeter punkt 3 og 4 helt til den første setningen er lik den andre. + +---> Denne lubjwr har noen wgh som må forkwåp med «forækzryas»-kommandoen. +---> Denne linjen har noen ord som må forandres med «forandre»-kommandoen. + +Vær oppmerksom på at ce sletter ordet og går inn i innsettingsmodus. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 3.4: FLERE FORANDRINGER VED BRUK AV c + + + ** Forandringskommandoen blir brukt med de samme bevegelser som «slett». ** + + 1. Forandringsoperatoren fungerer på samme måte som «slett». Formatet er: + + c [nummer] bevegelse + + 2. Bevegelsene er de samme, som for eksempel w (ord) og $ (slutten av en + linje). + + 3. Gå til den første linjen nedenfor som er merket --->. + + 4. Flytt markøren til den første feilen. + + 5. Skriv c$ og skriv resten av linjen lik den andre og trykk . + +---> Slutten på denne linjen trenger litt hjelp for å gjøre den lik den neste. +---> Slutten på denne linjen trenger å bli rettet ved bruk av c$-kommandoen. + +MERK: Du kan bruke slettetasten for å rette feil mens du skriver. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + OPPSUMMERING AV LEKSJON 3 + + + 1. For å legge tilbake tekst som nettopp er blitt slettet, trykk p . Dette + limer inn den slettede teksten ETTER markøren (hvis en linje ble slettet + vil den bli limt inn på linjen under markøren). + + 2. For å erstatte et tegn under markøren, trykk r og deretter tegnet som + du vil ha der. + + 3. Forandringsoperatoren lar deg forandre fra markøren til dit bevegelsen + tar deg. Det vil si, skriv ce for å forandre fra markøren til slutten + av ordet, c$ for å forandre til slutten av linjen. + + 4. Formatet for «forandre» er: + + c [nummer] bevegelse + +Nå kan du gå til neste leksjon. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 4.1: POSISJONERING AV MARKØREN OG FILSTATUS + + ** Trykk CTRL-G for å vise posisjonen i filen og filstatusen. + Trykk G for å gå til en spesifikk linje i filen. ** + + Merk: Les hele leksjonen før du utfører noen av punktene! + + 1. Hold nede Ctrl-tasten og trykk g . Vi kaller dette CTRL-G. En melding + vil komme til syne på bunnen av skjermen med filnavnet og posisjonen i + filen. Husk linjenummeret for bruk i steg 3. + +Merk: Du kan se markørposisjonen i nederste høyre hjørne av skjermen. Dette + skjer når «ruler»-valget er satt (forklart i leksjon 6). + + 2. Trykk G for å gå til bunnen av filen. + Skriv gg for å gå til begynnelsen av filen. + + 3. Skriv inn linjenummeret du var på og deretter G . Dette vil føre deg + tilbake til linjen du var på da du først trykket CTRL-G. + + 4. Utfør steg 1 til 3 hvis du føler deg sikker på prosedyren. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 4.2: SØKEKOMMANDOEN + + ** Skriv / etterfulgt av en søkestreng som du vil lete etter. ** + + 1. Trykk / når du er i normalmodusen. Legg merke til at skråstreken og + markøren kommer til syne på bunnen av skjermen i likhet med + «:»-kommandoene. + + 2. Skriv «feeeiil» og trykk . Dette er teksten du vil lete etter. + + 3. For å finne neste forekomst av søkestrengen, trykk n . + For å lete etter samme søketeksten i motsatt retning, trykk N . + + 4. For å lete etter en tekst bakover i filen, bruk ? istedenfor / . + + 5. For å gå tilbake til der du kom fra, trykk CTRL-O (Hold Ctrl nede mens + du trykker bokstaven o ). Repeter for å gå enda lengre tilbake. CTRL-I + går framover. + +---> «feeeiil» er ikke måten å skrive «feil» på, feeeiil er helt feil. +Merk: Når søkingen når slutten av filen, vil den fortsette fra starten unntatt + hvis «wrapscan»-valget er resatt. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 4.3: FINN SAMSVARENDE PARENTESER + + + ** Trykk % for å finne en samsvarende ), ] eller } . ** + + 1. Plasser markøren på en (, [ eller { på linjen nedenfor merket --->. + + 2. Trykk % . + + 3. Markøren vil gå til den samsvarende parentesen eller hakeparentesen. + + 4. Trykk % for å flytte markøren til den andre samsvarende parentesen. + + 5. Flytt markøren til en annen (, ), [, ], { eller } og se hva % gjør. + +---> Dette ( er en testlinje med (, [ ] og { } i den )). + +Merk: Dette er veldig nyttig til feilsøking i programmer som har ubalansert + antall parenteser! + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 4.4: ERSTATT-KOMMANDOEN + + + ** Skriv :s/gammel/ny/g for å erstatte «gammel» med «ny». ** + + 1. Flytt markøren til linjen nedenfor som er merket med --->. + + 2. Skriv :s/deen/den/ . Legg merke til at denne kommandoen bare + forandrer den første forekomsten av «deen» på linjen. + + 3. Skriv :s/deen/den/g . Når g-flagget legges til, betyr dette global + erstatning på linjen og erstatter alle forekomster av «deen» på linjen. + +---> deen som kan kaste deen tyngste steinen lengst er deen beste + + 4. For å erstatte alle forekomster av en tekststreng mellom to linjer, + skriv :#,#s/gammel/ny/g der #,# er linjenumrene på de to linjene for + linjeområdet erstatningen skal gjøres. + Skriv :%s/gammel/ny/g for å erstatte tekst i hele filen. + Skriv :%s/gammel/ny/gc for å finne alle forekomster i hele filen, og + deretter spørre om teksten skal erstattes eller + ikke. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + OPPSUMMERING AV LEKSJON 4 + + + 1. Ctrl-G viser nåværende posisjon i filen og filstatusen. + G går til slutten av filen. + nummer G går til det linjenummeret. + gg går til den første linjen. + + 2. Skriv / etterfulgt av en søketekst for å lete FRAMOVER etter teksten. + Skriv ? etterfulgt av en søketekst for å lete BAKOVER etter teksten. + Etter et søk kan du trykke n for å finne neste forekomst i den samme + retningen eller N for å lete i motsatt retning. + CTRL-O tar deg tilbake til gamle posisjoner, CTRL-I til nyere posisjoner. + + 3. Skriv % når markøren står på en (, ), [, ], { eller } for å finne den + som samsvarer. + + 4. Erstatte «gammel» med første «ny» på en linje: :s/gammel/ny + Erstatte alle «gammel» med «ny» på en linje: :s/gammel/ny/g + Erstatte tekst mellom to linjenumre: :#,#s/gammel/ny/g + Erstatte alle forekomster i en fil: :%s/gammel/ny/g + For å godkjenne hver erstatning, legg til «c»: :%s/gammel/ny/gc +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 5.1: HVORDAN UTFØRE EN EKSTERN KOMMANDO + + + ** Skriv :! etterfulgt av en ekstern kommando for å utføre denne. ** + + 1. Skriv den velkjente kommandoen : for å plassere markøren på bunnen av + skjermen. Dette lar deg skrive en kommandolinjekommando. + + 2. Nå kan du skrive tegnet ! . Dette lar deg utføre en hvilken som helst + ekstern kommando. + + 3. Som et eksempel, skriv ls etter utropstegnet og trykk . Du vil + nå få en liste over filene i katalogen, akkurat som om du hadde kjørt + kommandoen direkte fra kommandolinjen i skallet. Eller bruk :!dir hvis + «ls» ikke virker. + +MERK: Det er mulig å kjøre alle eksterne kommandoer på denne måten, også med + parametere. + +MERK: Alle «:»-kommandoer må avsluttes med . Fra dette punktet er det + ikke alltid vi nevner det. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 5.2: MER OM LAGRING AV FILER + + + ** For å lagre endringene gjort i en tekst, skriv :w FILNAVN. ** + + 1. Skriv :!dir eller :!ls for å få en liste over filene i katalogen. Du + vet allerede at du må trykke etter dette. + + 2. Velg et filnavn på en fil som ikke finnes, som for eksempel TEST . + + 3. Skriv :w TEST (der TEST er filnavnet du velger). + + 4. Dette lagrer hele filen (denne innføringen) under navnet TEST . For å + sjekke dette, skriv :!dir eller :!ls igjen for å se innholdet av + katalogen. + +Merk: Hvis du nå hadde avsluttet Vim og startet på nytt igjen med «vim TEST», + ville filen vært en eksakt kopi av innføringen da du lagret den. + + 5. Fjern filen ved å skrive :!rm TEST hvis du er på et Unix-lignende + operativsystem, eller :!del TEST hvis du bruker MS-DOS. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 5.3: VELGE TEKST SOM SKAL LAGRES + + + ** For å lagre en del av en fil, skriv v bevegelse :w FILNAVN ** + + 1. Flytt markøren til denne linjen. + + 2. Trykk v og flytt markøren til det femte elementet nedenfor. Legg merke + til at teksten blir markert. + + 3. Trykk : (kolon). På bunnen av skjermen vil :'<,'> komme til syne. + + 4. Trykk w TEST , der TEST er et filnavn som ikke finnes enda. Kontroller + at du ser :'<,'>w TEST før du trykker Enter. + + 5. Vim vil skrive de valgte linjene til filen TEST. Bruk :!dir eller :!ls + for å se den. Ikke slett den enda! Vi vil bruke den i neste leksjon. + +MERK: Ved å trykke v startes visuelt valg. Du kan flytte markøren rundt for + å gjøre det valgte området større eller mindre. Deretter kan du bruke en + operator for å gjøre noe med teksten. For eksempel sletter d teksten. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 5.4: HENTING OG SAMMENSLÅING AV FILER + + + ** For å lese inn en annen fil inn i nåværende buffer, skriv :r FILNAVN ** + + 1. Plasser markøren like over denne linjen. + +MERK: Etter å ha utført steg 2 vil du se teksten fra leksjon 5.3. Gå deretter + NED for å se denne leksjonen igjen. + + 2. Hent TEST-filen ved å bruke kommandoen :r TEST der TEST er navnet på + filen du brukte. Filen du henter blir plassert nedenfor markørlinjen. + + 3. For å sjekke at filen ble hentet, gå tilbake og se at det er to kopier av + leksjon 5.3, originalen og denne versjonen. + +MERK: Du kan også lese utdataene av en ekstern kommando. For eksempel, :r !ls + leser utdataene av ls-kommandoen og legger dem nedenfor markøren. + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + OPPSUMMERING AV LEKSJON 5 + + + 1. :!kommando utfører en ekstern kommandio. + + Noen nyttige eksempler er: + (MS-DOS) (Unix) + :!dir :!ls - List filene i katalogen. + :!del FILNAVN :!rm FILNAVN - Slett filen FILNAVN. + + 2. :w FILNAVN skriver den nåværende Vim-filen disken med navnet FILNAVN . + + 3. v bevegelse :w FILNAVN lagrer de visuelt valgte linjene til filen + FILNAVN. + + 4. :r FILNAVN henter filen FILNAVN og legger den inn nedenfor markøren. + + 5. :r !dir leser utdataene fra «dir»-kommandoen og legger dem nedenfor + markørposisjonen. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 6.1: «ÅPNE LINJE»-KOMMANDOEN + + + ** Skriv o for å «åpne opp» for en ny linje etter markøren og gå til + innsettingsmodus ** + + 1. Flytt markøren til linjen nedenfor merket --->. + + 2. Skriv o (liten o) for å åpne opp en linje NEDENFOR markøren og gå inn i + innsettingsmodus. + + 3. Skriv litt tekst og trykk for å gå ut av innsettingsmodusen. + +---> Etter at o er skrevet blir markøren plassert på den tomme linjen. + + 4. For å åpne en ny linje OVER markøren, trykk rett og slett en stor O + istedenfor en liten o . Prøv dette på linjen nedenfor. + +---> Lag ny linje over denne ved å trykke O mens markøren er på denne linjen. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 6.2: «LEGG TIL»-KOMMANDOEN + + + ** Skriv a for å legge til tekst ETTER markøren. ** + + 1. Flytt markøren til starten av linjen merket ---> nedenfor. + + 2. Trykk e til markøren er på slutten av «li». + + 3. Trykk a (liten a) for å legge til tekst ETTER markøren. + + 4. Fullfør ordet sånn som på linjen nedenfor. Trykk for å gå ut av + innsettingsmodusen. + + 5. Bruk e for å gå til det neste ufullstendige ordet og repeter steg 3 og + 4. + +---> Denne li lar deg øve på å leg til tek på en linje. +---> Denne linjen lar deg øve på å legge til tekst på en linje. + +Merk: a, i og A går alle til den samme innsettingsmodusen, den eneste + forskjellen er hvor tegnene blir satt inn. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 6.3: EN ANNEN MÅTE Å ERSTATTE PÅ + + + ** Skriv en stor R for å erstatte mer enn ett tegn. ** + + 1. Flytt markøren til den første linjen nedenfor merket --->. Flytt markøren + til begynnelsen av den første «xxx»-en. + + 2. Trykk R og skriv inn tallet som står nedenfor på den andre linjen så + det erstatter xxx. + + 3. Trykk for å gå ut av erstatningsmodusen. Legg merke til at resten + av linjen forblir uforandret. + + 4. Repeter stegene for å erstatte den gjenværende xxx. + +---> Ved å legge 123 til xxx får vi xxx. +---> Ved å legge 123 til 456 får vi 579. + +MERK: Erstatningsmodus er lik insettingsmodus, men hvert tegn som skrives + erstatter et eksisterende tegn. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 6.4: KOPIERE OG LIME INN TEKST + + + ** Bruk y-operatoren for å kopiere tekst og p for å lime den inn ** + + 1. Gå til linjen merket ---> nedenfor og plasser markøren etter «a)». + + 2. Gå inn i visuell modus med v og flytt markøren til like før «første». + + 3. Trykk y for å kopiere (engelsk: «yank») den uthevede teksten. + + 4. Flytt markøren til slutten av den neste linjen: j$ + + 5. Trykk p for å lime inn teksten. Trykk deretter: a andre . + + 6. Bruk visuell modus for å velge « valget.», kopier det med y , gå til + slutten av den neste linjen med j$ og legg inn teksten der med p . + +---> a) Dette er det første valget. + b) + +Merk: Du kan også bruke y som en operator; yw kopierer ett ord. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 6.5: SETT VALG + + + ** Sett et valg så søk eller erstatning ignorerer store/små bokstaver. ** + + 1. Let etter «ignore» ved å skrive: /ignore + Repeter flere ganger ved å trykke n . + + 2. Sett «ic»-valget (Ignore Case) ved å skrive: :set ic + + 3. Søk etter «ignore» igjen ved å trykke n . + Legg merke til at både «Ignore» og «IGNORE» blir funnet. + + 4. Sett «hlsearch»- og «incsearch»-valgene: :set hls is + + 5. Skriv søkekommandoen igjen og se hva som skjer: /ignore + + 6. For å slå av ignorering av store/små bokstaver, skriv: :set noic + +Merk: For å fjerne uthevingen av treff, skriv: :nohlsearch +Merk: Hvis du vil ignorere store/små bokstaver for kun en søkekommando, bruk + \c i uttrykket: /ignore\c +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + OPPSUMMERING AV LEKSJON 6 + + 1. Trykk o for å legge til en linje NEDENFOR markøren og gå inn i + innsettingsmodus. + Trykk O for å åpne en linje OVER markøren. + + 2. Skriv a for å sette inn tekst ETTER markøren. + Skriv A for å sette inn tekst etter slutten av linjen. + + 3. Kommandoen e går til slutten av et ord. + + 4. Operatoren y («yank») kopierer tekst, p («paste») limer den inn. + + 5. Ved å trykke R går du inn i erstatningsmodus helt til trykkes. + + 6. Skriv «:set xxx» for å sette valget «xxx». Noen valg er: + «ic» «ignorecase» ignorer store/små bokstaver under søk + «is» «incsearch» vis delvise treff for en søketekst + «hls» «hlsearch» uthev alle søketreff + + 7. Legg til «no» foran valget for å slå det av: :set noic + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 7.1: FÅ HJELP + + + ** Bruk det innebygde hjelpesystemet. ** + + Vim har et omfattende innebygget hjelpesystem. For å starte det, prøv en av + disse måtene: + - Trykk Hjelp-tasten (hvis du har en) + - Trykk F1-tasten (hvis du har en) + - Skriv :help + + Les teksten i hjelpevinduet for å finne ut hvordan hjelpen virker. + Skriv CTRL-W CTRL-W for å hoppe fra et vindu til et annet + Skriv :q for å lukke hjelpevinduet. + + Du kan få hjelp for omtrent alle temaer om Vim ved å skrive et parameter til + «:help»-kommandoen. Prøv disse (ikke glem å trykke ): + + :help w + :help c_CTRL-D + :help insert-index + :help user-manual +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 7.2: LAG ET OPPSTARTSSKRIPT + + + ** Slå på funksjoner i Vim ** + + Vim har mange flere funksjoner enn Vi, men flesteparten av dem er slått av + som standard. For å begynne å bruke flere funksjoner må du lage en + «vimrc»-fil. + + 1. Start redigeringen av «vimrc»-filen. Dette avhenger av systemet ditt: + :e ~/.vimrc for Unix + :e $VIM/_vimrc for MS Windows + + 2. Les inn eksempelfilen for «vimrc»: + :r $VIMRUNTIME/vimrc_example.vim + + 3. Lagre filen med: + :w + + Neste gang du starter Vim vil den bruke syntaks-utheving. Du kan legge til + alle dine foretrukne oppsett i denne «vimrc»-filen. + For mer informasjon, skriv :help vimrc-intro +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leksjon 7.3: FULLFØRING + + + ** Kommandolinjefullføring med CTRL-D og ** + + 1. Vær sikker på at Vim ikke er i Vi-kompatibel modus: :set nocp + + 2. Se hvilke filer som er i katalogen: :!ls eller :!dir + + 3. Skriv starten på en kommando: :e + + 4. Trykk CTRL-D og Vim vil vise en liste over kommandoer som starter med + «e». + + 5. Trykk og Vim vil fullføre kommandonavnet til «:edit». + + 6. Legg til et mellomrom og starten på et eksisterende filnavn: :edit FIL + + 7. Trykk . Vim vil fullføre navnet (hvis det er unikt). + +MERK: Fullføring fungerer for mange kommandoer. Prøv ved å trykke CTRL-D og + . Det er spesielt nyttig for bruk sammen med :help . +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + OPPSUMMERING AV LEKSJON 7 + + + 1. Skriv :help eller trykk eller for å åpne et hjelpevindu. + + 2. Skriv :help kommando for å få hjelp om kommando . + + 3. Trykk CTRL-W CTRL-W for å hoppe til et annet vindu. + + 4. Trykk :q for å lukke hjelpevinduet. + + 5. Opprett et vimrc-oppstartsskript for å lagre favorittvalgene dine. + + 6. Når du skriver en «:»-kommando, trykk CTRL-D for å se mulige + fullføringer. Trykk for å bruke en fullføring. + + + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Her slutter innføringen i Vim. Den var ment som en rask oversikt over + editoren, akkurat nok til å la deg sette i gang med enkel bruk. Den er på + langt nær komplett, da Vim har mange flere kommandoer. Les bruksanvisningen + ved å skrive :help user-manual . + + For videre lesing og studier, kan denne boken anbefales: + «Vim - Vi Improved» av Steve Oualline + Utgiver: New Riders + Den første boken som er fullt og helt dedisert til Vim. Spesielt nyttig for + nybegynnere. Inneholder mange eksempler og illustrasjoner. + Se http://iccf-holland.org/click5.html + + Denne boken er eldre og handler mer om Vi enn Vim, men anbefales også: + «Learning the Vi Editor» av Linda Lamb + Utgiver: O'Reilly & Associates Inc. + Det er en god bok for å få vite omtrent hva som helst om Vi. + Den sjette utgaven inneholder også informasjon om Vim. + + Denne innføringen er skrevet av Michael C. Pierce og Robert K. Ware, + Colorado School of Mines med idéer av Charles Smith, Colorado State + University. E-mail: bware@mines.colorado.edu . + + Modifisert for Vim av Bram Moolenaar. + Oversatt av Øyvind A. Holm. E-mail: vimtutor _AT_ sunbase.org + Id: tutor.no 406 2007-03-18 22:48:36Z sunny + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +vim: set ts=8 : From 3ccb548b6d3aa4353921ebacfa05b9b8aad586f8 Mon Sep 17 00:00:00 2001 From: Paul Chaignon Date: Wed, 9 Mar 2016 11:29:25 +0100 Subject: [PATCH 58/62] Support for YAML .sublime-syntax extension --- lib/linguist/languages.yml | 1 + samples/YAML/HexInspect.sublime-syntax | 29 ++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 samples/YAML/HexInspect.sublime-syntax diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 442117a0..abe558a4 100755 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -3963,6 +3963,7 @@ YAML: - .yml - .reek - .rviz + - .sublime-syntax - .syntax - .yaml - .yaml-tmlanguage diff --git a/samples/YAML/HexInspect.sublime-syntax b/samples/YAML/HexInspect.sublime-syntax new file mode 100644 index 00000000..76f97bd1 --- /dev/null +++ b/samples/YAML/HexInspect.sublime-syntax @@ -0,0 +1,29 @@ +%YAML 1.2 +--- +# http://www.sublimetext.com/docs/3/syntax.html +name: Hex Inspect +file_extensions: [] +hidden: true +scope: source.inspect +contexts: + main: + - match: '([\w\-]+)\s*(:)\s*' + captures: + 1: support.function.key.inspect + 2: support.function.punctuation.inspect + push: + - meta_scope: item.inspect + - match: '([\d\-\w]+)' + captures: + 1: data.inspect + pop: true + - match: '^(\s*[\w\-\s]+)\s*(:)\s*' + captures: + 1: keyword.title.inspect + 2: keyword.title-punctuation.inspect + push: + - meta_scope: item.inspect + - match: $ + pop: true + - match: '[\w\s]+' + scope: title-info.inspect From 8cd80801e81072f3ccd085c596b6a1e702baad4f Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Wed, 9 Mar 2016 06:15:41 -0600 Subject: [PATCH 59/62] Fixing indentation --- lib/linguist/heuristics.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/linguist/heuristics.rb b/lib/linguist/heuristics.rb index 895bfa20..5c27ca03 100644 --- a/lib/linguist/heuristics.rb +++ b/lib/linguist/heuristics.rb @@ -322,9 +322,9 @@ module Linguist end disambiguate ".rpy" do |data| - if /(^(import|from|class|def)[\s\S])/m.match(data) + if /(^(import|from|class|def)[\s\S])/m.match(data) Language["Python"] - else + else Language["Ren'Py"] end end From b032886c21d8397ca0be56fa91b5454e2f16d7c1 Mon Sep 17 00:00:00 2001 From: Lars Brinkhoff Date: Tue, 12 May 2015 13:22:10 +0200 Subject: [PATCH 60/62] Add .me and other text filenames. click.me by Bram Moolenaar; VIM license. --- lib/linguist/languages.yml | 11 +++++++++++ samples/Text/filenames/README.me | 1 + samples/Text/filenames/click.me | 9 +++++++++ samples/Text/filenames/delete.me | 1 + samples/Text/filenames/keep.me | 1 + samples/Text/filenames/read.me | 1 + samples/Text/filenames/test.me | 1 + 7 files changed, 25 insertions(+) create mode 100644 samples/Text/filenames/README.me create mode 100644 samples/Text/filenames/click.me create mode 100644 samples/Text/filenames/delete.me create mode 100644 samples/Text/filenames/keep.me create mode 100644 samples/Text/filenames/read.me create mode 100644 samples/Text/filenames/test.me diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 6f0bf16e..ae730da5 100755 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -3574,6 +3574,17 @@ Text: - .txt - .fr - .ncl + filenames: + - COPYING + - INSTALL + - LICENSE + - NEWS + - README.me + - click.me + - delete.me + - keep.me + - read.me + - test.me tm_scope: none ace_mode: text diff --git a/samples/Text/filenames/README.me b/samples/Text/filenames/README.me new file mode 100644 index 00000000..82a79018 --- /dev/null +++ b/samples/Text/filenames/README.me @@ -0,0 +1 @@ +Please read me. diff --git a/samples/Text/filenames/click.me b/samples/Text/filenames/click.me new file mode 100644 index 00000000..c2ed4691 --- /dev/null +++ b/samples/Text/filenames/click.me @@ -0,0 +1,9 @@ + +To run the "Conway's game of life" macros: + + 1. Type ":so life.vim". This loads the macros. + 2. Type "g" to run the macros. + 3. Type CTRL-C to interrupt. + 4. Type ":q!" to get out. + +See life.vim for more advanced usage. diff --git a/samples/Text/filenames/delete.me b/samples/Text/filenames/delete.me new file mode 100644 index 00000000..8f0b7e42 --- /dev/null +++ b/samples/Text/filenames/delete.me @@ -0,0 +1 @@ +Delete me. diff --git a/samples/Text/filenames/keep.me b/samples/Text/filenames/keep.me new file mode 100644 index 00000000..23913ab5 --- /dev/null +++ b/samples/Text/filenames/keep.me @@ -0,0 +1 @@ +Keep me. diff --git a/samples/Text/filenames/read.me b/samples/Text/filenames/read.me new file mode 100644 index 00000000..a6e6af0d --- /dev/null +++ b/samples/Text/filenames/read.me @@ -0,0 +1 @@ +Read me now! diff --git a/samples/Text/filenames/test.me b/samples/Text/filenames/test.me new file mode 100644 index 00000000..58ebd8a9 --- /dev/null +++ b/samples/Text/filenames/test.me @@ -0,0 +1 @@ +Test me. From 6f8a7d1070dfd847ab12a6ba093cd1c7e589b65b Mon Sep 17 00:00:00 2001 From: Lars Brinkhoff Date: Tue, 12 May 2015 14:04:29 +0200 Subject: [PATCH 61/62] Exclude 'filenames' from all_fixtures. --- test/test_heuristics.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/test_heuristics.rb b/test/test_heuristics.rb index 702320e9..7021e20b 100644 --- a/test/test_heuristics.rb +++ b/test/test_heuristics.rb @@ -13,7 +13,8 @@ class TestHeuristcs < Minitest::Test end def all_fixtures(language_name, file="*") - Dir.glob("#{samples_path}/#{language_name}/#{file}") + Dir.glob("#{samples_path}/#{language_name}/#{file}") - + ["#{samples_path}/#{language_name}/filenames"] end def test_no_match From 56ee61b17ce3cf712837e15eb9b6ad289118c45c Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Wed, 9 Mar 2016 12:46:43 +0000 Subject: [PATCH 62/62] make .hlsl the primary extension for HLSL When I submitted the HLSL-language, I accidentally missed that the first extension was the primary one (as is documented in the source code, which I unfortunately missed), and instead alphabetized the whole list. The primary extension should be .hlsl, so let's remedy this. --- lib/linguist/languages.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 7ee17bb0..7e682d6f 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -1326,9 +1326,9 @@ HCL: HLSL: type: programming extensions: + - .hlsl - .fx - .fxh - - .hlsl - .hlsli ace_mode: text tm_scope: none