text:
<?php

/**
 * Removes all unrecognized tags from the list of tokens.
 *
 * This strategy iterates through all the tokens and removes unrecognized
 * tokens. If a token is not recognized but a TagTransform is defined for
 * that element, the element will be transformed accordingly.
 */

class HTMLPurifier_Strategy_RemoveForeignElements extends HTMLPurifier_Strategy
{

    public function execute($tokens, $config, $context) {
        $definition = $config->getHTMLDefinition();
        $generator = new HTMLPurifier_Generator($config, $context);
        $result = array();

        $escape_invalid_tags = $config->get('Core', 'EscapeInvalidTags');
        $remove_invalid_img  = $config->get('Core', 'RemoveInvalidImg');

        // currently only used to determine if comments should be kept
        $trusted = $config->get('HTML', 'Trusted');

        $remove_script_contents = $config->get('Core', 'RemoveScriptContents');
        $hidden_elements     = $config->get('Core', 'HiddenElements');

        // remove script contents compatibility
        if ($remove_script_contents === true) {
            $hidden_elements['script'] = true;
        } elseif ($remove_script_contents === false && isset($hidden_elements['script'])) {
            unset($hidden_elements['script']);
        }

        $attr_validator = new HTMLPurifier_AttrValidator();

        // removes tokens until it reaches a closing tag with its value
        $remove_until = false;

        // converts comments into text tokens when this is equal to a tag name
        $textify_comments = false;

        $token = false;
        $context->register('CurrentToken', $token);

        $e = false;
        if ($config->get('Core', 'CollectErrors')) {
            $e =& $context->get('ErrorCollector');
        }

        foreach($tokens as $token) {
            if ($remove_until) {
                if (empty($token->is_tag) || $token->name !== $remove_until) {
                    continue;
                }
            }
            if (!empty( $token->is_tag )) {
                // DEFINITION CALL

                // before any processing, try to transform the element
                if (
                    isset($definition->info_tag_transform[$token->name])
                ) {
                    $original_name = $token->name;
                    // there is a transformation for this tag
                    // DEFINITION CALL
                    $token = $definition->
                                info_tag_transform[$token->name]->
                                    transform($token, $config, $context);
                    if ($e) $e->send(E_NOTICE, 'Strategy_RemoveForeignElements: Tag transform', $original_name);
                }

                if (isset($definition->info[$token->name])) {

                    // mostly everything's good, but
                    // we need to make sure required attributes are in order
                    if (
                        ($token instanceof HTMLPurifier_Token_Start || $token instanceof HTMLPurifier_Token_Empty) &&
                        $definition->info[$token->name]->required_attr &&
                        ($token->name != 'img' || $remove_invalid_img) // ensure config option still works
                    ) {
                        $attr_validator->validateToken($token, $config, $context);
                        $ok = true;
                        foreach ($definition->info[$token->name]->required_attr as $name) {
                            if (!isset($token->attr[$name])) {
                                $ok = false;
                                break;
                            }
                        }
                        if (!$ok) {
                            if ($e) $e->send(E_ERROR, 'Strategy_RemoveForeignElements: Missing required attribute', $name);
                            continue;
                        }
                        $token->armor['ValidateAttributes'] = true;
                    }

                    if (isset($hidden_elements[$token->name]) && $token instanceof HTMLPurifier_Token_Start) {
                        $textify_comments = $token->name;
                    } elseif ($token->name === $textify_comments && $token instanceof HTMLPurifier_Token_End) {
                        $textify_comments = false;
                    }

                } elseif ($escape_invalid_tags) {
                    // invalid tag, generate HTML representation and insert in
                    if ($e) $e->send(E_WARNING, 'Strategy_RemoveForeignElements: Foreign element to text');
                    $token = new HTMLPurifier_Token_Text(
                        $generator->generateFromToken($token)
                    );
                } else {
                    // check if we need to destroy all of the tag's children
                    // CAN BE GENERICIZED
                    if (isset($hidden_elements[$token->name])) {
                        if ($token instanceof HTMLPurifier_Token_Start) {
                            $remove_until = $token->name;
                        } elseif ($token instanceof HTMLPurifier_Token_Empty) {
                            // do nothing: we're still looking
                        } else {
                            $remove_until = false;
                        }
                        if ($e) $e->send(E_ERROR, 'Strategy_RemoveForeignElements: Foreign meta element removed');
                    } else {
                        if ($e) $e->send(E_ERROR, 'Strategy_RemoveForeignElements: Foreign element removed');
                    }
                    continue;
                }
            } elseif ($token instanceof HTMLPurifier_Token_Comment) {
                // textify comments in script tags when they are allowed
                if ($textify_comments !== false) {
                    $data = $token->data;
                    $token = new HTMLPurifier_Token_Text($data);
                } elseif ($trusted) {
                    // keep, but perform comment cleaning
                    if ($e) {
                        // perform check whether or not there's a trailing hyphen
                        if (substr($token->data, -1) == '-') {
                            $e->send(E_NOTICE, 'Strategy_RemoveForeignElements: Trailing hyphen in comment removed');
                        }
                    }
                    $token->data = rtrim($token->data, '-');
                    $found_double_hyphen = false;
                    while (strpos($token->data, '--') !== false) {
                        if ($e && !$found_double_hyphen) {
                            $e->send(E_NOTICE, 'Strategy_RemoveForeignElements: Hyphens in comment collapsed');
                        }
                        $found_double_hyphen = true; // prevent double-erroring
                        $token->data = str_replace('--', '-', $token->data);
                    }
                } else {
                    // strip comments
                    if ($e) $e->send(E_NOTICE, 'Strategy_RemoveForeignElements: Comment removed');
                    continue;
                }
            } elseif ($token instanceof HTMLPurifier_Token_Text) {
            } else {
                continue;
            }
            $result[] = $token;
        }
        if ($remove_until && $e) {
            // we removed tokens until the end, throw error
            $e->send(E_ERROR, 'Strategy_RemoveForeignElements: Token removed to end', $remove_until);
        }

        $context->destroy('CurrentToken');

        return $result;
    }

}


text:
<!doctype html>

  <meta charset="UTF-8">
  <meta name="Author" content="">
  <meta name="Keywords" content="南无 南无农产">
  <meta name="Description" content="搭建社区与农村的平台, 提高偏远山区爆光率">
  <title>南无 - 起始页</title>

  <link rel="stylesheet" type="text/css" href="style-loading.css">

正在努力加载!!!

redpajama_set_name: RedPajamaGithub


text:
package de.alpharogroup.wicket.model.dropdownchoices;

import java.io.Serializable;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;

/**
 * The Class {@link SelectOptionModel}.
 */
@Getter
@Setter
@EqualsAndHashCode
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Builder(toBuilder = true)
public class SelectOptionModel implements Serializable
{

	/** The Constant serialVersionUID. */
	private static final long serialVersionUID = -7091799192618838124L;

	/** The key. */
	private String key;

	/** The value. */
	private String value;

}


text:
from setuptools import setup

setup(
    name = 'bip32utils',
    version = '0.3-1',
    author = 'Johnathan Corgan, Corgan Labs',
    author_email = 'johnathan@corganlabs.com',
    maintainer = 'Pavol Rusnak, SatoshiLabs',
    maintainer_email = 'stick@satoshilabs.com',
    url = 'http://github.com/satoshilabs/bip32utils',
    description = 'Utilities for generating and using Bitcoin Hierarchical Deterministic wallets (BIP0032).',
    license = 'MIT',
    install_requires = ['ecdsa'],
    packages = ['bip32utils'],
    scripts = ['bin/bip32gen']
)


text:
usage() {
  echo "
usage: $0 <options>
  Required not-so-options:
     --build-dir=DIR             path to hive/build/dist
     --prefix=PREFIX             path to install into

  Optional options:
     --doc-dir=DIR               path to install docs into [/usr/share/doc/hive]
     --lib-dir=DIR               path to install hive home [/usr/lib/hive]
     --installed-lib-dir=DIR     path where lib-dir will end up on target system
     --bin-dir=DIR               path to install bins [/usr/bin]
     --examples-dir=DIR          path to install examples [doc-dir/examples]
     ... [ see source for more similar options ]
  "
  exit 1
}

OPTS=$(getopt \
  -n $0 \
  -o '' \
  -l 'prefix:' \
  -l 'doc-dir:' \
  -l 'lib-dir:' \
  -l 'installed-lib-dir:' \
  -l 'bin-dir:' \
  -l 'examples-dir:' \
  -l 'python-dir:' \
  -l 'build-dir:' -- "$@")

if [ $? != 0 ] ; then
    usage
fi

eval set -- "$OPTS"
while true ; do
    case "$1" in
        --prefix)
        PREFIX=$2 ; shift 2
        ;;
        --build-dir)
        BUILD_DIR=$2 ; shift 2
        ;;
        --doc-dir)
        DOC_DIR=$2 ; shift 2
        ;;
        --lib-dir)
        LIB_DIR=$2 ; shift 2
        ;;
        --installed-lib-dir)
        INSTALLED_LIB_DIR=$2 ; shift 2
        ;;
        --bin-dir)
        BIN_DIR=$2 ; shift 2
        ;;
        --examples-dir)
        EXAMPLES_DIR=$2 ; shift 2
        ;;
        --python-dir)
        PYTHON_DIR=$2 ; shift 2
        ;;
        --)
        shift ; break
        ;;
        *)
        echo "Unknown option: $1"
        usage
        exit 1
        ;;
    esac
done

for var in PREFIX BUILD_DIR ; do
  if [ -z "$(eval "echo \$$var")" ]; then
    echo Missing param: $var
    usage
  fi
done

MAN_DIR=/usr/share/man/man1
DOC_DIR=${DOC_DIR:-/usr/share/doc/hive}
LIB_DIR=${LIB_DIR:-/usr/lib/hive}
INSTALLED_LIB_DIR=${INSTALLED_LIB_DIR:-/usr/lib/hive}
EXAMPLES_DIR=${EXAMPLES_DIR:-$DOC_DIR/examples}
BIN_DIR=${BIN_DIR:-/usr/bin}
PYTHON_DIR=${PYTHON_DIR:-$LIB_DIR/lib/py}
CONF_DIR=/etc/hive
CONF_DIST_DIR=/etc/hive/conf.dist

# First we'll move everything into lib
install -d -m 0755 ${PREFIX}/${LIB_DIR}
(cd ${BUILD_DIR} && tar -cf - .)|(cd ${PREFIX}/${LIB_DIR} && tar -xf -)

for thing in conf README.txt examples lib/py;
do
  rm -rf ${PREFIX}/${LIB_DIR}/$thing
done

install -d -m 0755 ${PREFIX}/${BIN_DIR}
for file in hive
do
  wrapper=${PREFIX}/$BIN_DIR/$file
  cat >>$wrapper <<EOF
#!/bin/sh

# Autodetect JAVA_HOME if not defined
. /usr/lib/bigtop-utils/bigtop-detect-javahome

# look for HBase
if [ -f /etc/default/hbase ] ; then
  . /etc/default/hbase
fi

export HIVE_HOME=$INSTALLED_LIB_DIR
exec $INSTALLED_LIB_DIR/bin/$file "\$@"
EOF
  chmod 755 $wrapper
done

# Config
install -d -m 0755 ${PREFIX}${CONF_DIST_DIR}
(cd ${BUILD_DIR}/conf && tar -cf - .)|(cd ${PREFIX}${CONF_DIST_DIR} && tar -xf -)
for template in hive-exec-log4j.properties hive-log4j.properties
do
  mv ${PREFIX}${CONF_DIST_DIR}/${template}.template ${PREFIX}${CONF_DIST_DIR}/${template}
done
cp hive-site.xml ${PREFIX}${CONF_DIST_DIR}
sed -i -e "s|@VERSION@|${HIVE_VERSION}|" ${PREFIX}${CONF_DIST_DIR}/hive-site.xml

ln -s ${CONF_DIR}/conf $PREFIX/$LIB_DIR/conf

install -d -m 0755 $PREFIX/$MAN_DIR
gzip -c hive.1 > $PREFIX/$MAN_DIR/hive.1.gz

# Docs
install -d -m 0755 ${PREFIX}/${DOC_DIR}
cp ${BUILD_DIR}/README.txt ${PREFIX}/${DOC_DIR}
mv ${PREFIX}/${LIB_DIR}/NOTICE ${PREFIX}/${DOC_DIR}
mv ${PREFIX}/${LIB_DIR}/LICENSE ${PREFIX}/${DOC_DIR}
mv ${PREFIX}/${LIB_DIR}/RELEASE_NOTES.txt ${PREFIX}/${DOC_DIR}

# Examples
install -d -m 0755 ${PREFIX}/${EXAMPLES_DIR}
cp -a ${BUILD_DIR}/examples/* ${PREFIX}/${EXAMPLES_DIR}

# Python libs
install -d -m 0755 ${PREFIX}/${PYTHON_DIR}
(cd $BUILD_DIR/lib/py && tar cf - .) | (cd ${PREFIX}/${PYTHON_DIR} && tar xf -)
chmod 755 ${PREFIX}/${PYTHON_DIR}/hive_metastore/*-remote

# Dir for Metastore DB
install -d -m 1777 $PREFIX/var/lib/hive/metastore/

# Remove some source which gets installed
rm -rf ${PREFIX}/${LIB_DIR}/lib/php/ext


text:
/* globals describe, it */
const request = require('superagent');
const chai = require('chai');
const _ = require('lodash');
const helper = require('../../tests/helpers');

const expect = chai.expect;

describe('Headers', () => {
  helper.serverSpecHelper();

  it('should respond with custom headers', done => {
    request.get(helper.getUrl('/v1/route7'))
      .end((err, res) => {
        expect(err).to.be.null;
        expect(res.status).to.equal(200);
        expect(_.isEqual(res.body, { b: 2 })).to.be.ok;
        expect(res.header.ping).to.equal('pong');
        done();
      });
  });

  it('route 2 should respond with dummy-response2.json for POST with X-HTTP-Method-Override:GET', done => {
    request.post(helper.getUrl('/internal/v2/route2'))
      .set('X-HTTP-Method-Override', 'GET')
      .send({ bar: 'baz' })
      .end((err, res) => {
        expect(err).to.be.null;
        expect(res.status).to.equal(200);
        expect(_.isEqual(res.body, { b: 2 })).to.be.ok;
        done();
      });
  });
});


text:
using DarkSoulsII.DebugView.Core;

namespace DarkSoulsII.DebugView.Model.Managers
{
    public class FaceGenManager : IReadable<FaceGenManager>
    {
        public FaceGenManager Read(IPointerFactory pointerFactory, IReader reader, int address, bool relative = false)
        {
            // TODO: Add FaceGenParamContainer  00B0
            return this;
        }
    }
}


text:
package com.squareup.wire.protos.edgecases;

import com.squareup.wire.Message;
import com.squareup.wire.ProtoAdapter;
import com.squareup.wire.TagMap;
import com.squareup.wire.WireField;
import java.lang.Integer;
import java.lang.Object;
import java.lang.Override;

public final class Recursive extends Message<Recursive> {
  public static final ProtoAdapter<Recursive> ADAPTER = ProtoAdapter.newMessageAdapter(Recursive.class);

  private static final long serialVersionUID = 0L;

  public static final Integer DEFAULT_VALUE = 0;

  @WireField(
      tag = 1,
      adapter = "com.squareup.wire.ProtoAdapter#INT32"
  )
  public final Integer value;

  @WireField(
      tag = 2,
      adapter = "com.squareup.wire.protos.edgecases.Recursive#ADAPTER"
  )
  public final Recursive recursive;

  public Recursive(Integer value, Recursive recursive) {
    this(value, recursive, TagMap.EMPTY);
  }

  public Recursive(Integer value, Recursive recursive, TagMap tagMap) {
    super(tagMap);
    this.value = value;
    this.recursive = recursive;
  }

  @Override
  public boolean equals(Object other) {
    if (other == this) return true;
    if (!(other instanceof Recursive)) return false;
    Recursive o = (Recursive) other;
    return equals(tagMap(), o.tagMap())
        && equals(value, o.value)
        && equals(recursive, o.recursive);
  }

  @Override
  public int hashCode() {
    int result = super.hashCode;
    if (result == 0) {
      result = tagMap().hashCode();
      result = result * 37 + (value != null ? value.hashCode() : 0);
      result = result * 37 + (recursive != null ? recursive.hashCode() : 0);
      super.hashCode = result;
    }
    return result;
  }

  public static final class Builder extends com.squareup.wire.Message.Builder<Recursive, Builder> {
    public Integer value;

    public Recursive recursive;

    public Builder() {
    }

    public Builder(Recursive message) {
      super(message);
      if (message == null) return;
      this.value = message.value;
      this.recursive = message.recursive;
    }

    public Builder value(Integer value) {
      this.value = value;
      return this;
    }

    public Builder recursive(Recursive recursive) {
      this.recursive = recursive;
      return this;
    }

    @Override
    public Recursive build() {
      return new Recursive(value, recursive, buildTagMap());
    }
  }
}


text:
require File.dirname(__FILE__) + '/../../spec_helper'

describe "/teams/edit.html.haml" do
  include TeamsHelper

  before do
    @teams = mock_model(Teams)
    @teams.stub!(:name).and_return("MyString")
    assigns[:teams] = @teams
  end

  it "should render edit form" do
    render "/teams/edit.html.haml"

    response.should have_tag("form[action=#{team_path(@teams)}][method=post]") do
      with_tag('input#teams_name[name=?]', "teams[name]")
    end
  end
end


text:
import * as mongoose from "mongoose";
import { Model } from "mongoose";
import { Schema } from "mongoose";

var taskSchema: Schema = new mongoose.Schema({
    content: {type: String, required: true},
    dueDate: Date,
    isCompleted: Boolean,
    status: String,

    contactId: String,
    accountId: String,
    saleId: String,
    recipientId: String,
    userId: String,
    adviserId: String,
    createdAt: Date
})

interface ITaskModel extends ITask, mongoose.Document{
}

interface ITask {
    content: String,
    dueDate: Date,
    isCompleted: Boolean,
    status: String,

    contactId: String,
    accountId: String,
    saleId: String,
    recipientId: String,
    userId: String,
    adviserId: String,
    createdAt: Date
}

export var Task: Model<ITaskModel> = mongoose.model<ITaskModel>("Task", taskSchema);


text:
Teuchos::RCP<MonteCarlo::ParticleSource> source;

//---------------------------------------------------------------------------//
// Tests.
//---------------------------------------------------------------------------//
// Check that particle states can be "sampled"
TEUCHOS_UNIT_TEST( StateSource, sampleParticleState )
{
  MonteCarlo::ParticleBank bank;
  source->sampleParticleState( bank, 0 );

  TEST_EQUALITY_CONST( bank.size(), 2 );

  TEST_EQUALITY_CONST( bank.top().getHistoryNumber(), 0ull );
  TEST_EQUALITY_CONST( bank.top().getParticleType(), MonteCarlo::PHOTON );

  bank.pop();

  TEST_EQUALITY_CONST( bank.top().getHistoryNumber(), 0ull );
  TEST_EQUALITY_CONST( bank.top().getParticleType(), MonteCarlo::PHOTON );

  bank.pop();

  // Sample from the source again
  source->sampleParticleState( bank, 1 );

  TEST_EQUALITY_CONST( bank.size(), 1 );

  TEST_EQUALITY_CONST( bank.top().getHistoryNumber(), 1ull );
  TEST_EQUALITY_CONST( bank.top().getParticleType(), MonteCarlo::NEUTRON );

  bank.pop();

  // Sample from the source again
  source->sampleParticleState( bank, 2 );

  TEST_EQUALITY_CONST( bank.size(), 1 );

  TEST_EQUALITY_CONST( bank.top().getHistoryNumber(), 2ull );
  TEST_EQUALITY_CONST( bank.top().getParticleType(), MonteCarlo::ELECTRON );

  bank.pop();

  // Attempting to get another particle state should cause an exception
  TEST_THROW( source->sampleParticleState( bank, 3 ), std::runtime_error );
}

//---------------------------------------------------------------------------//
// Check that the sampling efficiency can be returned
TEUCHOS_UNIT_TEST( StateSource, getSamplingEfficiency )
{
  TEST_EQUALITY_CONST( source->getSamplingEfficiency(), 1.0 );
}

//---------------------------------------------------------------------------//
// Custom main function
//---------------------------------------------------------------------------//
int main( int argc, char** argv )
{
  std::string test_dists_xml_file;

  Teuchos::CommandLineProcessor& clp = Teuchos::UnitTestRepository::getCLP();

  const Teuchos::RCP<Teuchos::FancyOStream> out =
    Teuchos::VerboseObjectBase::getDefaultOStream();

  Teuchos::CommandLineProcessor::EParseCommandLineReturn parse_return =
    clp.parse(argc,argv);

  if ( parse_return != Teuchos::CommandLineProcessor::PARSE_SUCCESSFUL ) {
    *out << "\nEnd Result: TEST FAILED" << std::endl;
    return parse_return;
  }

  // Initialize the source
  {
    MonteCarlo::ParticleBank bank;

    boost::shared_ptr<MonteCarlo::ParticleState> particle(
					 new MonteCarlo::PhotonState( 1ull ) );

    bank.push( *particle );

    particle.reset( new MonteCarlo::NeutronState( 10ull ) );

    bank.push( *particle );

    particle.reset( new MonteCarlo::PhotonState( 1ull ) );

    bank.push( *particle );

    particle.reset( new MonteCarlo::ElectronState( 11ull ) );

    bank.push( *particle );

    std::string bank_archive_name( "test_state_source_bank_archive.xml" );
    std::string bank_name_in_archive( "state_bank" );

    {
      std::ofstream ofs( bank_archive_name.c_str() );

      boost::archive::xml_oarchive ar(ofs);
      ar << boost::serialization::make_nvp( bank_name_in_archive.c_str(), bank );
    }

    source.reset( new MonteCarlo::StateSource(
				    bank_archive_name,
				    bank_name_in_archive,
				    Utility::ArchivableObject::XML_ARCHIVE ) );
  }

  // Initialize the random number generator
  Utility::RandomNumberGenerator::createStreams();

  // Run the unit tests
  Teuchos::GlobalMPISession mpiSession( &argc, &argv );

  const bool success = Teuchos::UnitTestRepository::runUnitTests(*out);

  if (success)
    *out << "\nEnd Result: TEST PASSED" << std::endl;
  else
    *out << "\nEnd Result: TEST FAILED" << std::endl;

  clp.printFinalTimerSummary(out.ptr());

  return (success ? 0 : 1);
}

//---------------------------------------------------------------------------//
// end tstStateSource.cpp
//---------------------------------------------------------------------------//


text:
#Region "Microsoft.VisualBasic::a4b262792cadfc5115b47d1f2607373b, src\metadb\Massbank\Public\NCBI\PubChem\MetaData.vb"

    ' Author:
    '
    '       xieguigang (gg.xie@bionovogene.com, BioNovoGene Co., LTD.)
    '
    ' Copyright (c) 2018 gg.xie@bionovogene.com, BioNovoGene Co., LTD.
    '
    '
    ' MIT License
    '
    '
    ' Permission is hereby granted, free of charge, to any person obtaining a copy
    ' of this software and associated documentation files (the "Software"), to deal
    ' in the Software without restriction, including without limitation the rights
    ' to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    ' copies of the Software, and to permit persons to whom the Software is
    ' furnished to do so, subject to the following conditions:
    '
    ' The above copyright notice and this permission notice shall be included in all
    ' copies or substantial portions of the Software.
    '
    ' THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    ' IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    ' FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    ' AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    ' LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    ' OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    ' SOFTWARE.

    ' /********************************************************************************/

    ' Summaries:

    '     Class MetaData
    '
    '         Properties: PUBCHEM_ATOM_DEF_STEREO_COUNT, PUBCHEM_ATOM_UDEF_STEREO_COUNT, PUBCHEM_BOND_DEF_STEREO_COUNT, PUBCHEM_BOND_UDEF_STEREO_COUNT, PUBCHEM_BONDANNOTATIONS
    '                     PUBCHEM_CACTVS_COMPLEXITY, PUBCHEM_CACTVS_HBOND_ACCEPTOR, PUBCHEM_CACTVS_HBOND_DONOR, PUBCHEM_CACTVS_ROTATABLE_BOND, PUBCHEM_CACTVS_SUBSKEYS
    '                     PUBCHEM_CACTVS_TAUTO_COUNT, PUBCHEM_CACTVS_TPSA, PUBCHEM_COMPONENT_COUNT, PUBCHEM_COMPOUND_CANONICALIZED, PUBCHEM_COMPOUND_CID
    '                     PUBCHEM_COORDINATE_TYPE, PUBCHEM_EXACT_MASS, PUBCHEM_HEAVY_ATOM_COUNT, PUBCHEM_ISOTOPIC_ATOM_COUNT, PUBCHEM_IUPAC_CAS_NAME
    '                     PUBCHEM_IUPAC_INCHI, PUBCHEM_IUPAC_INCHIKEY, PUBCHEM_IUPAC_NAME, PUBCHEM_IUPAC_OPENEYE_NAME, PUBCHEM_IUPAC_SYSTEMATIC_NAME
    '                     PUBCHEM_IUPAC_TRADITIONAL_NAME, PUBCHEM_MOLECULAR_FORMULA, PUBCHEM_MOLECULAR_WEIGHT, PUBCHEM_MONOISOTOPIC_WEIGHT, PUBCHEM_OPENEYE_CAN_SMILES
    '                     PUBCHEM_OPENEYE_ISO_SMILES, PUBCHEM_TOTAL_CHARGE, PUBCHEM_XLOGP3_AA
    '
    '         Constructor: (+1 Overloads) Sub New
    '         Function: Data
    '
    '
    ' /********************************************************************************/

#End Region

Imports System.Reflection
Imports System.Runtime.CompilerServices
Imports BioNovoGene.BioDeep.Chemoinformatics.SDF
Imports Microsoft.VisualBasic.ComponentModel.DataSourceModel

Namespace NCBI.PubChem

    ''' <summary>
    ''' NCBI compound annotation meta data in sdf file.
    ''' </summary>
    Public Class MetaData

        Public Property PUBCHEM_COMPOUND_CID As String
        Public Property PUBCHEM_COMPOUND_CANONICALIZED As String
        Public Property PUBCHEM_CACTVS_COMPLEXITY As String
        Public Property PUBCHEM_CACTVS_HBOND_ACCEPTOR As String
        Public Property PUBCHEM_CACTVS_HBOND_DONOR As String
        Public Property PUBCHEM_CACTVS_ROTATABLE_BOND As String
        Public Property PUBCHEM_CACTVS_SUBSKEYS As String
        Public Property PUBCHEM_IUPAC_OPENEYE_NAME As String
        Public Property PUBCHEM_IUPAC_CAS_NAME As String
        Public Property PUBCHEM_IUPAC_NAME As String
        Public Property PUBCHEM_IUPAC_SYSTEMATIC_NAME As String
        Public Property PUBCHEM_IUPAC_TRADITIONAL_NAME As String
        Public Property PUBCHEM_IUPAC_INCHI As String
        Public Property PUBCHEM_IUPAC_INCHIKEY As String
        Public Property PUBCHEM_XLOGP3_AA As String
        Public Property PUBCHEM_EXACT_MASS As String
        Public Property PUBCHEM_MOLECULAR_FORMULA As String
        Public Property PUBCHEM_MOLECULAR_WEIGHT As String
        Public Property PUBCHEM_OPENEYE_CAN_SMILES As String
        Public Property PUBCHEM_OPENEYE_ISO_SMILES As String
        Public Property PUBCHEM_CACTVS_TPSA As String
        Public Property PUBCHEM_MONOISOTOPIC_WEIGHT As String
        Public Property PUBCHEM_TOTAL_CHARGE As String
        Public Property PUBCHEM_HEAVY_ATOM_COUNT As String
        Public Property PUBCHEM_ATOM_DEF_STEREO_COUNT As String
        Public Property PUBCHEM_ATOM_UDEF_STEREO_COUNT As String
        Public Property PUBCHEM_BOND_DEF_STEREO_COUNT As String
        Public Property PUBCHEM_BOND_UDEF_STEREO_COUNT As String
        Public Property PUBCHEM_ISOTOPIC_ATOM_COUNT As String
        Public Property PUBCHEM_COMPONENT_COUNT As String
        Public Property PUBCHEM_CACTVS_TAUTO_COUNT As String
        Public Property PUBCHEM_COORDINATE_TYPE As String
        Public Property PUBCHEM_BONDANNOTATIONS As String

        ''' <summary>
        ''' Schema cache of current data reader class object
        ''' </summary>
        Shared ReadOnly properties As Dictionary(Of String, PropertyInfo)

        Shared Sub New()
            properties = DataFramework.Schema(Of MetaData)(PropertyAccess.Writeable, True)
        End Sub

        <MethodImpl(MethodImplOptions.AggressiveInlining)>
        Public Shared Function Data(sdf As SDF) As MetaData
            Return sdf.Data(Of MetaData)(properties)
        End Function
    End Class
End Namespace


text:
package sql.sqlCallback.listener;

import hydra.TestConfig;

import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Types;
import java.util.List;

import sql.SQLPrms;
import util.TestException;

import com.pivotal.gemfirexd.callbacks.Event;
import com.pivotal.gemfirexd.callbacks.EventCallback;

public abstract class AbstractListener implements EventCallback {
	protected static String initStr = TestConfig.tab().stringAt(SQLPrms.backendDB_url,
	"jdbc:derby:test");

	public void close() throws SQLException {}
	public void init(String initStr) throws SQLException {
		if (!this.initStr.equals(initStr))
			throw new TestException ("init in Listener() does not get the initStr.");
	}

	public abstract void onEvent(Event event) throws SQLException;

	//the sql string does not have the where condition yet
	protected String getSql(Event event) throws SQLException {
		ResultSetMetaData meta = event.getResultSetMetaData();
		List<Object> newRow = event.getNewRow();
		StringBuffer str = new StringBuffer();
		if (event.getModifiedColumns() == null) throw new TestException("event.getModifiedColumns " +
				"return null on AFTER_UPDATE");

		str.append("update " + meta.getSchemaName(1) + "."
				+ meta.getTableName(1) + " set ");
		for (int i=0; i<event.getModifiedColumns().length; i++) {
                        str.append(" " + meta.getColumnName(event.getModifiedColumns()[i]) + "=");
                        appendValue(str, newRow.get(event.getModifiedColumns()[i]-1),
                                                meta.getColumnType(event.getModifiedColumns()[i]));
		}
		str.delete(str.length() -1 , str.length());
		return str.toString();
	}

	//how to append using Statement
	protected void appendValue(StringBuffer str, Object value, int type) {
		switch (type){
		case Types.BIGINT:
		case Types.DECIMAL:
		case Types.NUMERIC:
		case Types.SMALLINT:
		case Types.TINYINT:
		case Types.INTEGER:
		case Types.FLOAT:
		case Types.DOUBLE:
		case Types.REAL:
		case Types.TIMESTAMP:
			str.append(value + ",");
			break;
		default:
			str.append("'" + value +"',");
		}
	}
}


text:
<?php
require_once dirname(__FILE__) . '/../../bootstrap.php';

class Elastica_DocumentTest extends PHPUnit_Framework_TestCase
{
	public function setUp() {
	}

	public function tearDown() {
	}

	public function testAdd() {
		$doc = new Elastica_Document();
		$returnValue = $doc->add('key', 'value');
		$data = $doc->getData();
		$this->assertArrayHasKey('key', $data);
		$this->assertEquals('value', $data['key']);
		$this->assertInstanceOf('Elastica_Document', $returnValue);
	}

	public function testAddFile()
	{
		$doc = new Elastica_Document();
		$returnValue = $doc->addFile('key', '/dev/null');
		$this->assertInstanceOf('Elastica_Document', $returnValue);
	}

	public function testAddGeoPoint()
	{
		$doc = new Elastica_Document();
		$returnValue = $doc->addGeoPoint('point', 38.89859, -77.035971);
		$this->assertInstanceOf('Elastica_Document', $returnValue);
	}

	public function testSetData()
	{
		$doc = new Elastica_Document();
		$returnValue = $doc->setData(array('data'));
		$this->assertInstanceOf('Elastica_Document', $returnValue);
	}
}


text:
[![Build Status](https://travis-ci.org/suma-project/Suma.svg?branch=master)](https://travis-ci.org/suma-project/Suma)

Suma comprises a set of tools, including a mobile tablet-based (i.e. Apple iPad) data collection application, that will allow library staff to collect, aggregate, and interactively analyze real-time data about the usage of physical space and services. This tool will support the collection of more fine-grained data about physical space usage patterns by supporting the annotation of users with "activities." The data that this tool provides will allow the libraries to build on existing assessment practices by significantly improving our ability to analyze physical space usage trends against various milestones, as well as generating more dynamic and current data visualizations. As a result, this data can be both collected and utilized more frequently and at a much wider scope than before with relative ease.

This project has been in use at NC State University Libraries since 2011. Examples of the current and planned uses for this toolkit include the collection and analysis of data relating to:

* Building headcounts
* Reference desk transactions
* Experimental technology usage
* Media production activities
* Experimental furniture usage

## Disclaimer

We have worked hard to make the code as stable as possible, but are eager to receive feedback on any issues you discover. While we at NC State University Libraries have been using it in a production capacity since July 2011 with great success, and several other institutions have successfully implemented this code, you should still take appropriate precautions when deploying this application. These include but are not limited to carefully backing up databases, monitoring error logs, maintaining close relationships with users, and reporting any problems back to the project team. Thank you for helping to ensure that this project continues to grow.

As a safeguard, all JSON input from the client is logged. This will lead to large log files, but it allows for data recovery in the case of database problems or improperly rejected data. See the information about "JSON INPUT" entries in LOGS.md for more information. **We at NC State University Libraries have never needed to make use of this recovery feature.**

## Documentation

* [Suma documentation site](https://suma-project.github.io/Suma)
* [Suma license](LICENSE)

## Suma Support

For help installing Suma, creating data collection initiatives, etc., please start by posting to our [Google Group](https://groups.google.com/d/forum/suma-mobile-library-assessment-toolkit).

## How to contribute?

Do you want to contribute some code? Maybe some data reports, bug fixes, new clients, or even new core features? Awesome! Just contact us or fork the code on GitHub and create a pull request.

## Project URLs

* [Project page](https://www.lib.ncsu.edu/projects/suma)
* [Repository](https://github.com/suma-project/Suma)

## Credits

* Bret Davidson – Project lead.
* Jason Casden – Project founder, currently Head, Software Development at the University of North Carolina Chapel Hill University Libraries.
* Joyce Chapman – Community development and data analysis specialist, currently Assessment Analyst & Consultant at Duke University Libraries.
* Rob Rucker – Project team member and our first stakeholder.
* Niqui O'Neill – Developer.
* Jason Raitz – Developer.
* Luke Aeschleman – Developer.
* Eric McEachern –  Developer, responsible for much of the development of the server-side components.
* Rusty Earl – Developer and technical consultant.


text:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<module codename="org.netbeans.modules.docker.ui/0">
    <module_version install_time="1475191208647" last="false" origin="installer" specification_version="1.0.1">
        <file crc="4092762296" name="config/Modules/org-netbeans-modules-docker-ui.xml"/>
        <file crc="3280327717" name="modules/locale/org-netbeans-modules-docker-ui_ja.jar"/>
        <file crc="3933259033" name="modules/locale/org-netbeans-modules-docker-ui_pt_BR.jar"/>
        <file crc="1983975927" name="modules/locale/org-netbeans-modules-docker-ui_ru.jar"/>
        <file crc="1249398124" name="modules/locale/org-netbeans-modules-docker-ui_zh_CN.jar"/>
        <file crc="2559700946" name="modules/org-netbeans-modules-docker-ui.jar"/>
    </module_version>
    <module_version install_time="1502124311651" last="true" origin="NetBeans Distribution" specification_version="1.0.2">
        <file crc="4092762296" name="config/Modules/org-netbeans-modules-docker-ui.xml"/>
        <file crc="3229727311" name="modules/locale/org-netbeans-modules-docker-ui_ja.jar"/>
        <file crc="1989839439" name="modules/locale/org-netbeans-modules-docker-ui_pt_BR.jar"/>
        <file crc="3065937979" name="modules/locale/org-netbeans-modules-docker-ui_ru.jar"/>
        <file crc="4084414456" name="modules/locale/org-netbeans-modules-docker-ui_zh_CN.jar"/>
        <file crc="1228024083" name="modules/org-netbeans-modules-docker-ui.jar"/>
    </module_version>
</module>


text:
START_ATF_NAMESPACE
    namespace Register
    {
        class GuildCreateEventInfoRegister : public IRegister
        {
            public:
                void Register() override
                {
                    auto& hook_core = CATFCore::get_instance();
                    for (auto& r : Detail::GuildCreateEventInfo_functions)
                        hook_core.reg_wrapper(r.pBind, r);
                }
        };
    }; // end namespace Register
END_ATF_NAMESPACE


text:
package org.apache.sqoop.lib;

import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.io.Text;

/**
 * Parses a record containing one or more fields. Fields are separated
 * by some FIELD_DELIMITER character, e.g. a comma or a ^A character.
 * Records are terminated by a RECORD_DELIMITER character, e.g., a newline.
 *
 * Fields may be (optionally or mandatorily) enclosed by a quoting char
 * e.g., '\"'
 *
 * Fields may contain escaped characters. An escape character may be, e.g.,
 * the '\\' character. Any character following an escape character
 * is treated literally. e.g., '\n' is recorded as an 'n' character, not a
 * newline.
 *
 * Unexpected results may occur if the enclosing character escapes itself.
 * e.g., this cannot parse SQL SELECT statements where the single character
 * ['] escapes to [''].
 *
 * This class is not synchronized. Multiple threads must use separate
 * instances of RecordParser.
 *
 * The fields parsed by RecordParser are backed by an internal buffer
 * which is cleared when the next call to parseRecord() is made. If
 * the buffer is required to be preserved, you must copy it yourself.
 */
public class RecordParser {

  public static final Log LOG = LogFactory.getLog(RecordParser.class.getName());

  private enum ParseState {
    FIELD_START,
    ENCLOSED_FIELD,
    UNENCLOSED_FIELD,
    ENCLOSED_ESCAPE,
    ENCLOSED_EXPECT_DELIMITER,
    UNENCLOSED_ESCAPE
  }

  /**
   * An error thrown when parsing fails.
   */
  public static class ParseError extends Exception {
    public ParseError() {
      super("ParseError");
    }

    public ParseError(final String msg) {
      super(msg);
    }

    public ParseError(final String msg, final Throwable cause) {
      super(msg, cause);
    }

    public ParseError(final Throwable cause) {
      super(cause);
    }
  }

  private DelimiterSet delimiters;
  private ArrayList<String> outputs;

  public RecordParser(final DelimiterSet delimitersIn) {
    this.delimiters = delimitersIn.copy();
    this.outputs = new ArrayList<String>();
  }

  /**
   * Return a list of strings representing the fields of the input line.
   * This list is backed by an internal buffer which is cleared by the
   * next call to parseRecord().
   */
  public List<String> parseRecord(CharSequence input)
      throws org.apache.sqoop.lib.RecordParser.ParseError {
    if (null == input) {
      throw new org.apache.sqoop.lib.RecordParser.ParseError(
          "null input string");
    }

    return parseRecord(CharBuffer.wrap(input));
  }

  /**
   * Return a list of strings representing the fields of the input line.
   * This list is backed by an internal buffer which is cleared by the
   * next call to parseRecord().
   */
  public List<String> parseRecord(Text input)
      throws org.apache.sqoop.lib.RecordParser.ParseError {
    if (null == input) {
      throw new org.apache.sqoop.lib.RecordParser.ParseError(
          "null input string");
    }

    // TODO(aaron): The parser should be able to handle UTF-8 strings
    // as well, to avoid this transcode operation.
    return parseRecord(input.toString());
  }

  /**
   * Return a list of strings representing the fields of the input line.
   * This list is backed by an internal buffer which is cleared by the
   * next call to parseRecord().
   */
  public List<String> parseRecord(byte [] input)
      throws org.apache.sqoop.lib.RecordParser.ParseError {
    if (null == input) {
      throw new org.apache.sqoop.lib.RecordParser.ParseError(
          "null input string");
    }

    return parseRecord(ByteBuffer.wrap(input).asCharBuffer());
  }

  /**
   * Return a list of strings representing the fields of the input line.
   * This list is backed by an internal buffer which is cleared by the
   * next call to parseRecord().
   */
  public List<String> parseRecord(char [] input)
      throws org.apache.sqoop.lib.RecordParser.ParseError {
    if (null == input) {
      throw new org.apache.sqoop.lib.RecordParser.ParseError(
          "null input string");
    }

    return parseRecord(CharBuffer.wrap(input));
  }

  public List<String> parseRecord(ByteBuffer input)
      throws org.apache.sqoop.lib.RecordParser.ParseError {
    if (null == input) {
      throw new org.apache.sqoop.lib.RecordParser.ParseError(
          "null input string");
    }

    return parseRecord(input.asCharBuffer());
  }

  // TODO(aaron): Refactor this method to be much shorter.
  // CHECKSTYLE:OFF
  /**
   * Return a list of strings representing the fields of the input line.
   * This list is backed by an internal buffer which is cleared by the
   * next call to parseRecord().
   */
  public List<String> parseRecord(CharBuffer input)
      throws org.apache.sqoop.lib.RecordParser.ParseError {
    if (null == input) {
      throw new org.apache.sqoop.lib.RecordParser.ParseError(
          "null input string");
    }

    /*
      This method implements the following state machine to perform
      parsing.

      Note that there are no restrictions on whether particular characters
      (e.g., field-sep, record-sep, etc) are distinct or the same. The
      state transitions are processed in the order seen in this comment.

      Starting state is FIELD_START
        encloser -> ENCLOSED_FIELD
        escape char -> UNENCLOSED_ESCAPE
        field delim -> FIELD_START (for a new field)
        record delim -> stops processing
        all other letters get added to current field, -> UNENCLOSED FIELD

      ENCLOSED_FIELD state:
        escape char goes to ENCLOSED_ESCAPE
        encloser goes to ENCLOSED_EXPECT_DELIMITER
        field sep or record sep gets added to the current string
        normal letters get added to the current string

      ENCLOSED_ESCAPE state:
        any character seen here is added literally, back to ENCLOSED_FIELD

      ENCLOSED_EXPECT_DELIMITER state:
        field sep goes to FIELD_START
        record sep halts processing.
        all other characters are errors.

      UNENCLOSED_FIELD state:
        ESCAPE char goes to UNENCLOSED_ESCAPE
        FIELD_SEP char goes to FIELD_START
        RECORD_SEP char halts processing
        normal chars or the enclosing char get added to the current string

      UNENCLOSED_ESCAPE:
        add charater literal to current string, return to UNENCLOSED_FIELD
    */

    char curChar = DelimiterSet.NULL_CHAR;
    ParseState state = ParseState.FIELD_START;
    int len = input.length();
    StringBuilder sb = null;

    outputs.clear();

    char enclosingChar = delimiters.getEnclosedBy();
    char fieldDelim = delimiters.getFieldsTerminatedBy();
    char recordDelim = delimiters.getLinesTerminatedBy();
    char escapeChar = delimiters.getEscapedBy();
    boolean enclosingRequired = delimiters.isEncloseRequired();

    for (int pos = 0; pos < len; pos++) {
      curChar = input.get();
      switch (state) {
      case FIELD_START:
        // ready to start processing a new field.
        if (null != sb) {
          // We finished processing a previous field. Add to the list.
          outputs.add(sb.toString());
        }

        sb = new StringBuilder();
        if (enclosingChar == curChar) {
          // got an opening encloser.
          state = ParseState.ENCLOSED_FIELD;
        } else if (escapeChar == curChar) {
          state = ParseState.UNENCLOSED_ESCAPE;
        } else if (fieldDelim == curChar) {
          // we have a zero-length field. This is a no-op.
          continue;
        } else if (recordDelim == curChar) {
          // we have a zero-length field, that ends processing.
          pos = len;
        } else {
          // current char is part of the field.
          state = ParseState.UNENCLOSED_FIELD;
          sb.append(curChar);

          if (enclosingRequired) {
            throw new org.apache.sqoop.lib.RecordParser.ParseError(
                "Opening field-encloser expected at position " + pos);
          }
        }

        break;

      case ENCLOSED_FIELD:
        if (escapeChar == curChar) {
          // the next character is escaped. Treat it literally.
          state = ParseState.ENCLOSED_ESCAPE;
        } else if (enclosingChar == curChar) {
          // we're at the end of the enclosing field. Expect an EOF or EOR char.
          state = ParseState.ENCLOSED_EXPECT_DELIMITER;
        } else {
          // this is a regular char, or an EOF / EOR inside an encloser. Add to
          // the current field string, and remain in this state.
          sb.append(curChar);
        }

        break;

      case UNENCLOSED_FIELD:
        if (escapeChar == curChar) {
          // the next character is escaped. Treat it literally.
          state = ParseState.UNENCLOSED_ESCAPE;
        } else if (fieldDelim == curChar) {
          // we're at the end of this field; may be the start of another one.
          state = ParseState.FIELD_START;
        } else if (recordDelim == curChar) {
          pos = len; // terminate processing immediately.
        } else {
          // this is a regular char. Add to the current field string,
          // and remain in this state.
          sb.append(curChar);
        }

        break;

      case ENCLOSED_ESCAPE:
        // Treat this character literally, whatever it is, and return to
        // enclosed field processing.
        sb.append(curChar);
        state = ParseState.ENCLOSED_FIELD;
        break;

      case ENCLOSED_EXPECT_DELIMITER:
        // We were in an enclosed field, but got the final encloser. Now we
        // expect either an end-of-field or an end-of-record.
        if (fieldDelim == curChar) {
          // end of one field is the beginning of the next.
          state = ParseState.FIELD_START;
        } else if (recordDelim == curChar) {
          // stop processing.
          pos = len;
        } else {
          // Don't know what to do with this character.
          throw new org.apache.sqoop.lib.RecordParser.ParseError(
              "Expected delimiter at position " + pos);
        }

        break;

      case UNENCLOSED_ESCAPE:
        // Treat this character literally, whatever it is, and return to
        // non-enclosed field processing.
        sb.append(curChar);
        state = ParseState.UNENCLOSED_FIELD;
        break;

      default:
        throw new org.apache.sqoop.lib.RecordParser.ParseError(
            "Unexpected parser state: " + state);
      }
    }

    if (state == ParseState.FIELD_START && curChar == fieldDelim) {
      // we hit an EOF/EOR as the last legal character and we need to mark
      // that string as recorded. This if block is outside the for-loop since
      // we don't have a physical 'epsilon' token in our string.
      if (null != sb) {
        outputs.add(sb.toString());
        sb = new StringBuilder();
      }
    }

    if (null != sb) {
      // There was a field that terminated by running out of chars or an EOR
      // character. Add to the list.
      outputs.add(sb.toString());
    }

    return outputs;
  }
  // CHECKSTYLE:ON

  public boolean isEnclosingRequired() {
    return delimiters.isEncloseRequired();
  }

  @Override
  public String toString() {
    return "RecordParser[" + delimiters.toString() + "]";
  }

  @Override
  public int hashCode() {
    return this.delimiters.hashCode();
  }
}


text:
<?xml version="1.0" encoding="utf-8"?>
<MapData>
<Details>
<FileName>[111]T04_H03_B01.rmd</FileName>
<FileType>Red Stone Scenario File 5.3 beta</FileType>
<MapName>シーフギルドの倉庫[C] B1</MapName>
<SysWidth>120</SysWidth>
<SysHeight>120</SysHeight>
<TgaWidth>240</TgaWidth>
<TgaHeight>120</TgaHeight>
<MapType>1</MapType>
<isPremiumMap>0</isPremiumMap>
<isPvPMap>0</isPvPMap>
<MapView_Lv>0</MapView_Lv>
<isLocationStrage>1</isLocationStrage>
<P_SubElement1>0</P_SubElement1>
<P_SubElement2>0</P_SubElement2>
<P_SubElement3>0</P_SubElement3>
<P_SubElement4>0</P_SubElement4>
<P_SubElement5>0</P_SubElement5>
<P_SubElement6>0</P_SubElement6>
<M_AddElement1>0</M_AddElement1>
<M_AddElement2>0</M_AddElement2>
<M_AddElement3>0</M_AddElement3>
<M_AddElement4>0</M_AddElement4>
<M_AddElement5>0</M_AddElement5>
<M_AddElement6>0</M_AddElement6>
</Details>
<CharacterData>
<Character id="cUid0">
<CharacterUID>0</CharacterUID>
<CharacterName>マゴット</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>3</InternalID>
<PopSpeed>30</PopSpeed>
<PopPoint_X>160.16</PopPoint_X>
<PopPoint_Y>93.44</PopPoint_Y>
</Character>
<Character id="cUid1">
<CharacterUID>1</CharacterUID>
<CharacterName>マゴット</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>3</InternalID>
<PopSpeed>30</PopSpeed>
<PopPoint_X>25.84</PopPoint_X>
<PopPoint_Y>18.31</PopPoint_Y>
</Character>
<Character id="cUid2">
<CharacterUID>2</CharacterUID>
<CharacterName>ローグ</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>0</InternalID>
<PopSpeed>15</PopSpeed>
<PopPoint_X>176.81</PopPoint_X>
<PopPoint_Y>17.00</PopPoint_Y>
</Character>
<Character id="cUid3">
<CharacterUID>3</CharacterUID>
<CharacterName>マゴット</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>1</InternalID>
<PopSpeed>30</PopSpeed>
<PopPoint_X>196.75</PopPoint_X>
<PopPoint_Y>18.31</PopPoint_Y>
</Character>
<Character id="cUid4">
<CharacterUID>4</CharacterUID>
<CharacterName>ローグ</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>0</InternalID>
<PopSpeed>15</PopSpeed>
<PopPoint_X>193.28</PopPoint_X>
<PopPoint_Y>57.50</PopPoint_Y>
</Character>
<Character id="cUid5">
<CharacterUID>5</CharacterUID>
<CharacterName>マゴット</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>1</InternalID>
<PopSpeed>30</PopSpeed>
<PopPoint_X>183.03</PopPoint_X>
<PopPoint_Y>28.66</PopPoint_Y>
</Character>
<Character id="cUid6">
<CharacterUID>6</CharacterUID>
<CharacterName>ローグ</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>0</InternalID>
<PopSpeed>15</PopSpeed>
<PopPoint_X>181.91</PopPoint_X>
<PopPoint_Y>36.34</PopPoint_Y>
</Character>
<Character id="cUid7">
<CharacterUID>7</CharacterUID>
<CharacterName>ローグ</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>0</InternalID>
<PopSpeed>15</PopSpeed>
<PopPoint_X>175.34</PopPoint_X>
<PopPoint_Y>41.88</PopPoint_Y>
</Character>
<Character id="cUid8">
<CharacterUID>8</CharacterUID>
<CharacterName>ローグ</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>0</InternalID>
<PopSpeed>15</PopSpeed>
<PopPoint_X>190.06</PopPoint_X>
<PopPoint_Y>69.88</PopPoint_Y>
</Character>
<Character id="cUid9">
<CharacterUID>9</CharacterUID>
<CharacterName>マゴット</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>1</InternalID>
<PopSpeed>30</PopSpeed>
<PopPoint_X>202.41</PopPoint_X>
<PopPoint_Y>66.31</PopPoint_Y>
</Character>
<Character id="cUid10">
<CharacterUID>10</CharacterUID>
<CharacterName>マゴット</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>1</InternalID>
<PopSpeed>30</PopSpeed>
<PopPoint_X>182.69</PopPoint_X>
<PopPoint_Y>64.22</PopPoint_Y>
</Character>
<Character id="cUid11">
<CharacterUID>11</CharacterUID>
<CharacterName>ローグ</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>0</InternalID>
<PopSpeed>15</PopSpeed>
<PopPoint_X>198.13</PopPoint_X>
<PopPoint_Y>72.28</PopPoint_Y>
</Character>
<Character id="cUid12">
<CharacterUID>12</CharacterUID>
<CharacterName>ローグ</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>0</InternalID>
<PopSpeed>14</PopSpeed>
<PopPoint_X>61.78</PopPoint_X>
<PopPoint_Y>61.63</PopPoint_Y>
</Character>
<Character id="cUid17">
<CharacterUID>17</CharacterUID>
<CharacterName>マゴット</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>3</InternalID>
<PopSpeed>30</PopSpeed>
<PopPoint_X>212.22</PopPoint_X>
<PopPoint_Y>39.19</PopPoint_Y>
</Character>
<Character id="cUid20">
<CharacterUID>20</CharacterUID>
<CharacterName>ローグ</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>2</InternalID>
<PopSpeed>20</PopSpeed>
<PopPoint_X>217.53</PopPoint_X>
<PopPoint_Y>45.00</PopPoint_Y>
</Character>
<Character id="cUid21">
<CharacterUID>21</CharacterUID>
<CharacterName>ローグ</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>2</InternalID>
<PopSpeed>20</PopSpeed>
<PopPoint_X>219.84</PopPoint_X>
<PopPoint_Y>31.53</PopPoint_Y>
</Character>
<Character id="cUid22">
<CharacterUID>22</CharacterUID>
<CharacterName>ローグ</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>0</InternalID>
<PopSpeed>15</PopSpeed>
<PopPoint_X>152.13</PopPoint_X>
<PopPoint_Y>17.47</PopPoint_Y>
</Character>
<Character id="cUid23">
<CharacterUID>23</CharacterUID>
<CharacterName>ローグ</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>0</InternalID>
<PopSpeed>15</PopSpeed>
<PopPoint_X>131.50</PopPoint_X>
<PopPoint_Y>17.75</PopPoint_Y>
</Character>
<Character id="cUid26">
<CharacterUID>26</CharacterUID>
<CharacterName>マゴット</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>1</InternalID>
<PopSpeed>30</PopSpeed>
<PopPoint_X>143.66</PopPoint_X>
<PopPoint_Y>12.03</PopPoint_Y>
</Character>
<Character id="cUid27">
<CharacterUID>27</CharacterUID>
<CharacterName>マゴット</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>1</InternalID>
<PopSpeed>30</PopSpeed>
<PopPoint_X>117.31</PopPoint_X>
<PopPoint_Y>25.31</PopPoint_Y>
</Character>
<Character id="cUid28">
<CharacterUID>28</CharacterUID>
<CharacterName>マゴット</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>1</InternalID>
<PopSpeed>30</PopSpeed>
<PopPoint_X>113.75</PopPoint_X>
<PopPoint_Y>29.00</PopPoint_Y>
</Character>
<Character id="cUid29">
<CharacterUID>29</CharacterUID>
<CharacterName>マゴット</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>1</InternalID>
<PopSpeed>30</PopSpeed>
<PopPoint_X>93.31</PopPoint_X>
<PopPoint_Y>25.25</PopPoint_Y>
</Character>
<Character id="cUid30">
<CharacterUID>30</CharacterUID>
<CharacterName>ローグ</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>0</InternalID>
<PopSpeed>15</PopSpeed>
<PopPoint_X>81.31</PopPoint_X>
<PopPoint_Y>33.69</PopPoint_Y>
</Character>
<Character id="cUid31">
<CharacterUID>31</CharacterUID>
<CharacterName>ローグ</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>0</InternalID>
<PopSpeed>15</PopSpeed>
<PopPoint_X>91.44</PopPoint_X>
<PopPoint_Y>41.81</PopPoint_Y>
</Character>
<Character id="cUid32">
<CharacterUID>32</CharacterUID>
<CharacterName>マゴット</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>1</InternalID>
<PopSpeed>30</PopSpeed>
<PopPoint_X>82.44</PopPoint_X>
<PopPoint_Y>36.63</PopPoint_Y>
</Character>
<Character id="cUid33">
<CharacterUID>33</CharacterUID>
<CharacterName>マゴット</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>1</InternalID>
<PopSpeed>30</PopSpeed>
<PopPoint_X>89.25</PopPoint_X>
<PopPoint_Y>22.81</PopPoint_Y>
</Character>
<Character id="cUid34">
<CharacterUID>34</CharacterUID>
<CharacterName>マゴット</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>1</InternalID>
<PopSpeed>30</PopSpeed>
<PopPoint_X>63.81</PopPoint_X>
<PopPoint_Y>13.25</PopPoint_Y>
</Character>
<Character id="cUid36">
<CharacterUID>36</CharacterUID>
<CharacterName>マゴット</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>3</InternalID>
<PopSpeed>30</PopSpeed>
<PopPoint_X>53.50</PopPoint_X>
<PopPoint_Y>25.44</PopPoint_Y>
</Character>
<Character id="cUid38">
<CharacterUID>38</CharacterUID>
<CharacterName>ローグ</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>2</InternalID>
<PopSpeed>20</PopSpeed>
<PopPoint_X>53.94</PopPoint_X>
<PopPoint_Y>17.69</PopPoint_Y>
</Character>
<Character id="cUid40">
<CharacterUID>40</CharacterUID>
<CharacterName>ローグ</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>2</InternalID>
<PopSpeed>20</PopSpeed>
<PopPoint_X>18.38</PopPoint_X>
<PopPoint_Y>15.56</PopPoint_Y>
</Character>
<Character id="cUid43">
<CharacterUID>43</CharacterUID>
<CharacterName>ローグ</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>2</InternalID>
<PopSpeed>20</PopSpeed>
<PopPoint_X>25.63</PopPoint_X>
<PopPoint_Y>31.59</PopPoint_Y>
</Character>
<Character id="cUid46">
<CharacterUID>46</CharacterUID>
<CharacterName>マゴット</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>3</InternalID>
<PopSpeed>30</PopSpeed>
<PopPoint_X>18.16</PopPoint_X>
<PopPoint_Y>30.41</PopPoint_Y>
</Character>
<Character id="cUid49">
<CharacterUID>49</CharacterUID>
<CharacterName>ローグ</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>0</InternalID>
<PopSpeed>14</PopSpeed>
<PopPoint_X>47.84</PopPoint_X>
<PopPoint_Y>65.25</PopPoint_Y>
</Character>
<Character id="cUid50">
<CharacterUID>50</CharacterUID>
<CharacterName>ローグ</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>2</InternalID>
<PopSpeed>18</PopSpeed>
<PopPoint_X>58.78</PopPoint_X>
<PopPoint_Y>72.31</PopPoint_Y>
</Character>
<Character id="cUid51">
<CharacterUID>51</CharacterUID>
<CharacterName>ローグ</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>2</InternalID>
<PopSpeed>18</PopSpeed>
<PopPoint_X>50.63</PopPoint_X>
<PopPoint_Y>70.59</PopPoint_Y>
</Character>
<Character id="cUid53">
<CharacterUID>53</CharacterUID>
<CharacterName>ローグ</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>2</InternalID>
<PopSpeed>18</PopSpeed>
<PopPoint_X>66.31</PopPoint_X>
<PopPoint_Y>65.47</PopPoint_Y>
</Character>
<Character id="cUid56">
<CharacterUID>56</CharacterUID>
<CharacterName>マゴット</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>3</InternalID>
<PopSpeed>20</PopSpeed>
<PopPoint_X>42.31</PopPoint_X>
<PopPoint_Y>63.66</PopPoint_Y>
</Character>
<Character id="cUid57">
<CharacterUID>57</CharacterUID>
<CharacterName>マゴット</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>3</InternalID>
<PopSpeed>20</PopSpeed>
<PopPoint_X>40.06</PopPoint_X>
<PopPoint_Y>71.91</PopPoint_Y>
</Character>
<Character id="cUid58">
<CharacterUID>58</CharacterUID>
<CharacterName>マゴット</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>3</InternalID>
<PopSpeed>20</PopSpeed>
<PopPoint_X>48.63</PopPoint_X>
<PopPoint_Y>75.63</PopPoint_Y>
</Character>
<Character id="cUid60">
<CharacterUID>60</CharacterUID>
<CharacterName>マゴット</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>3</InternalID>
<PopSpeed>20</PopSpeed>
<PopPoint_X>66.66</PopPoint_X>
<PopPoint_Y>71.16</PopPoint_Y>
</Character>
<Character id="cUid62">
<CharacterUID>62</CharacterUID>
<CharacterName>マゴット</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>3</InternalID>
<PopSpeed>30</PopSpeed>
<PopPoint_X>98.16</PopPoint_X>
<PopPoint_Y>85.03</PopPoint_Y>
</Character>
<Character id="cUid66">
<CharacterUID>66</CharacterUID>
<CharacterName>ローグ</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>2</InternalID>
<PopSpeed>20</PopSpeed>
<PopPoint_X>105.41</PopPoint_X>
<PopPoint_Y>88.91</PopPoint_Y>
</Character>
<Character id="cUid67">
<CharacterUID>67</CharacterUID>
<CharacterName>ローグ</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>2</InternalID>
<PopSpeed>20</PopSpeed>
<PopPoint_X>167.31</PopPoint_X>
<PopPoint_Y>86.94</PopPoint_Y>
</Character>
<Character id="cUid69">
<CharacterUID>69</CharacterUID>
<CharacterName>ローグ</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>2</InternalID>
<PopSpeed>20</PopSpeed>
<PopPoint_X>170.38</PopPoint_X>
<PopPoint_Y>98.69</PopPoint_Y>
</Character>
<Character id="cUid70">
<CharacterUID>70</CharacterUID>
<CharacterName>ローグ</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>2</InternalID>
<PopSpeed>20</PopSpeed>
<PopPoint_X>151.25</PopPoint_X>
<PopPoint_Y>74.44</PopPoint_Y>
</Character>
<Character id="cUid71">
<CharacterUID>71</CharacterUID>
<CharacterName>ローグ</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>2</InternalID>
<PopSpeed>20</PopSpeed>
<PopPoint_X>137.00</PopPoint_X>
<PopPoint_Y>76.31</PopPoint_Y>
</Character>
<Character id="cUid73">
<CharacterUID>73</CharacterUID>
<CharacterName>ローグ</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>2</InternalID>
<PopSpeed>20</PopSpeed>
<PopPoint_X>127.66</PopPoint_X>
<PopPoint_Y>67.94</PopPoint_Y>
</Character>
<Character id="cUid74">
<CharacterUID>74</CharacterUID>
<CharacterName>ローグ</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>2</InternalID>
<PopSpeed>20</PopSpeed>
<PopPoint_X>117.63</PopPoint_X>
<PopPoint_Y>62.94</PopPoint_Y>
</Character>
<Character id="cUid75">
<CharacterUID>75</CharacterUID>
<CharacterName>マゴット</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>3</InternalID>
<PopSpeed>30</PopSpeed>
<PopPoint_X>130.97</PopPoint_X>
<PopPoint_Y>60.66</PopPoint_Y>
</Character>
<Character id="cUid76">
<CharacterUID>76</CharacterUID>
<CharacterName>マゴット</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>3</InternalID>
<PopSpeed>30</PopSpeed>
<PopPoint_X>150.44</PopPoint_X>
<PopPoint_Y>77.69</PopPoint_Y>
</Character>
<Character id="cUid77">
<CharacterUID>77</CharacterUID>
<CharacterName>マゴット</CharacterName>
<CharacterType>2</CharacterType>
<InternalID>3</InternalID>
<PopSpeed>30</PopSpeed>
<PopPoint_X>172.25</PopPoint_X>
<PopPoint_Y>92.25</PopPoint_Y>
</Character>
</CharacterData>
<AreaData>
<Area id="aUid0">
<AreaUID>0</AreaUID>
<AreaName>_필드 전체</AreaName>
<AreaType>0</AreaType>
<AccessMap></AccessMap>
<AccessMapName></AccessMapName>
<AreaPos_X>0.00</AreaPos_X>
<AreaPos_X2>0.00</AreaPos_X2>
<AreaPos_Y>0.00</AreaPos_Y>
<AreaPos_Y2>0.00</AreaPos_Y2>
<AreaExpansion>
</AreaExpansion>
</Area>
<Area id="aUid1">
<AreaUID>1</AreaUID>
<AreaName>_화면</AreaName>
<AreaType>0</AreaType>
<AccessMap></AccessMap>
<AccessMapName></AccessMapName>
<AreaPos_X>0.00</AreaPos_X>
<AreaPos_X2>0.00</AreaPos_X2>
<AreaPos_Y>0.00</AreaPos_Y>
<AreaPos_Y2>0.00</AreaPos_Y2>
<AreaExpansion>
</AreaExpansion>
</Area>
<Area id="aUid2">
<AreaUID>2</AreaUID>
<AreaName>1F로..</AreaName>
<AreaType>3</AreaType>
<AccessMap>[110]T04_H03_F01.rmd</AccessMap>
<AccessMapName>シーフギルドの倉庫[C] 1F</AccessMapName>
<AreaPos_X>222.91</AreaPos_X>
<AreaPos_X2>227.88</AreaPos_X2>
<AreaPos_Y>7.09</AreaPos_Y>
<AreaPos_Y2>9.38</AreaPos_Y2>
<AreaExpansion>
</AreaExpansion>
</Area>
<Area id="aUid3">
<AreaUID>3</AreaUID>
<AreaName>B2로..</AreaName>
<AreaType>3</AreaType>
<AccessMap>[112]T04_H03_B02.rmd</AccessMap>
<AccessMapName>シーフギルドの倉庫[C] B2</AccessMapName>
<AreaPos_X>96.84</AreaPos_X>
<AreaPos_X2>101.03</AreaPos_X2>
<AreaPos_Y>100.44</AreaPos_Y>
<AreaPos_Y2>102.81</AreaPos_Y2>
<AreaExpansion>
</AreaExpansion>
</Area>
<Area id="aUid4">
<AreaUID>4</AreaUID>
<AreaName>Area 3</AreaName>
<AreaType>4</AreaType>
<AccessMap></AccessMap>
<AccessMapName></AccessMapName>
<AreaPos_X>210.00</AreaPos_X>
<AreaPos_X2>227.97</AreaPos_X2>
<AreaPos_Y>28.72</AreaPos_Y>
<AreaPos_Y2>49.06</AreaPos_Y2>
<AreaExpansion>
</AreaExpansion>
</Area>
<Area id="aUid5">
<AreaUID>5</AreaUID>
<AreaName>Area 4</AreaName>
<AreaType>4</AreaType>
<AccessMap></AccessMap>
<AccessMapName></AccessMapName>
<AreaPos_X>125.97</AreaPos_X>
<AreaPos_X2>160.00</AreaPos_X2>
<AreaPos_Y>8.97</AreaPos_Y>
<AreaPos_Y2>21.94</AreaPos_Y2>
<AreaExpansion>
</AreaExpansion>
</Area>
<Area id="aUid6">
<AreaUID>6</AreaUID>
<AreaName>Area 5</AreaName>
<AreaType>4</AreaType>
<AccessMap></AccessMap>
<AccessMapName></AccessMapName>
<AreaPos_X>48.00</AreaPos_X>
<AreaPos_X2>67.75</AreaPos_X2>
<AreaPos_Y>9.94</AreaPos_Y>
<AreaPos_Y2>30.94</AreaPos_Y2>
<AreaExpansion>
</AreaExpansion>
</Area>
<Area id="aUid7">
<AreaUID>7</AreaUID>
<AreaName>Area 6</AreaName>
<AreaType>4</AreaType>
<AccessMap></AccessMap>
<AccessMapName></AccessMapName>
<AreaPos_X>13.19</AreaPos_X>
<AreaPos_X2>29.84</AreaPos_X2>
<AreaPos_Y>9.06</AreaPos_Y>
<AreaPos_Y2>37.03</AreaPos_Y2>
<AreaExpansion>
</AreaExpansion>
</Area>
<Area id="aUid8">
<AreaUID>8</AreaUID>
<AreaName>Area 7</AreaName>
<AreaType>4</AreaType>
<AccessMap></AccessMap>
<AccessMapName></AccessMapName>
<AreaPos_X>39.31</AreaPos_X>
<AreaPos_X2>70.63</AreaPos_X2>
<AreaPos_Y>58.81</AreaPos_Y>
<AreaPos_Y2>66.88</AreaPos_Y2>
<AreaExpansion>
</AreaExpansion>
</Area>
<Area id="aUid9">
<AreaUID>9</AreaUID>
<AreaName>Area 8</AreaName>
<AreaType>4</AreaType>
<AccessMap></AccessMap>
<AccessMapName></AccessMapName>
<AreaPos_X>36.19</AreaPos_X>
<AreaPos_X2>76.00</AreaPos_X2>
<AreaPos_Y>67.97</AreaPos_Y>
<AreaPos_Y2>77.22</AreaPos_Y2>
<AreaExpansion>
</AreaExpansion>
</Area>
<Area id="aUid10">
<AreaUID>10</AreaUID>
<AreaName>Area 9</AreaName>
<AreaType>4</AreaType>
<AccessMap></AccessMap>
<AccessMapName></AccessMapName>
<AreaPos_X>93.72</AreaPos_X>
<AreaPos_X2>124.00</AreaPos_X2>
<AreaPos_Y>77.50</AreaPos_Y>
<AreaPos_Y2>93.94</AreaPos_Y2>
<AreaExpansion>
</AreaExpansion>
</Area>
<Area id="aUid11">
<AreaUID>11</AreaUID>
<AreaName>Area 10</AreaName>
<AreaType>4</AreaType>
<AccessMap></AccessMap>
<AccessMapName></AccessMapName>
<AreaPos_X>110.06</AreaPos_X>
<AreaPos_X2>141.94</AreaPos_X2>
<AreaPos_Y>55.94</AreaPos_Y>
<AreaPos_Y2>69.06</AreaPos_Y2>
<AreaExpansion>
</AreaExpansion>
</Area>
<Area id="aUid12">
<AreaUID>12</AreaUID>
<AreaName>Area 11</AreaName>
<AreaType>4</AreaType>
<AccessMap></AccessMap>
<AccessMapName></AccessMapName>
<AreaPos_X>130.19</AreaPos_X>
<AreaPos_X2>158.00</AreaPos_X2>
<AreaPos_Y>69.06</AreaPos_Y>
<AreaPos_Y2>82.00</AreaPos_Y2>
<AreaExpansion>
</AreaExpansion>
</Area>
<Area id="aUid13">
<AreaUID>13</AreaUID>
<AreaName>Area 12</AreaName>
<AreaType>4</AreaType>
<AccessMap></AccessMap>
<AccessMapName></AccessMapName>
<AreaPos_X>155.00</AreaPos_X>
<AreaPos_X2>182.88</AreaPos_X2>
<AreaPos_Y>85.03</AreaPos_Y>
<AreaPos_Y2>101.94</AreaPos_Y2>
<AreaExpansion>
</AreaExpansion>
</Area>
<Area id="aUid14">
<AreaUID>14</AreaUID>
<AreaName>Area 13</AreaName>
<AreaType>4</AreaType>
<AccessMap></AccessMap>
<AccessMapName></AccessMapName>
<AreaPos_X>177.88</AreaPos_X>
<AreaPos_X2>206.06</AreaPos_X2>
<AreaPos_Y>55.06</AreaPos_Y>
<AreaPos_Y2>74.94</AreaPos_Y2>
<AreaExpansion>
</AreaExpansion>
</Area>
<Area id="aUid15">
<AreaUID>15</AreaUID>
<AreaName>Area 14</AreaName>
<AreaType>4</AreaType>
<AccessMap></AccessMap>
<AccessMapName></AccessMapName>
<AreaPos_X>81.97</AreaPos_X>
<AreaPos_X2>100.34</AreaPos_X2>
<AreaPos_Y>22.34</AreaPos_Y>
<AreaPos_Y2>30.69</AreaPos_Y2>
<AreaExpansion>
</AreaExpansion>
</Area>
<Area id="aUid16">
<AreaUID>16</AreaUID>
<AreaName>Area 15</AreaName>
<AreaType>4</AreaType>
<AccessMap></AccessMap>
<AccessMapName></AccessMapName>
<AreaPos_X>109.25</AreaPos_X>
<AreaPos_X2>121.91</AreaPos_X2>
<AreaPos_Y>22.88</AreaPos_Y>
<AreaPos_Y2>33.03</AreaPos_Y2>
<AreaExpansion>
</AreaExpansion>
</Area>
<Area id="aUid17">
<AreaUID>17</AreaUID>
<AreaName>Area 16</AreaName>
<AreaType>4</AreaType>
<AccessMap></AccessMap>
<AccessMapName></AccessMapName>
<AreaPos_X>74.94</AreaPos_X>
<AreaPos_X2>96.97</AreaPos_X2>
<AreaPos_Y>33.28</AreaPos_Y>
<AreaPos_Y2>49.13</AreaPos_Y2>
<AreaExpansion>
</AreaExpansion>
</Area>
<Area id="aUid18">
<AreaUID>18</AreaUID>
<AreaName>Area 17</AreaName>
<AreaType>4</AreaType>
<AccessMap></AccessMap>
<AccessMapName></AccessMapName>
<AreaPos_X>173.78</AreaPos_X>
<AreaPos_X2>199.88</AreaPos_X2>
<AreaPos_Y>10.34</AreaPos_Y>
<AreaPos_Y2>21.00</AreaPos_Y2>
<AreaExpansion>
</AreaExpansion>
</Area>
<Area id="aUid19">
<AreaUID>19</AreaUID>
<AreaName>Area 18</AreaName>
<AreaType>4</AreaType>
<AccessMap></AccessMap>
<AccessMapName></AccessMapName>
<AreaPos_X>171.50</AreaPos_X>
<AreaPos_X2>188.34</AreaPos_X2>
<AreaPos_Y>25.50</AreaPos_Y>
<AreaPos_Y2>44.94</AreaPos_Y2>
<AreaExpansion>
</AreaExpansion>
</Area>
<Area id="aUid20">
<AreaUID>20</AreaUID>
<AreaName>보물상자00</AreaName>
<AreaType>13</AreaType>
<AccessMap></AccessMap>
<AccessMapName></AccessMapName>
<AreaPos_X>52.25</AreaPos_X>
<AreaPos_X2>54.06</AreaPos_X2>
<AreaPos_Y>69.00</AreaPos_Y>
<AreaPos_Y2>70.03</AreaPos_Y2>
<AreaExpansion>
</AreaExpansion>
</Area>
<Area id="aUid21">
<AreaUID>21</AreaUID>
<AreaName>보물상자01</AreaName>
<AreaType>13</AreaType>
<AccessMap></AccessMap>
<AccessMapName></AccessMapName>
<AreaPos_X>71.06</AreaPos_X>
<AreaPos_X2>72.84</AreaPos_X2>
<AreaPos_Y>65.91</AreaPos_Y>
<AreaPos_Y2>66.94</AreaPos_Y2>
<AreaExpansion>
</AreaExpansion>
</Area>
<Area id="aUid22">
<AreaUID>22</AreaUID>
<AreaName>보물상자02</AreaName>
<AreaType>13</AreaType>
<AccessMap></AccessMap>
<AccessMapName></AccessMapName>
<AreaPos_X>142.00</AreaPos_X>
<AreaPos_X2>143.94</AreaPos_X2>
<AreaPos_Y>8.03</AreaPos_Y>
<AreaPos_Y2>8.91</AreaPos_Y2>
<AreaExpansion>
</AreaExpansion>
</Area>
<Area id="aUid23">
<AreaUID>23</AreaUID>
<AreaName>보물상자03</AreaName>
<AreaType>13</AreaType>
<AccessMap></AccessMap>
<AccessMapName></AccessMapName>
<AreaPos_X>172.03</AreaPos_X>
<AreaPos_X2>174.00</AreaPos_X2>
<AreaPos_Y>96.06</AreaPos_Y>
<AreaPos_Y2>96.91</AreaPos_Y2>
<AreaExpansion>
</AreaExpansion>
</Area>
<Area id="aUid24">
<AreaUID>24</AreaUID>
<AreaName>보물상자04</AreaName>
<AreaType>13</AreaType>
<AccessMap></AccessMap>
<AccessMapName></AccessMapName>
<AreaPos_X>208.06</AreaPos_X>
<AreaPos_X2>209.97</AreaPos_X2>
<AreaPos_Y>40.03</AreaPos_Y>
<AreaPos_Y2>41.00</AreaPos_Y2>
<AreaExpansion>
</AreaExpansion>
</Area>
</AreaData>
</MapData>


text:
module TinymceRailsConfigManager
  VERSION = "0.1.0"
end


text:
require 'spec_helper'
require 'tiny_server'

describe TinyServer::API do
  before do
    @api = TinyServer::API.instance
    @api.clear
  end

  it "is a Singleton" do
    lambda {TinyServer::API.new}.should raise_error
  end

  it "clears the router" do
    @api.get('/blargh', 200, "blargh")
    @api.clear
    @api.routes["GET"].should be_empty
  end

  it "creates a route for a GET request" do
    @api.get('/foo/bar', 200, 'hello foobar')
    # WEBrick gives you the full URI with host, Thin only gave the part after scheme+host+port
    response = @api.call("REQUEST_METHOD" => "GET", "REQUEST_URI" => 'http://localhost:1974/foo/bar')
    response.should == [200, {'Content-Type' => 'application/json'}, [ 'hello foobar' ]]
  end

  it "creates a route for a request with a block" do
    block_called = false
    @api.get('/bar/baz', 200) { block_called = true; 'hello barbaz' }
    response = @api.call("REQUEST_METHOD" => "GET", "REQUEST_URI" => 'http://localhost:1974/bar/baz')
    response.should == [200, {'Content-Type' => 'application/json'}, [ 'hello barbaz' ]]
    block_called.should be_true
  end

  it "returns debugging info for 404s" do
    response = @api.call("REQUEST_METHOD" => "GET", "REQUEST_URI" => '/no_such_thing')
    response[0].should == 404
    response[1].should == {'Content-Type' => 'application/json'}
    response[2].should be_a_kind_of(Array)
    response_obj = Seth::JSONCompat.from_json(response[2].first)
    response_obj["message"].should == "no data matches the request for /no_such_thing"
    response_obj["available_routes"].should == {"GET"=>[], "PUT"=>[], "POST"=>[], "DELETE"=>[]}
    response_obj["request"].should == {"REQUEST_METHOD"=>"GET", "REQUEST_URI"=>"/no_such_thing"}
  end

end

describe TinyServer::Manager do
  it "runs the server" do
    @server = TinyServer::Manager.new
    @server.start

    TinyServer::API.instance.get("/index", 200, "[\"hello\"]")

    rest = Seth::REST.new('http://localhost:9000', false, false)
    rest.get_rest("index").should == ["hello"]

    @server.stop
  end
end