Author: buildbot
Date: Thu Mar 19 18:21:02 2015
New Revision: 944366
Log:
Staging update by buildbot for slider
Added:
websites/staging/slider/trunk/content/docs/slider_specs/simple_pkg.html
Modified:
websites/staging/slider/trunk/content/ (props changed)
websites/staging/slider/trunk/content/docs/slider_specs/index.html
Propchange: websites/staging/slider/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Thu Mar 19 18:21:02 2015
@@ -1 +1 @@
-1667813
+1667824
Modified: websites/staging/slider/trunk/content/docs/slider_specs/index.html
==============================================================================
--- websites/staging/slider/trunk/content/docs/slider_specs/index.html
(original)
+++ websites/staging/slider/trunk/content/docs/slider_specs/index.html Thu Mar
19 18:21:02 2015
@@ -198,7 +198,8 @@ Latest release: <strong>0.60.0-incubatin
<li>Requires apps to follow Slider guidelines and packaging ("Sliderize")</li>
</ul>
<h2 id="specifications">Specifications</h2>
-<p>Refer to <a href="hello_world_slider_app.html">Creating a Slider package
for Memcached</a> for a quick over view of how to write a Slider app. </p>
+<p>Refer to <a href="hello_world_slider_app.html">Creating a Slider package
for Memcached</a> for a quick over view of how to write a Slider app.</p>
+<p>Packaging enhancements: <a href="simple_pkg.html">Simplified Packaging</a>
describes a simplified version of packaging that Slider supports for
applications that do not need full capability of a Slider application package.
<em>The work is available in the develop branch and is targeted for the next
relase.</em></p>
<p>The entry points to leverage Slider are:</p>
<ul>
<li><a href="application_needs.html">Application Needs</a> What it takes to be
deployable by Slider. </li>
Added: websites/staging/slider/trunk/content/docs/slider_specs/simple_pkg.html
==============================================================================
--- websites/staging/slider/trunk/content/docs/slider_specs/simple_pkg.html
(added)
+++ websites/staging/slider/trunk/content/docs/slider_specs/simple_pkg.html Thu
Mar 19 18:21:02 2015
@@ -0,0 +1,384 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You 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.
+-->
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <link href="/css/bootstrap.min.css" rel="stylesheet">
+ <link href="/css/bootstrap-theme.min.css" rel="stylesheet">
+ <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+ <!--[if lt IE 9]>
+ <script
src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
+ <script
src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
+ <![endif]-->
+ <script
src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
+ <script src="/js/bootstrap.min.js"></script>
+ <link href="/css/slider.css" rel="stylesheet" type="text/css">
+ <link
href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css"
rel="stylesheet">
+ <title></title>
+
+</head>
+
+<body>
+<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
+<div class="container-fluid">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse"
data-target="#navbar-items">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="/index.html">Slider</a>
+ </div>
+ <div class="collapse navbar-collapse" id="navbar-items">
+ <ul class="nav navbar-nav">
+ <li class="dropdown">
+ <a class="dropdown-toggle" data-toggle="dropdown" href="#">
+ Project <span class="caret"></span>
+ </a>
+<ul class="dropdown-menu">
+<li id="nav_index"><a href="/index.html">Home</a></li>
+<li id="nav_downloads"><a href="/downloads">Downloads</a></li>
+<li id="nav_source"><a
href="https://git-wip-us.apache.org/repos/asf/incubator-slider.git"><i
class="fa fa-external-link"></i> Source</a></li>
+<li><a href="http://www.apache.org/licenses/LICENSE-2.0"><i class="fa
fa-external-link"></i> License</a></li>
+<li class="divider"></li>
+<li class="dropdown-header">Community</li>
+<li id="nav_team"><a href="/team.html">Team</a></li>
+<li id="nav_mailinglists"><a href="/mailing_lists.html">Mailing Lists</a></li>
+<li class="divider"></li>
+<li class="dropdown-header">Tools</li>
+<li id="nav_jira"><a href="https://issues.apache.org/jira/browse/SLIDER"><i
class="fa fa-external-link"></i> Issues</a></li>
+<li id="nav_builds"><a href="https://builds.apache.org/job/Slider-develop"><i
class="fa fa-external-link"></i> Builds</a></li>
+</ul>
+</li>
+
+ <li class="dropdown">
+ <a class="dropdown-toggle" data-toggle="dropdown" href="/design">
+ Design <span class="caret"></span>
+ </a>
+<ul class="dropdown-menu">
+<li id="nav_design_overview"><a
href="/design/architecture.html">Overview</a></li>
+<li id="nav_app_needs"><a
href="/docs/slider_specs/application_needs.html">Application Needs</a></li>
+<li id="nav_spec"><a href="/design/specification/index.html">Expected
Behavior</a></li>
+<li id="nav_registry"><a href="/design/registry/index.html">Service
Registry</a></li>
+<li id="nav_ssl_impl"><a href="/design/ssl_implementation.html">SSL
Implementation</a></li>
+<li id="nav_role_history"><a href="/design/rolehistory.html">Role
History</a></li>
+</ul>
+</li>
+
+
+ <li class="dropdown">
+ <a class="dropdown-toggle" data-toggle="dropdown" href="/developing">
+ Developing <span class="caret"></span>
+ </a>
+<ul class="dropdown-menu">
+<li id="nav_dev_building"><a href="/developing/building.html">Building</a></li>
+<li id="nav_dev_debugging"><a
href="/developing/debugging.html">Debugging</a></li>
+<li id="nav_dev_testing"><a href="/developing/testing.html">Testing</a></li>
+<li id="nav_dev_funtesting"><a
href="/developing/functional_tests.html">Functional Testing</a></li>
+<li id="nav_dev_manual_testing"><a
href="/developing/manual_testing.html">Manual Testing</a></li>
+<li id="nav_releasing"><a href="/developing/releasing.html">Releasing</a></li>
+</ul>
+</li>
+
+ <li class="dropdown">
+ <a class="dropdown-toggle" data-toggle="dropdown" href="#">
+ Using <span class="caret"></span>
+ </a>
+<ul class="dropdown-menu">
+<li id="nav_use_getting_started"><a href="/docs/getting_started.html">Getting
Started</a></li>
+<li id="nav_use_manpage"><a href="/docs/manpage.html">Man Page</a></li>
+<li role="presentation" class="divider"></li>
+<li id="nav_use_app_package"><a href="/docs/slider_specs/index.html">Creating
App Packages</a></li>
+<li role="presentation" class="divider"></li>
+<li id="nav_use_client_config"><a
href="/docs/client-configuration.html">Client Configuration</a></li>
+<li id="nav_use_exitcodes"><a href="/docs/exitcodes.html">Client Exit
Codes</a></li>
+<li role="presentation" class="divider"></li>
+<li id="nav_use_debugging"><a
href="/developing/debugging.html">Debugging</a></li>
+<li id="nav_use_troubleshooting"><a
href="/docs/troubleshooting.html">Troubleshooting</a></li>
+<li role="presentation" class="divider"></li>
+<li id="nav_use_high_availability"><a href="/docs/high_availability.html">High
Availability</a></li>
+<li id="nav_use_security"><a href="/docs/security.html">Security</a></li>
+<li id="nav_am_agent_ssl"><a href="/docs/ssl.html">Agent to AM SSL</a></li>
+<li id="nav_use_app_configuration"><a
href="/docs/configuration/index.html">App Configuration Model</a></li>
+<li id="nav_use_examples"><a href="/docs/examples.html">Provider
Examples</a></li>
+</ul>
+</li>
+
+ <li class="dropdown">
+ <a class="dropdown-toggle" data-toggle="dropdown" href="#">
+ ASF Links <span class="caret"></span>
+ </a>
+<ul class="dropdown-menu">
+<li><a href="http://www.apache.org"><i class="fa fa-external-link"></i> Apache
Software Foundation</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html"><i class="fa
fa-external-link"></i> Sponsorship</a></li>
+<li><a href="http://www.apache.org/security/"><i class="fa
fa-external-link"></i> Security</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html"><i class="fa
fa-external-link"></i> Thanks</a></li>
+</ul>
+</li>
+</ul>
+
+ </div>
+
+</div>
+</nav>
+
+
+<div class="container-fluid">
+<div class="row">
+ <div class="col-md-2" id="sidebar">
+ <div style="text-align: center">
+ <h1><a href="/index.html">Apache Slider (incubating)</a></h1>
+ <hr>
+Latest release: <strong>0.60.0-incubating</strong><br>
+ <br>
+ <a id="download-button-sidebar" class="btn btn-success btn-block"
href="/downloads/" role="button">Download</a>
+ </div>
+ <hr>
+ <a href="http://incubator.apache.org"><img id="logo" alt="Apache Incubator
™" class="img-responsive"
src="http://incubator.apache.org/images/apache-incubator-logo.png"/></a>
+ </div>
+ <div class="col-md-8 col-md-offset-1">
+
+ <div id="content">
+
+ <h1 class="title"></h1>
+
+ <!---
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You 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.
+-->
+
+<h1 id="simplified-application-packaging">Simplified Application Packaging</h1>
+<p>An application may be a simple command as all of its dependencies are
pre-installed. In these cases creating a full application package zip file may
be too much. Similarly, applications artifacts can be organized in a folder
that the developer is continously editing while she is creating/debugging a
package. The need to zip up the package and uploading to FS explicitly can be
eliminated. The following simplifications are designed:</p>
+<ul>
+<li>eliminate the need for a zip package</li>
+<li>only mandate a metadata file (allow json structure as well)</li>
+<li>allow reading an application definition from a local folder</li>
+</ul>
+<h2 id="examples">Examples</h2>
+<h2 id="a-minimal-application-specified-through-metadata">A minimal
application specified through metadata</h2>
+<p>It is assummed that all binary dependencies are installed on the host
machines.</p>
+<h3 id="application-specification">Application specification</h3>
+<p><strong>metainfo.json</strong></p>
+<div class="codehilite"><pre><span class="p">{</span>
+"<span class="n">schemaVersion</span>"<span class="p">:</span>
"2<span class="p">.</span>1"<span class="p">,</span>
+"<span class="n">application</span>"<span class="p">:</span> <span
class="p">{</span>
+ "<span class="n">name</span>"<span class="p">:</span>
"<span class="n">MEMCACHED</span>"<span class="p">,</span>
+ "<span class="n">components</span>"<span class="p">:</span>
<span class="p">[</span>
+ <span class="p">{</span>
+ "<span class="n">name</span>"<span class="p">:</span>
"<span class="n">MEMCACHED</span>"<span class="p">,</span>
+ "<span class="n">commands</span>"<span
class="p">:</span> <span class="p">[</span>
+ <span class="p">{</span>
+ "<span class="n">exec</span>"<span
class="p">:</span> "<span class="o">/</span><span
class="n">usr</span><span class="o">/</span><span class="n">jdk64</span><span
class="o">/</span><span class="n">jdk1</span><span class="p">.</span>7<span
class="p">.</span>0<span class="n">_67</span><span class="o">/</span><span
class="n">bin</span><span class="o">/</span><span class="n">java</span> <span
class="o">-</span><span class="n">classpath</span> <span
class="o">/</span><span class="n">usr</span><span class="o">/</span><span
class="n">myapps</span><span class="o">/</span><span
class="n">memcached</span><span class="o">/*</span><span
class="p">:</span><span class="o">/</span><span class="n">usr</span><span
class="o">/</span><span class="n">hadoop</span><span class="o">/</span><span
class="n">lib</span><span class="o">/*</span> <span class="n">com</span><span
class="p">.</span><span class="n">thimbleware</span><span
class="p">.</span><span class="n">jmemcach
ed</span><span class="p">.</span><span class="n">Main</span>"
+ <span class="p">}</span>
+ <span class="p">]</span>
+ <span class="p">}</span>
+ <span class="p">]</span>
+<span class="p">}</span>
+<span class="p">}</span>
+</pre></div>
+
+
+<p><em>At this point a resources.json is required but there is a plan to
eliminate it by introducing default resource requirements through
slider-client.xml. A common resources.json file is specified <a
href="#sample_resources">here</a></em></p>
+<h3 id="create">create</h3>
+<div class="codehilite"><pre><span class="n">slider</span> <span
class="n">create</span> <span class="n">memcachedmin</span> <span
class="o">--</span><span class="n">metainfo</span> <span
class="n">metainfo</span><span class="p">.</span><span class="n">json</span>
<span class="o">--</span><span class="n">resources</span> <span
class="n">resources</span><span class="p">.</span><span class="n">json</span>
+</pre></div>
+
+
+<h2 id="a-minimal-application-with-exports">A minimal application with
exports</h2>
+<p>It is assummed that all binary dependencies are installed on the host
machines. Application asks Slider to allocate a dynamic port and then export it
to the registry. You can use the same syntax as specified in <a
href="specifying_exports.html">specifying exports</a>.</p>
+<h3 id="application-specification_1">Application specification</h3>
+<p><strong>metainfo.json</strong></p>
+<div class="codehilite"><pre>{
+"schemaVersion": "2.1",
+"application": {
+ "name": "MEMCACHED",
+ "exportGroups": [
+ {
+ "name": "Servers",
+ "exports": [
+ {
+ "name": "host_port",
+ "value": "<span class="cp">${</span><span
class="n">MEMCACHED_HOST</span><span class="cp">}</span>:<span
class="cp">${</span><span class="n">site</span><span class="o">.</span><span
class="k">global</span><span class="o">.</span><span class="n">port</span><span
class="cp">}</span>"
+ }
+ ]
+ }
+ ],
+ "components": [
+ {
+ "name": "MEMCACHED",
+ "compExports": "Servers-host_port",
+ "commands": [
+ {
+ "exec": "/usr/jdk64/jdk1.7.0_67/bin/java
-classpath /usr/myapps/memcached/*:/usr/hdp/current/hadoop-client/lib/*
com.thimbleware.jmemcached.Main --port={<span
class="nv">$conf</span>:@//site/global/port}"
+ }
+ ]
+ }
+ ]
+}
+}
+</pre></div>
+
+
+<p><strong>appConfig.json</strong>
+The intent to get a dynamically allocated port is specified via appConfig.json
file.</p>
+<div class="codehilite"><pre>{
+ "schema": "http://example.org/specification/v2.0.0",
+ "metadata": {
+ },
+ "global": {
+ "site.global.port": "<span class="cp">${</span><span
class="n">MEMCACHED</span><span class="o">.</span><span
class="n">ALLOCATED_PORT</span><span class="cp">}</span>{PER_CONTAINER}"
+ }
+}
+</pre></div>
+
+
+<h3 id="create_1">create</h3>
+<div class="codehilite"><pre><span class="n">slider</span> <span
class="n">create</span> <span class="n">memcachedmin</span> <span
class="o">--</span><span class="n">metainfo</span> <span
class="n">metainfo</span><span class="p">.</span><span class="n">json</span>
<span class="o">--</span><span class="n">resources</span> <span
class="n">resources</span><span class="p">.</span><span class="n">json</span>
<span class="o">--</span><span class="n">template</span> <span
class="n">appConfig</span><span class="p">.</span><span class="n">json</span>
+</pre></div>
+
+
+<h2 id="a-application-with-libraries">A application with libraries</h2>
+<p>In this case, the application requires some jars to be uploaded and be made
available locally. The application definition, in this case can be specified as
a folder and <em>uploaded</em> jars can be referred to from the app_root. At
this point, the layout is close to the .zip package except you do not need to
explicitly package it up. Slider will package the content and upload it.</p>
+<h3 id="application-specification_2">Application specification</h3>
+<p><strong>metainfo.json</strong></p>
+<div class="codehilite"><pre>{
+"schemaVersion": "2.1",
+"application": {
+ "name": "MEMCACHED",
+ "exportGroups": [
+ {
+ "name": "Servers",
+ "exports": [
+ {
+ "name": "host_port",
+ "value": "<span class="cp">${</span><span
class="n">MEMCACHED_HOST</span><span class="cp">}</span>:<span
class="cp">${</span><span class="n">site</span><span class="o">.</span><span
class="k">global</span><span class="o">.</span><span class="n">port</span><span
class="cp">}</span>"
+ }
+ ]
+ }
+ ],
+ "components": [
+ {
+ "name": "MEMCACHED",
+ "compExports": "Servers-host_port",
+ "commands": [
+ {
+ "exec": "/usr/jdk64/jdk1.7.0_67/bin/java
-classpath {<span
class="nv">$conf</span>:@//site/global/app_root}/*:/usr/hdp/current/hadoop-client/lib/*
com.thimbleware.jmemcached.Main --port={<span
class="nv">$conf</span>:@//site/global/port}"
+ }
+ ]
+ }
+ ],
+ "packages": [
+ {
+ "type": "folder",
+ "name": "files/jmemcached-1.0.0"
+ }
+ ]
+
+}
+}
+</pre></div>
+
+
+<p><strong>appConfig.json</strong>
+The intent to get a dynamically allocated port is specified via appConfig.json
file.</p>
+<div class="codehilite"><pre>{
+ "schema": "http://example.org/specification/v2.0.0",
+ "metadata": {
+ },
+ "global": {
+ "site.global.port": "<span class="cp">${</span><span
class="n">MEMCACHED</span><span class="o">.</span><span
class="n">ALLOCATED_PORT</span><span class="cp">}</span>{PER_CONTAINER}"
+ }
+}
+</pre></div>
+
+
+<p><strong>folder contents:</strong></p>
+<div class="codehilite"><pre><span class="o">./</span><span
class="n">package</span>
+<span class="o">./</span><span class="n">package</span><span
class="o">/</span><span class="n">files</span>
+<span class="o">./</span><span class="n">package</span><span
class="o">/</span><span class="n">files</span><span class="o">/</span><span
class="n">jmemcached</span><span class="o">-</span>1<span
class="p">.</span>0<span class="p">.</span>0
+<span class="o">./</span><span class="n">package</span><span
class="o">/</span><span class="n">files</span><span class="o">/</span><span
class="n">jmemcached</span><span class="o">-</span>1<span
class="p">.</span>0<span class="p">.</span>0<span class="o">/</span><span
class="n">jmemcached</span><span class="o">-</span><span
class="n">cli</span><span class="o">-</span>1<span class="p">.</span>0<span
class="p">.</span>0<span class="p">.</span><span class="n">jar</span>
+<span class="o">./</span><span class="n">package</span><span
class="o">/</span><span class="n">files</span><span class="o">/</span><span
class="n">jmemcached</span><span class="o">-</span>1<span
class="p">.</span>0<span class="p">.</span>0<span class="o">/</span><span
class="n">jmemcached</span><span class="o">-</span><span
class="n">core</span><span class="o">-</span>1<span class="p">.</span>0<span
class="p">.</span>0<span class="p">.</span><span class="n">jar</span>
+<span class="o">./</span><span class="n">metainfo</span><span
class="p">.</span><span class="n">json</span>
+</pre></div>
+
+
+<h3 id="create_2">create</h3>
+<div class="codehilite"><pre><span class="n">slider</span> <span
class="n">create</span> <span class="n">memcachedjar</span> â<span
class="n">appdef</span> <span class="o">/</span><span class="n">usr</span><span
class="o">/</span><span class="n">work</span><span class="o">/</span><span
class="n">package</span> <span class="o">--</span><span
class="n">resources</span> <span class="n">resources</span><span
class="p">.</span><span class="n">json</span> <span class="o">--</span><span
class="n">template</span> <span class="n">appConfig</span><span
class="p">.</span><span class="n">json</span>
+</pre></div>
+
+
+<h2 id="wzxhzdk11wzxhzdk12-common-resourcesjson"><a
name="sample_resources"></a> Common resources.json</h2>
+<p>Here is the common resources json file for all samples.</p>
+<p><strong>resources.json</strong></p>
+<div class="codehilite"><pre><span class="p">{</span>
+"<span class="n">schema</span>" <span class="p">:</span> "<span
class="n">http</span><span class="p">:</span><span class="o">//</span><span
class="n">example</span><span class="p">.</span><span class="n">org</span><span
class="o">/</span><span class="n">specification</span><span
class="o">/</span><span class="n">v2</span><span class="p">.</span>0<span
class="p">.</span>0"<span class="p">,</span>
+"<span class="n">metadata</span>" <span class="p">:</span> <span
class="p">{</span>
+<span class="p">},</span>
+"<span class="k">global</span>" <span class="p">:</span> <span
class="p">{</span>
+<span class="p">},</span>
+"<span class="n">components</span>"<span class="p">:</span> <span
class="p">{</span>
+ "<span class="n">slider</span><span class="o">-</span><span
class="n">appmaster</span>"<span class="p">:</span> <span
class="p">{</span>
+ <span class="p">},</span>
+ "<span class="n">MEMCACHED</span>"<span class="p">:</span> <span
class="p">{</span>
+ "<span class="n">yarn</span><span class="p">.</span><span
class="n">role</span><span class="p">.</span><span
class="n">priority</span>"<span class="p">:</span> "1"<span
class="p">,</span>
+ "<span class="n">yarn</span><span class="p">.</span><span
class="n">component</span><span class="p">.</span><span
class="n">instances</span>"<span class="p">:</span> "1"<span
class="p">,</span>
+ "<span class="n">yarn</span><span class="p">.</span><span
class="n">memory</span>"<span class="p">:</span> "256"
+ <span class="p">}</span>
+<span class="p">}</span>
+</pre></div>
+ </div>
+
+ <div id="footer">
+ <a alt="Apache Software Foundation" href="http://www.apache.org">
+ <img id="asf-logo" alt="Apache Software Foundation"
src="/images/feather-small.gif" width="100">
+ </a>
+ <div class="copyright">
+ <p>
+ Copyright © 2011-2014 The Apache Software Foundation, Licensed
under
+ the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache
License, Version 2.0</a>.
+ Apache Slider, Slider, Apache, the Apache feather logo, and the Apache
Incubator
+ project logo are trademarks of the <a
href="http://www.apache.org">Apache Software Foundation</a>.<br />
+ Site created with <a href="http://getbootstrap.com/">Bootstrap</a>
including icons from <a href="http://glyphicons.com/">GLYPHICONS</a> and <a
href="http://fontawesome.io/">Font Awesome</a>.
+ </p>
+ </div>
+ </div>
+ </div>
+
+</div>
+</div>
+
+<script type="text/javascript">
+
+</script>
+</body>
+</html>