[refs #374] Add nanoc api docs

This commit is contained in:
konstantin.grabar 2012-09-07 19:55:50 +04:00
parent b9a622acec
commit 15ec2c2c90
63 changed files with 5846 additions and 0 deletions

View File

@ -55,6 +55,11 @@ gem 'rails-backbone', '~> 0.7.2'
gem 'rack-throttle'
# Abf API:
gem 'nanoc'
gem 'kramdown'
gem 'adsf'
group :assets do
gem 'sass-rails', '~> 3.2.5'
gem 'coffee-rails', '~> 3.2.2'

View File

@ -69,6 +69,8 @@ GEM
activesupport (3.2.7)
i18n (~> 0.6)
multi_json (~> 1.0)
adsf (1.1.1)
rack (>= 1.0.0)
airbrake (3.1.2)
activesupport
builder
@ -103,6 +105,7 @@ GEM
coffee-script-source
execjs
coffee-script-source (1.3.3)
colored (1.2)
compass (0.12.2)
chunky_png (~> 1.2)
fssm (>= 0.2.7)
@ -110,6 +113,8 @@ GEM
compass-rails (1.0.3)
compass (>= 0.12.2, < 0.14)
creole (0.4.2)
cri (2.3.0)
colored (>= 1.2)
daemons (1.1.6)
devise (2.1.2)
bcrypt-ruby (~> 3.0)
@ -159,6 +164,7 @@ GEM
thor (~> 0.14)
json (1.7.4)
kgio (2.7.4)
kramdown (0.13.8)
libv8 (3.3.10.4)
macaddr (1.6.1)
systemu (~> 2.5.0)
@ -180,6 +186,8 @@ GEM
mime-types (1.19)
multi_json (1.3.6)
mustache (0.99.4)
nanoc (3.4.0)
cri (~> 2.2)
net-scp (1.0.4)
net-ssh (>= 1.99.1)
net-sftp (2.0.5)
@ -365,6 +373,7 @@ PLATFORMS
DEPENDENCIES
RedCloth
adsf
airbrake (~> 3.1.2)
ancestry (~> 1.3.0)
bluepill (~> 0.0.60)
@ -388,8 +397,10 @@ DEPENDENCIES
hirb
jbuilder (~> 0.4.0)
jquery-rails (~> 2.0.2)
kramdown
mailcatcher
meta-tags (~> 1.2.5)
nanoc
newrelic_rpm (~> 3.4.1)
omniauth (~> 1.1.0)
omniauth-openid (~> 1.0.1)

1
apidocs/.gitattributes vendored Normal file
View File

@ -0,0 +1 @@
*.svg eol=lf

5
apidocs/.gitignore vendored Normal file
View File

@ -0,0 +1,5 @@
output
tmp
.DS_Store
.bundle
bin

1
apidocs/.rbenv-version Normal file
View File

@ -0,0 +1 @@
1.9.3

16
apidocs/Gemfile Normal file
View File

@ -0,0 +1,16 @@
source "http://rubygems.org"
gem 'rake', '~> 0.9.2'
gem 'nanoc', '~> 3.3.7'
gem 'kramdown', '~> 0.13.2'
gem 'nokogiri', '~> 1.4.4'
gem 'yajl-ruby', '~> 0.8.2'
gem 'pygments.rb'
gem 'mime-types', '~> 1.16'
gem 'coderay'
gem 'builder'
group :development do
gem 'adsf'
gem 'fssm'
end

42
apidocs/Gemfile.lock Normal file
View File

@ -0,0 +1,42 @@
GEM
remote: http://rubygems.org/
specs:
adsf (1.1.1)
rack (>= 1.0.0)
blankslate (2.1.2.4)
builder (3.0.0)
coderay (1.0.6)
colored (1.2)
cri (2.3.0)
colored (>= 1.2)
ffi (1.0.11)
fssm (0.2.9)
kramdown (0.13.7)
mime-types (1.18)
nanoc (3.3.7)
cri (~> 2.2)
nokogiri (1.4.7)
pygments.rb (0.2.12)
rubypython (~> 0.5.3)
rack (1.4.1)
rake (0.9.2.2)
rubypython (0.5.3)
blankslate (>= 2.1.2.3)
ffi (~> 1.0.7)
yajl-ruby (0.8.3)
PLATFORMS
ruby
DEPENDENCIES
adsf
builder
coderay
fssm
kramdown (~> 0.13.2)
mime-types (~> 1.16)
nanoc (~> 3.3.7)
nokogiri (~> 1.4.4)
pygments.rb
rake (~> 0.9.2)
yajl-ruby (~> 0.8.2)

123
apidocs/README.md Normal file
View File

@ -0,0 +1,123 @@
# developer.github.com
This is a GitHub API resource built with [nanoc][nanoc].
All submissions are welcome. To submit a change, fork this repo, commit your changes, and send us a [pull request](http://help.github.com/send-pull-requests/).
## Setup
Ruby 1.9 is required to build the site.
Get the nanoc gem, plus kramdown for markdown parsing:
bundle install
You can see the available commands with nanoc:
nanoc -h
Nanoc has [some nice documentation](http://nanoc.stoneship.org/docs/3-getting-started/) to get you started. Though if you're mainly concerned with editing or adding content, you won't need to know much about nanoc.
[nanoc]: http://nanoc.stoneship.org/
## Styleguide
Not sure how to structure the docs? Here's what the structure of the
API docs should look like:
# API title
## API endpoint title
[VERB] /path/to/endpoint.json
### Parameters
name
: description
### Input (request json body)
<%= json :field => "sample value" %>
### Response
<%= headers 200, :pagination => true, 'X-Custom-Header' => "value" %>
<%= json :resource_name %>
**Note**: We're using [Kramdown Markdown extensions](http://kramdown.rubyforge.org/syntax.html), such as definition lists.
### JSON Responses
We specify the JSON responses in ruby so that we don't have to write
them by hand all over the docs. You can render the JSON for a resource
like this:
<%= json :issue %>
This looks up `GitHub::Resources::ISSUE` in `lib/resources.rb`.
Some actions return arrays. You can modify the JSON by passing a block:
<%= json(:issue) { |hash| [hash] } %>
### Terminal blocks
You can specify terminal blocks with `pre.terminal` elements. It'd be
nice if Markdown could do this more cleanly...
<pre class="terminal">
$ curl foobar
....
</pre>
This isn't a `curl` tutorial though, I'm not sure every API call needs
to show how to access it with `curl`.
## Development
Nanoc compiles the site into static files living in `./output`. It's
smart enough not to try to compile unchanged files:
$ nanoc compile
Loading site data...
Compiling site...
identical [0.00s] output/css/960.css
identical [0.00s] output/css/pygments.css
identical [0.00s] output/css/reset.css
identical [0.00s] output/css/styles.css
identical [0.00s] output/css/uv_active4d.css
update [0.28s] output/index.html
update [1.31s] output/v3/gists/comments/index.html
update [1.92s] output/v3/gists/index.html
update [0.25s] output/v3/issues/comments/index.html
update [0.99s] output/v3/issues/labels/index.html
update [0.49s] output/v3/issues/milestones/index.html
update [0.50s] output/v3/issues/index.html
update [0.05s] output/v3/index.html
Site compiled in 5.81s.
You can setup whatever you want to view the files. If you have the adsf
gem, however (I hope so, it was in the Gemfile), you can start Webrick:
$ nanoc view
$ open http://localhost:3000
Compilation times got you down? Use `autocompile`!
$ nanoc autocompile
This starts a web server too, so there's no need to run `nanoc view`.
One thing: remember to add trailing slashes to all nanoc links!
## Deploy
$ rake publish
## TODO
* Integrate through a simple hurl.it app for live API calls.
* Maybe add a nice TOC at the top of each page.
* Write a task for verifying JSON Resource examples against the actual
API.

34
apidocs/Rakefile Normal file
View File

@ -0,0 +1,34 @@
require 'nanoc3/tasks'
desc "Compile the site"
task :compile do
`nanoc compile`
end
desc "Publish to http://developer.github.com"
task :publish => [:clean] do
FileUtils.rm_r('output') if File.exist?('output')
sh "nanoc compile"
ENV['GIT_DIR'] = File.expand_path(`git rev-parse --git-dir`.chomp)
old_sha = `git rev-parse refs/remotes/origin/gh-pages`.chomp
Dir.chdir('output') do
ENV['GIT_INDEX_FILE'] = gif = '/tmp/dev.gh.i'
ENV['GIT_WORK_TREE'] = Dir.pwd
File.unlink(gif) if File.file?(gif)
`git add -A`
tsha = `git write-tree`.strip
puts "Created tree #{tsha}"
if old_sha.size == 40
csha = `echo 'boom' | git commit-tree #{tsha} -p #{old_sha}`.strip
else
csha = `echo 'boom' | git commit-tree #{tsha}`.strip
end
puts "Created commit #{csha}"
puts `git show #{csha} --stat`
puts "Updating gh-pages from #{old_sha}"
`git update-ref refs/heads/gh-pages #{csha}`
`git push origin gh-pages`
end
end

61
apidocs/Rules Normal file
View File

@ -0,0 +1,61 @@
#!/usr/bin/env ruby
# A few helpful tips about the Rules file:
#
# * The order of rules is important: for each item, only the first matching
# rule is applied.
#
# * Item identifiers start and end with a slash (e.g. “/about/” for the file
# “content/about.html”). To select all children, grandchildren, … of an
# item, use the pattern “/about/*/”; “/about/*” will also select the parent,
# because “*” matches zero or more characters.
compile '/static/*' do
end
compile '/CNAME/' do
end
compile '/feed/' do
filter :erb
filter :kramdown
filter :colorize_syntax,
:colorizers => {:javascript => :pygmentsrb}
end
%w(v3 */).each do |version|
compile "/changes/#{version}" do
filter :erb
filter :kramdown
filter :colorize_syntax,
:colorizers => {:javascript => :pygmentsrb}
layout 'changes' if version[0] == '*'
layout 'default'
end
end
compile '*' do
filter :erb
filter :kramdown
filter :colorize_syntax,
:colorizers => {:javascript => :pygmentsrb}
layout 'default'
end
route '/static/*' do
item.identifier[7..-2]
end
route '/CNAME/' do
'/CNAME'
end
route '/feed' do
'/changes.atom'
end
route '*' do
item.identifier + 'index.html'
end
layout '*', :erb

56
apidocs/config.yaml Normal file
View File

@ -0,0 +1,56 @@
# A list of file extensions that nanoc will consider to be textual rather than
# binary. If an item with an extension not in this list is found, the file
# will be considered as binary.
text_extensions: [ 'css', 'erb', 'haml', 'htm', 'html', 'js', 'less', 'markdown', 'md', 'php', 'rb', 'sass', 'scss', 'txt', 'xhtml', 'xml', 'atom' ]
# The path to the directory where all generated files will be written to. This
# can be an absolute path starting with a slash, but it can also be path
# relative to the site directory.
output_dir: output
# A list of index filenames, i.e. names of files that will be served by a web
# server when a directory is requested. Usually, index files are named
# “index.hml”, but depending on the web server, this may be something else,
# such as “default.htm”. This list is used by nanoc to generate pretty URLs.
index_filenames: [ 'index.html' ]
# Whether or not to generate a diff of the compiled content when compiling a
# site. The diff will contain the differences between the compiled content
# before and after the last site compilation.
enable_output_diff: false
# The data sources where nanoc loads its data from. This is an array of
# hashes; each array element represents a single data source. By default,
# there is only a single data source that reads data from the “content/” and
# “layout/” directories in the site directory.
data_sources:
-
# The type is the identifier of the data source. By default, this will be
# `filesystem_unified`.
type: filesystem_unified
# The path where items should be mounted (comparable to mount points in
# Unix-like systems). This is “/” by default, meaning that items will have
# “/” prefixed to their identifiers. If the items root were “/en/”
# instead, an item at content/about.html would have an identifier of
# “/en/about/” instead of just “/about/”.
items_root: /
# The path where layouts should be mounted. The layouts root behaves the
# same as the items root, but applies to layouts rather than items.
layouts_root: /
-
type: static
items_root: /static
# For the atom feed.
base_url: http://developer.github.com
# Array of [version, released_at] Array tuples.
api_versions:
-
- beta
- 2011-4-27
-
- v3

11
apidocs/content/index.md Normal file
View File

@ -0,0 +1,11 @@
---
title: RosaLab ABF API
---
# RosaLab ABF API
This describes the resources that make up the official Rosa ABF API. If you have any problems or requests please contact support.
**Note: This API is in a beta state. Breaking changes may occur.**
All of the urls in this manual have the same tail: .json. Because the default

374
apidocs/content/v1.md Normal file
View File

@ -0,0 +1,374 @@
---
title: GitHub API v3
---
# API v3
This describes the resources that make up the official GitHub API v3. If
you have any problems or requests please contact
[support](mailto:support@github.com?subject=APIv3).
* <a href="#schema">Schema</a>
* <a href="#client-errors">Client Errors</a>
* <a href="#http-verbs">HTTP Verbs</a>
* <a href="#authentication">Authentication</a>
* <a href="#pagination">Pagination</a>
* <a href="#rate-limiting">Rate Limiting</a>
* <a href="#conditional-requests">Conditional Requests</a>
* <a href="#cross-origin-resource-sharing">Cross Origin Resource Sharing</a>
* <a href="#json-p-callbacks">JSON-P Callbacks</a>
## Schema
All API access is over HTTPS, and accessed from the `api.github.com`
domain (or through `yourdomain.com/api/v3/` for enterprise). All data is
sent and received as JSON.
<pre class="terminal">
$ curl -i https://api.github.com
HTTP/1.1 302 Found
Server: nginx/1.0.12
Date: Mon, 20 Feb 2012 11:15:49 GMT
Content-Type: text/html;charset=utf-8
Connection: keep-alive
Status: 302 Found
X-RateLimit-Limit: 5000
ETag: "d41d8cd98f00b204e9800998ecf8427e"
Location: http://developer.github.com
X-RateLimit-Remaining: 4999
Content-Length: 0
</pre>
Blank fields are included as `null` instead of being omitted.
All timestamps are returned in ISO 8601 format:
YYYY-MM-DDTHH:MM:SSZ
## Client Errors
There are three possible types of client errors on API calls that
receive request bodies:
1. Sending invalid JSON will result in a `400 Bad Request` response.
HTTP/1.1 400 Bad Request
Content-Length: 35
{"message":"Problems parsing JSON"}
2. Sending the wrong type of JSON values will result in a `400 Bad
Request` response.
HTTP/1.1 400 Bad Request
Content-Length: 40
{"message":"Body should be a JSON Hash"}
3. Sending invalid fields will result in a `422 Unprocessable Entity`
response.
HTTP/1.1 422 Unprocessable Entity
Content-Length: 149
{
"message": "Validation Failed",
"errors": [
{
"resource": "Issue",
"field": "title",
"code": "missing_field"
}
]
}
All error objects have resource and field properties so that your client
can tell what the problem is. There's also an error code to let you
know what is wrong with the field. These are the possible validation error
codes:
missing
: This means a resource does not exist.
missing\_field
: This means a required field on a resource has not been set.
invalid
: This means the formatting of a field is invalid. The documentation
for that resource should be able to give you more specific information.
already\_exists
: This means another resource has the same value as this field. This
can happen in resources that must have some unique key (such as Label
names).
If resources have custom validation errors, they will be documented with
the resource.
## HTTP Verbs
Where possible, API v3 strives to use appropriate HTTP verbs for each
action.
HEAD
: Can be issued against any resource to get just the HTTP header info.
GET
: Used for retrieving resources.
POST
: Used for creating resources, or performing custom actions (such as
merging a pull request).
PATCH
: Used for updating resources with partial JSON data. For instance, an
Issue resource has `title` and `body` attributes. A PATCH request may
accept one or more of the attributes to update the resource. PATCH is a
relatively new and uncommon HTTP verb, so resource endpoints also accept
POST requests.
PUT
: Used for replacing resources or collections. For PUT requests
with no `body` attribute, be sure to set the `Content-Length` header to zero.
DELETE
: Used for deleting resources.
## Authentication
There are two ways to authenticate through GitHub API v3:
Basic Authentication:
<pre class="terminal">
$ curl -u "username" https://api.github.com
</pre>
OAuth2 Token (sent in a header):
<pre class="terminal">
$ curl -H "Authorization: token OAUTH-TOKEN" https://api.github.com
</pre>
OAuth2 Token (sent as a parameter):
<pre class="terminal">
$ curl https://api.github.com/?access_token=OAUTH-TOKEN
</pre>
Read [more about OAuth2](/v3/oauth/). Note that OAuth2 tokens can be [acquired
programmatically](/v3/oauth/#create-a-new-authorization), for applications that
are not websites.
Requests that require authentication will return 404, instead of 403, in some places.
This is to prevent the accidental leakage of private repositories to unauthorized
users.
## Pagination
Requests that return multiple items will be paginated to 30 items by
default. You can specify further pages with the `?page` parameter. For some
resources, you can also set a custom page size up to 100 with the `?per_page` parameter.
<pre class="terminal">
$ curl https://api.github.com/user/repos?page=2&per_page=100
</pre>
The pagination info is included in [the Link
header](http://www.w3.org/Protocols/9707-link-header.html). It is important to
follow these Link header values instead of constructing your own URLs. In some
instances, such as in the [Commits
API](/v3/repos/commits/), pagination is based on
SHA1 and not on page number.
Link: <https://api.github.com/user/repos?page=3&per_page=100>; rel="next",
<https://api.github.com/user/repos?page=50&per_page=100>; rel="last"
_Linebreak is included for readability._
The possible `rel` values are:
`next`
: Shows the URL of the immediate next page of results.
`last`
: Shows the URL of the last page of results.
`first`
: Shows the URL of the first page of results.
`prev`
: Shows the URL of the immediate previous page of results.
## Rate Limiting
We limit requests to API v3 to 5000 per hour. This is keyed off either your
login, your OAuth token, or request IP. You can check the returned HTTP
headers of any API request to see your current status:
<pre class="terminal">
$ curl -i https://api.github.com/users/whatever
HTTP/1.1 200 OK
Status: 200 OK
X-RateLimit-Limit: 5000
X-RateLimit-Remaining: 4966
</pre>
You can also check your rate limit status without incurring an API hit.
GET /rate_limit
### Rate limit
<%= headers 200 %>
<%= json :rate => {:remaining => 4999, :limit => 5000} %>
<br>
#### Unauthenticated rate limited requests
If you need to make unauthenticated calls but need to use a higher rate limit
associated with your OAuth application, you can send over your client ID and
secret in the query string.
<pre class="terminal">
$ curl -i https://api.github.com/users/whatever?client_id=xxxxxxxxxxxxxx&client_secret=yyyyyyyyyyyyyyyyyyyyy
HTTP/1.1 200 OK
Status: 200 OK
X-RateLimit-Limit: 12500
X-RateLimit-Remaining: 11966
</pre>
This method should only be used for server-to-server calls. You should never
share your client secret with anyone or include it in client-side browser code.
Please [contact us](https://github.com/contact) to request white listed access
for your application. We prefer sites that setup OAuth applications for their
users.
## Conditional Requests
Most responses return `Last-Modified` and `Etag` headers. You can use the values
of these headers to make subsequent requests to those resources using the
`If-Modified-Since` and `If-None-Match` headers, respectively. If the resource
has not changed, the server will return a `304 Not Modified`. Also note: making
a conditional request and receiving a 304 response does not count against your
[Rate Limit](#rate-limiting), so we encourage you to use it whenever possible.
<pre class="terminal">
$ curl -i https://api.github.com/user
HTTP/1.1 200 OK
Cache-Control: private, max-age=60
ETag: "644b5b0155e6404a9cc4bd9d8b1ae730"
Last-Modified: Thu, 05 Jul 2012 15:31:30 GMT
Status: 200 OK
Vary: Accept, Authorization, Cookie
X-RateLimit-Limit: 5000
X-RateLimit-Remaining: 4996
$ curl -i https://api.github.com/user -H "If-Modified-Since: Thu, 05 Jul 2012 15:31:30 GMT"
HTTP/1.1 304 Not Modified
Cache-Control: private, max-age=60
Last-Modified: Thu, 05 Jul 2012 15:31:30 GMT
Status: 304 Not Modified
Vary: Accept, Authorization, Cookie
X-RateLimit-Limit: 5000
X-RateLimit-Remaining: 4996
$ curl -i https://api.github.com/user -H 'If-None-Match: "644b5b0155e6404a9cc4bd9d8b1ae730"'
HTTP/1.1 304 Not Modified
Cache-Control: private, max-age=60
ETag: "644b5b0155e6404a9cc4bd9d8b1ae730"
Last-Modified: Thu, 05 Jul 2012 15:31:30 GMT
Status: 304 Not Modified
Vary: Accept, Authorization, Cookie
X-RateLimit-Limit: 5000
X-RateLimit-Remaining: 4996
</pre>
## Cross Origin Resource Sharing
The API supports Cross Origin Resource Sharing (CORS) for AJAX requests.
you can read the [CORS W3C working draft](http://www.w3.org/TR/cors), or
[this intro](http://code.google.com/p/html5security/wiki/CrossOriginRequestSecurity) from the
HTML 5 Security Guide.
Here's a sample request sent from a browser hitting
`http://some-site.com`:
$ curl -i https://api.github.com -H "Origin: http://some-site.com"
HTTP/1.1 302 Found
Any domain that is registered as an OAuth Application is accepted.
Here's a sample request for a browser hitting [Calendar About Nothing](http://calendaraboutnothing.com/):
$ curl -i https://api.github.com -H "Origin: http://calendaraboutnothing.com"
HTTP/1.1 302 Found
Access-Control-Allow-Origin: http://calendaraboutnothing.com
Access-Control-Expose-Headers: Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes
Access-Control-Allow-Credentials: true
This is what the CORS preflight request looks like:
$ curl -i https://api.github.com -H "Origin: http://calendaraboutnothing.com" -X OPTIONS
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: http://calendaraboutnothing.com
Access-Control-Allow-Headers: Authorization, X-Requested-With
Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE
Access-Control-Expose-Headers: Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes
Access-Control-Max-Age: 86400
Access-Control-Allow-Credentials: true
## JSON-P Callbacks
You can send a `?callback` parameter to any GET call to have the results
wrapped in a JSON function. This is typically used when browsers want
to embed GitHub content in web pages by getting around cross domain
issues. The response includes the same data output as the regular API,
plus the relevant HTTP Header information.
<pre class="terminal">
$ curl https://api.github.com?callback=foo
foo({
"meta": {
"status": 200,
"X-RateLimit-Limit": "5000",
"X-RateLimit-Remaining": "4966",
"Link": [ // pagination headers and other links
["https://api.github.com?page=2", {"rel": "next"}]
]
},
"data": {
// the data
}
})
</pre>
You can write a javascript handler to process the callback like this:
<pre class="highlight"><code class="language-javascript">function foo(response) {
var meta = response.meta
var data = response.data
console.log(meta)
console.log(data)
}</code></pre>
All of the headers are the same String value as the HTTP Headers with one
notable exception: Link. Link headers are pre-parsed for you and come
through as an array of `[url, options]` tuples.
A link that looks like this:
Link: <url1>; rel="next", <url2>; rel="foo"; bar="baz"
... will look like this in the Callback output:
<%= json "Link" => [
["url1", {:rel => "next"}],
["url2", {:rel => "foo", :bar => "baz"}]] %>

View File

@ -0,0 +1,37 @@
### 4. Architectures list
This request will return you all needed data about posible architectures into JSON format.
URL: /api/v1/arches.json
TYPE: GET
RESPONSE:
```json
{
"architectures": [
{
"id": <architecture identifier>,
"name": <architecture name>
},
...
]
```
RESPONSE EXAMPLE:
```json
{
"architectures": [
{
"id": 1,
"name": "x86_64"
},
{
"id": 2,
"name": "i586"
},
...
]
```

193
apidocs/content/v1/build.md Normal file
View File

@ -0,0 +1,193 @@
---
title: Project Build | GitHub API
---
## 1. Show build data
This request will return you all needed data of requested build task into JSON format.
URL: /buils_lists/:id.json
TYPE: GET
PARAMS:
: * :id - identifier of current build task
RESPONSE:
<%= json(:build_list_show_parameters) %>
EXAMPLE:
<%= json(:build_list_show_example) %>
## 2. Create build task
By this request you can create build task for project.
Create parameters:
<%= json(:build_list_create_parameters) %>
**Note: Request creates build list for each architecture and base platform.**
POSIBLE UPDATE TYPES:
security
bugfix
enhancement
recommended
newpackage
URL: /api/v1/build_lists.json
TYPE: POST
REQUEST EXAMPLE:
<%= json(:build_list_create_example) %>
RESPONSE:
<%= json(:build_list_create_response) %>
RESPONSE EXAMPLE:
<%= json(:build_list_create_response_example) %>
## 3. Cancel build task
By this request you can cancel build task.
URL: /buils_lists/:id/cancel.json
TYPE: PUT
RESPONSE:
<%= json(:build_list_cancel_response) %>
EXAMPLE:
<%= json(:build_list_cancel_response_example) %>
<%= json(:build_list_cancel_response_example2) %>
## 4. Publish build task
By this request you can publish build task.
URL: /buils_lists/:id/publish.json
TYPE: PUT
RESPONSE:
<%= json(:build_list_publish_response) %>
EXAMPLE:
<%= json(:build_list_publish_response_example) %>
<%= json(:build_list_publish_response_example2) %>
## 5. Reject publish build task
By this request you can reject publish build task.
URL: /buils_lists/:id/reject_publish.json
TYPE: PUT
RESPONSE:
<%= json(:build_list_reject_response) %>
EXAMPLE:
<%= json(:build_list_reject_response_example) %>
<%= json(:build_list_reject_response_example2) %>
## 6. Search
By this way you can search build list you need.
Search params:
* page - page number of build lists results list
* per_page - amount of build list per one page (default 30, maximum 100)
* filter[status] - integer code of the build status
* filter[arch_id] - identifier of the architecture
* filter[is_circle] - recurrent build (true or false)
* filter[project_name] - project name
* filter[created_at_start / created_at_end] - start and end of the build list creation date diapason(unixtime)
* filter[updated_at_start / updated_at_end] - start and end of the build list last change date diapason(unixtime)
* filter[ownership] - ownership type (owned/related/index)
* filter[mass_build_id] - mass build identifier
* filter[save_to_platform_id] - platform id for build save
BUILD LIST POSIBLE STATUSES
Build error: 666
Build has been published: 6000
Publishing rejected: 9000
Build is being published: 7000
Publishing error: 8000
Dependences not found: ?
Waiting for response: 4000
Build pending: 2000
Dependency test failed: ?
Binary test failed: ?
Build canceled: 5000
Build complete: 0
Build started: 3000
Platform not found: 1
Platform pending: 2
Project not found: 3
Project version not found: 4
URL: /build_lists.json?<search params>
TYPE: GET
RESPONSE:
<%= json(:build_list_search_response) %>
EXAMPLE OF REQUEST URL:
> /build_lists.json?filter[project_name]=rails
> /build_lists.json?filter[ownership]=owned&filter[status]=6000&filter[arch_id]=2
EXAMPLES OF RESPONSES:
<%= json(:build_list_search_response_example) %>
## 7. Destroy build task
You can't destroy build list. Only cancel it. :)
## 8. 404, 500, 503 and 401 errors.
Some requests can cause cancer of 404, 500 and 503 errors. In these situatins you will receive such data:
<%= json(:error_404) %>
<%= json(:error_500) %>
<%= json(:error_503) %>
<%= json(:error_401) %>
If you don't have enough rights for requested action, you will receive
error response such this:
<%= json(:error_403) %>
and http status code will be 403.

View File

@ -0,0 +1,49 @@
---
title: Markdown Rendering | GitHub API
---
# Markdown Rendering API
## Render an arbitrary Markdown document
POST /markdown
### Input
text
: _Required_ **string** - The Markdown text to render
mode
: _Optional_ **string** - The rendering mode
- `markdown` to render a document as plain Markdown, just like README files are rendered.
- `gfm` to render a document as user-content, e.g. like user comments or issues are rendered. In GFM mode, hard line breaks are always taken into account, and issue and user mentions are linked accordingly.
context
: _Optional_ **string** - The repository context, only taken into account when rendering as `gfm`
<%= json \
:text => "Hello world github/linguist#1 **cool**, and #1!",
:mode => "gfm",
:context => "github/gollum"
%>
### Response
<%= text_html \
%(<p>Hello world <a href="http://github.com/github/linguist/issues/1" class="issue-link" title="This is a simple issue">github/linguist#1</a> <strong>cool</strong>, and <a href="http://github.com/github/gollum/issues/1" class="issue-link" title="This is another issue">#1</a>!</p>), 200
%>
# Render a Markdown document in raw mode
POST /markdown/raw
### Input
The raw API is not JSON-based. It takes a Markdown document as plaintext (`text/plain` or `text/x-markdown`) and renders it as plain Markdown without a repository context (just like a README.md file is rendered -- this is the simplest way to preview a readme online).
### Response
<%= text_html \
%(<p>Hello world github/linguist#1 <strong>cool</strong>, and #1!</p>), 200
%>

View File

@ -0,0 +1,173 @@
## 3. Platform
### 3.1. Platform data
This request will return you all needed data about platforms list into JSON format.
URL: /api/v1/platforms/:id.json
PARAMS:
* :id - identifier of current project
TYPE: GET
RESPONSE:
```json
{
"id": <platform id>,
"name": <platform name>,
"description": <platform description>,
"parent_platform_id": <parent platform id>,
"created_at": <platform created at>,
"updated_at": <platform updated_at>,
"released": <platform released>,
"visibility": <platform visibility>,
"platform_type": <platform type>,
"distrib_type": <platform distribution type>,
"owner": {
"id": <owner id>,
"name": <owner name>,
"type": <owner type>,
"url": <owner data path>
},
"repositories": [
{
"id": <repository for package storage id>,
"name": <repository for package storage name>,
"url":  <path to repository data page>
}
...
],
"url": <platform path>
}
```
EXAMPLE:
```json
{
"id": 1,
"name": "mdv_main",
"description": "mdv_main",
"parent_platform_id": null,
"created_at": 2012-05-09 11:26:46 UTC ,
"updated_at": "2012-06-09 11:26:46 UTC ",
"released": <platform released>,
"visibility": "open",
"platform_type": "main",
"distrib_type": "mdv",
"owner": {
"id":5,
"name":"Timothy Bobrov",
"type":"User",
"url":"/users/5.json"
},
"repositories": [
{
"id": 1,
"name": "main",
"url":  "/api/v1/repositories/1.json"
},
{
"id": 2,
"name": "release",
"url":  "/api/v1/repositories/2.json"
}
],
"url": "/api/v1/platforms/1.json"
}
```
### 3.2. Platform list
This request will return you all needed data about platform into JSON format.
URL: /api/v1/platforms.json
TYPE: GET
PARAMETERS:
* type - filter platforms by type (main/personal). Also you can don't set the type to get all of the platforms
REQUEST EXAMPLES:
/api/v1/platforms.json?type=main
/api/v1/platforms.json?type=personal
/api/v1/platforms.json
RESPONSE:
```json
{
"platforms":[
{
"id": <platform id>,
"name": <platform name>,
"platform_type": <platform type>,
"visibility": <platform visibility (hidden/open)>,
"owner":{
"id": <owner id>,
"name": <owner name>,
"type": <owner type>,
"url": <path to owner data>
},
"url": <path to platform data>
},
...
]
}
```
EXAMPLE:
```json
{
"platforms":[
{
"id":26,
"name":"fucktest",
"platform_type":"mail",
"visibility":"hidden",
"owner":{
"id":5,
"name":"Timothy Bobrov1",
"type":"User",
"url":"/users/5.json"
},
"url":"/api/v1/platforms/26.json"
},
{
"id":17,
"name":"aaa",
"platform_type":"main",
"visibility":"hidden",
"owner":{
"id":5,
"name":"Timothy Bobrov",
"type":"User",
"url":"/timothy_bobrov.json"
},
"url":"/api/v1/platforms/17.json"
},
{
"id":18,
"name":"timothy_tsvetkov",
"platform_type":"main",
"visibility":"hidden",
"owner":{
"id":4,
"name":"Yaroslav Garkin",
"type":"User",
"url":"/users/4.json"
},
"url":"/api/v1/platforms/18.json"
},
],"url":"/api/v1/platforms.json"
}
```

View File

@ -0,0 +1,165 @@
## 1. Projects
### 1.1. Project data
This request will return you all needed data of requested project into JSON format.
URL: /api/v1/projects/:id.json
TYPE: GET
PARAMS:
* :id - identifier of current project
RESPONSE:
```json
{
"project":
{
"id": <resource id>,
"name": <name>,
"created_at": <created at date and time>,
"updated_at" <updated at date and time>,
"visibility": <visibility (open/hidden)>,
"description": <description>,
"ancestry": <project ancestry>,
"has_issues": <true if issues enabled>,
"has_wiki": <true if wiki enabled>,
"default_branch": <git branch used by default>,
"is_package": <true if project is package>,
"average_build_time": <average build time for this project>,
"owner": {
"id": <parent owner id>,
"name": <parent owner name>,
"url": <url to owner profile>
},
"repositories": [
{
"id": <repository for package storage id>,
"name": <repository for package storage name>,
"url":  <path to repository data page>,
"platform": {
"id": <repository platform id>,
"name": <repository platform name>,
"url": <path to repository platform data page>
}
},
....
],
"url": <url to build list page>
}
}
```
EXAMPLE:
```json
{
"project":
{
"id":4661,
"name":"hwinfo",
"created_at":"2011-09-05T14:33:25Z",
"updated_at":"2012-02-29T18:16:02Z",
"visibility":"open",
"description":"asfsafafsfasf fas fasfsa fas fasfa s",
"ancestry":null,
"has_issues":true,
"has_wiki":false,
"default_branch":"master",
"is_package":true,
"average_build_time":0,
"owner":{
"id":4,
"name":"Yaroslav Garkin",
"type":"User",
"url":"/users/4.json"
},
"repositories": [
{
"id": 1,
"name": "main",
"url":  "/api/v1/repositories/1.json",
"platform": {
"id": 1,
"name": "mdv_main",
"url": "/api/v1/platforms/1.json"
}
},
{
"id": 3,
"name": "main",
"url":  "/api/v1/repositories/3.json",
"platform": {
"id": 3,
"name": "warpc_personal",
"url": "/api/v1/platforms/3.json"
}
}
],
},
"url":"/api/v1/projects/4661.json"}
}
```
### 1.2. Project id get by name and owner
This request will return you all needed data about projects list into JSON format and also you can filter them by name.
URL: /api/v1/projects/get_id.json?name=:project_name&owner=:owner_name
TYPE: GET
PARAMETERS:
* project_name - project name
* owner_name - project owner name
REQUEST EXAMPLES:
/api/v1/projects/get_id.json?name=rails&owner=warpc
RESPONSE:
```json
{
"project":
{
"id": <resource id>,
"name": <name>,
"visibility": <visibility (open/hidden)>,
"owner": {
"id": <owner id>,
"name": <owner name>,
"url": <url to owner profile>
},
"url": <url to project data page>
}
}
```
EXAMPLE:
```json
{
"project":
{
"id":4661,
"name":"hwinfo",
"visibility":"open",
"owner":{
"id":4,
"name":"Yaroslav Garkin",
"type":"User",
"url":"/users/4.json"
},
"url":"/api/v1/projects/4661.json"
}
}
```

View File

@ -0,0 +1,55 @@
## 2. Repository
### 2.1. Repository data
This request will return you all needed data about repositories list into JSON format.
URL: /api/v1/repositories/:id.json
PARAMS:
* :id - identifier of current project
TYPE: GET
RESPONSE:
```json
{
"repository":
{
"id": <resource id>,
"name": <name>,
"created_at": <created at date and time>,
"updated_at": <updated at date and time>,
"description": <description>,
"platform": {
"id": <platform id>,
"name": <platform name>,
"url": <url to platform>
},
"url": <url to platform page>
},
"url": <url to platforms list page>
}
```
EXAMPLE:
```json
{
"repository":
{
"id":30,
"name":"main",
"platform":{
"id":41,
"name":"my_personal",
"url":"/api/v1/platforms/41.json"
},
},
"url":"/api/v1/repositories/30.json"
}
```

179
apidocs/crash.log Normal file
View File

@ -0,0 +1,179 @@
Crashlog created at 2012-09-06 16:43:36 +0400
=== MESSAGE:
LoadError: cannot load such file -- yajl/json_gem
=== COMPILATION STACK:
(empty)
=== BACKTRACE:
0. lib/resources.rb:2:in `require'
1. lib/resources.rb:2:in `<main>'
2. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/nanoc-3.4.0/lib/nanoc/base/source_data/code_snippet.rb:36:in `eval'
3. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/nanoc-3.4.0/lib/nanoc/base/source_data/code_snippet.rb:36:in `load'
4. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/nanoc-3.4.0/lib/nanoc/base/source_data/site.rb:300:in `block in load_code_snippets'
5. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/nanoc-3.4.0/lib/nanoc/base/source_data/site.rb:300:in `each'
6. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/nanoc-3.4.0/lib/nanoc/base/source_data/site.rb:300:in `load_code_snippets'
7. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/nanoc-3.4.0/lib/nanoc/base/source_data/site.rb:244:in `load'
8. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/nanoc-3.4.0/lib/nanoc/base/compilation/compiler.rb:112:in `load'
9. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/nanoc-3.4.0/lib/nanoc/base/compilation/compiler.rb:82:in `run'
10. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/nanoc-3.4.0/lib/nanoc/base/source_data/site.rb:57:in `compile'
11. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/nanoc-3.4.0/lib/nanoc/cli/commands/compile.rb:57:in `run'
12. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/nanoc-3.4.0/lib/nanoc/cli/command_runner.rb:14:in `block in call'
13. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/nanoc-3.4.0/lib/nanoc/cli/error_handler.rb:63:in `handle_while'
14. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/nanoc-3.4.0/lib/nanoc/cli/error_handler.rb:26:in `handle_while'
15. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/nanoc-3.4.0/lib/nanoc/cli/command_runner.rb:13:in `call'
16. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/cri-2.3.0/lib/cri/command_dsl.rb:185:in `block in runner'
17. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/cri-2.3.0/lib/cri/command.rb:296:in `call'
18. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/cri-2.3.0/lib/cri/command.rb:296:in `run_this'
19. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/cri-2.3.0/lib/cri/command.rb:249:in `run'
20. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/cri-2.3.0/lib/cri/command.rb:262:in `run'
21. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/nanoc-3.4.0/lib/nanoc/cli.rb:47:in `block in run'
22. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/nanoc-3.4.0/lib/nanoc/cli/error_handler.rb:63:in `handle_while'
23. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/nanoc-3.4.0/lib/nanoc/cli/error_handler.rb:26:in `handle_while'
24. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/nanoc-3.4.0/lib/nanoc/cli.rb:44:in `run'
25. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/nanoc-3.4.0/bin/nanoc:19:in `<top (required)>'
26. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/bin/nanoc:19:in `load'
27. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/bin/nanoc:19:in `<main>'
=== VERSION INFORMATION:
nanoc 3.4.0 © 2007-2012 Denis Defreyne.
Running ruby 1.9.3 (2011-10-30) on x86_64-darwin11.3.0 with RubyGems 1.8.15.
=== INSTALLED GEMS:
adsf 1.1.1
blankslate 2.1.2.4
builder 3.0.0
bundler 1.0.21
coderay 1.0.6
colored 1.2
cri 2.3.0
ffi 1.0.11
fssm 0.2.9
kramdown 0.13.7
mime-types 1.18
nanoc 3.3.7
nokogiri 1.4.7
pygments.rb 0.2.12
rack 1.4.1
rake 0.9.2.2
rubypython 0.5.3
yajl-ruby 0.8.3
=== ENVIRONMENT:
Apple_PubSub_Socket_Render => "/tmp/launch-B4d6SC/Render"
Apple_Ubiquity_Message => "/tmp/launch-AJa40D/Apple_Ubiquity_Message"
BUNDLE_BIN_PATH => "/Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/bundler-1.0.21/bin/bundle"
BUNDLE_GEMFILE => "/Users/santaux/Projects/ABF/rosa-build/developer.github.com/Gemfile"
COMMAND_MODE => "unix2003"
DISPLAY => "/tmp/launch-sOdemU/org.x:0"
GEM_HOME => "/Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf"
GEM_PATH => "/Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf:/Users/santaux/.rvm/gems/ruby-1.9.3-p0@global"
HOME => "/Users/santaux"
IRBRC => "/Users/santaux/.rvm/rubies/ruby-1.9.3-p0/.irbrc"
LANG => "ru_RU.UTF-8"
LOGNAME => "santaux"
MY_RUBY_HOME => "/Users/santaux/.rvm/rubies/ruby-1.9.3-p0"
OLDPWD => "/Users/santaux/Projects/ABF/rosa-build"
PATH => "/Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/bin:/Users/santaux/.rvm/gems/ruby-1.9.3-p0@global/bin:/Users/santaux/.rvm/rubies/ruby-1.9.3-p0/bin:/Users/santaux/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin"
PWD => "/Users/santaux/Projects/ABF/rosa-build/developer.github.com"
RUBYOPT => "-I/Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/bundler-1.0.21/lib -rbundler/setup"
RUBY_VERSION => "ruby-1.9.3-p0"
SECURITYSESSIONID => "186a5"
SHELL => "/bin/bash"
SHLVL => "1"
SSH_AUTH_SOCK => "/tmp/launch-MbrIi7/Listeners"
TERM => "xterm-color"
TERM_PROGRAM => "Apple_Terminal"
TERM_PROGRAM_VERSION => "303.2"
TERM_SESSION_ID => "94F76547-3228-4372-9CB3-3241FF0C3DF3"
TMPDIR => "/var/folders/j8/crjskgf16hd9hsdqr40r36br0000gn/T/"
USER => "santaux"
_ => "/Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/bin/nanoc"
__CF_USER_TEXT_ENCODING => "0x1F5:7:32"
__array_start => "0"
_first => "0"
_second => "1"
escape_flag => "1"
rvm_bin_path => "/Users/santaux/.rvm/bin"
rvm_path => "/Users/santaux/.rvm"
rvm_prefix => "/Users/santaux"
rvm_reload_flag => "0"
rvm_version => "1.10.2"
=== GEMFILE.LOCK:
GEM
remote: http://rubygems.org/
specs:
adsf (1.1.1)
rack (>= 1.0.0)
blankslate (2.1.2.4)
builder (3.0.0)
coderay (1.0.6)
colored (1.2)
cri (2.3.0)
colored (>= 1.2)
ffi (1.0.11)
fssm (0.2.9)
kramdown (0.13.7)
mime-types (1.18)
nanoc (3.3.7)
cri (~> 2.2)
nokogiri (1.4.7)
pygments.rb (0.2.12)
rubypython (~> 0.5.3)
rack (1.4.1)
rake (0.9.2.2)
rubypython (0.5.3)
blankslate (>= 2.1.2.3)
ffi (~> 1.0.7)
yajl-ruby (0.8.3)
PLATFORMS
ruby
DEPENDENCIES
adsf
builder
coderay
fssm
kramdown (~> 0.13.2)
mime-types (~> 1.16)
nanoc (~> 3.3.7)
nokogiri (~> 1.4.4)
pygments.rb
rake (~> 0.9.2)
yajl-ruby (~> 0.8.2)
=== $LOAD_PATH:
0. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/nanoc-3.4.0/lib
1. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/mime-types-1.18/lib
2. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/kramdown-0.13.7/lib
3. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/fssm-0.2.9/lib
4. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/ffi-1.0.11/lib
5. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/ffi-1.0.11/ext
6. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/cri-2.3.0/lib
7. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/colored-1.2/lib
8. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/coderay-1.0.6/lib
9. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/builder-3.0.0/lib
10. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/blankslate-2.1.2.4/lib
11. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/adsf-1.1.1/lib
12. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/rack-1.4.1/lib
13. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/rake-0.9.2.2/lib
14. /Users/santaux/.rvm/gems/ruby-1.9.3-p0@abf/gems/bundler-1.0.21/lib
15. /Users/santaux/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1
16. /Users/santaux/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/x86_64-darwin11.3.0
17. /Users/santaux/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby
18. /Users/santaux/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/vendor_ruby/1.9.1
19. /Users/santaux/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/vendor_ruby/1.9.1/x86_64-darwin11.3.0
20. /Users/santaux/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/vendor_ruby
21. /Users/santaux/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1
22. /Users/santaux/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/x86_64-darwin11.3.0

View File

@ -0,0 +1,6 @@
<% @changes.each do |article| %>
<div class="change" id="<%= article.path %>">
<%= render '_meta', :item => article %>
<%= article.compiled_content %>
</div>
<% end %>

View File

@ -0,0 +1,18 @@
<h2 class="title">
<a href="<%= @item.path %>"><%= @item[:title] %></a>
</h2>
<div class="meta">
<div class="who_when">
<%= gravatar_for(@item[:author_name]) %>
<span class="author vcard fn">
<a href="https://github.com/<%= @item[:author_name] %>"><%= @item[:author_name] %></a>
</span>
<span class="published">
<%= post_date @item %>
<% if version = @item[:api_version] %>
/ Version: <a href="/changes/<%= version %>"><%= version %></a>
<% end %>
</span>
</div>
</div>

View File

@ -0,0 +1,5 @@
<div class="change" id="<%= @item.path %>">
<%= render '_meta', :item => @item %>
<%= yield %>
</div>

View File

@ -0,0 +1,133 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Language" content="en-us" />
<meta http-equiv="imagetoolbar" content="false" />
<meta name="MSSmartTagsPreventParsing" content="true" />
<title><%= @item[:title] %></title>
<link href="/css/reset.css" rel="stylesheet" type="text/css" />
<link href="/css/960.css" rel="stylesheet" type="text/css" />
<link href="/css/uv_active4d.css" rel="stylesheet" type="text/css" />
<link href="/shared/css/documentation.css" media="screen" rel="stylesheet" type="text/css">
<link href="/shared/css/pygments.css" media="screen" rel="stylesheet" type="text/css">
<script src="/shared/js/jquery.js" type="text/javascript"></script>
<script src="/shared/js/documentation.js" type="text/javascript"></script>
</head>
<body class="api">
<div id="header-wrapper">
<div id="header">
<div>
<a class="logo" href="/"><img src="/images/logo_developer.png" width="255" height="45" /></a>
<ul class="nav">
<li><a href="/v3/">API v3</a></li>
<li><a
href="http://support.github.com/discussions/api">Support</a></li>
</ul>
</div>
</div><!-- #header -->
</div><!-- #header-wrapper -->
<div id="wrapper">
<div class="content">
<%= yield %>
</div>
<div id="js-sidebar" class="sidebar-shell">
<div class="js-toggle-list sidebar-module expandable">
<ul>
<li class="js-topic">
<h3><a href="#" class="js-expand-btn collapsed">&nbsp;</a><a href="/v3/">Summary</a></h3>
<ul class="js-guides">
<li><a href="/v1/build/">Build</a></li>
<li><a href="/v1/projects/">Projects</a></li>
<li><a href="/v1/repositories/">Repositories</a></li>
<li><a href="/v1/platforms/">Platforms</a></li>
<li><a href="/v1/architectures/">Architectures</a></li>
</ul>
</li>
<li class="js-guides"><h3><a href="/v3/markdown/">Markdown</a></h3></li>
</ul>
</div> <!-- /sidebar-module -->
<div class="sidebar-module">
<p>This website is a <a href="https://github.com/github/developer.github.com" target="_blank">public GitHub repo</a>. Please help us by forking the project and adding to it.</p>
</div>
</div><!-- /sidebar-shell -->
</div><!-- #wrapper -->
<div id="footer" >
<div class="upper_footer">
<div class="footer_inner clearfix">
<!--[if IE]><h4 id="blacktocat_ie">GitHub Links</h4><![endif]-->
<![if !IE]><h4 id="blacktocat">GitHub Links</h4><![endif]>
<ul class="footer_nav">
<h4>GitHub</h4>
<li><a href="https://github.com/about">About</a></li>
<li><a href="https://github.com/blog">Blog</a></li>
<li><a href="https://github.com/features">Features</a></li>
<li><a href="https://github.com/contact">Contact &amp; Support</a></li>
<li><a href="https://github.com/training">Training</a></li>
<li><a href="http://status.github.com/">Site Status</a></li>
</ul>
<ul class="footer_nav">
<h4>Tools</h4>
<li><a href="http://mac.github.com/">GitHub for Mac</a></li>
<li><a href="http://mobile.github.com/">Issues for iPhone</a></li>
<li><a href="https://gist.github.com">Gist: Code Snippets</a></li>
<li><a href="http://enterprise.github.com/">GitHub Enterprise</a></li>
<li><a href="http://jobs.github.com/">Job Board</a></li>
</ul>
<ul class="footer_nav">
<h4>Extras</h4>
<li><a href="http://shop.github.com/">GitHub Shop</a></li>
<li><a href="http://octodex.github.com/">The Octodex</a></li>
</ul>
<ul class="footer_nav">
<h4>Documentation</h4>
<li><a href="http://help.github.com/">GitHub Help</a></li>
<li><a href="http://developer.github.com/">Developer API</a></li>
<li><a href="http://github.github.com/github-flavored-markdown/">GitHub Flavored Markdown</a></li>
<li><a href="http://pages.github.com/">GitHub Pages</a></li>
</ul>
</div><!-- /.site -->
</div><!-- /.upper_footer -->
<div class="lower_footer">
<div class="footer_inner clearfix">
<div id="legal">
<!--[if IE]><a class="home_ie" href="http://github.com">Home</a><![endif]-->
<![if !IE]><a class="home" href="http://github.com">Home</a><![endif]>
<ul id="legal_links">
<li><a href="http://help.github.com/terms-of-service/">Terms of Service</a></li>
<li><a href="http://help.github.com/privacy-policy/">Privacy</a></li>
<li><a href="http://help.github.com/security/">Security</a></li>
</ul>
<p>&copy; <span id="year">year</span> GitHub Inc. All rights reserved.</p>
</div><!-- /#legal or /#legal_ie-->
</div><!-- /.site -->
</div><!-- /.lower_footer -->
</div><!-- /#footer -->
<script type="text/javascript">
var _gauges = _gauges || [];
(function() {
var t = document.createElement('script');
t.type = 'text/javascript';
t.async = true;
t.id = 'gauges-tracker';
t.setAttribute('data-site-id', '4f2038e0cb25bc1b55000003');
t.src = '//secure.gaug.es/track.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(t, s);
})();
</script>
</body>
</html>

View File

@ -0,0 +1,89 @@
module ChangesHelper
MimeFormat = "application/vnd.github.%s+json".freeze
# Public: Filters the change items out. If a version is given, show only the
# items related to that version.
#
# version - Optional String version key.
#
# Returns an Array of the first 30 Nanoc::Item objects, sorted in reverse
# chronological order.
def api_changes(version = nil)
changes = @items.select { |item| item[:kind] == 'change' }
if version
version_s = version.to_s
changes.select { |item| item[:api_version] == version_s }
else
changes
end.sort! do |x, y|
attribute_to_time(y[:created_at]) <=> attribute_to_time(x[:created_at])
end.first(30)
end
# Public
def current_api
@current_api ||= (api_versions[-2] || api_versions.first).first
end
# Public
def upcoming_api
@upcoming_api ||= begin
version, date = api_versions.last
version unless date
end
end
# Public
def current_api?(version)
@api_current_checks ||= {}
if @api_current_checks.key?(version)
@api_current_checks[version]
end
@api_current_checks[version] = version == current_api
end
# Public
def no_current_api_versions?(*versions)
versions.none? { |v| current_api?(v) }
end
# Public
def api_released_at(version)
@api_releases ||= {}
if @api_releases.key?(version)
@api_releases[version]
end
@api_releases[version] = begin
pair = api_versions.detect do |(name, date)|
name == version
end
pair ? pair[1] : nil
end
end
# Public
def api_mimetype_listing(version)
version_s = version.to_s
mime = mimetype_for version_s
if time = api_released_at(version_s)
mime << " ("
mime << "Current, " if current_api?(version_s)
mime << strftime(time)
mime << ")"
else
mime
end
end
# Internal
def mimetype_for(version)
MimeFormat % version.to_s
end
# Internal
def api_versions
@api_versions ||= Array(@site.config[:api_versions])
end
end

3
apidocs/lib/default.rb Normal file
View File

@ -0,0 +1,3 @@
# All files in the 'lib' directory will be loaded
# before nanoc starts compiling.
include Nanoc::Helpers::Rendering, Nanoc::Helpers::Blogging, ChangesHelper

1278
apidocs/lib/resources.rb Normal file

File diff suppressed because it is too large Load Diff

55
apidocs/lib/static.rb Normal file
View File

@ -0,0 +1,55 @@
require 'digest/sha1'
module Nanoc3::DataSources
class Static < Nanoc3::DataSource
identifier :static
def items
# Get prefix
prefix = config[:prefix] || 'static'
# Get all files under prefix dir
filenames = Dir[prefix + '/**/*'].select { |f| File.file?(f) }
# Convert filenames to items
filenames.map do |filename|
attributes = {
:extension => File.extname(filename)[1..-1],
:filename => filename,
}
identifier = filename[(prefix.length+1)..-1] + '/'
mtime = File.mtime(filename)
checksum = checksum_for(filename)
Nanoc3::Item.new(
filename,
attributes,
identifier,
:binary => true, :mtime => mtime, :checksum => checksum
)
end
end
private
# Returns a checksum of the given filenames
# TODO un-duplicate this somewhere
def checksum_for(*filenames)
filenames.flatten.map do |filename|
digest = Digest::SHA1.new
File.open(filename, 'r') do |io|
until io.eof
data = io.readpartial(2**10)
digest.update(data)
end
end
digest.hexdigest
end.join('-')
end
end
end

2
apidocs/script/bootstrap Executable file
View File

@ -0,0 +1,2 @@
#!/bin/sh
exec $0.rb "$@"

40
apidocs/script/bootstrap.rb Executable file
View File

@ -0,0 +1,40 @@
#!/usr/bin/env ruby
#/ Usage: script/bootstrap [<options>]
#/ Bootstraps the gem environment.
#/
#/ Options are passed through to the bundle-install command. In most cases you
#/ won't need these. They're used primarily in production environments.
#
# =============================================================================
# Uses bundler to install all gems specified in the Gemfile.
#
# show usage message with --help
if ARGV.include?('--help')
system "grep '^#/' <'#{__FILE__}' |cut -c4-"
exit 2
end
# go into the project root because it makes everything easier
root = File.expand_path('../..', __FILE__)
Dir.chdir(root)
# bring in rubygems and make sure bundler is installed.
require 'rubygems'
begin
require 'bundler'
rescue LoadError => boom
warn "Bundler not found. Install it with `gem install bundler' and try again."
exit 1
end
# run bundle-install to install any missing gems
argv = ['--no-color', 'install']
argv += ARGV
system("bundle", *argv) || begin
if $?.exitstatus == 127
warn "bundle executable not found. Ensure bundler is installed (`gem " +
"install bundler`) and that the gem bin path is in your PATH"
end
exit($?.exitstatus)
end

643
apidocs/static/css/960.css Normal file
View File

@ -0,0 +1,643 @@
/*
960 Grid System ~ Core CSS.
Learn more ~ http://960.gs/
Licensed under GPL and MIT.
*/
/*
Forces backgrounds to span full width,
even if there is horizontal scrolling.
Increase this if your layout is wider.
Note: IE6 works fine without this fix.
*/
body {
min-width: 960px;
}
/* `Containers
----------------------------------------------------------------------------------------------------*/
.container_12,
.container_16 {
margin-left: auto;
margin-right: auto;
width: 960px;
}
/* `Grid >> Global
----------------------------------------------------------------------------------------------------*/
.grid_1,
.grid_2,
.grid_3,
.grid_4,
.grid_5,
.grid_6,
.grid_7,
.grid_8,
.grid_9,
.grid_10,
.grid_11,
.grid_12,
.grid_13,
.grid_14,
.grid_15,
.grid_16 {
display: inline;
float: left;
margin-left: 10px;
margin-right: 10px;
}
.push_1, .pull_1,
.push_2, .pull_2,
.push_3, .pull_3,
.push_4, .pull_4,
.push_5, .pull_5,
.push_6, .pull_6,
.push_7, .pull_7,
.push_8, .pull_8,
.push_9, .pull_9,
.push_10, .pull_10,
.push_11, .pull_11,
.push_12, .pull_12,
.push_13, .pull_13,
.push_14, .pull_14,
.push_15, .pull_15 {
position: relative;
}
.container_12 .grid_3,
.container_16 .grid_4 {
width: 220px;
}
.container_12 .grid_6,
.container_16 .grid_8 {
width: 460px;
}
.container_12 .grid_9,
.container_16 .grid_12 {
width: 700px;
}
.container_12 .grid_12,
.container_16 .grid_16 {
width: 940px;
}
/* `Grid >> Children (Alpha ~ First, Omega ~ Last)
----------------------------------------------------------------------------------------------------*/
.alpha {
margin-left: 0;
}
.omega {
margin-right: 0;
}
/* `Grid >> 12 Columns
----------------------------------------------------------------------------------------------------*/
.container_12 .grid_1 {
width: 60px;
}
.container_12 .grid_2 {
width: 140px;
}
.container_12 .grid_4 {
width: 300px;
}
.container_12 .grid_5 {
width: 380px;
}
.container_12 .grid_7 {
width: 540px;
}
.container_12 .grid_8 {
width: 620px;
}
.container_12 .grid_10 {
width: 780px;
}
.container_12 .grid_11 {
width: 860px;
}
/* `Grid >> 16 Columns
----------------------------------------------------------------------------------------------------*/
.container_16 .grid_1 {
width: 40px;
}
.container_16 .grid_2 {
width: 100px;
}
.container_16 .grid_3 {
width: 160px;
}
.container_16 .grid_5 {
width: 280px;
}
.container_16 .grid_6 {
width: 340px;
}
.container_16 .grid_7 {
width: 400px;
}
.container_16 .grid_9 {
width: 520px;
}
.container_16 .grid_10 {
width: 580px;
}
.container_16 .grid_11 {
width: 640px;
}
.container_16 .grid_13 {
width: 760px;
}
.container_16 .grid_14 {
width: 820px;
}
.container_16 .grid_15 {
width: 880px;
}
/* `Prefix Extra Space >> Global
----------------------------------------------------------------------------------------------------*/
.container_12 .prefix_3,
.container_16 .prefix_4 {
padding-left: 240px;
}
.container_12 .prefix_6,
.container_16 .prefix_8 {
padding-left: 480px;
}
.container_12 .prefix_9,
.container_16 .prefix_12 {
padding-left: 720px;
}
/* `Prefix Extra Space >> 12 Columns
----------------------------------------------------------------------------------------------------*/
.container_12 .prefix_1 {
padding-left: 80px;
}
.container_12 .prefix_2 {
padding-left: 160px;
}
.container_12 .prefix_4 {
padding-left: 320px;
}
.container_12 .prefix_5 {
padding-left: 400px;
}
.container_12 .prefix_7 {
padding-left: 560px;
}
.container_12 .prefix_8 {
padding-left: 640px;
}
.container_12 .prefix_10 {
padding-left: 800px;
}
.container_12 .prefix_11 {
padding-left: 880px;
}
/* `Prefix Extra Space >> 16 Columns
----------------------------------------------------------------------------------------------------*/
.container_16 .prefix_1 {
padding-left: 60px;
}
.container_16 .prefix_2 {
padding-left: 120px;
}
.container_16 .prefix_3 {
padding-left: 180px;
}
.container_16 .prefix_5 {
padding-left: 300px;
}
.container_16 .prefix_6 {
padding-left: 360px;
}
.container_16 .prefix_7 {
padding-left: 420px;
}
.container_16 .prefix_9 {
padding-left: 540px;
}
.container_16 .prefix_10 {
padding-left: 600px;
}
.container_16 .prefix_11 {
padding-left: 660px;
}
.container_16 .prefix_13 {
padding-left: 780px;
}
.container_16 .prefix_14 {
padding-left: 840px;
}
.container_16 .prefix_15 {
padding-left: 900px;
}
/* `Suffix Extra Space >> Global
----------------------------------------------------------------------------------------------------*/
.container_12 .suffix_3,
.container_16 .suffix_4 {
padding-right: 240px;
}
.container_12 .suffix_6,
.container_16 .suffix_8 {
padding-right: 480px;
}
.container_12 .suffix_9,
.container_16 .suffix_12 {
padding-right: 720px;
}
/* `Suffix Extra Space >> 12 Columns
----------------------------------------------------------------------------------------------------*/
.container_12 .suffix_1 {
padding-right: 80px;
}
.container_12 .suffix_2 {
padding-right: 160px;
}
.container_12 .suffix_4 {
padding-right: 320px;
}
.container_12 .suffix_5 {
padding-right: 400px;
}
.container_12 .suffix_7 {
padding-right: 560px;
}
.container_12 .suffix_8 {
padding-right: 640px;
}
.container_12 .suffix_10 {
padding-right: 800px;
}
.container_12 .suffix_11 {
padding-right: 880px;
}
/* `Suffix Extra Space >> 16 Columns
----------------------------------------------------------------------------------------------------*/
.container_16 .suffix_1 {
padding-right: 60px;
}
.container_16 .suffix_2 {
padding-right: 120px;
}
.container_16 .suffix_3 {
padding-right: 180px;
}
.container_16 .suffix_5 {
padding-right: 300px;
}
.container_16 .suffix_6 {
padding-right: 360px;
}
.container_16 .suffix_7 {
padding-right: 420px;
}
.container_16 .suffix_9 {
padding-right: 540px;
}
.container_16 .suffix_10 {
padding-right: 600px;
}
.container_16 .suffix_11 {
padding-right: 660px;
}
.container_16 .suffix_13 {
padding-right: 780px;
}
.container_16 .suffix_14 {
padding-right: 840px;
}
.container_16 .suffix_15 {
padding-right: 900px;
}
/* `Push Space >> Global
----------------------------------------------------------------------------------------------------*/
.container_12 .push_3,
.container_16 .push_4 {
left: 240px;
}
.container_12 .push_6,
.container_16 .push_8 {
left: 480px;
}
.container_12 .push_9,
.container_16 .push_12 {
left: 720px;
}
/* `Push Space >> 12 Columns
----------------------------------------------------------------------------------------------------*/
.container_12 .push_1 {
left: 80px;
}
.container_12 .push_2 {
left: 160px;
}
.container_12 .push_4 {
left: 320px;
}
.container_12 .push_5 {
left: 400px;
}
.container_12 .push_7 {
left: 560px;
}
.container_12 .push_8 {
left: 640px;
}
.container_12 .push_10 {
left: 800px;
}
.container_12 .push_11 {
left: 880px;
}
/* `Push Space >> 16 Columns
----------------------------------------------------------------------------------------------------*/
.container_16 .push_1 {
left: 60px;
}
.container_16 .push_2 {
left: 120px;
}
.container_16 .push_3 {
left: 180px;
}
.container_16 .push_5 {
left: 300px;
}
.container_16 .push_6 {
left: 360px;
}
.container_16 .push_7 {
left: 420px;
}
.container_16 .push_9 {
left: 540px;
}
.container_16 .push_10 {
left: 600px;
}
.container_16 .push_11 {
left: 660px;
}
.container_16 .push_13 {
left: 780px;
}
.container_16 .push_14 {
left: 840px;
}
.container_16 .push_15 {
left: 900px;
}
/* `Pull Space >> Global
----------------------------------------------------------------------------------------------------*/
.container_12 .pull_3,
.container_16 .pull_4 {
left: -240px;
}
.container_12 .pull_6,
.container_16 .pull_8 {
left: -480px;
}
.container_12 .pull_9,
.container_16 .pull_12 {
left: -720px;
}
/* `Pull Space >> 12 Columns
----------------------------------------------------------------------------------------------------*/
.container_12 .pull_1 {
left: -80px;
}
.container_12 .pull_2 {
left: -160px;
}
.container_12 .pull_4 {
left: -320px;
}
.container_12 .pull_5 {
left: -400px;
}
.container_12 .pull_7 {
left: -560px;
}
.container_12 .pull_8 {
left: -640px;
}
.container_12 .pull_10 {
left: -800px;
}
.container_12 .pull_11 {
left: -880px;
}
/* `Pull Space >> 16 Columns
----------------------------------------------------------------------------------------------------*/
.container_16 .pull_1 {
left: -60px;
}
.container_16 .pull_2 {
left: -120px;
}
.container_16 .pull_3 {
left: -180px;
}
.container_16 .pull_5 {
left: -300px;
}
.container_16 .pull_6 {
left: -360px;
}
.container_16 .pull_7 {
left: -420px;
}
.container_16 .pull_9 {
left: -540px;
}
.container_16 .pull_10 {
left: -600px;
}
.container_16 .pull_11 {
left: -660px;
}
.container_16 .pull_13 {
left: -780px;
}
.container_16 .pull_14 {
left: -840px;
}
.container_16 .pull_15 {
left: -900px;
}
/* `Clear Floated Elements
----------------------------------------------------------------------------------------------------*/
/* http://sonspring.com/journal/clearing-floats */
.clear {
clear: both;
display: block;
overflow: hidden;
visibility: hidden;
width: 0;
height: 0;
}
/* http://www.yuiblog.com/blog/2010/09/27/clearfix-reloaded-overflowhidden-demystified */
.clearfix:before,
.clearfix:after {
content: '\0020';
display: block;
overflow: hidden;
visibility: hidden;
width: 0;
height: 0;
}
.clearfix:after {
clear: both;
}
/*
The following zoom:1 rule is specifically for IE6 + IE7.
Move to separate stylesheet if invalid CSS is a problem.
*/
.clearfix {
zoom: 1;
}

View File

@ -0,0 +1,171 @@
/* `XHTML, HTML4, HTML5 Reset
----------------------------------------------------------------------------------------------------*/
a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
dialog,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
font,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
hr,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
meter,
nav,
object,
ol,
output,
p,
pre,
progress,
q,
rp,
rt,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video,
xmp {
border: 0;
margin: 0;
padding: 0;
font-size: 100%;
}
html,
body {
height: 100%;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
/*
Override the default (display: inline) for
browsers that do not recognize HTML5 tags.
IE8 (and lower) requires a shiv:
http://ejohn.org/blog/html5-shiv
*/
display: block;
}
b,
strong {
/*
Makes browsers agree.
IE + Opera = font-weight: bold.
Gecko + WebKit = font-weight: bolder.
*/
font-weight: bold;
}
img {
color: transparent;
font-size: 0;
vertical-align: middle;
/*
For IE.
http://css-tricks.com/ie-fix-bicubic-scaling-for-images
*/
-ms-interpolation-mode: bicubic;
}
li {
/*
For IE6 + IE7.
*/
display: list-item;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
th,
td,
caption {
font-weight: normal;
vertical-align: top;
text-align: left;
}
svg {
/*
For IE9.
*/
overflow: hidden;
}

View File

@ -0,0 +1,115 @@
pre.active4d code {
background:none;
color:#000;
font-size:1.1em
}
pre.active4d .DiffHeader {
background-color: #656565;
color: #FFFFFF;
}
pre.active4d .Operator {
}
pre.active4d .InheritedClass {
}
pre.active4d .TypeName {
color: #21439C;
}
pre.active4d .Number {
color: #A8017E;
}
pre.active4d .EmbeddedSource {
background-color: #ECF1FF;
}
pre.active4d {
background-color: #FFFFFF;
color: #000000;
}
pre.active4d .DiffInsertedLine {
background-color: #98FF9A;
color: #000000;
}
pre.active4d .LibraryVariable {
color: #A535AE;
}
pre.active4d .Storage {
color: #FF5600;
}
pre.active4d .InterpolatedEntity {
color: #66CCFF;
}
pre.active4d .line-numbers {
background-color: #BAD6FD;
color: #000000;
}
pre.active4d .LocalVariable {
color: #6392FF;
}
pre.active4d .DiffLineRange {
background-color: #1B63FF;
color: #FFFFFF;
}
pre.active4d .BlockComment {
color: #D33435;
}
pre.active4d .TagName {
color: #016CFF;
}
pre.active4d .FunctionArgument {
}
pre.active4d .BuiltInConstant {
color: #A535AE;
}
pre.active4d .LineComment {
color: #D33535;
}
pre.active4d .DiffDeletedLine {
background-color: #FF7880;
color: #000000;
}
pre.active4d .NamedConstant {
color: #B7734C;
}
pre.active4d .CommandMethod {
color: #45AE34;
}
pre.active4d .TableField {
color: #0BB600;
}
pre.active4d .PlainXmlText {
color: #000000;
}
pre.active4d .Invalid {
background-color: #990000;
color: #FFFFFF;
}
pre.active4d .LibraryClassType {
color: #A535AE;
}
pre.active4d .TagAttribute {
color: #963DFF;
}
pre.active4d .Keyword {
color: #006699;
}
pre.active4d .UserDefinedConstant {
}
pre.active4d .String {
color: #666666;
}
pre.active4d .DiffUnchangedLine {
color: #5E5E5E;
}
pre.active4d .TagContainer {
color: #7A7A7A;
}
pre.active4d .FunctionName {
color: #21439C;
}
pre.active4d .Variable {
color: #0053FF;
}
pre.active4d .DateTimeLiteral {
font-weight: bold;
color: #66CCFF;
}

BIN
apidocs/static/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

2
apidocs/static/shared/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
.DS_Store

View File

@ -0,0 +1,935 @@
/*------------------------------------------------------------------------------
Global Documentation Styles
------------------------------------------------------------------------------*/
html {
height:100%;
}
body {
font: 13px helvetica,arial,freesans,clean,sans-serif;
line-height: 1.4em;
background-color: #fff;
color: #393939;
margin: 0px;
padding: 0px;
height: 100%;
}
p {
margin: 1em 0;
}
h1 {
font-size: 20px;
border-bottom: 1px solid #cccccc;
padding: .5em 0;
margin: 2em 0 1em;
}
h1:first-child {
margin: 0 0 1em;
}
h2 {
font-size: 16px;
color: #333;
margin: 2em auto 1em;
}
body.api .content h2 {
background: transparent url(../images/crud-sprite.png) left 2px no-repeat;
padding-left: 22px;
margin-bottom: 0.5em;
margin-top: 1em;
}
body.api .change h2.title {
background: none;
padding-left: 0;
font-size:24px;
}
h2 span.step {
color: #666;
}
h3 {
font-size: 14px;
color: #333;
margin: 1.5em 0 .5em;
}
h5 {
font-size: 13px;
}
h6 {
font-size: 13px;
color: #666;
}
a {
color: #4183C4;
text-decoration: none;
}
a:hover,
a:active {
text-decoration:underline;
}
blockquote {
margin:0 -5px;
padding: 0px 20px;
}
ul,
ol {
margin: 0px;
padding: 0px;
}
dt {
font-weight: bold;
}
dd {
padding-left: 1em;
margin-bottom: 1em;
}
dd + dd {
margin-bottom: 0;
}
span.attention,
p.attention {
color: #e98400;
font-style: italic;
}
a img {
border: 0px;
}
/*------------------------------------------------------------------------------
Header Styles
------------------------------------------------------------------------------*/
#header-wrapper {
margin-bottom: 0;
clear: both;
height: 91px;
background: white url(../images/background-v2.png) 0 0 repeat-x;
}
#header {
margin: 0 auto;
width: 920px;
}
#header a.logo {
float: left;
margin-top: 15px;
display: inline-block;
}
#header ul.nav {
float: right;
padding: 8px 3px 8px 2px;
font-weight: bold;
text-shadow: white 1px 1px 0px;
font-size: 12px;
margin-top: 18px;
background: #f5f5f5;
filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#fcfcfc', endColorstr='#ececec');
background:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#fcfcfc), to(#e8e8e8));
background:-moz-linear-gradient(270deg, #fcfcfc, #ececec);
border-color:#eee;
border:1px solid #e9e9e9;
border-bottom-color:#f5f5f5;
-webkit-border-radius:5px;
-moz-border-radius:5px;
border-radius:5px;
-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.2);
-moz-box-shadow:0 1px 1px rgba(0,0,0,0.2);
box-shadow:0 1px 1px rgba(0,0,0,0.2);
}
#header ul.nav li:first-child {
background: transparent;
}
#header ul.nav li {
float: left;
margin: 0;
padding: 0px 11px 0px 13px;
list-style-type: none;
background: url(../images/nav-rule.png) no-repeat 0px 50%;
line-height: 1.4em;
}
#header a {
outline: none;
text-decoration: none;
}
/*------------------------------------------------------------------------------
Sidebar
------------------------------------------------------------------------------*/
div.sidebar-shell {
position: relative;
float: right;
margin: 35px 0 0;
}
div.sidebar-module {
padding: 3px;
background: #EEE;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
display: block;
width: 332px;
margin-bottom: 20px;
font-size: 12px;
}
div.sidebar-module > ul {
background: #fafafb;
border: solid #CACACA;
border-width: 1px 1px 0px 1px;
margin: 0px;
}
div.sidebar-module > p {
background: #fafafb;
border: solid #CACACA;
border-width: 1px;
padding: 8px 10px;
margin: 0px;
display: block;
line-height: 1.4em;
}
div.sidebar-module li {
list-style-type: none;
}
div.sidebar-module > ul > li {
border-bottom: 1px solid #CACACA;
text-decoration: none;
}
div.sidebar-module > ul > li:hover {
text-decoration: none;
}
div.sidebar-module > ul h3 {
margin: 0px;
color: #666;
text-shadow: 1px 1px 0px #fff;
border-bottom: 1px solid #CACACA;
font-size: 14px;
background-color: #e1e1e1;
background-image: -moz-linear-gradient(top, #f1f1f1, #e1e1e1);
background-image: -ms-linear-gradient(top, #f1f1f1, #e1e1e1);
background-image: -o-linear-gradient(top, #f1f1f1, #e1e1e1);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f1f1f1), to(#e1e1e1));
background-image: -webkit-linear-gradient(top, #f1f1f1, #e1e1e1);
background-image: linear-gradient(top, #f1f1f1, #e1e1e1);
filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#f1f1f1', EndColorStr='#e1e1e1');
}
div.sidebar-module > ul li h3:hover,
div.sidebar-module > ul h3.disable {
background-color: #e1e1e1;
background-image: -moz-linear-gradient(top, #e1e1e1, #d1d1d1);
background-image: -ms-linear-gradient(top, #e1e1e1, #d1d1d1);
background-image: -o-linear-gradient(top, #e1e1e1, #d1d1d1);
background-image: -webkit-gradient(linear, left top, left bottom, from(#e1e1e1), to(#d1d1d1));
background-image: -webkit-linear-gradient(top, #e1e1e1, #d1d1d1);
background-image: linear-gradient(top, #e1e1e1, #d1d1d1);
filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#e1e1e1', EndColorStr='#d1d1d1');
}
div.sidebar-module > ul h3 a,
div.sidebar-module > ul h3.disable span {
padding: 8px 0px 8px 10px;
color: #666;
display: block;
text-decoration: none;
}
div.sidebar-module > ul h3.disable span {
padding-left: 20px;
background-image: url(../images/active-arrow.png);
background-position: left center;
background-repeat: no-repeat;
cursor: default;
}
div.sidebar-module > ul h3:hover a {
text-decoration: none;
}
div.sidebar-module ul ul,
div.sidebar-module .spacer {
display: block;
padding-bottom: 2px;
background-color: #FAFAFB;
}
div.sidebar-module ul ul li {
border-top: 1px solid #fff;
border-bottom: 1px solid #e9ecee;
font-weight: bold;
color: #666;
}
div.sidebar-module ul ul li:hover,
div.sidebar-module li.disable {
border-top: 1px solid #fafafb;
border-bottom: 1px solid #e5e8ea;
background-color: #f0f0f3;
}
div.sidebar-module li.disable {
background-image: url(../images/active-arrow.png);
background-position: left center;
background-repeat: no-repeat;
}
div.sidebar-module ul ul li a,
div.sidebar-module ul ul li span {
padding: 6px 0px 6px 10px;
display: block;
text-decoration: none;
}
div.sidebar-module ul ul li span {
padding-left: 20px;
cursor: default;
}
/* @end */
/*****************************************************************************/
/*
/* Footer
/*
/*****************************************************************************/
#footer {
position: relative;
bottom:0;
font-size:13px;
color: #636363;
margin: 45px 0 0 0;
}
#footer a:hover {
text-decoration: underline;
}
#footer li {
list-style: none;
}
.footer_inner {
width:960px;
position: relative;
margin: 0 auto;
}
#footer .upper_footer {
min-height: 160px;
overflow: hidden;
background: url(../images/bg_footer_top.png) #f8f8f8 repeat-x;
}
#footer #blacktocat {
height:130px;
width:164px;
float:left;
background: url(../images/blacktocat.png) top left no-repeat;
text-indent: -5000px;
margin: 15px 20px 0 0;
}
#footer #blacktocat_ie {
height:130px;
width:164px;
float:left;
background: url(../images/blacktocat.png) no-repeat;
text-indent: -5000px;
margin: 15px 20px 0 0;
}
#footer .upper_footer ul.footer_nav {
position: relative;
float: left;
width: 164px;
margin: 20px 10px;
}
#footer .upper_footer ul.footer_nav h4 {
margin: 0 0 5px 0;
padding-bottom: 5px;
border-bottom: thin solid #e1e1e1;
}
#footer .lower_footer {
position: relative;
background:url(../images/bg_footer_bottom.png) #fff repeat-x;
overflow: hidden;
clear:both;
}
#footer .lower_footer .home {
display: block;
position: absolute;
background: url(../images/footer-logo.png) top left no-repeat;
width: 100px;
height: 50px;
text-indent: -5000px;
}
#footer .lower_footer .home_ie {
display: block;
position: absolute;
background: url(../images/footer-logo.png) top left no-repeat;
width: 100px;
height: 50px;
text-indent: -5000px;
}
#footer .lower_footer #legal {
float: left;
width: 500px;
height: 50px;
line-height: 8px;
margin: 25px 0 0 17px;
}
#footer .lower_footer #legal #legal_links {
margin-left: 177px;
}
#footer .lower_footer div ul {
float: left;
text-indent: none;
display:inline;
margin-top: 15px;
}
#footer .lower_footer div ul li {
display:inline;
float: left;
margin: 0 10px 0 0;
}
#footer .lower_footer div p {
display:inline;
float:left;
clear: both;
margin: 10px 0 0 177px;
}
#footer .lower_footer .sponsor {
width: 295px;
float: right;
margin-top: 35px;
padding-bottom: 25px;
}
#footer .lower_footer .sponsor .logo {
float:left;
margin: 0 10px 0 0;
}
#footer .lower_footer .sponsor a {
color: #000;
}
/* end */
/*------------------------------------------------------------------------------
Not Footer
------------------------------------------------------------------------------*/
#wrapper {
padding: 20px 25px;
overflow:hidden;
height: auto;
width: 920px;
margin: -20px auto 0;
background: url(../images/background-white.png) 0 0 no-repeat;
}
.content {
width: 560px;
position: relative;
float: left;
color: #393939;
z-index: 2;
}
.content dl {
margin-left: 10px;
}
.content dt {
color: #666;
}
.content ol {
margin-left: 1.5em;
}
.content ul {
list-style-type: disc;
margin: 1.5em
}
.content li {
line-height: 1.7em;
}
.content img {
max-width: 100%;
border: 1px solid #dddddd;
-webkit-box-shadow: 1px 1px 3px #ddd;
-moz-box-shadow: 1px 1px 3px #ddd;
box-shadow: 1px 1px 3px #ddd;
}
.content .description {
margin-left: 20px;
}
.content .verseblock-content {
padding: 3px;
}
.content .verseblock-content,
.content .sectionbody .dlist dt,
.content p > tt,
.content dl code,
.content ul code,
p code {
font: 12px Monaco,"Courier New","DejaVu Sans Mono","Bitstream Vera Sans Mono",monospace;
color: #52595d;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
-moz-background-clip: padding;
-webkit-background-clip: padding-box;
background-clip: padding-box;
border: 1px solid #ccc;
background-color: #f9f9f9;
padding: 0px 3px;
display: inline-block;
}
.content .sectionbody .dlist dt {
margin-top: 10px;
}
.content .verseblock-content {
padding: 3px;
}
.content .intro {
color: #868686;
}
.change {
padding-bottom: 1em;
}
.change .meta {
font-size: 16px;
padding-bottom: 1em;
}
.change .who_when .author {
color: #eee;
}
.change .who_when .published {
color: #ccc;
}
/* @end */
/*------------------------------------------------------------------------------
Pre/Code Styles
------------------------------------------------------------------------------*/
code {white-space: nowrap;}
pre {
border: 1px solid #cacaca;
line-height: 1.2em;
font: 12px Monaco,"Courier New","DejaVu Sans Mono","Bitstream Vera Sans Mono",monospace;
padding: 10px;
overflow:auto;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
-moz-background-clip: padding;
-webkit-background-clip: padding-box;
background-clip: padding-box;
background-color: #FAFAFB;
color: #393939;
margin: 0px;
}
ul + pre {
margin-top: 1em;
}
pre code {white-space: pre;}
pre span.comment {color: #aaa;}
pre.headers {
margin-bottom: 0;
border-bottom-width: 0;
-webkit-border-radius: 3px 3px 0 0;
-moz-border-radius: 3px 3px 0 0;
border-radius: 3px 3px 0 0;
color: #666;
background-color: #f1f1f1;
background-image: -moz-linear-gradient(top, #f1f1f1, #e1e1e1);
background-image: -ms-linear-gradient(top, #f1f1f1, #e1e1e1);
background-image: -o-linear-gradient(top, #f1f1f1, #e1e1e1);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f1f1f1), to(#e1e1e1));
background-image: -webkit-linear-gradient(top, #f1f1f1, #e1e1e1);
background-image: linear-gradient(top, #f1f1f1, #e1e1e1);
filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#f1f1f1', EndColorStr='#e1e1e1');
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.7);
}
pre.no-response {
-webkit-border-radius: 3px 3px;
-moz-border-radius: 3px 3px;
border-radius: 3px 3px;
border-bottom: 1px solid #CACACA;
}
pre.headers + pre.highlight {
-webkit-border-radius: 0 0 3px 3px;
-moz-border-radius: 0 0 3px 3px;
border-radius: 0 0 3px 3px;
}
pre.highlight {
-webkit-border-radius:3px;
-moz-border-radius:3px;
border-radius:3px;
background-color: #FAFAFB;
}
pre.terminal {
background-color: #444;
color: #fff;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
-moz-background-clip: padding;
-webkit-background-clip: padding-box;
background-clip: padding-box;
border: 2px solid #DEDEDE;
position: relative;
padding: 10px;
text-shadow: none;
background-image: none;
filter: none;
}
pre.terminal em {
color: #f9fe64;
}
span.codeline {
display: block;
position: relative;
}
span.codeline:hover {
background-color: #292929;
margin: 0px;
padding-left: 3px;
margin-left: -3px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
color: #666666;
}
span.codeline span {
display: inline-block;
font-size: 10px;
color: #fff;
padding: 0 0.3em 0.05em;
position: absolute;
right: 0px;
top: 0px;
text-indent: -9999px;
background-image: url(../images/qmark.png);
background-repeat: no-repeat;
background-position: 1px 3px;
max-width: 8px;
min-width: 8px;
-moz-user-select: none;
-khtml-user-select: none;
user-select: none;
cursor: default;
}
span.codeline span:hover {
display: inline-block;
text-indent: 0px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
background: #000;
border: 1px solid #292929;
max-width: 1000px;
}
span.codeline:hover em {
color: #666666;
}
pre.bootcamp {
white-space: normal;
margin-left: -10px;
background-image: none;
}
span.bash-output {
color: #63e463;
display: block;
position: relative;
-moz-user-select: none;
-khtml-user-select: none;
user-select: none;
}
/* end */
/*------------------------------------------------------------------------------
More Info Expander
------------------------------------------------------------------------------*/
.more-info {
margin: 10px 0;
position: relative;
}
.more-info > h4 {
background-image: url('../images/dropdown_sprites.jpg');
background-repeat: no-repeat;
padding: .25em 0 .25em 25px;
cursor: pointer;
color: #4183C4;
font-weight: normal;
}
.more-info h4.compressed {
background-position: 0 0;
}
.more-info:hover h4.compressed {
background-position: 0 -23px;
}
.more-info h4.expanded {
background-position: 0 -46px;
}
.more-info:hover h4.expanded {
background-position: 0 -69px;
}
.more-info .more-content {
display: none;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
background-color: #FFFFFF;
border: 3px solid #DDDDDD;
padding: 1em 2em;
-webkit-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
-moz-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
margin: 15px 0 30px;
}
.more-info .more-content h4 {
margin-top: 1em;
}
.more-info .more-content pre {
margin-left: 0px;
}
/****************************/
/* List Module */
/****************************/
.list-module h2 {
border: solid #cacaca;
border-width: 1px;
border-radius: 3px 3px 0px 0px;
-moz-border-radius: 3px 3px 0px 0px;
-webkit-border-bottom-right-radius: 0px;
-webkit-border-bottom-left-radius: 0px;
-moz-background-clip: padding;
-webkit-background-clip: padding-box;
background-clip: padding-box;
padding: 6px 10px;
background-color: #f1f1f1;
background-image: -moz-linear-gradient(top, #f1f1f1, #e1e1e1);
background-image: -ms-linear-gradient(top, #f1f1f1, #e1e1e1);
background-image: -o-linear-gradient(top, #f1f1f1, #e1e1e1);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f1f1f1), to(#e1e1e1));
background-image: -webkit-linear-gradient(top, #f1f1f1, #e1e1e1);
background-image: linear-gradient(top, #f1f1f1, #e1e1e1);
filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#f1f1f1', EndColorStr='#e1e1e1');
color: #666;
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.7);
font-size: 16px;
line-height: 22px;
margin: 0px;
}
.list-module .list-body {
border: solid #cacaca;
border-width: 0px 1px 1px 1px;
border-radius: 0px 0px 3px 3px;
-moz-border-radius: 0px 0px 3px 3px;
-webkit-border-bottom-right-radius: 3px;
-webkit-border-bottom-left-radius: 3px;
-moz-background-clip: padding;
-webkit-background-clip: padding-box;
background-clip: padding-box;
background-color: #fafafb;
color: #666;
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.7);
}
.list-module .list-body .icon {
display: block;
height: 28px;
width: 28px;
position: absolute;
top: 10px;
left: 10px;
background: transparent url(images/popular_guide_sprites.png) 0 0 no-repeat;
}
.list-module a {
border-top: 1px solid #fff;
border-bottom: 1px solid #e9ecee;
padding: 6px 10px;
position: relative;
display: block;
}
.list-module a:hover {
border-top: 1px solid #fafafb;
border-bottom: 1px solid #e5e8ea;
background-color: #f0f0f3;
text-decoration: none;
}
.list-module a h3 {
color: #4183C4;
}
.list-module a:hover h3 {
text-decoration: underline;
}
.list-module ul {
list-style-type: none;
margin: 0px;
}
.list-module h3 {
margin: 0px;
font-size: 13px;
}
.list-module .list-body a p {
color: #666;
margin: 0px;
}
/* @end */
/****************************/
/* Expandable List Module */
/****************************/
div.expandable > ul h3 {
display: table;
width: 100%;
}
div.expandable > ul h3 > a {
display: table-cell;
background-color: #e1e1e1;
background-image: -moz-linear-gradient(top, #f1f1f1, #e1e1e1);
background-image: -ms-linear-gradient(top, #f1f1f1, #e1e1e1);
background-image: -o-linear-gradient(top, #f1f1f1, #e1e1e1);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f1f1f1), to(#e1e1e1));
background-image: -webkit-linear-gradient(top, #f1f1f1, #e1e1e1);
background-image: linear-gradient(top, #f1f1f1, #e1e1e1);
filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#f1f1f1', EndColorStr='#e1e1e1');
}
div.expandable > ul h3 > a:hover {
background-color: #e1e1e1;
background-image: -moz-linear-gradient(top, #e1e1e1, #d1d1d1);
background-image: -ms-linear-gradient(top, #e1e1e1, #d1d1d1);
background-image: -o-linear-gradient(top, #e1e1e1, #d1d1d1);
background-image: -webkit-gradient(linear, left top, left bottom, from(#e1e1e1), to(#d1d1d1));
background-image: -webkit-linear-gradient(top, #e1e1e1, #d1d1d1);
background-image: linear-gradient(top, #e1e1e1, #d1d1d1);
filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#e1e1e1', EndColorStr='#d1d1d1');
}
div.expandable > ul h3 > a.collapsed,
div.expandable > ul h3 > a.expanded {
background-image: url(/shared/images/expand-arrows.png);
background-position: 0px -3px;
background-repeat: no-repeat;
width: 13px;
border-right: 1px solid #cacaca;
padding: 8px 11px;
}
div.expandable > ul h3 > a.expanded {
background-position: -38px -3px;
}
div.expandable > ul h3 > a.collapsed:hover {
background-image: url(/shared/images/expand-arrows.png);
background-position: 0px -43px;
background-repeat: no-repeat;
width: 13px;
border-right: 1px solid #cacaca;
padding: 8px 11px;
}
div.expandable > ul h3 > a.expanded:hover {
background-position: -38px -43px;
}
/* @end */

View File

@ -0,0 +1,60 @@
.highlight { background: #ffffff; }
.highlight .c { color: #999988; font-style: italic } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { font-weight: bold } /* Keyword */
.highlight .o { font-weight: bold } /* Operator */
.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */
.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #999999 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #aaaaaa } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { font-weight: bold } /* Keyword.Constant */
.highlight .kd { font-weight: bold } /* Keyword.Declaration */
.highlight .kp { font-weight: bold } /* Keyword.Pseudo */
.highlight .kr { font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #009999 } /* Literal.Number */
.highlight .s { color: #d14 } /* Literal.String */
.highlight .na { color: #008080 } /* Name.Attribute */
.highlight .nb { color: #0086B3 } /* Name.Builtin */
.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */
.highlight .no { color: #008080 } /* Name.Constant */
.highlight .ni { color: #800080 } /* Name.Entity */
.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */
.highlight .nn { color: #555555 } /* Name.Namespace */
.highlight .nt { color: #000080 } /* Name.Tag */
.highlight .nv { color: #008080 } /* Name.Variable */
.highlight .ow { font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mf { color: #009999 } /* Literal.Number.Float */
.highlight .mh { color: #009999 } /* Literal.Number.Hex */
.highlight .mi { color: #009999 } /* Literal.Number.Integer */
.highlight .mo { color: #009999 } /* Literal.Number.Oct */
.highlight .sb { color: #d14 } /* Literal.String.Backtick */
.highlight .sc { color: #d14 } /* Literal.String.Char */
.highlight .sd { color: #d14 } /* Literal.String.Doc */
.highlight .s2 { color: #d14 } /* Literal.String.Double */
.highlight .se { color: #d14 } /* Literal.String.Escape */
.highlight .sh { color: #d14 } /* Literal.String.Heredoc */
.highlight .si { color: #d14 } /* Literal.String.Interpol */
.highlight .sx { color: #d14 } /* Literal.String.Other */
.highlight .sr { color: #009926 } /* Literal.String.Regex */
.highlight .s1 { color: #d14 } /* Literal.String.Single */
.highlight .ss { color: #990073 } /* Literal.String.Symbol */
.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */
.highlight .vc { color: #008080 } /* Name.Variable.Class */
.highlight .vg { color: #008080 } /* Name.Variable.Global */
.highlight .vi { color: #008080 } /* Name.Variable.Instance */
.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 945 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 929 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 929 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 257 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1,78 @@
// Init sidebar
$(function() {
var activeItem,
helpList = $('#js-sidebar .js-topic'),
firstOccurance = true
// hide list items at startup
if($('body.api') && window.location){
var reg = /\/\/[^\/]+(\/.+)/g,
docUrl = reg.exec(window.location.toString())
if(docUrl){
$('#js-sidebar .js-topic a').each(function(){
var url = $(this).attr('href').toString()
if(url.indexOf(docUrl[1]) >= 0 && url.length == docUrl[1].length){
$(this).parent('li').addClass('disable')
var parentTopic = $(this).parentsUntil('div.sidebar-module > ul').last()
parentTopic.addClass('js-current')
parentTopic.find('.js-expand-btn').toggleClass('collapsed expanded')
}
})
}
}
$('#js-sidebar .js-topic').each(function(){
if(($(this).find('.disable').length == 0 || firstOccurance == false) &&
$(this).hasClass('js-current') != true){
$(this).find('.js-guides').children().hide()
} else {
activeItem = $(this).index()
firstOccurance = false
}
})
// Toggle style list. Expanded items stay
// expanded when new items are clicked.
$('#js-sidebar .js-toggle-list .js-expand-btn').click(function(){
var clickedTopic = $(this).parents('.js-topic'),
topicGuides = clickedTopic.find('.js-guides li')
$(this).toggleClass('collapsed expanded')
topicGuides.toggle(100)
return false
})
// Accordion style list. Expanded items
// collapse when new items are clicked.
$('#js-sidebar .js-accordion-list .js-topic h3 a').click(function(){
var clickedTopic = $(this).parents('.js-topic'),
topicGuides = clickedTopic.find('.js-guides li')
if(activeItem != clickedTopic.index()){
if(helpList.eq(activeItem)){
helpList.eq(activeItem).find('.js-guides li').toggle(100)
}
activeItem = clickedTopic.index()
topicGuides.toggle(100)
} else {
activeItem = undefined
topicGuides.toggle(100)
}
return false
})
$('.help-search .search-box').focus(function(){
$(this).css('background-position','0px -25px')
})
$('.help-search .search-box').focusout(function(){
if($(this).val() == ''){
$(this).css('background-position','0px 0px')
}
})
// Dynamic year for footer copyright
var currentYear = (new Date).getFullYear();
$("#year").text( (new Date).getFullYear() );
});

154
apidocs/static/shared/js/jquery.js vendored Normal file
View File

@ -0,0 +1,154 @@
/*!
* jQuery JavaScript Library v1.4.2
* http://jquery.com/
*
* Copyright 2010, John Resig
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* Includes Sizzle.js
* http://sizzlejs.com/
* Copyright 2010, The Dojo Foundation
* Released under the MIT, BSD, and GPL Licenses.
*
* Date: Sat Feb 13 22:33:48 2010 -0500
*/
(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);return a}return i?
e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r=
j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g,
"&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e=
true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,
Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&
(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,
a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b===
"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,
function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)||
c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded",
L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype,
"isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+
a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f],
d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]===
a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=w}else if(b&&
!c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari=
true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML=" <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,
parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent=
false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n=
s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,
applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando];
else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,
a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===
w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i,
cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className){for(var j=" "+e.className+" ",
i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+b[i]+" ",
" ");e.className=c.trim(j)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=
this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i=
e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected=
c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");
a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g,
function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split(".");
k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a),
C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!=
null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type=
e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&&
f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;
if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||s;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=s.documentElement;d=s.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==w)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this,
"events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=
a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y,
isImmediatePropagationStopped:Y};var Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},Ea=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(!c.support.submitBubbles)c.event.special.submit=
{setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length)return na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};
if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",
e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,
"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a,
d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&
!a.preventDefault)for(var d in a)this.unbind(d,a[d]);else{d=0;for(var f=this.length;d<f;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,f){return this.live(b,d,f,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}},
toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j||this.selector,
u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"")}if(i==="hover")d.push("mouseenter"+k,"mouseleave"+k);else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k}else i=(Ga[i]||i)+k;b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u.unbind(pa(i,r),e)}}return this}});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),
function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});A.attachEvent&&!A.addEventListener&&A.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});(function(){function a(g){for(var h="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4)h+=l.nodeValue;else if(l.nodeType!==8)h+=a(l.childNodes)}return h}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];
if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}m[q]=y}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(k.filter(h,[t]).length>0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift();
t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D||
g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};k.matches=function(g,h){return k(g,null,null,h)};k.find=function(g,h,l){var m,q;if(!g)return[];
for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter)if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length-
1)!=="\\"){if(v===p)p=[];if(n.preFilter[H])if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=v[U])!=null;U++)if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null)if(Ha)y=true;else v[U]=false;else if(Ha){p.push(D);y=true}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)k.error(g);else break;q=g}return v};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},
relative:{"+":function(g,h){var l=typeof h==="string",m=l&&!/\W/.test(h);l=l&&!m;if(m)h=h.toLowerCase();m=0;for(var q=g.length,p;m<q;m++)if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h}l&&k.filter(h,g,true)},">":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false}}}else{m=0;for(q=g.length;m<q;m++)if(p=g[m])g[m]=
l?p.parentNode:p.parentNode===h;l&&k.filter(h,g,true)}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("parentNode",h,m,g,p,l)},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,m,g,p,l)}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var l=[];
h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++)h[m].getAttribute("name")===g[1]&&l.push(h[m]);return l.length===0?null:l}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var v;(v=h[p])!=null;p++)if(v)if(q^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},
CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m,
g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},
text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},
setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=
h[3];l=0;for(m=h.length;l<m;l++)if(h[l]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+q)},CHILD:function(g,h){var l=h[1],m=g;switch(l){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(l==="first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":l=h[2];var q=h[3];if(l===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0;for(m=p.firstChild;m;m=
m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;p.sizcache=h}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m===
"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g,
h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l<m;l++)h.push(g[l]);else for(l=0;g[l];l++)h.push(g[l]);return h}}var B;if(s.documentElement.compareDocumentPosition)B=function(g,h){if(!g.compareDocumentPosition||
!h.compareDocumentPosition){if(g==h)i=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)i=true;return g};else if("sourceIndex"in s.documentElement)B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)i=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)i=true;return g};else if(s.createRange)B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)i=true;return g.ownerDocument?-1:1}var l=g.ownerDocument.createRange(),m=
h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)i=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&&
q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="<a href='#'></a>";
if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}();
(function(){var g=s.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}:
function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)k(g,h[q],l);return k.filter(m,l)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E})();var eb=/Until$/,fb=/^(?:parents|prevUntil|prevAll)/,
gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,j){return!!b.call(e,j,e)===d});else if(b.nodeType)return c.grep(a,function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Ua.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length;
c.find(a,this[f],b);if(f>0)for(var j=d;j<b.length;j++)for(var i=0;i<d;i++)if(b[i]===b[j]){b.splice(j--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ia(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ia(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j=
{},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i)}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a===
"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",
d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?
a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType===
1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/<tbody/i,jb=/<|&#?\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\s*(?:[^=]|=\s*.checked.)/i,Ma=function(a,b,d){return hb.test(d)?
a:b+"></"+d+">"},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=
c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},
wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},
prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,
this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja,
""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&
this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,b,f))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]||
u.appendChild(u.ownerDocument.createElement("tbody")):u}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childNodes.length===
1?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]);
return this}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["",
""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e=
c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]?
c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja=
function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=
Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,
"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=
a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=
a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!==
"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this},
serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),
function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,
global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&
e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)?
"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===
false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B=
false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since",
c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E||
d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x);
g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===
1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b===
"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional;
if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");
this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a],
"olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)},
animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){(j.specialEasing=
j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);
this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration===
"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||
c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;
this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=
this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem,
e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||
c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in s.documentElement?
function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b=
this[0];if(a)return this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.currentStyle;
k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&&
f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b);
c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,
d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-
f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset":
"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in
e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window);