From ee745062460fe720c013af6e232fbaf75b62107e Mon Sep 17 00:00:00 2001 From: Marwan Mattar Date: Tue, 13 Mar 2018 20:07:17 -0700 Subject: [PATCH 1/6] Finalized doxygen pages - Limited to C# classes that are user-facing/ - Added a placeholder for Python to signify intentions - Generated doxygen pages --- .gitignore | 3 - docs/Readme.md | 13 +- docs/dox-ml-agents.conf | 33 +- docs/html/Academy_8cs.html | 118 ++ docs/html/Agent_8cs.html | 301 ++++ docs/html/Agent_8cs_classAgentParameters.js | 8 + docs/html/Agent_8cs_structAgentAction.js | 6 + docs/html/Agent_8cs_structAgentInfo.js | 14 + docs/html/Decision_8cs.html | 115 ++ docs/html/Monitor_8cs.html | 158 ++ docs/html/Monitor_8cs.js | 10 + docs/html/annotated.html | 117 ++ docs/html/annotated_dup.js | 11 + docs/html/bc_s.png | Bin 0 -> 676 bytes docs/html/bdwn.png | Bin 0 -> 147 bytes docs/html/classAcademy-members.html | 126 ++ docs/html/classAcademy.html | 535 ++++++ docs/html/classAcademy.js | 21 + docs/html/classAgent-members.html | 139 ++ docs/html/classAgent.html | 1099 +++++++++++ docs/html/classAgent.js | 34 + ...classEnvironmentConfiguration-members.html | 114 ++ docs/html/classEnvironmentConfiguration.html | 270 +++ docs/html/classEnvironmentConfiguration.js | 9 + docs/html/classMonitor-members.html | 113 ++ docs/html/classMonitor.html | 344 ++++ docs/html/classMonitor.js | 8 + docs/html/classes.html | 124 ++ docs/html/closed.png | Bin 0 -> 132 bytes .../dir_8e3ee7c563cfd76ab73fa6d2b0b4bf82.html | 118 ++ .../dir_9e08e342c98e8c75a023f201773b55cc.html | 112 ++ .../dir_9e5f09d06b09d6d0595ae4f95bbd32cf.html | 112 ++ .../dir_b9aa27b295bc425ceb05fbd0ed2def0d.html | 112 ++ docs/html/doc.png | Bin 0 -> 746 bytes docs/html/doxygen.png | Bin 0 -> 3779 bytes docs/html/doxygenbase.css | 1600 +++++++++++++++++ docs/html/dynsections.js | 120 ++ docs/html/files.html | 113 ++ docs/html/files_dup.js | 39 + docs/html/folderclosed.png | Bin 0 -> 616 bytes docs/html/folderopen.png | Bin 0 -> 597 bytes docs/html/functions.html | 394 ++++ docs/html/functions_evnt.html | 121 ++ docs/html/functions_func.html | 266 +++ docs/html/functions_vars.html | 185 ++ docs/html/globals.html | 106 ++ docs/html/globals_enum.html | 106 ++ docs/html/hierarchy.html | 118 ++ docs/html/hierarchy.js | 13 + docs/html/index.html | 105 ++ docs/html/interfaceDecision-members.html | 110 ++ docs/html/interfaceDecision.html | 248 +++ docs/html/interfaceDecision.js | 5 + docs/html/jquery.js | 115 ++ docs/html/logo.png | Bin 0 -> 5363 bytes docs/html/menu.js | 50 + docs/html/menudata.js | 70 + docs/html/nav_f.png | Bin 0 -> 153 bytes docs/html/nav_g.png | Bin 0 -> 95 bytes docs/html/nav_h.png | Bin 0 -> 98 bytes docs/html/navtree.css | 146 ++ docs/html/navtree.js | 540 ++++++ docs/html/navtreedata.js | 54 + docs/html/navtreeindex0.js | 113 ++ docs/html/open.png | Bin 0 -> 123 bytes docs/html/resize.js | 136 ++ docs/html/search/all_0.html | 30 + docs/html/search/all_0.js | 22 + docs/html/search/all_1.html | 30 + docs/html/search/all_1.js | 6 + docs/html/search/all_10.html | 30 + docs/html/search/all_10.js | 6 + docs/html/search/all_11.html | 30 + docs/html/search/all_11.js | 7 + docs/html/search/all_12.html | 30 + docs/html/search/all_12.js | 4 + docs/html/search/all_2.html | 30 + docs/html/search/all_2.js | 4 + docs/html/search/all_3.html | 30 + docs/html/search/all_3.js | 7 + docs/html/search/all_4.html | 30 + docs/html/search/all_4.js | 4 + docs/html/search/all_5.html | 30 + docs/html/search/all_5.js | 10 + docs/html/search/all_6.html | 30 + docs/html/search/all_6.js | 5 + docs/html/search/all_7.html | 30 + docs/html/search/all_7.js | 9 + docs/html/search/all_8.html | 30 + docs/html/search/all_8.js | 4 + docs/html/search/all_9.html | 30 + docs/html/search/all_9.js | 10 + docs/html/search/all_a.html | 30 + docs/html/search/all_a.js | 4 + docs/html/search/all_b.html | 30 + docs/html/search/all_b.js | 5 + docs/html/search/all_c.html | 30 + docs/html/search/all_c.js | 4 + docs/html/search/all_d.html | 30 + docs/html/search/all_d.js | 11 + docs/html/search/all_e.html | 30 + docs/html/search/all_e.js | 11 + docs/html/search/all_f.html | 30 + docs/html/search/all_f.js | 8 + docs/html/search/classes_0.html | 30 + docs/html/search/classes_0.js | 8 + docs/html/search/classes_1.html | 30 + docs/html/search/classes_1.js | 4 + docs/html/search/classes_2.html | 30 + docs/html/search/classes_2.js | 4 + docs/html/search/classes_3.html | 30 + docs/html/search/classes_3.js | 4 + docs/html/search/close.png | Bin 0 -> 273 bytes docs/html/search/enums_0.html | 30 + docs/html/search/enums_0.js | 4 + docs/html/search/enumvalues_0.html | 30 + docs/html/search/enumvalues_0.js | 4 + docs/html/search/enumvalues_1.html | 30 + docs/html/search/enumvalues_1.js | 4 + docs/html/search/enumvalues_2.html | 30 + docs/html/search/enumvalues_2.js | 4 + docs/html/search/enumvalues_3.html | 30 + docs/html/search/enumvalues_3.js | 4 + docs/html/search/events_0.html | 30 + docs/html/search/events_0.js | 8 + docs/html/search/events_1.html | 30 + docs/html/search/events_1.js | 4 + docs/html/search/files_0.html | 30 + docs/html/search/files_0.js | 5 + docs/html/search/files_1.html | 30 + docs/html/search/files_1.js | 4 + docs/html/search/files_2.html | 30 + docs/html/search/files_2.js | 4 + docs/html/search/functions_0.html | 30 + docs/html/search/functions_0.js | 10 + docs/html/search/functions_1.html | 30 + docs/html/search/functions_1.js | 4 + docs/html/search/functions_2.html | 30 + docs/html/search/functions_2.js | 5 + docs/html/search/functions_3.html | 30 + docs/html/search/functions_3.js | 4 + docs/html/search/functions_4.html | 30 + docs/html/search/functions_4.js | 10 + docs/html/search/functions_5.html | 30 + docs/html/search/functions_5.js | 8 + docs/html/search/functions_6.html | 30 + docs/html/search/functions_6.js | 4 + docs/html/search/functions_7.html | 30 + docs/html/search/functions_7.js | 4 + docs/html/search/functions_8.html | 30 + docs/html/search/functions_8.js | 4 + docs/html/search/functions_9.html | 30 + docs/html/search/functions_9.js | 8 + docs/html/search/functions_a.html | 30 + docs/html/search/functions_a.js | 7 + docs/html/search/functions_b.html | 30 + docs/html/search/functions_b.js | 6 + docs/html/search/mag_sel.png | Bin 0 -> 563 bytes docs/html/search/nomatches.html | 12 + docs/html/search/search.css | 271 +++ docs/html/search/search.js | 814 +++++++++ docs/html/search/search_l.png | Bin 0 -> 604 bytes docs/html/search/search_m.png | Bin 0 -> 158 bytes docs/html/search/search_r.png | Bin 0 -> 612 bytes docs/html/search/searchdata.js | 36 + docs/html/search/variables_0.html | 30 + docs/html/search/variables_0.js | 5 + docs/html/search/variables_1.html | 30 + docs/html/search/variables_1.js | 4 + docs/html/search/variables_2.html | 30 + docs/html/search/variables_2.js | 4 + docs/html/search/variables_3.html | 30 + docs/html/search/variables_3.js | 4 + docs/html/search/variables_4.html | 30 + docs/html/search/variables_4.js | 4 + docs/html/search/variables_5.html | 30 + docs/html/search/variables_5.js | 6 + docs/html/search/variables_6.html | 30 + docs/html/search/variables_6.js | 4 + docs/html/search/variables_7.html | 30 + docs/html/search/variables_7.js | 4 + docs/html/search/variables_8.html | 30 + docs/html/search/variables_8.js | 4 + docs/html/search/variables_9.html | 30 + docs/html/search/variables_9.js | 6 + docs/html/search/variables_a.html | 30 + docs/html/search/variables_a.js | 6 + docs/html/search/variables_b.html | 30 + docs/html/search/variables_b.js | 7 + docs/html/search/variables_c.html | 30 + docs/html/search/variables_c.js | 7 + docs/html/search/variables_d.html | 30 + docs/html/search/variables_d.js | 4 + docs/html/splitbar.png | Bin 0 -> 314 bytes docs/html/sync_off.png | Bin 0 -> 853 bytes docs/html/sync_on.png | Bin 0 -> 845 bytes docs/html/tab_a.png | Bin 0 -> 142 bytes docs/html/tab_b.png | Bin 0 -> 169 bytes docs/html/tab_h.png | Bin 0 -> 177 bytes docs/html/tab_s.png | Bin 0 -> 184 bytes docs/html/tabs.css | 1 + docs/html/unity.css | 410 +++++ 202 files changed, 12796 insertions(+), 37 deletions(-) create mode 100644 docs/html/Academy_8cs.html create mode 100644 docs/html/Agent_8cs.html create mode 100644 docs/html/Agent_8cs_classAgentParameters.js create mode 100644 docs/html/Agent_8cs_structAgentAction.js create mode 100644 docs/html/Agent_8cs_structAgentInfo.js create mode 100644 docs/html/Decision_8cs.html create mode 100644 docs/html/Monitor_8cs.html create mode 100644 docs/html/Monitor_8cs.js create mode 100644 docs/html/annotated.html create mode 100644 docs/html/annotated_dup.js create mode 100644 docs/html/bc_s.png create mode 100644 docs/html/bdwn.png create mode 100644 docs/html/classAcademy-members.html create mode 100644 docs/html/classAcademy.html create mode 100644 docs/html/classAcademy.js create mode 100644 docs/html/classAgent-members.html create mode 100644 docs/html/classAgent.html create mode 100644 docs/html/classAgent.js create mode 100644 docs/html/classEnvironmentConfiguration-members.html create mode 100644 docs/html/classEnvironmentConfiguration.html create mode 100644 docs/html/classEnvironmentConfiguration.js create mode 100644 docs/html/classMonitor-members.html create mode 100644 docs/html/classMonitor.html create mode 100644 docs/html/classMonitor.js create mode 100644 docs/html/classes.html create mode 100644 docs/html/closed.png create mode 100644 docs/html/dir_8e3ee7c563cfd76ab73fa6d2b0b4bf82.html create mode 100644 docs/html/dir_9e08e342c98e8c75a023f201773b55cc.html create mode 100644 docs/html/dir_9e5f09d06b09d6d0595ae4f95bbd32cf.html create mode 100644 docs/html/dir_b9aa27b295bc425ceb05fbd0ed2def0d.html create mode 100644 docs/html/doc.png create mode 100644 docs/html/doxygen.png create mode 100644 docs/html/doxygenbase.css create mode 100644 docs/html/dynsections.js create mode 100644 docs/html/files.html create mode 100644 docs/html/files_dup.js create mode 100644 docs/html/folderclosed.png create mode 100644 docs/html/folderopen.png create mode 100644 docs/html/functions.html create mode 100644 docs/html/functions_evnt.html create mode 100644 docs/html/functions_func.html create mode 100644 docs/html/functions_vars.html create mode 100644 docs/html/globals.html create mode 100644 docs/html/globals_enum.html create mode 100644 docs/html/hierarchy.html create mode 100644 docs/html/hierarchy.js create mode 100644 docs/html/index.html create mode 100644 docs/html/interfaceDecision-members.html create mode 100644 docs/html/interfaceDecision.html create mode 100644 docs/html/interfaceDecision.js create mode 100644 docs/html/jquery.js create mode 100644 docs/html/logo.png create mode 100644 docs/html/menu.js create mode 100644 docs/html/menudata.js create mode 100644 docs/html/nav_f.png create mode 100644 docs/html/nav_g.png create mode 100644 docs/html/nav_h.png create mode 100644 docs/html/navtree.css create mode 100644 docs/html/navtree.js create mode 100644 docs/html/navtreedata.js create mode 100644 docs/html/navtreeindex0.js create mode 100644 docs/html/open.png create mode 100644 docs/html/resize.js create mode 100644 docs/html/search/all_0.html create mode 100644 docs/html/search/all_0.js create mode 100644 docs/html/search/all_1.html create mode 100644 docs/html/search/all_1.js create mode 100644 docs/html/search/all_10.html create mode 100644 docs/html/search/all_10.js create mode 100644 docs/html/search/all_11.html create mode 100644 docs/html/search/all_11.js create mode 100644 docs/html/search/all_12.html create mode 100644 docs/html/search/all_12.js create mode 100644 docs/html/search/all_2.html create mode 100644 docs/html/search/all_2.js create mode 100644 docs/html/search/all_3.html create mode 100644 docs/html/search/all_3.js create mode 100644 docs/html/search/all_4.html create mode 100644 docs/html/search/all_4.js create mode 100644 docs/html/search/all_5.html create mode 100644 docs/html/search/all_5.js create mode 100644 docs/html/search/all_6.html create mode 100644 docs/html/search/all_6.js create mode 100644 docs/html/search/all_7.html create mode 100644 docs/html/search/all_7.js create mode 100644 docs/html/search/all_8.html create mode 100644 docs/html/search/all_8.js create mode 100644 docs/html/search/all_9.html create mode 100644 docs/html/search/all_9.js create mode 100644 docs/html/search/all_a.html create mode 100644 docs/html/search/all_a.js create mode 100644 docs/html/search/all_b.html create mode 100644 docs/html/search/all_b.js create mode 100644 docs/html/search/all_c.html create mode 100644 docs/html/search/all_c.js create mode 100644 docs/html/search/all_d.html create mode 100644 docs/html/search/all_d.js create mode 100644 docs/html/search/all_e.html create mode 100644 docs/html/search/all_e.js create mode 100644 docs/html/search/all_f.html create mode 100644 docs/html/search/all_f.js create mode 100644 docs/html/search/classes_0.html create mode 100644 docs/html/search/classes_0.js create mode 100644 docs/html/search/classes_1.html create mode 100644 docs/html/search/classes_1.js create mode 100644 docs/html/search/classes_2.html create mode 100644 docs/html/search/classes_2.js create mode 100644 docs/html/search/classes_3.html create mode 100644 docs/html/search/classes_3.js create mode 100644 docs/html/search/close.png create mode 100644 docs/html/search/enums_0.html create mode 100644 docs/html/search/enums_0.js create mode 100644 docs/html/search/enumvalues_0.html create mode 100644 docs/html/search/enumvalues_0.js create mode 100644 docs/html/search/enumvalues_1.html create mode 100644 docs/html/search/enumvalues_1.js create mode 100644 docs/html/search/enumvalues_2.html create mode 100644 docs/html/search/enumvalues_2.js create mode 100644 docs/html/search/enumvalues_3.html create mode 100644 docs/html/search/enumvalues_3.js create mode 100644 docs/html/search/events_0.html create mode 100644 docs/html/search/events_0.js create mode 100644 docs/html/search/events_1.html create mode 100644 docs/html/search/events_1.js create mode 100644 docs/html/search/files_0.html create mode 100644 docs/html/search/files_0.js create mode 100644 docs/html/search/files_1.html create mode 100644 docs/html/search/files_1.js create mode 100644 docs/html/search/files_2.html create mode 100644 docs/html/search/files_2.js create mode 100644 docs/html/search/functions_0.html create mode 100644 docs/html/search/functions_0.js create mode 100644 docs/html/search/functions_1.html create mode 100644 docs/html/search/functions_1.js create mode 100644 docs/html/search/functions_2.html create mode 100644 docs/html/search/functions_2.js create mode 100644 docs/html/search/functions_3.html create mode 100644 docs/html/search/functions_3.js create mode 100644 docs/html/search/functions_4.html create mode 100644 docs/html/search/functions_4.js create mode 100644 docs/html/search/functions_5.html create mode 100644 docs/html/search/functions_5.js create mode 100644 docs/html/search/functions_6.html create mode 100644 docs/html/search/functions_6.js create mode 100644 docs/html/search/functions_7.html create mode 100644 docs/html/search/functions_7.js create mode 100644 docs/html/search/functions_8.html create mode 100644 docs/html/search/functions_8.js create mode 100644 docs/html/search/functions_9.html create mode 100644 docs/html/search/functions_9.js create mode 100644 docs/html/search/functions_a.html create mode 100644 docs/html/search/functions_a.js create mode 100644 docs/html/search/functions_b.html create mode 100644 docs/html/search/functions_b.js create mode 100644 docs/html/search/mag_sel.png create mode 100644 docs/html/search/nomatches.html create mode 100644 docs/html/search/search.css create mode 100644 docs/html/search/search.js create mode 100644 docs/html/search/search_l.png create mode 100644 docs/html/search/search_m.png create mode 100644 docs/html/search/search_r.png create mode 100644 docs/html/search/searchdata.js create mode 100644 docs/html/search/variables_0.html create mode 100644 docs/html/search/variables_0.js create mode 100644 docs/html/search/variables_1.html create mode 100644 docs/html/search/variables_1.js create mode 100644 docs/html/search/variables_2.html create mode 100644 docs/html/search/variables_2.js create mode 100644 docs/html/search/variables_3.html create mode 100644 docs/html/search/variables_3.js create mode 100644 docs/html/search/variables_4.html create mode 100644 docs/html/search/variables_4.js create mode 100644 docs/html/search/variables_5.html create mode 100644 docs/html/search/variables_5.js create mode 100644 docs/html/search/variables_6.html create mode 100644 docs/html/search/variables_6.js create mode 100644 docs/html/search/variables_7.html create mode 100644 docs/html/search/variables_7.js create mode 100644 docs/html/search/variables_8.html create mode 100644 docs/html/search/variables_8.js create mode 100644 docs/html/search/variables_9.html create mode 100644 docs/html/search/variables_9.js create mode 100644 docs/html/search/variables_a.html create mode 100644 docs/html/search/variables_a.js create mode 100644 docs/html/search/variables_b.html create mode 100644 docs/html/search/variables_b.js create mode 100644 docs/html/search/variables_c.html create mode 100644 docs/html/search/variables_c.js create mode 100644 docs/html/search/variables_d.html create mode 100644 docs/html/search/variables_d.js create mode 100644 docs/html/splitbar.png create mode 100644 docs/html/sync_off.png create mode 100644 docs/html/sync_on.png create mode 100644 docs/html/tab_a.png create mode 100644 docs/html/tab_b.png create mode 100644 docs/html/tab_h.png create mode 100644 docs/html/tab_s.png create mode 100644 docs/html/tabs.css create mode 100644 docs/html/unity.css diff --git a/.gitignore b/.gitignore index f44a21e746..16eef07d3c 100755 --- a/.gitignore +++ b/.gitignore @@ -54,9 +54,6 @@ python/summaries /unity-environment/Assets/ML-Agents/Plugins/Computer* /unity-environment/Assets/ML-Agents/Plugins/System* -# Generated doc folders -/docs/html - # Mac hidden files *.DS_Store */.ipynb_checkpoints diff --git a/docs/Readme.md b/docs/Readme.md index e722f81c86..ae9404c8ad 100644 --- a/docs/Readme.md +++ b/docs/Readme.md @@ -35,12 +35,13 @@ * [ML-Agents Glossary](Glossary.md) * [Limitations & Common Issues](Limitations-and-Common-Issues.md) -## C# API and Components - * Academy - * Agent - * Decision - * Monitor +## API Docs + * [C#](html/annotated.html) + * [Academy](html/classAcademy.html) + * [Agent](html/classAgent.html) + * [Decision](html/interfaceDecision.html) + * [Monitor](html/classMonitor.html) + * Python (coming soon) ## Python API * [How to use the Python API](Python-API.md) - \ No newline at end of file diff --git a/docs/dox-ml-agents.conf b/docs/dox-ml-agents.conf index 7119459efb..439c5f0bbc 100644 --- a/docs/dox-ml-agents.conf +++ b/docs/dox-ml-agents.conf @@ -31,7 +31,7 @@ PROJECT_NAME = "ML-Agents" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = v0.2 +PROJECT_NUMBER = v0.3 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a @@ -783,33 +783,10 @@ WARN_LOGFILE = # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING # Note: If this tag is empty the current directory is searched. -INPUT = ML-Agents-Overview.md \ - Background-Unity.md \ - Background-Machine-Learning.md \ - Background-TensorFlow.md \ - Installation.md \ - Installation-Docker.md \ - Background-Jupyter.md \ - Getting-Started-with-Balance-Ball.md \ - Learning-Environment-Examples.md \ - Learning-Environment-Create-New.md \ - Learning-Environment-Design.md \ - Learning-Environment-Design-Agents.md \ - Learning-Environment-Design-Academy.md \ - Learning-Environment-Design-Brains.md \ - Training-ML-Agents.md \ - Training-PPO.md \ - Training-Curriculum-Learning.md \ - Training-Imitation-Learning.md \ - Using-TensorFlow-Sharp-in-Unity.md \ - Training-on-Amazon-Web-Service.md \ - Using-Tensorboard.md \ - Python-API.md \ - Feature-Broadcasting.md \ - Feature-Monitor.md \ - Limitations-and-Common-Issues.md \ - ../unity-environment/Assets/ML-Agents/Scripts \ - ../python/unityagents +INPUT = ../unity-environment/Assets/ML-Agents/Scripts/Academy.cs \ + ../unity-environment/Assets/ML-Agents/Scripts/Agent.cs \ + ../unity-environment/Assets/ML-Agents/Scripts/Monitor.cs \ + ../unity-environment/Assets/ML-Agents/Scripts/Decision.cs # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses diff --git a/docs/html/Academy_8cs.html b/docs/html/Academy_8cs.html new file mode 100644 index 0000000000..5778e6e71c --- /dev/null +++ b/docs/html/Academy_8cs.html @@ -0,0 +1,118 @@ + + + + + + + + +ML-Agents: Academy.cs File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
ML-Agents +  v0.3 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Academy.cs File Reference
+
+
+ + + + + + + + +

+Classes

class  EnvironmentConfiguration
 Welcome to Unity Machine Learning Agents (ML-Agents). More...
 
class  Academy
 An Academy is where Agent objects go to train their behaviors. More...
 
+
+
+ + + + + diff --git a/docs/html/Agent_8cs.html b/docs/html/Agent_8cs.html new file mode 100644 index 0000000000..55730c9d37 --- /dev/null +++ b/docs/html/Agent_8cs.html @@ -0,0 +1,301 @@ + + + + + + + + +ML-Agents: Agent.cs File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
ML-Agents +  v0.3 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Agent.cs File Reference
+
+
+ + + + + + + + + + + + + + +

+Classes

struct  AgentInfo
 Struct that contains all the information for an Agent, including its observations, actions and current status, that is sent to the Brain. More...
 
struct  AgentAction
 Struct that contains the action information sent from the Brain to the Agent. More...
 
class  AgentParameters
 Struct that contains all the Agent-specific parameters provided in the Editor. More...
 
class  Agent
 Agent Monobehavior class that is attached to a Unity GameObject, making it an Agent. More...
 
+

Class Documentation

+ +

◆ AgentInfo

+ +
+
+ + + + +
struct AgentInfo
+
+

Struct that contains all the information for an Agent, including its observations, actions and current status, that is sent to the Brain.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class Members
+bool +done +Whether the agent is done or not.
+int +id +Unique identifier each agent receives at initialization.

It is used to separate between different agents in the environment.

+
+bool +maxStepReached +Whether the agent has reached its max step count for this episode.
+List< float > +memories +Used by the Trainer to store information about the agent.

This data structure is not consumed or modified by the agent directly, they are just the owners of their trainier's memory. Currently, however, the size of the memory is in the Brain properties.

+
+float +reward +Current agent reward.
+List< float > +stackedVectorObservation +The previous agent vector observations, stacked.

The length of the history (i.e. number of vector observations to stack) is specified in the Brain parameters.

+
+string +storedTextActions +Keeps track of the last text action taken by the Brain.
+float [] +storedVectorActions +Keeps track of the last vector action taken by the Brain.
+string +textObservation +Most recent text observation.
+List< float > +vectorObservation +Most recent agent vector (i.e.

numeric) observation.

+
+List< Texture2D > +visualObservations +Most recent agent camera (i.e.

texture) observation.

+
+ +
+
+ +

◆ AgentAction

+ +
+
+ + + + +
struct AgentAction
+
+

Struct that contains the action information sent from the Brain to the Agent.

+
+ + + + + + + + + + +
Class Members
+List< float > +memories +
+string +textActions +
+float [] +vectorActions +
+ +
+
+ +

◆ AgentParameters

+ +
+
+ + + + +
class AgentParameters
+
+

Struct that contains all the Agent-specific parameters provided in the Editor.

+

This excludes the Brain linked to the Agent since it can be modified programmatically.

+
+ + + + + + + + + + + + + + + + +
Class Members
+List< Camera > +agentCameras +The list of the Camera GameObjects the agent uses for visual observations.
+int +maxStep +The maximum number of steps the agent takes before being done.

If set to 0, the agent can only be set to done programmatically (or when the Academy is done). If set to any positive integer, the agent will be set to done after that many steps. Note that setting the max step to a value greater than the academy max step value renders it useless.

+
+int +numberOfActionsBetweenDecisions +Number of actions between decisions (used when On Demand Decision Making is turned off).
+bool +onDemandDecision +Whether to enable On Demand Decision Making or make a decision at every step.
+bool +resetOnDone +Determines the behaviour of the agent when done.

If true, the agent will reset when done and start a new episode. Otherwise, the agent will remain done and its behavior will be dictated by the AgentOnDone method.

+
+ +
+
+
+
+ + + + + diff --git a/docs/html/Agent_8cs_classAgentParameters.js b/docs/html/Agent_8cs_classAgentParameters.js new file mode 100644 index 0000000000..7f658c7c3c --- /dev/null +++ b/docs/html/Agent_8cs_classAgentParameters.js @@ -0,0 +1,8 @@ +var Agent_8cs_classAgentParameters = +[ + [ "agentCameras", "Agent_8cs.html#a1e23676a7014ca3a552c39e9cfc1fb27", null ], + [ "maxStep", "Agent_8cs.html#a68defcf610c5210aa9a2b73fb4de6fbe", null ], + [ "numberOfActionsBetweenDecisions", "Agent_8cs.html#af84a8178eb8593c986c511a57b76305e", null ], + [ "onDemandDecision", "Agent_8cs.html#adc9588e03d6582f35d1501d7f6c64e5a", null ], + [ "resetOnDone", "Agent_8cs.html#a1e06d6fe173ee1f37c3b7a9af8050195", null ] +]; \ No newline at end of file diff --git a/docs/html/Agent_8cs_structAgentAction.js b/docs/html/Agent_8cs_structAgentAction.js new file mode 100644 index 0000000000..ed5d2d001e --- /dev/null +++ b/docs/html/Agent_8cs_structAgentAction.js @@ -0,0 +1,6 @@ +var Agent_8cs_structAgentAction = +[ + [ "memories", "Agent_8cs.html#a2ef761809d305d84678380bbd1ae4cc9", null ], + [ "textActions", "Agent_8cs.html#af3a8b157b1eb809e256f68314db6e1bd", null ], + [ "vectorActions", "Agent_8cs.html#a56a7fa0379094a56a4158ac50dd31dd1", null ] +]; \ No newline at end of file diff --git a/docs/html/Agent_8cs_structAgentInfo.js b/docs/html/Agent_8cs_structAgentInfo.js new file mode 100644 index 0000000000..a2ed6bcaa3 --- /dev/null +++ b/docs/html/Agent_8cs_structAgentInfo.js @@ -0,0 +1,14 @@ +var Agent_8cs_structAgentInfo = +[ + [ "done", "Agent_8cs.html#a1d39aac66e12dae50a24cd7a9100ef33", null ], + [ "id", "Agent_8cs.html#a7441ef0865bcb3db9b8064dd7375c1ea", null ], + [ "maxStepReached", "Agent_8cs.html#a5b90735e18b8f5df83c465f78733f63d", null ], + [ "memories", "Agent_8cs.html#a2ef761809d305d84678380bbd1ae4cc9", null ], + [ "reward", "Agent_8cs.html#ab18e03604d8452d6d86f55873e19732a", null ], + [ "stackedVectorObservation", "Agent_8cs.html#a308a4987ac541acbd58a9cc9c96b1ace", null ], + [ "storedTextActions", "Agent_8cs.html#a16d35fb78652a70b50a8d9355da8cadd", null ], + [ "storedVectorActions", "Agent_8cs.html#ae5414923dbbbd2a39ab4e94d3061bbac", null ], + [ "textObservation", "Agent_8cs.html#ada2ee0fb0667ff7a98fa6e76734c0e1d", null ], + [ "vectorObservation", "Agent_8cs.html#a35913fa60b0dd9d9a2fff5e9ea816181", null ], + [ "visualObservations", "Agent_8cs.html#a3e2c1c7c1fe14981c3bab872f999953d", null ] +]; \ No newline at end of file diff --git a/docs/html/Decision_8cs.html b/docs/html/Decision_8cs.html new file mode 100644 index 0000000000..284f16bcb7 --- /dev/null +++ b/docs/html/Decision_8cs.html @@ -0,0 +1,115 @@ + + + + + + + + +ML-Agents: Decision.cs File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
ML-Agents +  v0.3 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Decision.cs File Reference
+
+
+ + + + + +

+Classes

interface  Decision
 Interface for implementing the behavior of an Agent that uses a Heuristic Brain. More...
 
+
+
+ + + + + diff --git a/docs/html/Monitor_8cs.html b/docs/html/Monitor_8cs.html new file mode 100644 index 0000000000..58840b5857 --- /dev/null +++ b/docs/html/Monitor_8cs.html @@ -0,0 +1,158 @@ + + + + + + + + +ML-Agents: Monitor.cs File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
ML-Agents +  v0.3 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Monitor.cs File Reference
+
+
+ + + + + +

+Classes

class  Monitor
 Monitor is used to display information about the Agent within the Unity scene. More...
 
+ + + + +

+Enumerations

enum  MonitorType { slider, +hist, +text, +bar + }
 The type of monitor the information must be displayed in. More...
 
+

Enumeration Type Documentation

+ +

◆ MonitorType

+ +
+
+ + + + + +
+ + + + +
enum MonitorType
+
+strong
+
+ +

The type of monitor the information must be displayed in.

+

<slider> corresponds to a single rectangle whose width is given by a float between -1 and 1. (green is positive, red is negative) <hist> corresponds to n vertical sliders. <text> is a text field. <bar> is a rectangle of fixed length to represent the proportions of a list of floats.

+ + + + + +
Enumerator
slider 
hist 
text 
bar 
+ +
+
+
+
+ + + + + diff --git a/docs/html/Monitor_8cs.js b/docs/html/Monitor_8cs.js new file mode 100644 index 0000000000..752b6cfdcf --- /dev/null +++ b/docs/html/Monitor_8cs.js @@ -0,0 +1,10 @@ +var Monitor_8cs = +[ + [ "Monitor", "classMonitor.html", "classMonitor" ], + [ "MonitorType", "Monitor_8cs.html#ac69ce5a28782fdc01f7ba5c236cd5f72", [ + [ "slider", "Monitor_8cs.html#ac69ce5a28782fdc01f7ba5c236cd5f72a10bf08f0bbd6689475be65b4ae441bd9", null ], + [ "hist", "Monitor_8cs.html#ac69ce5a28782fdc01f7ba5c236cd5f72a16e197121c1752d4f42e8999863104ce", null ], + [ "text", "Monitor_8cs.html#ac69ce5a28782fdc01f7ba5c236cd5f72a1cb251ec0d568de6a929b520c4aed8d1", null ], + [ "bar", "Monitor_8cs.html#ac69ce5a28782fdc01f7ba5c236cd5f72a37b51d194a7513e45b56f6524f2d51f2", null ] + ] ] +]; \ No newline at end of file diff --git a/docs/html/annotated.html b/docs/html/annotated.html new file mode 100644 index 0000000000..671455fe7a --- /dev/null +++ b/docs/html/annotated.html @@ -0,0 +1,117 @@ + + + + + + + + +ML-Agents: Class List + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
ML-Agents +  v0.3 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Class List
+
+
+
Here are the classes, structs, unions and interfaces with brief descriptions:
+ + + + + + + + + +
 CAcademyAn Academy is where Agent objects go to train their behaviors
 CAgentAgent Monobehavior class that is attached to a Unity GameObject, making it an Agent
 CAgentActionStruct that contains the action information sent from the Brain to the Agent
 CAgentInfoStruct that contains all the information for an Agent, including its observations, actions and current status, that is sent to the Brain
 CAgentParametersStruct that contains all the Agent-specific parameters provided in the Editor
 CDecisionInterface for implementing the behavior of an Agent that uses a Heuristic Brain
 CEnvironmentConfigurationWelcome to Unity Machine Learning Agents (ML-Agents)
 CMonitorMonitor is used to display information about the Agent within the Unity scene
+
+
+
+ + + + + diff --git a/docs/html/annotated_dup.js b/docs/html/annotated_dup.js new file mode 100644 index 0000000000..c82cadc1bb --- /dev/null +++ b/docs/html/annotated_dup.js @@ -0,0 +1,11 @@ +var annotated_dup = +[ + [ "Academy", "classAcademy.html", "classAcademy" ], + [ "Agent", "classAgent.html", "classAgent" ], + [ "AgentAction", "Agent_8cs.html#structAgentAction", "Agent_8cs_structAgentAction" ], + [ "AgentInfo", "Agent_8cs.html#structAgentInfo", "Agent_8cs_structAgentInfo" ], + [ "AgentParameters", "Agent_8cs.html#classAgentParameters", "Agent_8cs_classAgentParameters" ], + [ "Decision", "interfaceDecision.html", "interfaceDecision" ], + [ "EnvironmentConfiguration", "classEnvironmentConfiguration.html", "classEnvironmentConfiguration" ], + [ "Monitor", "classMonitor.html", "classMonitor" ] +]; \ No newline at end of file diff --git a/docs/html/bc_s.png b/docs/html/bc_s.png new file mode 100644 index 0000000000000000000000000000000000000000..224b29aa9847d5a4b3902efd602b7ddf7d33e6c2 GIT binary patch literal 676 zcmV;V0$crwP)y__>=_9%My z{n931IS})GlGUF8K#6VIbs%684A^L3@%PlP2>_sk`UWPq@f;rU*V%rPy_ekbhXT&s z(GN{DxFv}*vZp`F>S!r||M`I*nOwwKX+BC~3P5N3-)Y{65c;ywYiAh-1*hZcToLHK ztpl1xomJ+Yb}K(cfbJr2=GNOnT!UFA7Vy~fBz8?J>XHsbZoDad^8PxfSa0GDgENZS zuLCEqzb*xWX2CG*b&5IiO#NzrW*;`VC9455M`o1NBh+(k8~`XCEEoC1Ybwf;vr4K3 zg|EB<07?SOqHp9DhLpS&bzgo70I+ghB_#)K7H%AMU3v}xuyQq9&Bm~++VYhF09a+U zl7>n7Jjm$K#b*FONz~fj;I->Bf;ule1prFN9FovcDGBkpg>)O*-}eLnC{6oZHZ$o% zXKW$;0_{8hxHQ>l;_*HATI(`7t#^{$(zLe}h*mqwOc*nRY9=?Sx4OOeVIfI|0V(V2 zBrW#G7Ss9wvzr@>H*`r>zE z+e8bOBgqIgldUJlG(YUDviMB`9+DH8n-s9SXRLyJHO1!=wY^79WYZMTa(wiZ!zP66 zA~!21vmF3H2{ngD;+`6j#~6j;$*f*G_2ZD1E;9(yaw7d-QnSCpK(cR1zU3qU0000< KMNUMnLSTYoA~SLT literal 0 HcmV?d00001 diff --git a/docs/html/bdwn.png b/docs/html/bdwn.png new file mode 100644 index 0000000000000000000000000000000000000000..940a0b950443a0bb1b216ac03c45b8a16c955452 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PKZC{Gv1kP61Pb5HX&C2wk~_T + + + + + + + +ML-Agents: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
ML-Agents +  v0.3 +
+
+
+ + + + + + + +
+
+ +
+
+
+ + + + + + + diff --git a/docs/html/classAcademy.html b/docs/html/classAcademy.html new file mode 100644 index 0000000000..fc0f6c1984 --- /dev/null +++ b/docs/html/classAcademy.html @@ -0,0 +1,535 @@ + + + + + + + + +ML-Agents: Academy Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
ML-Agents +  v0.3 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Academy Class Reference
+
+
+ +

An Academy is where Agent objects go to train their behaviors. + More...

+ +

Inherits MonoBehaviour.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

virtual void InitializeAcademy ()
 Initializes the academy and environment. More...
 
virtual void AcademyStep ()
 Specifies the academy behavior at every step of the environment. More...
 
virtual void AcademyReset ()
 Specifies the academy behavior when being reset (i.e. More...
 
bool GetIsInference ()
 Returns the isInference flag. More...
 
void SetIsInference (bool isInference)
 Sets the isInference flag to the provided value. More...
 
int GetEpisodeCount ()
 Returns the current episode counter. More...
 
int GetStepCount ()
 Returns the current step counter (within the current epside). More...
 
void Done ()
 Sets the done flag to true. More...
 
bool IsDone ()
 Returns whether or not the academy is done. More...
 
bool IsCommunicatorOn ()
 Returns whether or not the communicator is on. More...
 
Communicator GetCommunicator ()
 Returns the Communicator currently used by the Academy. More...
 
+ + + + +

+Public Attributes

ResetParameters resetParameters
 Contains a mapping from parameter names to float values. More...
 
+ + + + + + + + + + + + + +

+Events

System.Action BrainDecideAction
 
System.Action< bool, bool, int > AgentSetStatus
 
System.Action AgentResetIfDone
 
System.Action AgentSendState
 
System.Action AgentAct
 
System.Action AgentForceReset
 
+

Detailed Description

+

An Academy is where Agent objects go to train their behaviors.

+

More specifically, an academy is a collection of Brain objects and each agent in a scene is attached to one brain (a single brain may be attached to multiple agents). Currently, this class is expected to be extended to implement the desired academy behavior.

+

When an academy is run, it can either be in inference or training mode. The mode is determined by the presence or absence of a Communicator. In the presence of a communicator, the academy is run in training mode where the states and observations of each agent are sent through the communicator. In the absence of a communciator, the academy is run in inference mode where the agent behavior is determined by the brain attached to it (which may be internal, heuristic or player).

+

Member Function Documentation

+ +

◆ AcademyReset()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void AcademyReset ()
+
+virtual
+
+ +

Specifies the academy behavior when being reset (i.e.

+

at the completion of a global episode).

+ +
+
+ +

◆ AcademyStep()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void AcademyStep ()
+
+virtual
+
+ +

Specifies the academy behavior at every step of the environment.

+ +
+
+ +

◆ Done()

+ +
+
+ + + + + + + +
void Done ()
+
+ +

Sets the done flag to true.

+ +
+
+ +

◆ GetCommunicator()

+ +
+
+ + + + + + + +
Communicator GetCommunicator ()
+
+ +

Returns the Communicator currently used by the Academy.

+
Returns
The commincator currently in use (may be null).
+ +
+
+ +

◆ GetEpisodeCount()

+ +
+
+ + + + + + + +
int GetEpisodeCount ()
+
+ +

Returns the current episode counter.

+
Returns
Current episode number.
+ +
+
+ +

◆ GetIsInference()

+ +
+
+ + + + + + + +
bool GetIsInference ()
+
+ +

Returns the isInference flag.

+
Returns
true, if current mode is inference, false if training.
+ +
+
+ +

◆ GetStepCount()

+ +
+
+ + + + + + + +
int GetStepCount ()
+
+ +

Returns the current step counter (within the current epside).

+
Returns
Current episode number.
+ +
+
+ +

◆ InitializeAcademy()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void InitializeAcademy ()
+
+virtual
+
+ +

Initializes the academy and environment.

+

Called during the waking-up phase of the environment before any of the scene objects/agents have been initialized.

+ +
+
+ +

◆ IsCommunicatorOn()

+ +
+
+ + + + + + + +
bool IsCommunicatorOn ()
+
+ +

Returns whether or not the communicator is on.

+
Returns
true, if communicator is on, false otherwise.
+ +
+
+ +

◆ IsDone()

+ +
+
+ + + + + + + +
bool IsDone ()
+
+ +

Returns whether or not the academy is done.

+
Returns
true, if academy is done, false otherwise.
+ +
+
+ +

◆ SetIsInference()

+ +
+
+ + + + + + + + +
void SetIsInference (bool isInference)
+
+ +

Sets the isInference flag to the provided value.

+

If the new flag differs from the current flag value, this signals that the environment configuration needs to be updated.

+
Parameters
+ + +
isInferenceEnvironment mode, if true then inference, otherwise training.
+
+
+ +
+
+

Member Data Documentation

+ +

◆ resetParameters

+ +
+
+ + + + +
ResetParameters resetParameters
+
+ +

Contains a mapping from parameter names to float values.

+

They are used in AcademyReset and AcademyStep to modify elements in the environment at reset time.

+

Default reset parameters are specified in the academy Editor, and can be modified when training with an external Brain by passinga config dictionary at reset.

+ +
+
+

Event Documentation

+ +

◆ AgentAct

+ +
+
+ + + + +
System.Action AgentAct
+
+ +
+
+ +

◆ AgentForceReset

+ +
+
+ + + + +
System.Action AgentForceReset
+
+ +
+
+ +

◆ AgentResetIfDone

+ +
+
+ + + + +
System.Action AgentResetIfDone
+
+ +
+
+ +

◆ AgentSendState

+ +
+
+ + + + +
System.Action AgentSendState
+
+ +
+
+ +

◆ AgentSetStatus

+ +
+
+ + + + +
System.Action<bool, bool, int> AgentSetStatus
+
+ +
+
+ +

◆ BrainDecideAction

+ +
+
+ + + + +
System.Action BrainDecideAction
+
+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + + diff --git a/docs/html/classAcademy.js b/docs/html/classAcademy.js new file mode 100644 index 0000000000..9d18179a4d --- /dev/null +++ b/docs/html/classAcademy.js @@ -0,0 +1,21 @@ +var classAcademy = +[ + [ "AcademyReset", "classAcademy.html#a0872c23a338aebf18b22ce40d3f72c39", null ], + [ "AcademyStep", "classAcademy.html#aec20943228af90888c11a796b9e27777", null ], + [ "Done", "classAcademy.html#a44cace8d4257cdedded8faa819aa0fcb", null ], + [ "GetCommunicator", "classAcademy.html#a04fd35436026aa0997e1dcf6491b9a1a", null ], + [ "GetEpisodeCount", "classAcademy.html#a4f6948fd8d2909d9ab1012ee3b7debb3", null ], + [ "GetIsInference", "classAcademy.html#a7eaee35bbad8e7b2aeddd1957ab5016d", null ], + [ "GetStepCount", "classAcademy.html#ab586c01aab81d779dc15e051f33b3040", null ], + [ "InitializeAcademy", "classAcademy.html#ab6a884f7a70c4dce4432077d716e886c", null ], + [ "IsCommunicatorOn", "classAcademy.html#a276d937e60b907e23ec89d7df4cebe79", null ], + [ "IsDone", "classAcademy.html#a6439db113c7c15c83710c55c8e57af38", null ], + [ "SetIsInference", "classAcademy.html#af9fcbf243bd5c1f362777584378127cf", null ], + [ "resetParameters", "classAcademy.html#a3f4e8b2b6e23e7d814f69fab93009d5f", null ], + [ "AgentAct", "classAcademy.html#ad3a47ae55e42fae046d5360270c076ac", null ], + [ "AgentForceReset", "classAcademy.html#ab86a6437d36e5687e61117623e5d2c62", null ], + [ "AgentResetIfDone", "classAcademy.html#a7024f1b7a48feeb1206b99a11b201b4f", null ], + [ "AgentSendState", "classAcademy.html#adce6a53cc9bbe74e32d073f4820ec433", null ], + [ "AgentSetStatus", "classAcademy.html#a329972de6641802140ac8573060c289b", null ], + [ "BrainDecideAction", "classAcademy.html#a161ef309785ffee22f97ca3ca7b5a859", null ] +]; \ No newline at end of file diff --git a/docs/html/classAgent-members.html b/docs/html/classAgent-members.html new file mode 100644 index 0000000000..a61a58180c --- /dev/null +++ b/docs/html/classAgent-members.html @@ -0,0 +1,139 @@ + + + + + + + + +ML-Agents: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
ML-Agents +  v0.3 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Agent Member List
+
+
+ +

This is the complete list of members for Agent, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddReward(float increment)Agent
AddVectorObs(float observation)Agentprotected
AddVectorObs(int observation)Agentprotected
AddVectorObs(Vector3 observation)Agentprotected
AddVectorObs(Vector2 observation)Agentprotected
AddVectorObs(float[] observation)Agentprotected
AddVectorObs(List< float > observation)Agentprotected
AddVectorObs(Quaternion observation)Agentprotected
AgentAction(float[] vectorAction, string textAction)Agentvirtual
AgentOnDone()Agentvirtual
agentParametersAgent
AgentReset()Agentvirtual
brainAgent
CollectObservations()Agentvirtual
Done()Agent
GetCumulativeReward()Agent
GetReward()Agent
GetStepCount()Agent
GiveBrain(Brain brain)Agent
InitializeAgent()Agentvirtual
IsDone()Agent
IsMaxStepReached()Agent
ObservationToTexture(Camera camera, int width, int height)Agentstatic
RequestAction()Agent
RequestDecision()Agent
ResetReward()Agent
SetReward(float reward)Agent
SetTextObs(string textObservation)Agent
UpdateMemoriesAction(List< float > memories)Agent
UpdateTextAction(string textActions)Agent
UpdateVectorAction(float[] vectorActions)Agent
+
+ + + + + diff --git a/docs/html/classAgent.html b/docs/html/classAgent.html new file mode 100644 index 0000000000..e46b0f2140 --- /dev/null +++ b/docs/html/classAgent.html @@ -0,0 +1,1099 @@ + + + + + + + + +ML-Agents: Agent Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
ML-Agents +  v0.3 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

Agent Monobehavior class that is attached to a Unity GameObject, making it an Agent. + More...

+ +

Inherits MonoBehaviour.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void GiveBrain (Brain brain)
 Updates the Brain for the agent. More...
 
int GetStepCount ()
 Returns the current step counter (within the current epside). More...
 
void ResetReward ()
 Resets the step reward and possibly the episode reward for the agent. More...
 
void SetReward (float reward)
 Overrides the current step reward of the agent and updates the episode reward accordingly. More...
 
void AddReward (float increment)
 Increments the step and episode rewards by the provided value. More...
 
float GetReward ()
 Retrieves the step reward for the Agent. More...
 
float GetCumulativeReward ()
 Retrieves the episode reward for the Agent. More...
 
void Done ()
 Sets the done flag to true. More...
 
void RequestDecision ()
 Is called when the agent must request the brain for a new decision. More...
 
void RequestAction ()
 Is called then the agent must perform a new action. More...
 
bool IsMaxStepReached ()
 Indicates if the agent has reached his maximum number of steps. More...
 
bool IsDone ()
 Indicates if the agent is done More...
 
virtual void InitializeAgent ()
 Initializes the agent, called once when the agent is enabled. More...
 
virtual void CollectObservations ()
 Collects the (vector, visual, text) observations of the agent. More...
 
void SetTextObs (string textObservation)
 Sets the text observation. More...
 
virtual void AgentAction (float[] vectorAction, string textAction)
 Specifies the agent behavior at every step based on the provided action. More...
 
virtual void AgentOnDone ()
 Specifies the agent behavior when done and AgentParameters.resetOnDone is false. More...
 
virtual void AgentReset ()
 Specifies the agent behavior when being reset, which can be due to the agent or Academy being done (i.e. More...
 
void UpdateVectorAction (float[] vectorActions)
 Updates the vector action. More...
 
void UpdateMemoriesAction (List< float > memories)
 Updates the memories action. More...
 
void UpdateTextAction (string textActions)
 Updates the text action. More...
 
+ + + + +

+Static Public Member Functions

static Texture2D ObservationToTexture (Camera camera, int width, int height)
 Converts a camera and correspinding resolution to a 2D texture. More...
 
+ + + + + + + +

+Public Attributes

Brain brain
 The Brain attached to this agent. More...
 
AgentParameters agentParameters
 Agent parameters specified within the Editor via AgentEditor. More...
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

void AddVectorObs (float observation)
 Adds a float observation to the vector observations of the agent. More...
 
void AddVectorObs (int observation)
 Adds an integer observation to the vector observations of the agent. More...
 
void AddVectorObs (Vector3 observation)
 Adds an Vector3 observation to the vector observations of the agent. More...
 
void AddVectorObs (Vector2 observation)
 Adds an Vector2 observation to the vector observations of the agent. More...
 
void AddVectorObs (float[] observation)
 Adds a float array observation to the vector observations of the agent. More...
 
void AddVectorObs (List< float > observation)
 Adds a float list observation to the vector observations of the agent. More...
 
void AddVectorObs (Quaternion observation)
 Adds a quaternion observation to the vector observations of the agent. More...
 
+

Detailed Description

+

Agent Monobehavior class that is attached to a Unity GameObject, making it an Agent.

+

An agent produces observations and takes actions in the environment. Observations are determined by the cameras attached to the agent in addition to the vector observations implemented by the user in CollectObservations. On the other hand, actions are determined by decisions produced by a linked Brain. Currently, this class is expected to be extended to implement the desired agent behavior.

+

Simply speaking, an agent roams through an environment and at each step of the environment extracts its current observation, sends them to its linked brain and in return receives an action from its brain. In practice, however, an agent need not send its observation at every step since very little may have changed between sucessive steps. Currently, how often an agent updates its brain with a fresh observation is determined by the Academy.

+

At any step, an agent may be considered done. This could occur due to a variety of reasons:

    +
  • The agent reached an end state within its environment.
  • +
  • The agent reached the maximum # of steps (i.e. timed out).
  • +
  • The academy reached the maximum # of steps (forced agent to be done).
  • +
+

Here, an agent reaches an end state if it completes its task successfully or somehow fails along the way. In the case where an agent is done before the academy, it either resets and restarts, or just lingers until the academy is done.

+

An important note regarding steps and episodes is due. Here, an agent step corresponds to an academy step, which also corresponds to Unity environment step (i.e. each FixedUpdate call). This is not the case for episodes. The academy controls the global episode count and each agent controls its own local episode count and can reset and start a new local episode independently (based on its own experience). Thus an academy (global) episode can be viewed as the upper-bound on an agents episode length and that within a single global episode, an agent may have completed multiple local episodes. Consequently, if an agent max step is set to a value larger than the academy max steps value, then the academy value takes precedence (since the agent max step will never be reached).

+

Lastly, note that at any step the brain linked to the agent is allowed to change programmatically with GiveBrain.

+

Implementation-wise, it is required that this class is extended and the virtual methods overridden. For sample implementations of agent behavior, see the Examples/ directory within this Unity project.

+

Member Function Documentation

+ +

◆ AddReward()

+ +
+
+ + + + + + + + +
void AddReward (float increment)
+
+ +

Increments the step and episode rewards by the provided value.

+
Parameters
+ + +
incrementIncremental reward value.
+
+
+ +
+
+ +

◆ AddVectorObs() [1/7]

+ +
+
+ + + + + +
+ + + + + + + + +
void AddVectorObs (float observation)
+
+protected
+
+ +

Adds a float observation to the vector observations of the agent.

+

Increases the size of the agents vector observation by 1.

+
Parameters
+ + +
observationObservation.
+
+
+ +
+
+ +

◆ AddVectorObs() [2/7]

+ +
+
+ + + + + +
+ + + + + + + + +
void AddVectorObs (int observation)
+
+protected
+
+ +

Adds an integer observation to the vector observations of the agent.

+

Increases the size of the agents vector observation by 1.

+
Parameters
+ + +
observationObservation.
+
+
+ +
+
+ +

◆ AddVectorObs() [3/7]

+ +
+
+ + + + + +
+ + + + + + + + +
void AddVectorObs (Vector3 observation)
+
+protected
+
+ +

Adds an Vector3 observation to the vector observations of the agent.

+

Increases the size of the agents vector observation by 3.

+
Parameters
+ + +
observationObservation.
+
+
+ +
+
+ +

◆ AddVectorObs() [4/7]

+ +
+
+ + + + + +
+ + + + + + + + +
void AddVectorObs (Vector2 observation)
+
+protected
+
+ +

Adds an Vector2 observation to the vector observations of the agent.

+

Increases the size of the agents vector observation by 2.

+
Parameters
+ + +
observationObservation.
+
+
+ +
+
+ +

◆ AddVectorObs() [5/7]

+ +
+
+ + + + + +
+ + + + + + + + +
void AddVectorObs (float [] observation)
+
+protected
+
+ +

Adds a float array observation to the vector observations of the agent.

+

Increases the size of the agents vector observation by size of array.

+
Parameters
+ + +
observationObservation.
+
+
+ +
+
+ +

◆ AddVectorObs() [6/7]

+ +
+
+ + + + + +
+ + + + + + + + +
void AddVectorObs (List< float > observation)
+
+protected
+
+ +

Adds a float list observation to the vector observations of the agent.

+

Increases the size of the agents vector observation by size of list.

+
Parameters
+ + +
observationObservation.
+
+
+ +
+
+ +

◆ AddVectorObs() [7/7]

+ +
+
+ + + + + +
+ + + + + + + + +
void AddVectorObs (Quaternion observation)
+
+protected
+
+ +

Adds a quaternion observation to the vector observations of the agent.

+

Increases the size of the agents vector observation by 4.

+
Parameters
+ + +
observationObservation.
+
+
+ +
+
+ +

◆ AgentAction()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual void AgentAction (float [] vectorAction,
string textAction 
)
+
+virtual
+
+ +

Specifies the agent behavior at every step based on the provided action.

+
Parameters
+ + + +
vectorActionVector action. Note that for discrete actions, the provided array will be of length 1.
textActionText action.
+
+
+ +
+
+ +

◆ AgentOnDone()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void AgentOnDone ()
+
+virtual
+
+ +

Specifies the agent behavior when done and AgentParameters.resetOnDone is false.

+

This method can be used to remove the agent from the scene.

+ +
+
+ +

◆ AgentReset()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void AgentReset ()
+
+virtual
+
+ +

Specifies the agent behavior when being reset, which can be due to the agent or Academy being done (i.e.

+

completion of local or global episode).

+ +
+
+ +

◆ CollectObservations()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void CollectObservations ()
+
+virtual
+
+ +

Collects the (vector, visual, text) observations of the agent.

+

The agent observation describes the current environment from the perspective of the agent.

+

Simply, an agents observation is any environment information that helps the Agent acheive its goal. For example, for a fighting Agent, its observation could include distances to friends or enemies, or the current level of ammunition at its disposal. Recall that an Agent may attach vector, visual or textual observations. Vector observations are added by calling the provided helper methods:

+ +
+
+ +

◆ Done()

+ +
+
+ + + + + + + +
void Done ()
+
+ +

Sets the done flag to true.

+ +
+
+ +

◆ GetCumulativeReward()

+ +
+
+ + + + + + + +
float GetCumulativeReward ()
+
+ +

Retrieves the episode reward for the Agent.

+
Returns
The episode reward.
+ +
+
+ +

◆ GetReward()

+ +
+
+ + + + + + + +
float GetReward ()
+
+ +

Retrieves the step reward for the Agent.

+
Returns
The step reward.
+ +
+
+ +

◆ GetStepCount()

+ +
+
+ + + + + + + +
int GetStepCount ()
+
+ +

Returns the current step counter (within the current epside).

+
Returns
Current episode number.
+ +
+
+ +

◆ GiveBrain()

+ +
+
+ + + + + + + + +
void GiveBrain (Brain brain)
+
+ +

Updates the Brain for the agent.

+

Any brain currently assigned to the agent will be replaced with the provided one.

+

The agent unsubscribes from its current brain (if it has one) and subscribes to the provided brain. This enables contextual brains, that is, updating the behaviour (hence brain) of the agent depending on the context of the game. For example, we may utilize one (wandering) brain when an agent is randomly exploring an open world, but switch to another (fighting) brain when it comes into contact with an enemy.

+
Parameters
+ + +
brainNew brain to subscribe this agent to
+
+
+ +
+
+ +

◆ InitializeAgent()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void InitializeAgent ()
+
+virtual
+
+ +

Initializes the agent, called once when the agent is enabled.

+

Can be left empty if there is no special, unique set-up behavior for the agent.

+

One sample use is to store local references to other objects in the scene which would facilitate computing this agents observation.

+ +
+
+ +

◆ IsDone()

+ +
+
+ + + + + + + +
bool IsDone ()
+
+ +

Indicates if the agent is done

+
Returns
true, if the agent is done, false otherwise.
+ +
+
+ +

◆ IsMaxStepReached()

+ +
+
+ + + + + + + +
bool IsMaxStepReached ()
+
+ +

Indicates if the agent has reached his maximum number of steps.

+
Returns
true, if max step reached was reached, false otherwise.
+ +
+
+ +

◆ ObservationToTexture()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Texture2D ObservationToTexture (Camera camera,
int width,
int height 
)
+
+static
+
+ +

Converts a camera and correspinding resolution to a 2D texture.

+
Returns
The 2D texture.
+
Parameters
+ + + + +
cameraCamera.
widthWidth of resulting 2D texture.
heightHeight of resulting 2D texture.
+
+
+ +
+
+ +

◆ RequestAction()

+ +
+
+ + + + + + + +
void RequestAction ()
+
+ +

Is called then the agent must perform a new action.

+ +
+
+ +

◆ RequestDecision()

+ +
+
+ + + + + + + +
void RequestDecision ()
+
+ +

Is called when the agent must request the brain for a new decision.

+ +
+
+ +

◆ ResetReward()

+ +
+
+ + + + + + + +
void ResetReward ()
+
+ +

Resets the step reward and possibly the episode reward for the agent.

+ +
+
+ +

◆ SetReward()

+ +
+
+ + + + + + + + +
void SetReward (float reward)
+
+ +

Overrides the current step reward of the agent and updates the episode reward accordingly.

+
Parameters
+ + +
rewardThe new value of the reward.
+
+
+ +
+
+ +

◆ SetTextObs()

+ +
+
+ + + + + + + + +
void SetTextObs (string textObservation)
+
+ +

Sets the text observation.

+
Parameters
+ + +
textObservationThe text observation.
+
+
+ +
+
+ +

◆ UpdateMemoriesAction()

+ +
+
+ + + + + + + + +
void UpdateMemoriesAction (List< float > memories)
+
+ +

Updates the memories action.

+
Parameters
+ + +
memoriesMemories.
+
+
+ +
+
+ +

◆ UpdateTextAction()

+ +
+
+ + + + + + + + +
void UpdateTextAction (string textActions)
+
+ +

Updates the text action.

+
Parameters
+ + +
textActionsText actions.
+
+
+ +
+
+ +

◆ UpdateVectorAction()

+ +
+
+ + + + + + + + +
void UpdateVectorAction (float [] vectorActions)
+
+ +

Updates the vector action.

+
Parameters
+ + +
vectorActionsVector actions.
+
+
+ +
+
+

Member Data Documentation

+ +

◆ agentParameters

+ +
+
+ + + + +
AgentParameters agentParameters
+
+ +

Agent parameters specified within the Editor via AgentEditor.

+ +
+
+ +

◆ brain

+ +
+
+ + + + +
Brain brain
+
+ +

The Brain attached to this agent.

+

A brain can be attached either directly from the Editor through AgentEditor or programmatically through GiveBrain. It is OK for an agent to not have a brain, as long as no decision is requested.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + + diff --git a/docs/html/classAgent.js b/docs/html/classAgent.js new file mode 100644 index 0000000000..f55ed555cd --- /dev/null +++ b/docs/html/classAgent.js @@ -0,0 +1,34 @@ +var classAgent = +[ + [ "AddReward", "classAgent.html#af54b9da1f764b0be8cafc581d8f9bc5f", null ], + [ "AddVectorObs", "classAgent.html#a70dc94ababe37a27084145ead3226d6d", null ], + [ "AddVectorObs", "classAgent.html#aaca4c52e9a7e8583ceca5953be77f861", null ], + [ "AddVectorObs", "classAgent.html#a210e66a94c911aa1dea714422792d725", null ], + [ "AddVectorObs", "classAgent.html#a170507d882c7d3b3e854b668ce343926", null ], + [ "AddVectorObs", "classAgent.html#a805b0835be8f8e37d4339c29e6c6ebe5", null ], + [ "AddVectorObs", "classAgent.html#a02118021b2a57e6f030698e2b63c38ec", null ], + [ "AddVectorObs", "classAgent.html#a92e3b1eea9f0605ba349ba2b5177d8b0", null ], + [ "AgentAction", "classAgent.html#a6bedc752523054d350627d6a0c7fab6c", null ], + [ "AgentOnDone", "classAgent.html#a1744571e645b75c4e15b11c1020199a3", null ], + [ "AgentReset", "classAgent.html#acbb8642634d325629d4e45c8b319610e", null ], + [ "CollectObservations", "classAgent.html#a8b793b8bbc37b66a5e7eeaeea0844857", null ], + [ "Done", "classAgent.html#a44cace8d4257cdedded8faa819aa0fcb", null ], + [ "GetCumulativeReward", "classAgent.html#a7dbd50c5e347a1fe0c8f2a63ccc1ebb5", null ], + [ "GetReward", "classAgent.html#a05d04fc03ed70a11afb905e259e1404e", null ], + [ "GetStepCount", "classAgent.html#ab586c01aab81d779dc15e051f33b3040", null ], + [ "GiveBrain", "classAgent.html#a425d0bb9aae6a2f176eaa9342188e83c", null ], + [ "InitializeAgent", "classAgent.html#a0d65cb2bf6fd9e49d87468583db3baa1", null ], + [ "IsDone", "classAgent.html#a6439db113c7c15c83710c55c8e57af38", null ], + [ "IsMaxStepReached", "classAgent.html#a37124e7a1328a3d7342e6682e73092d7", null ], + [ "ObservationToTexture", "classAgent.html#af0aa30da9ba1bbda231c6b3a4e36550a", null ], + [ "RequestAction", "classAgent.html#a737d24da9fbe954cd4e41983ddee208a", null ], + [ "RequestDecision", "classAgent.html#ae9f3c050a74cf26e2cd74e82deaa9a5d", null ], + [ "ResetReward", "classAgent.html#a2ebb156dac7038fe138c910df69300c9", null ], + [ "SetReward", "classAgent.html#ad60a2a2684b0d8970230ab579e52e445", null ], + [ "SetTextObs", "classAgent.html#a78d35c658d6582ecb0e07c2674bed70f", null ], + [ "UpdateMemoriesAction", "classAgent.html#a3ef1a2894634cedd1a4987d525e30d77", null ], + [ "UpdateTextAction", "classAgent.html#a08e542a8bbffc1c37ec91ad5c99662b8", null ], + [ "UpdateVectorAction", "classAgent.html#a040c1710d1fae2010525db5be0132564", null ], + [ "agentParameters", "classAgent.html#aec11063707292e4183406fc40802cf41", null ], + [ "brain", "classAgent.html#a4b858e0e212cea18f48976438a427ee9", null ] +]; \ No newline at end of file diff --git a/docs/html/classEnvironmentConfiguration-members.html b/docs/html/classEnvironmentConfiguration-members.html new file mode 100644 index 0000000000..5e74c8bfdc --- /dev/null +++ b/docs/html/classEnvironmentConfiguration-members.html @@ -0,0 +1,114 @@ + + + + + + + + +ML-Agents: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
ML-Agents +  v0.3 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
EnvironmentConfiguration Member List
+
+
+ +

This is the complete list of members for EnvironmentConfiguration, including all inherited members.

+ + + + + + + +
EnvironmentConfiguration(int width, int height, int qualityLevel, float timeScale, int targetFrameRate)EnvironmentConfiguration
heightEnvironmentConfiguration
qualityLevelEnvironmentConfiguration
targetFrameRateEnvironmentConfiguration
timeScaleEnvironmentConfiguration
widthEnvironmentConfiguration
+
+ + + + + diff --git a/docs/html/classEnvironmentConfiguration.html b/docs/html/classEnvironmentConfiguration.html new file mode 100644 index 0000000000..7205d7555f --- /dev/null +++ b/docs/html/classEnvironmentConfiguration.html @@ -0,0 +1,270 @@ + + + + + + + + +ML-Agents: EnvironmentConfiguration Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
ML-Agents +  v0.3 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
EnvironmentConfiguration Class Reference
+
+
+ +

Welcome to Unity Machine Learning Agents (ML-Agents). + More...

+ + + + + +

+Public Member Functions

 EnvironmentConfiguration (int width, int height, int qualityLevel, float timeScale, int targetFrameRate)
 Initializes a new instance of the EnvironmentConfiguration class. More...
 
+ + + + + + + + + + + +

+Public Attributes

int width
 
int height
 
int qualityLevel
 
float timeScale
 
int targetFrameRate
 
+

Detailed Description

+

Welcome to Unity Machine Learning Agents (ML-Agents).

+

ML-Agents contains five entities: Academy, Brain, Agent, Communicator and Python API. The academy, and all its brains and connected agents live within a learning environment (herin called Environment), while the communicator manages the communication between the learning environment and the Python API. For more information on each of these entities, in addition to how to set-up a learning environment and train the behavior of characters in a Unity scene, please browse our documentation pages on GitHub: https://github.com/Unity-Technologies/ml-agents/blob/master/docs/

+

Wraps the environment-level parameters that are provided within the Editor. These parameters can be provided for training and inference modes separately and represent screen resolution, rendering quality and frame rate.

+

Constructor & Destructor Documentation

+ +

◆ EnvironmentConfiguration()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EnvironmentConfiguration (int width,
int height,
int qualityLevel,
float timeScale,
int targetFrameRate 
)
+
+ +

Initializes a new instance of the EnvironmentConfiguration class.

+
Parameters
+ + + + + + +
widthWidth of environment window (pixels).
heightHeight of environment window (pixels).
qualityLevelRendering quality of environment. Ranges from 0 to 5, with higher.
timeScaleSpeed at which environment is run. Ranges from 1 to 100, with higher values representing faster speed.
targetFrameRateTarget frame rate (per second) that the engine tries to maintain.
+
+
+ +
+
+

Member Data Documentation

+ +

◆ height

+ +
+
+ + + + +
int height
+
+ +
+
+ +

◆ qualityLevel

+ +
+
+ + + + +
int qualityLevel
+
+ +
+
+ +

◆ targetFrameRate

+ +
+
+ + + + +
int targetFrameRate
+
+ +
+
+ +

◆ timeScale

+ +
+
+ + + + +
float timeScale
+
+ +
+
+ +

◆ width

+ +
+
+ + + + +
int width
+
+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + + diff --git a/docs/html/classEnvironmentConfiguration.js b/docs/html/classEnvironmentConfiguration.js new file mode 100644 index 0000000000..06e354efee --- /dev/null +++ b/docs/html/classEnvironmentConfiguration.js @@ -0,0 +1,9 @@ +var classEnvironmentConfiguration = +[ + [ "EnvironmentConfiguration", "classEnvironmentConfiguration.html#a59f91ef802bd5f087c640819690aeee0", null ], + [ "height", "classEnvironmentConfiguration.html#ad12fc34ce789bce6c8a05d8a17138534", null ], + [ "qualityLevel", "classEnvironmentConfiguration.html#a6769bca3d7b4c1e3e32b774729afabd1", null ], + [ "targetFrameRate", "classEnvironmentConfiguration.html#ac63e74b2fef449402905cb50167aa622", null ], + [ "timeScale", "classEnvironmentConfiguration.html#ad921de4ff2f44d55940f0b2f3a86149d", null ], + [ "width", "classEnvironmentConfiguration.html#a2474a5474cbff19523a51eb1de01cda4", null ] +]; \ No newline at end of file diff --git a/docs/html/classMonitor-members.html b/docs/html/classMonitor-members.html new file mode 100644 index 0000000000..3c36bee17e --- /dev/null +++ b/docs/html/classMonitor-members.html @@ -0,0 +1,113 @@ + + + + + + + + +ML-Agents: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
ML-Agents +  v0.3 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Monitor Member List
+
+
+ +

This is the complete list of members for Monitor, including all inherited members.

+ + + + + + +
Log(string key, object value, MonitorType displayType=MonitorType.text, Transform target=null)Monitorstatic
RemoveAllValues(Transform target)Monitorstatic
RemoveValue(Transform target, string key)Monitorstatic
SetActive(bool active)Monitorstatic
verticalOffsetMonitorstatic
+
+ + + + + diff --git a/docs/html/classMonitor.html b/docs/html/classMonitor.html new file mode 100644 index 0000000000..131c949eda --- /dev/null +++ b/docs/html/classMonitor.html @@ -0,0 +1,344 @@ + + + + + + + + +ML-Agents: Monitor Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
ML-Agents +  v0.3 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

Monitor is used to display information about the Agent within the Unity scene. + More...

+ +

Inherits MonoBehaviour.

+ + + + + + + + + + + + + + +

+Static Public Member Functions

static void Log (string key, object value, MonitorType displayType=MonitorType.text, Transform target=null)
 Use the Monitor.Log static function to attach information to a transform. More...
 
static void RemoveValue (Transform target, string key)
 Remove a value from a monitor. More...
 
static void RemoveAllValues (Transform target)
 Remove all information from a monitor. More...
 
static void SetActive (bool active)
 Use SetActive to enable or disable the Monitor via script More...
 
+ + + + +

+Static Public Attributes

static float verticalOffset = 3f
 Represents how high above the target the monitors will be. More...
 
+

Detailed Description

+

Monitor is used to display information about the Agent within the Unity scene.

+

Use the log function to add information to your monitor.

+

Member Function Documentation

+ +

◆ Log()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void Log (string key,
object value,
MonitorType displayType = MonitorType.text,
Transform target = null 
)
+
+static
+
+ +

Use the Monitor.Log static function to attach information to a transform.

+

If displayType is <text>, value can be any object. If sidplayType is <slider>, value must be a float. If sidplayType is <hist>, value must be a List or Array of floats. If sidplayType is <bar>, value must be a list or Array of positive floats. Note that <slider> and <hist> caps values between -1 and 1.

+
Returns
The log.
+
Parameters
+ + + + + +
keyThe name of the information you wish to Log.
valueThe value you want to display.
displayTypeThe type of display.
targetThe transform you want to attach the information to.
+
+
+ +
+
+ +

◆ RemoveAllValues()

+ +
+
+ + + + + +
+ + + + + + + + +
static void RemoveAllValues (Transform target)
+
+static
+
+ +

Remove all information from a monitor.

+
Parameters
+ + +
targetThe transform to which the information is attached.
+
+
+ +
+
+ +

◆ RemoveValue()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void RemoveValue (Transform target,
string key 
)
+
+static
+
+ +

Remove a value from a monitor.

+
Parameters
+ + + +
targetThe transform to which the information is attached.
keyThe key of the information you want to remove.
+
+
+ +
+
+ +

◆ SetActive()

+ +
+
+ + + + + +
+ + + + + + + + +
static void SetActive (bool active)
+
+static
+
+ +

Use SetActive to enable or disable the Monitor via script

+
Parameters
+ + +
activeValue to set the Monitor's status to.
+
+
+ +
+
+

Member Data Documentation

+ +

◆ verticalOffset

+ +
+
+ + + + + +
+ + + + +
float verticalOffset = 3f
+
+static
+
+ +

Represents how high above the target the monitors will be.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + + diff --git a/docs/html/classMonitor.js b/docs/html/classMonitor.js new file mode 100644 index 0000000000..6ac9f5c8e1 --- /dev/null +++ b/docs/html/classMonitor.js @@ -0,0 +1,8 @@ +var classMonitor = +[ + [ "Log", "classMonitor.html#a2e9cd68151e0f2d2c08a010080ada4a6", null ], + [ "RemoveAllValues", "classMonitor.html#ae8d1d6ae07652adf07f09f462c69f4a8", null ], + [ "RemoveValue", "classMonitor.html#ac8888bc1e3ac394d6d01684d0bf2ee27", null ], + [ "SetActive", "classMonitor.html#ac9a87b218fd4c455053a8d5fb5ec6096", null ], + [ "verticalOffset", "classMonitor.html#aaf0067f61511f18c08ea89391bd4cccb", null ] +]; \ No newline at end of file diff --git a/docs/html/classes.html b/docs/html/classes.html new file mode 100644 index 0000000000..5213d90d41 --- /dev/null +++ b/docs/html/classes.html @@ -0,0 +1,124 @@ + + + + + + + + +ML-Agents: Class Index + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
ML-Agents +  v0.3 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Class Index
+
+
+
a | d | e | m
+ + + + + + + + + + + + +
  a  
+
  e  
+
Academy   EnvironmentConfiguration   
Agent   
  m  
+
AgentAction   
AgentInfo   Monitor   
AgentParameters   
  d  
+
Decision   
+
a | d | e | m
+
+
+ + + + + diff --git a/docs/html/closed.png b/docs/html/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..98cc2c909da37a6df914fbf67780eebd99c597f5 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{V-kvUwAr*{o@8{^CZMh(5KoB^r_<4^zF@3)Cp&&t3hdujKf f*?bjBoY!V+E))@{xMcbjXe@)LtDnm{r-UW|*e5JT literal 0 HcmV?d00001 diff --git a/docs/html/dir_8e3ee7c563cfd76ab73fa6d2b0b4bf82.html b/docs/html/dir_8e3ee7c563cfd76ab73fa6d2b0b4bf82.html new file mode 100644 index 0000000000..63ef60083c --- /dev/null +++ b/docs/html/dir_8e3ee7c563cfd76ab73fa6d2b0b4bf82.html @@ -0,0 +1,118 @@ + + + + + + + + +ML-Agents: Scripts Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
ML-Agents +  v0.3 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Scripts Directory Reference
+
+
+ + + + + + + + + + +

+Files

file  Academy.cs
 
file  Agent.cs
 
file  Decision.cs
 
file  Monitor.cs
 
+
+
+ + + + + diff --git a/docs/html/dir_9e08e342c98e8c75a023f201773b55cc.html b/docs/html/dir_9e08e342c98e8c75a023f201773b55cc.html new file mode 100644 index 0000000000..e7b328d40b --- /dev/null +++ b/docs/html/dir_9e08e342c98e8c75a023f201773b55cc.html @@ -0,0 +1,112 @@ + + + + + + + + +ML-Agents: unity-environment Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
ML-Agents +  v0.3 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
unity-environment Directory Reference
+
+
+ + + + +

+Directories

directory  Assets
 
+
+
+ + + + + diff --git a/docs/html/dir_9e5f09d06b09d6d0595ae4f95bbd32cf.html b/docs/html/dir_9e5f09d06b09d6d0595ae4f95bbd32cf.html new file mode 100644 index 0000000000..163ab0bd12 --- /dev/null +++ b/docs/html/dir_9e5f09d06b09d6d0595ae4f95bbd32cf.html @@ -0,0 +1,112 @@ + + + + + + + + +ML-Agents: Assets Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
ML-Agents +  v0.3 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Assets Directory Reference
+
+
+ + + + +

+Directories

directory  ML-Agents
 
+
+
+ + + + + diff --git a/docs/html/dir_b9aa27b295bc425ceb05fbd0ed2def0d.html b/docs/html/dir_b9aa27b295bc425ceb05fbd0ed2def0d.html new file mode 100644 index 0000000000..56cf965214 --- /dev/null +++ b/docs/html/dir_b9aa27b295bc425ceb05fbd0ed2def0d.html @@ -0,0 +1,112 @@ + + + + + + + + +ML-Agents: ML-Agents Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
ML-Agents +  v0.3 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ML-Agents Directory Reference
+
+
+ + + + +

+Directories

directory  Scripts
 
+
+
+ + + + + diff --git a/docs/html/doc.png b/docs/html/doc.png new file mode 100644 index 0000000000000000000000000000000000000000..17edabff95f7b8da13c9516a04efe05493c29501 GIT binary patch literal 746 zcmV7=@pnbNXRFEm&G8P!&WHG=d)>K?YZ1bzou)2{$)) zumDct!>4SyxL;zgaG>wy`^Hv*+}0kUfCrz~BCOViSb$_*&;{TGGn2^x9K*!Sf0=lV zpP=7O;GA0*Jm*tTYj$IoXvimpnV4S1Z5f$p*f$Db2iq2zrVGQUz~yq`ahn7ck(|CE z7Gz;%OP~J6)tEZWDzjhL9h2hdfoU2)Nd%T<5Kt;Y0XLt&<@6pQx!nw*5`@bq#?l*?3z{Hlzoc=Pr>oB5(9i6~_&-}A(4{Q$>c>%rV&E|a(r&;?i5cQB=} zYSDU5nXG)NS4HEs0it2AHe2>shCyr7`6@4*6{r@8fXRbTA?=IFVWAQJL&H5H{)DpM#{W(GL+Idzf^)uRV@oB8u$ z8v{MfJbTiiRg4bza<41NAzrl{=3fl_D+$t+^!xlQ8S}{UtY`e z;;&9UhyZqQRN%2pot{*Ei0*4~hSF_3AH2@fKU!$NSflS>{@tZpDT4`M2WRTTVH+D? z)GFlEGGHe?koB}i|1w45!BF}N_q&^HJ&-tyR{(afC6H7|aml|tBBbv}55C5DNP8p3 z)~jLEO4Z&2hZmP^i-e%(@d!(E|KRafiU8Q5u(wU((j8un3OR*Hvj+t literal 0 HcmV?d00001 diff --git a/docs/html/doxygen.png b/docs/html/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..3ff17d807fd8aa003bed8bb2a69e8f0909592fd1 GIT binary patch literal 3779 zcmV;!4m|ORP)tMIv#Q0*~7*`IBSO7_x;@a8#Zk6_PeKR_s92J&)(m+);m9Iz3blw)z#Gi zP!9lj4$%+*>Hz@HCmM9L9|8c+0u=!H$O3?R0Kgx|#WP<6fKfC8fM-CQZT|_r@`>VO zX^Hgb|9cJqpdJA5$MCEK`F_2@2Y@s>^+;pF`~jdI0Pvr|vl4`=C)EH@1IFe7pdJ8F zH(qGi004~QnF)Ggga~8v08kGAs2hKTATxr7pwfNk|4#_AaT>w8P6TV+R2kbS$v==} zAjf`s0g#V8lB+b3)5oEI*q+{Yt$MZDruD2^;$+(_%Qn+%v0X-bJO=;@kiJ^ygLBnC z?1OVv_%aex1M@jKU|Z~$eI?PoF4Vj>fDzyo zAiLfpXY*a^Sj-S5D0S3@#V$sRW)g)_1e#$%8xdM>Jm7?!h zu0P2X=xoN>^!4DoPRgph2(2va07yfpXF+WH7EOg1GY%Zn z7~1A<(z7Q$ktEXhW_?GMpHp9l_UL18F3KOsxu81pqoBiNbFSGsof-W z6~eloMoz=4?OOnl2J268x5rOY`dCk0us(uS#Ud4yqOr@?=Q57a}tit|BhY>}~frH1sP`ScHS_d)oqH^lYy zZ%VP`#10MlE~P?cE(%(#(AUSv_T{+;t@$U}El}(1ig`vZo`Rm;+5&(AYzJ^Ae=h2X z@Re%vHwZU>|f0NI&%$*4eJweC5OROQrpPMA@*w|o z()A==l}(@bv^&>H1Ob3C=<^|hob?0+xJ?QQ3-ueQC}zy&JQNib!OqSO@-=>XzxlSF zAZ^U*1l6EEmg3r};_HY>&Jo_{dOPEFTWPmt=U&F#+0(O59^UIlHbNX+eF8UzyDR*T z(=5X$VF3!gm@RooS-&iiUYGG^`hMR(07zr_xP`d!^BH?uD>Phl8Rdifx3Af^Zr`Ku ztL+~HkVeL#bJ)7;`=>;{KNRvjmc}1}c58Sr#Treq=4{xo!ATy|c>iRSp4`dzMMVd@ zL8?uwXDY}Wqgh4mH`|$BTXpUIu6A1-cSq%hJw;@^Zr8TP=GMh*p(m(tN7@!^D~sl$ zz^tf4II4|};+irE$Fnm4NTc5%p{PRA`%}Zk`CE5?#h3|xcyQsS#iONZ z6H(@^i9td!$z~bZiJLTax$o>r(p}3o@< zyD7%(>ZYvy=6$U3e!F{Z`uSaYy`xQyl?b{}eg|G3&fz*`QH@mDUn)1%#5u`0m$%D} z?;tZ0u(mWeMV0QtzjgN!lT*pNRj;6510Wwx?Yi_=tYw|J#7@(Xe7ifDzXuK;JB;QO z#bg~K$cgm$@{QiL_3yr}y&~wuv=P=#O&Tj=Sr)aCUlYmZMcw?)T?c%0rUe1cS+o!qs_ zQ6Gp)-{)V!;=q}llyK3|^WeLKyjf%y;xHku;9(vM!j|~<7w1c*Mk-;P{T&yG) z@C-8E?QPynNQ<8f01D`2qexcVEIOU?y}MG)TAE6&VT5`rK8s(4PE;uQ92LTXUQ<>^ ztyQ@=@kRdh@ebUG^Z6NWWIL;_IGJ2ST>$t!$m$qvtj0Qmw8moN6GUV^!QKNK zHBXCtUH8)RY9++gH_TUV4^=-j$t}dD3qsN7GclJ^Zc&(j6&a_!$jCf}%c5ey`pm~1)@{yI3 zTdWyB+*X{JFw#z;PwRr5evb2!ueWF;v`B0HoUu4-(~aL=z;OXUUEtG`_$)Oxw6FKg zEzY`CyKaSBK3xt#8gA|r_|Kehn_HYVBMpEwbn9-fI*!u*eTA1ef8Mkl1=!jV4oYwWYM}i`A>_F4nhmlCIC6WLa zY%;4&@AlnaG11ejl61Jev21|r*m+?Kru3;1tFDl}#!OzUp6c>go4{C|^erwpG*&h6bspUPJag}oOkN2912Y3I?(eRc@U9>z#HPBHC?nps7H5!zP``90!Q1n80jo+B3TWXp!8Pe zwuKuLLI6l3Gv@+QH*Y}2wPLPQ1^EZhT#+Ed8q8Wo z1pTmIBxv14-{l&QVKxAyQF#8Q@NeJwWdKk>?cpiJLkJr+aZ!Me+Cfp!?FWSRf^j2k z73BRR{WSKaMkJ>1Nbx5dan5hg^_}O{Tj6u%iV%#QGz0Q@j{R^Ik)Z*+(YvY2ziBG)?AmJa|JV%4UT$k`hcOg5r9R?5>?o~JzK zJCrj&{i#hG>N7!B4kNX(%igb%kDj0fOQThC-8mtfap82PNRXr1D>lbgg)dYTQ(kbx z`Ee5kXG~Bh+BHQBf|kJEy6(ga%WfhvdQNDuOfQoe377l#ht&DrMGeIsI5C<&ai zWG$|hop2@@q5YDa)_-A?B02W;#fH!%k`daQLEItaJJ8Yf1L%8x;kg?)k)00P-lH+w z)5$QNV6r2$YtnV(4o=0^3{kmaXn*Dm0F*fU(@o)yVVjk|ln8ea6BMy%vZAhW9|wvA z8RoDkVoMEz1d>|5(k0Nw>22ZT){V<3$^C-cN+|~hKt2)){+l-?3m@-$c?-dlzQ)q- zZ)j%n^gerV{|+t}9m1_&&Ly!9$rtG4XX|WQ8`xYzGC~U@nYh~g(z9)bdAl#xH)xd5a=@|qql z|FzEil{P5(@gy!4ek05i$>`E^G~{;pnf6ftpLh$h#W?^#4UkPfa;;?bsIe&kz!+40 zI|6`F2n020)-r`pFaZ38F!S-lJM-o&inOw|66=GMeP@xQU5ghQH{~5Uh~TMTd;I9` z>YhVB`e^EVj*S7JF39ZgNf}A-0DwOcTT63ydN$I3b?yBQtUI*_fae~kPvzoD$zjX3 zoqBe#>12im4WzZ=f^4+u=!lA|#r%1`WB0-6*3BL#at`47#ebPpR|D1b)3BjT34nYY z%Ds%d?5$|{LgOIaRO{{oC&RK`O91$fqwM0(C_TALcozu*fWHb%%q&p-q{_8*2Zsi^ zh1ZCnr^UYa;4vQEtHk{~zi>wwMC5o{S=$P0X681y`SXwFH?Ewn{x-MOZynmc)JT5v zuHLwh;tLfxRrr%|k370}GofLl7thg>ACWWY&msqaVu&ry+`7+Ss>NL^%T1|z{IGMA zW-SKl=V-^{(f!Kf^#3(|T2W47d(%JVCI4JgRrT1pNz>+ietmFToNv^`gzC@&O-)+i zPQ~RwK8%C_vf%;%e>NyTp~dM5;!C|N0Q^6|CEb7Bw=Vz~$1#FA;Z*?mKSC)Hl-20s t8QyHj(g6VK0RYbl8UjE)0O0w=e*@m04r>stuEhWV002ovPDHLkV1hl;dM*F} literal 0 HcmV?d00001 diff --git a/docs/html/doxygenbase.css b/docs/html/doxygenbase.css new file mode 100644 index 0000000000..5cabd87318 --- /dev/null +++ b/docs/html/doxygenbase.css @@ -0,0 +1,1600 @@ +/* The standard CSS for doxygen 1.8.14 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +p.reference, p.definition { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #ffffff; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 0px; + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #e6e6e6; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #e6e6e6; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #e6e6e6; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #e6e6e6; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #e6e6e6; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #e6e6e6; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + display: none; + padding: 8px 0px 8px 8px; + border-top: 1px solid #e6e6e6; + border-left: 1px solid #e6e6e6; + border-right: 1px solid #e6e6e6; + /* border-top-right-radius: 4px; + border-top-left-radius: 4px; */ + margin-bottom: -1px; + /* background-image: url('nav_f.png'); */ + background-repeat: repeat-x; + background-color: #E2E8F2; + line-height: 1.25; + font-weight: 300; + /* float:left; */ + /* added */ + width: 100%; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #e6e6e6; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + font-weight: 900; + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #e6e6e6; + border-left: 1px solid #e6e6e6; + border-right: 1px solid #e6e6e6; + border-bottom: 1px dotted #e6e6e6; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + //text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #f8f8f8; + /* opera specific markup */ + //box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + //border-top-right-radius: 4px; + /* firefox specific markup */ + //-moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + //-moz-border-radius-topright: 4px; + /* webkit specific markup */ + //-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + //-webkit-border-top-right-radius: 4px; + +} + +.overload { + font-family: "courier new",courier,monospace; + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #e6e6e6; + border-left: 1px solid #e6e6e6; + border-right: 1px solid #e6e6e6; + padding: 6px 10px 2px 10px; + border-top-width: 0; + //background-image:url('nav_g.png'); + //background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + //border-bottom-left-radius: 4px; + //border-bottom-right-radius: 4px; + //box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + //-moz-border-radius-bottomleft: 4px; + //-moz-border-radius-bottomright: 4px; + // -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + //-webkit-border-bottom-left-radius: 4px; + //-webkit-border-bottom-right-radius: 4px; + // -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #e6e6e6; + border-left:1px solid #e6e6e6; + border-right:1px solid #e6e6e6; + border-bottom:1px solid #e6e6e6; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #e6e6e6; + border-bottom: 1px solid #e6e6e6; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +.arrow { + color: #9CAFD4; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #728DC1; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #e6e6e6; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #e6e6e6; + border-bottom: 1px solid #e6e6e6; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #e6e6e6; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #e6e6e6; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #e6e6e6; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #e6e6e6; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #e6e6e6; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +/* +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTableHead tr { +} + +table.markdownTableBodyLeft td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft { + text-align: left +} + +th.markdownTableHeadRight { + text-align: right +} + +th.markdownTableHeadCenter { + text-align: center +} +*/ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + + +/* @end */ diff --git a/docs/html/dynsections.js b/docs/html/dynsections.js new file mode 100644 index 0000000000..c1ce12260c --- /dev/null +++ b/docs/html/dynsections.js @@ -0,0 +1,120 @@ +/* + @licstart The following is the entire license notice for the + JavaScript code in this file. + + Copyright (C) 1997-2017 by Dimitri van Heesch + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + @licend The above is the entire license notice + for the JavaScript code in this file + */ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + + + +ML-Agents: File List + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
ML-Agents +  v0.3 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all files with brief descriptions:
+
+
+ + + + + diff --git a/docs/html/files_dup.js b/docs/html/files_dup.js new file mode 100644 index 0000000000..c713106d8a --- /dev/null +++ b/docs/html/files_dup.js @@ -0,0 +1,39 @@ +var files_dup = +[ + [ "Academy.cs", "Academy_8cs.html", [ + [ "EnvironmentConfiguration", "classEnvironmentConfiguration.html", "classEnvironmentConfiguration" ], + [ "Academy", "classAcademy.html", "classAcademy" ] + ] ], + [ "Agent.cs", "Agent_8cs.html", [ + [ "AgentInfo", "Agent_8cs.html#structAgentInfo", [ + [ "done", "Agent_8cs.html#a1d39aac66e12dae50a24cd7a9100ef33", null ], + [ "id", "Agent_8cs.html#a7441ef0865bcb3db9b8064dd7375c1ea", null ], + [ "maxStepReached", "Agent_8cs.html#a5b90735e18b8f5df83c465f78733f63d", null ], + [ "memories", "Agent_8cs.html#a2ef761809d305d84678380bbd1ae4cc9", null ], + [ "reward", "Agent_8cs.html#ab18e03604d8452d6d86f55873e19732a", null ], + [ "stackedVectorObservation", "Agent_8cs.html#a308a4987ac541acbd58a9cc9c96b1ace", null ], + [ "storedTextActions", "Agent_8cs.html#a16d35fb78652a70b50a8d9355da8cadd", null ], + [ "storedVectorActions", "Agent_8cs.html#ae5414923dbbbd2a39ab4e94d3061bbac", null ], + [ "textObservation", "Agent_8cs.html#ada2ee0fb0667ff7a98fa6e76734c0e1d", null ], + [ "vectorObservation", "Agent_8cs.html#a35913fa60b0dd9d9a2fff5e9ea816181", null ], + [ "visualObservations", "Agent_8cs.html#a3e2c1c7c1fe14981c3bab872f999953d", null ] + ] ], + [ "AgentAction", "Agent_8cs.html#structAgentAction", [ + [ "memories", "Agent_8cs.html#a2ef761809d305d84678380bbd1ae4cc9", null ], + [ "textActions", "Agent_8cs.html#af3a8b157b1eb809e256f68314db6e1bd", null ], + [ "vectorActions", "Agent_8cs.html#a56a7fa0379094a56a4158ac50dd31dd1", null ] + ] ], + [ "AgentParameters", "Agent_8cs.html#classAgentParameters", [ + [ "agentCameras", "Agent_8cs.html#a1e23676a7014ca3a552c39e9cfc1fb27", null ], + [ "maxStep", "Agent_8cs.html#a68defcf610c5210aa9a2b73fb4de6fbe", null ], + [ "numberOfActionsBetweenDecisions", "Agent_8cs.html#af84a8178eb8593c986c511a57b76305e", null ], + [ "onDemandDecision", "Agent_8cs.html#adc9588e03d6582f35d1501d7f6c64e5a", null ], + [ "resetOnDone", "Agent_8cs.html#a1e06d6fe173ee1f37c3b7a9af8050195", null ] + ] ], + [ "Agent", "classAgent.html", "classAgent" ] + ] ], + [ "Decision.cs", "Decision_8cs.html", [ + [ "Decision", "interfaceDecision.html", "interfaceDecision" ] + ] ], + [ "Monitor.cs", "Monitor_8cs.html", "Monitor_8cs" ] +]; \ No newline at end of file diff --git a/docs/html/folderclosed.png b/docs/html/folderclosed.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8ab35edce8e97554e360005ee9fc5bffb36e66 GIT binary patch literal 616 zcmV-u0+;=XP)a9#ETzayK)T~Jw&MMH>OIr#&;dC}is*2Mqdf&akCc=O@`qC+4i z5Iu3w#1M@KqXCz8TIZd1wli&kkl2HVcAiZ8PUn5z_kG@-y;?yK06=cA0U%H0PH+kU zl6dp}OR(|r8-RG+YLu`zbI}5TlOU6ToR41{9=uz^?dGTNL;wIMf|V3`d1Wj3y!#6` zBLZ?xpKR~^2x}?~zA(_NUu3IaDB$tKma*XUdOZN~c=dLt_h_k!dbxm_*ibDM zlFX`g{k$X}yIe%$N)cn1LNu=q9_CS)*>A zsX_mM4L@`(cSNQKMFc$RtYbx{79#j-J7hk*>*+ZZhM4Hw?I?rsXCi#mRWJ=-0LGV5a-WR0Qgt<|Nqf)C-@80`5gIz45^_20000IqP)X=#(TiCT&PiIIVc55T}TU}EUh*{q$|`3@{d>{Tc9Bo>e= zfmF3!f>fbI9#GoEHh0f`i5)wkLpva0ztf%HpZneK?w-7AK@b4Itw{y|Zd3k!fH?q2 zlhckHd_V2M_X7+)U&_Xcfvtw60l;--DgZmLSw-Y?S>)zIqMyJ1#FwLU*%bl38ok+! zh78H87n`ZTS;uhzAR$M`zZ`bVhq=+%u9^$5jDplgxd44}9;IRqUH1YHH|@6oFe%z( zo4)_>E$F&^P-f(#)>(TrnbE>Pefs9~@iN=|)Rz|V`sGfHNrJ)0gJb8xx+SBmRf@1l zvuzt=vGfI)<-F9!o&3l?>9~0QbUDT(wFdnQPv%xdD)m*g%!20>Bc9iYmGAp<9YAa( z0QgYgTWqf1qN++Gqp z8@AYPTB3E|6s=WLG?xw0tm|U!o=&zd+H0oRYE;Dbx+Na9s^STqX|Gnq%H8s(nGDGJ j8vwW|`Ts`)fSK|Kx=IK@RG@g200000NkvXXu0mjfauFEA literal 0 HcmV?d00001 diff --git a/docs/html/functions.html b/docs/html/functions.html new file mode 100644 index 0000000000..7acacd1856 --- /dev/null +++ b/docs/html/functions.html @@ -0,0 +1,394 @@ + + + + + + + + +ML-Agents: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
ML-Agents +  v0.3 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- a -

+ + +

- b -

+ + +

- c -

    +
  • CollectObservations() +: Agent +
  • +
+ + +

- d -

+ + +

- e -

+ + +

- g -

+ + +

- h -

+ + +

- i -

+ + +

- l -

+ + +

- m -

+ + +

- n -

+ + +

- o -

+ + +

- q -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- u -

    +
  • UpdateMemoriesAction() +: Agent +
  • +
  • UpdateTextAction() +: Agent +
  • +
  • UpdateVectorAction() +: Agent +
  • +
+ + +

- v -

+ + +

- w -

+
+
+ + + + + diff --git a/docs/html/functions_evnt.html b/docs/html/functions_evnt.html new file mode 100644 index 0000000000..e0b0fc8a48 --- /dev/null +++ b/docs/html/functions_evnt.html @@ -0,0 +1,121 @@ + + + + + + + + +ML-Agents: Class Members - Events + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
ML-Agents +  v0.3 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + + diff --git a/docs/html/functions_func.html b/docs/html/functions_func.html new file mode 100644 index 0000000000..70b7881eb6 --- /dev/null +++ b/docs/html/functions_func.html @@ -0,0 +1,266 @@ + + + + + + + + +ML-Agents: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
ML-Agents +  v0.3 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- a -

+ + +

- c -

    +
  • CollectObservations() +: Agent +
  • +
+ + +

- d -

+ + +

- e -

+ + +

- g -

+ + +

- i -

+ + +

- l -

+ + +

- m -

+ + +

- o -

    +
  • ObservationToTexture() +: Agent +
  • +
+ + +

- r -

    +
  • RemoveAllValues() +: Monitor +
  • +
  • RemoveValue() +: Monitor +
  • +
  • RequestAction() +: Agent +
  • +
  • RequestDecision() +: Agent +
  • +
  • ResetReward() +: Agent +
  • +
+ + +

- s -

+ + +

- u -

    +
  • UpdateMemoriesAction() +: Agent +
  • +
  • UpdateTextAction() +: Agent +
  • +
  • UpdateVectorAction() +: Agent +
  • +
+
+
+ + + + + diff --git a/docs/html/functions_vars.html b/docs/html/functions_vars.html new file mode 100644 index 0000000000..d1a043788b --- /dev/null +++ b/docs/html/functions_vars.html @@ -0,0 +1,185 @@ + + + + + + + + +ML-Agents: Class Members - Variables + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
ML-Agents +  v0.3 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + + diff --git a/docs/html/globals.html b/docs/html/globals.html new file mode 100644 index 0000000000..2cea5a480d --- /dev/null +++ b/docs/html/globals.html @@ -0,0 +1,106 @@ + + + + + + + + +ML-Agents: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
ML-Agents +  v0.3 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all file members with links to the files they belong to:
+
+
+ + + + + diff --git a/docs/html/globals_enum.html b/docs/html/globals_enum.html new file mode 100644 index 0000000000..4c3e3fce28 --- /dev/null +++ b/docs/html/globals_enum.html @@ -0,0 +1,106 @@ + + + + + + + + +ML-Agents: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
ML-Agents +  v0.3 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + + diff --git a/docs/html/hierarchy.html b/docs/html/hierarchy.html new file mode 100644 index 0000000000..fea8fd359a --- /dev/null +++ b/docs/html/hierarchy.html @@ -0,0 +1,118 @@ + + + + + + + + +ML-Agents: Class Hierarchy + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
ML-Agents +  v0.3 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Class Hierarchy
+
+
+
This inheritance list is sorted roughly, but not completely, alphabetically:
+
[detail level 12]
+ + + + + + + + + +
 CAgentActionStruct that contains the action information sent from the Brain to the Agent
 CAgentInfoStruct that contains all the information for an Agent, including its observations, actions and current status, that is sent to the Brain
 CAgentParametersStruct that contains all the Agent-specific parameters provided in the Editor
 CDecisionInterface for implementing the behavior of an Agent that uses a Heuristic Brain
 CEnvironmentConfigurationWelcome to Unity Machine Learning Agents (ML-Agents)
 CMonoBehaviour
 CAcademyAn Academy is where Agent objects go to train their behaviors
 CAgentAgent Monobehavior class that is attached to a Unity GameObject, making it an Agent
 CMonitorMonitor is used to display information about the Agent within the Unity scene
+
+
+
+ + + + + diff --git a/docs/html/hierarchy.js b/docs/html/hierarchy.js new file mode 100644 index 0000000000..39c5c26682 --- /dev/null +++ b/docs/html/hierarchy.js @@ -0,0 +1,13 @@ +var hierarchy = +[ + [ "AgentAction", "Agent_8cs.html#structAgentAction", null ], + [ "AgentInfo", "Agent_8cs.html#structAgentInfo", null ], + [ "AgentParameters", "Agent_8cs.html#classAgentParameters", null ], + [ "Decision", "interfaceDecision.html", null ], + [ "EnvironmentConfiguration", "classEnvironmentConfiguration.html", null ], + [ "MonoBehaviour", null, [ + [ "Academy", "classAcademy.html", null ], + [ "Agent", "classAgent.html", null ], + [ "Monitor", "classMonitor.html", null ] + ] ] +]; \ No newline at end of file diff --git a/docs/html/index.html b/docs/html/index.html new file mode 100644 index 0000000000..600ef61fde --- /dev/null +++ b/docs/html/index.html @@ -0,0 +1,105 @@ + + + + + + + + +ML-Agents: Main Page + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
ML-Agents +  v0.3 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ML-Agents Documentation
+
+
+
+
+ + + + + diff --git a/docs/html/interfaceDecision-members.html b/docs/html/interfaceDecision-members.html new file mode 100644 index 0000000000..0e40be0d96 --- /dev/null +++ b/docs/html/interfaceDecision-members.html @@ -0,0 +1,110 @@ + + + + + + + + +ML-Agents: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
ML-Agents +  v0.3 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Decision Member List
+
+
+ +

This is the complete list of members for Decision, including all inherited members.

+ + + +
Decide(List< float > vectorObs, List< Texture2D > visualObs, float reward, bool done, List< float > memory)Decision
MakeMemory(List< float > vectorObs, List< Texture2D > visualObs, float reward, bool done, List< float > memory)Decision
+
+ + + + + diff --git a/docs/html/interfaceDecision.html b/docs/html/interfaceDecision.html new file mode 100644 index 0000000000..1b1b2eef32 --- /dev/null +++ b/docs/html/interfaceDecision.html @@ -0,0 +1,248 @@ + + + + + + + + +ML-Agents: Decision Interface Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
ML-Agents +  v0.3 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Decision Interface Reference
+
+
+ +

Interface for implementing the behavior of an Agent that uses a Heuristic Brain. + More...

+ + + + + + + + +

+Public Member Functions

float [] Decide (List< float > vectorObs, List< Texture2D > visualObs, float reward, bool done, List< float > memory)
 Defines the decision-making logic of the agent. More...
 
List< float > MakeMemory (List< float > vectorObs, List< Texture2D > visualObs, float reward, bool done, List< float > memory)
 Defines the logic for creating the memory vector for the Agent. More...
 
+

Detailed Description

+

Interface for implementing the behavior of an Agent that uses a Heuristic Brain.

+

The behavior of an Agent in this case is fully decided using the implementation of these methods and no training or inference takes place. Currently, the Heuristic Brain does not support text observations and actions.

+

Member Function Documentation

+ +

◆ Decide()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
float [] Decide (List< float > vectorObs,
List< Texture2D > visualObs,
float reward,
bool done,
List< float > memory 
)
+
+ +

Defines the decision-making logic of the agent.

+

Given the information about the agent, returns a vector of actions.

+
Returns
Vector action vector.
+
Parameters
+ + + + + + +
vectorObsThe vector observations of the agent.
visualObsThe cameras the agent uses for visual observations.
rewardThe reward the agent received at the previous step.
doneWhether or not the agent is done.
memoryThe memories stored from the previous step with MakeMemory(List<float>, List<Texture2D>, float, bool, List<float>)
+
+
+ +
+
+ +

◆ MakeMemory()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
List<float> MakeMemory (List< float > vectorObs,
List< Texture2D > visualObs,
float reward,
bool done,
List< float > memory 
)
+
+ +

Defines the logic for creating the memory vector for the Agent.

+
Returns
The vector of memories the agent will use at the next step.
+
Parameters
+ + + + + + +
vectorObsThe vector observations of the agent.
visualObsThe cameras the agent uses for visual observations.
rewardThe reward the agent received at the previous step.
doneWhether or not the agent is done.
memoryThe memories stored from the previous call to this method.
+
+
+ +
+
+
The documentation for this interface was generated from the following file: +
+
+ + + + + diff --git a/docs/html/interfaceDecision.js b/docs/html/interfaceDecision.js new file mode 100644 index 0000000000..20805d5844 --- /dev/null +++ b/docs/html/interfaceDecision.js @@ -0,0 +1,5 @@ +var interfaceDecision = +[ + [ "Decide", "interfaceDecision.html#abb85e0755e26da5dd575b6ae92caa11d", null ], + [ "MakeMemory", "interfaceDecision.html#aab04da17017eb9206dfec50039843432", null ] +]; \ No newline at end of file diff --git a/docs/html/jquery.js b/docs/html/jquery.js new file mode 100644 index 0000000000..2771c749a4 --- /dev/null +++ b/docs/html/jquery.js @@ -0,0 +1,115 @@ +/* + @licstart The following is the entire license notice for the + JavaScript code in this file. + + Copyright (C) 1997-2017 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice + for the JavaScript code in this file + */ +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*! + * jQuery UI 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI + */ +(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*! + * jQuery UI Widget 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Widget + */ +(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*! + * jQuery UI Mouse 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Mouse + * + * Depends: + * jquery.ui.widget.js + */ +(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g
');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(hl.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*! + * jQuery hashchange event - v1.3 - 7/21/2010 + * http://benalman.com/projects/jquery-hashchange-plugin/ + * + * Copyright (c) 2010 "Cowboy" Ben Alman + * Dual licensed under the MIT and GPL licenses. + * http://benalman.com/about/license/ + */ +(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$(' - - -
- -
-
Academy.cs File Reference
-
-
-
- - - - - - - -

-Classes

class  EnvironmentConfiguration
 Welcome to Unity Machine Learning Agents (ML-Agents). More...
 
class  Academy
 An Academy is where Agent objects go to train their behaviors. More...
 
- - - - - - - diff --git a/docs/html/Agent_8cs.html b/docs/html/Agent_8cs.html deleted file mode 100644 index 55730c9d37..0000000000 --- a/docs/html/Agent_8cs.html +++ /dev/null @@ -1,301 +0,0 @@ - - - - - - - - -ML-Agents: Agent.cs File Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
ML-Agents -  v0.3 -
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
Agent.cs File Reference
-
-
- - - - - - - - - - - - - - -

-Classes

struct  AgentInfo
 Struct that contains all the information for an Agent, including its observations, actions and current status, that is sent to the Brain. More...
 
struct  AgentAction
 Struct that contains the action information sent from the Brain to the Agent. More...
 
class  AgentParameters
 Struct that contains all the Agent-specific parameters provided in the Editor. More...
 
class  Agent
 Agent Monobehavior class that is attached to a Unity GameObject, making it an Agent. More...
 
-

Class Documentation

- -

◆ AgentInfo

- -
-
- - - - -
struct AgentInfo
-
-

Struct that contains all the information for an Agent, including its observations, actions and current status, that is sent to the Brain.

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Class Members
-bool -done -Whether the agent is done or not.
-int -id -Unique identifier each agent receives at initialization.

It is used to separate between different agents in the environment.

-
-bool -maxStepReached -Whether the agent has reached its max step count for this episode.
-List< float > -memories -Used by the Trainer to store information about the agent.

This data structure is not consumed or modified by the agent directly, they are just the owners of their trainier's memory. Currently, however, the size of the memory is in the Brain properties.

-
-float -reward -Current agent reward.
-List< float > -stackedVectorObservation -The previous agent vector observations, stacked.

The length of the history (i.e. number of vector observations to stack) is specified in the Brain parameters.

-
-string -storedTextActions -Keeps track of the last text action taken by the Brain.
-float [] -storedVectorActions -Keeps track of the last vector action taken by the Brain.
-string -textObservation -Most recent text observation.
-List< float > -vectorObservation -Most recent agent vector (i.e.

numeric) observation.

-
-List< Texture2D > -visualObservations -Most recent agent camera (i.e.

texture) observation.

-
- -
-
- -

◆ AgentAction

- -
-
- - - - -
struct AgentAction
-
-

Struct that contains the action information sent from the Brain to the Agent.

-
- - - - - - - - - - -
Class Members
-List< float > -memories -
-string -textActions -
-float [] -vectorActions -
- -
-
- -

◆ AgentParameters

- -
-
- - - - -
class AgentParameters
-
-

Struct that contains all the Agent-specific parameters provided in the Editor.

-

This excludes the Brain linked to the Agent since it can be modified programmatically.

-
- - - - - - - - - - - - - - - - -
Class Members
-List< Camera > -agentCameras -The list of the Camera GameObjects the agent uses for visual observations.
-int -maxStep -The maximum number of steps the agent takes before being done.

If set to 0, the agent can only be set to done programmatically (or when the Academy is done). If set to any positive integer, the agent will be set to done after that many steps. Note that setting the max step to a value greater than the academy max step value renders it useless.

-
-int -numberOfActionsBetweenDecisions -Number of actions between decisions (used when On Demand Decision Making is turned off).
-bool -onDemandDecision -Whether to enable On Demand Decision Making or make a decision at every step.
-bool -resetOnDone -Determines the behaviour of the agent when done.

If true, the agent will reset when done and start a new episode. Otherwise, the agent will remain done and its behavior will be dictated by the AgentOnDone method.

-
- -
-
-
-
- - - - - diff --git a/docs/html/Agent_8cs_classAgentParameters.js b/docs/html/Agent_8cs_classAgentParameters.js deleted file mode 100644 index 7f658c7c3c..0000000000 --- a/docs/html/Agent_8cs_classAgentParameters.js +++ /dev/null @@ -1,8 +0,0 @@ -var Agent_8cs_classAgentParameters = -[ - [ "agentCameras", "Agent_8cs.html#a1e23676a7014ca3a552c39e9cfc1fb27", null ], - [ "maxStep", "Agent_8cs.html#a68defcf610c5210aa9a2b73fb4de6fbe", null ], - [ "numberOfActionsBetweenDecisions", "Agent_8cs.html#af84a8178eb8593c986c511a57b76305e", null ], - [ "onDemandDecision", "Agent_8cs.html#adc9588e03d6582f35d1501d7f6c64e5a", null ], - [ "resetOnDone", "Agent_8cs.html#a1e06d6fe173ee1f37c3b7a9af8050195", null ] -]; \ No newline at end of file diff --git a/docs/html/Agent_8cs_structAgentAction.js b/docs/html/Agent_8cs_structAgentAction.js deleted file mode 100644 index ed5d2d001e..0000000000 --- a/docs/html/Agent_8cs_structAgentAction.js +++ /dev/null @@ -1,6 +0,0 @@ -var Agent_8cs_structAgentAction = -[ - [ "memories", "Agent_8cs.html#a2ef761809d305d84678380bbd1ae4cc9", null ], - [ "textActions", "Agent_8cs.html#af3a8b157b1eb809e256f68314db6e1bd", null ], - [ "vectorActions", "Agent_8cs.html#a56a7fa0379094a56a4158ac50dd31dd1", null ] -]; \ No newline at end of file diff --git a/docs/html/Agent_8cs_structAgentInfo.js b/docs/html/Agent_8cs_structAgentInfo.js deleted file mode 100644 index a2ed6bcaa3..0000000000 --- a/docs/html/Agent_8cs_structAgentInfo.js +++ /dev/null @@ -1,14 +0,0 @@ -var Agent_8cs_structAgentInfo = -[ - [ "done", "Agent_8cs.html#a1d39aac66e12dae50a24cd7a9100ef33", null ], - [ "id", "Agent_8cs.html#a7441ef0865bcb3db9b8064dd7375c1ea", null ], - [ "maxStepReached", "Agent_8cs.html#a5b90735e18b8f5df83c465f78733f63d", null ], - [ "memories", "Agent_8cs.html#a2ef761809d305d84678380bbd1ae4cc9", null ], - [ "reward", "Agent_8cs.html#ab18e03604d8452d6d86f55873e19732a", null ], - [ "stackedVectorObservation", "Agent_8cs.html#a308a4987ac541acbd58a9cc9c96b1ace", null ], - [ "storedTextActions", "Agent_8cs.html#a16d35fb78652a70b50a8d9355da8cadd", null ], - [ "storedVectorActions", "Agent_8cs.html#ae5414923dbbbd2a39ab4e94d3061bbac", null ], - [ "textObservation", "Agent_8cs.html#ada2ee0fb0667ff7a98fa6e76734c0e1d", null ], - [ "vectorObservation", "Agent_8cs.html#a35913fa60b0dd9d9a2fff5e9ea816181", null ], - [ "visualObservations", "Agent_8cs.html#a3e2c1c7c1fe14981c3bab872f999953d", null ] -]; \ No newline at end of file diff --git a/docs/html/Decision_8cs.html b/docs/html/Decision_8cs.html deleted file mode 100644 index 284f16bcb7..0000000000 --- a/docs/html/Decision_8cs.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - -ML-Agents: Decision.cs File Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
ML-Agents -  v0.3 -
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
Decision.cs File Reference
-
-
- - - - - -

-Classes

interface  Decision
 Interface for implementing the behavior of an Agent that uses a Heuristic Brain. More...
 
-
-
- - - - - diff --git a/docs/html/Monitor_8cs.html b/docs/html/Monitor_8cs.html deleted file mode 100644 index 58840b5857..0000000000 --- a/docs/html/Monitor_8cs.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - -ML-Agents: Monitor.cs File Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
ML-Agents -  v0.3 -
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
Monitor.cs File Reference
-
-
- - - - - -

-Classes

class  Monitor
 Monitor is used to display information about the Agent within the Unity scene. More...
 
- - - - -

-Enumerations

enum  MonitorType { slider, -hist, -text, -bar - }
 The type of monitor the information must be displayed in. More...
 
-

Enumeration Type Documentation

- -

◆ MonitorType

- -
-
- - - - - -
- - - - -
enum MonitorType
-
-strong
-
- -

The type of monitor the information must be displayed in.

-

<slider> corresponds to a single rectangle whose width is given by a float between -1 and 1. (green is positive, red is negative) <hist> corresponds to n vertical sliders. <text> is a text field. <bar> is a rectangle of fixed length to represent the proportions of a list of floats.

- - - - - -
Enumerator
slider 
hist 
text 
bar 
- -
-
-
-
- - - - - diff --git a/docs/html/Monitor_8cs.js b/docs/html/Monitor_8cs.js deleted file mode 100644 index 752b6cfdcf..0000000000 --- a/docs/html/Monitor_8cs.js +++ /dev/null @@ -1,10 +0,0 @@ -var Monitor_8cs = -[ - [ "Monitor", "classMonitor.html", "classMonitor" ], - [ "MonitorType", "Monitor_8cs.html#ac69ce5a28782fdc01f7ba5c236cd5f72", [ - [ "slider", "Monitor_8cs.html#ac69ce5a28782fdc01f7ba5c236cd5f72a10bf08f0bbd6689475be65b4ae441bd9", null ], - [ "hist", "Monitor_8cs.html#ac69ce5a28782fdc01f7ba5c236cd5f72a16e197121c1752d4f42e8999863104ce", null ], - [ "text", "Monitor_8cs.html#ac69ce5a28782fdc01f7ba5c236cd5f72a1cb251ec0d568de6a929b520c4aed8d1", null ], - [ "bar", "Monitor_8cs.html#ac69ce5a28782fdc01f7ba5c236cd5f72a37b51d194a7513e45b56f6524f2d51f2", null ] - ] ] -]; \ No newline at end of file diff --git a/docs/html/annotated.html b/docs/html/annotated.html deleted file mode 100644 index 671455fe7a..0000000000 --- a/docs/html/annotated.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - -ML-Agents: Class List - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
ML-Agents -  v0.3 -
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Class List
-
-
-
Here are the classes, structs, unions and interfaces with brief descriptions:
- - - - - - - - - -
 CAcademyAn Academy is where Agent objects go to train their behaviors
 CAgentAgent Monobehavior class that is attached to a Unity GameObject, making it an Agent
 CAgentActionStruct that contains the action information sent from the Brain to the Agent
 CAgentInfoStruct that contains all the information for an Agent, including its observations, actions and current status, that is sent to the Brain
 CAgentParametersStruct that contains all the Agent-specific parameters provided in the Editor
 CDecisionInterface for implementing the behavior of an Agent that uses a Heuristic Brain
 CEnvironmentConfigurationWelcome to Unity Machine Learning Agents (ML-Agents)
 CMonitorMonitor is used to display information about the Agent within the Unity scene
-
-
-
- - - - - diff --git a/docs/html/annotated_dup.js b/docs/html/annotated_dup.js deleted file mode 100644 index c82cadc1bb..0000000000 --- a/docs/html/annotated_dup.js +++ /dev/null @@ -1,11 +0,0 @@ -var annotated_dup = -[ - [ "Academy", "classAcademy.html", "classAcademy" ], - [ "Agent", "classAgent.html", "classAgent" ], - [ "AgentAction", "Agent_8cs.html#structAgentAction", "Agent_8cs_structAgentAction" ], - [ "AgentInfo", "Agent_8cs.html#structAgentInfo", "Agent_8cs_structAgentInfo" ], - [ "AgentParameters", "Agent_8cs.html#classAgentParameters", "Agent_8cs_classAgentParameters" ], - [ "Decision", "interfaceDecision.html", "interfaceDecision" ], - [ "EnvironmentConfiguration", "classEnvironmentConfiguration.html", "classEnvironmentConfiguration" ], - [ "Monitor", "classMonitor.html", "classMonitor" ] -]; \ No newline at end of file diff --git a/docs/html/bc_s.png b/docs/html/bc_s.png deleted file mode 100644 index 224b29aa9847d5a4b3902efd602b7ddf7d33e6c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 676 zcmV;V0$crwP)y__>=_9%My z{n931IS})GlGUF8K#6VIbs%684A^L3@%PlP2>_sk`UWPq@f;rU*V%rPy_ekbhXT&s z(GN{DxFv}*vZp`F>S!r||M`I*nOwwKX+BC~3P5N3-)Y{65c;ywYiAh-1*hZcToLHK ztpl1xomJ+Yb}K(cfbJr2=GNOnT!UFA7Vy~fBz8?J>XHsbZoDad^8PxfSa0GDgENZS zuLCEqzb*xWX2CG*b&5IiO#NzrW*;`VC9455M`o1NBh+(k8~`XCEEoC1Ybwf;vr4K3 zg|EB<07?SOqHp9DhLpS&bzgo70I+ghB_#)K7H%AMU3v}xuyQq9&Bm~++VYhF09a+U zl7>n7Jjm$K#b*FONz~fj;I->Bf;ule1prFN9FovcDGBkpg>)O*-}eLnC{6oZHZ$o% zXKW$;0_{8hxHQ>l;_*HATI(`7t#^{$(zLe}h*mqwOc*nRY9=?Sx4OOeVIfI|0V(V2 zBrW#G7Ss9wvzr@>H*`r>zE z+e8bOBgqIgldUJlG(YUDviMB`9+DH8n-s9SXRLyJHO1!=wY^79WYZMTa(wiZ!zP66 zA~!21vmF3H2{ngD;+`6j#~6j;$*f*G_2ZD1E;9(yaw7d-QnSCpK(cR1zU3qU0000< KMNUMnLSTYoA~SLT diff --git a/docs/html/bdwn.png b/docs/html/bdwn.png deleted file mode 100644 index 940a0b950443a0bb1b216ac03c45b8a16c955452..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PKZC{Gv1kP61Pb5HX&C2wk~_T - - - - - - - -ML-Agents: Member List - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
ML-Agents -  v0.3 -
-
-
- - - - - - - -
-
- -
-
-
- - - - - - - diff --git a/docs/html/classAcademy.html b/docs/html/classAcademy.html deleted file mode 100644 index fc0f6c1984..0000000000 --- a/docs/html/classAcademy.html +++ /dev/null @@ -1,535 +0,0 @@ - - - - - - - - -ML-Agents: Academy Class Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
ML-Agents -  v0.3 -
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
Academy Class Reference
-
-
- -

An Academy is where Agent objects go to train their behaviors. - More...

- -

Inherits MonoBehaviour.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

virtual void InitializeAcademy ()
 Initializes the academy and environment. More...
 
virtual void AcademyStep ()
 Specifies the academy behavior at every step of the environment. More...
 
virtual void AcademyReset ()
 Specifies the academy behavior when being reset (i.e. More...
 
bool GetIsInference ()
 Returns the isInference flag. More...
 
void SetIsInference (bool isInference)
 Sets the isInference flag to the provided value. More...
 
int GetEpisodeCount ()
 Returns the current episode counter. More...
 
int GetStepCount ()
 Returns the current step counter (within the current epside). More...
 
void Done ()
 Sets the done flag to true. More...
 
bool IsDone ()
 Returns whether or not the academy is done. More...
 
bool IsCommunicatorOn ()
 Returns whether or not the communicator is on. More...
 
Communicator GetCommunicator ()
 Returns the Communicator currently used by the Academy. More...
 
- - - - -

-Public Attributes

ResetParameters resetParameters
 Contains a mapping from parameter names to float values. More...
 
- - - - - - - - - - - - - -

-Events

System.Action BrainDecideAction
 
System.Action< bool, bool, int > AgentSetStatus
 
System.Action AgentResetIfDone
 
System.Action AgentSendState
 
System.Action AgentAct
 
System.Action AgentForceReset
 
-

Detailed Description

-

An Academy is where Agent objects go to train their behaviors.

-

More specifically, an academy is a collection of Brain objects and each agent in a scene is attached to one brain (a single brain may be attached to multiple agents). Currently, this class is expected to be extended to implement the desired academy behavior.

-

When an academy is run, it can either be in inference or training mode. The mode is determined by the presence or absence of a Communicator. In the presence of a communicator, the academy is run in training mode where the states and observations of each agent are sent through the communicator. In the absence of a communciator, the academy is run in inference mode where the agent behavior is determined by the brain attached to it (which may be internal, heuristic or player).

-

Member Function Documentation

- -

◆ AcademyReset()

- -
-
- - - - - -
- - - - - - - -
virtual void AcademyReset ()
-
-virtual
-
- -

Specifies the academy behavior when being reset (i.e.

-

at the completion of a global episode).

- -
-
- -

◆ AcademyStep()

- -
-
- - - - - -
- - - - - - - -
virtual void AcademyStep ()
-
-virtual
-
- -

Specifies the academy behavior at every step of the environment.

- -
-
- -

◆ Done()

- -
-
- - - - - - - -
void Done ()
-
- -

Sets the done flag to true.

- -
-
- -

◆ GetCommunicator()

- -
-
- - - - - - - -
Communicator GetCommunicator ()
-
- -

Returns the Communicator currently used by the Academy.

-
Returns
The commincator currently in use (may be null).
- -
-
- -

◆ GetEpisodeCount()

- -
-
- - - - - - - -
int GetEpisodeCount ()
-
- -

Returns the current episode counter.

-
Returns
Current episode number.
- -
-
- -

◆ GetIsInference()

- -
-
- - - - - - - -
bool GetIsInference ()
-
- -

Returns the isInference flag.

-
Returns
true, if current mode is inference, false if training.
- -
-
- -

◆ GetStepCount()

- -
-
- - - - - - - -
int GetStepCount ()
-
- -

Returns the current step counter (within the current epside).

-
Returns
Current episode number.
- -
-
- -

◆ InitializeAcademy()

- -
-
- - - - - -
- - - - - - - -
virtual void InitializeAcademy ()
-
-virtual
-
- -

Initializes the academy and environment.

-

Called during the waking-up phase of the environment before any of the scene objects/agents have been initialized.

- -
-
- -

◆ IsCommunicatorOn()

- -
-
- - - - - - - -
bool IsCommunicatorOn ()
-
- -

Returns whether or not the communicator is on.

-
Returns
true, if communicator is on, false otherwise.
- -
-
- -

◆ IsDone()

- -
-
- - - - - - - -
bool IsDone ()
-
- -

Returns whether or not the academy is done.

-
Returns
true, if academy is done, false otherwise.
- -
-
- -

◆ SetIsInference()

- -
-
- - - - - - - - -
void SetIsInference (bool isInference)
-
- -

Sets the isInference flag to the provided value.

-

If the new flag differs from the current flag value, this signals that the environment configuration needs to be updated.

-
Parameters
- - -
isInferenceEnvironment mode, if true then inference, otherwise training.
-
-
- -
-
-

Member Data Documentation

- -

◆ resetParameters

- -
-
- - - - -
ResetParameters resetParameters
-
- -

Contains a mapping from parameter names to float values.

-

They are used in AcademyReset and AcademyStep to modify elements in the environment at reset time.

-

Default reset parameters are specified in the academy Editor, and can be modified when training with an external Brain by passinga config dictionary at reset.

- -
-
-

Event Documentation

- -

◆ AgentAct

- -
-
- - - - -
System.Action AgentAct
-
- -
-
- -

◆ AgentForceReset

- -
-
- - - - -
System.Action AgentForceReset
-
- -
-
- -

◆ AgentResetIfDone

- -
-
- - - - -
System.Action AgentResetIfDone
-
- -
-
- -

◆ AgentSendState

- -
-
- - - - -
System.Action AgentSendState
-
- -
-
- -

◆ AgentSetStatus

- -
-
- - - - -
System.Action<bool, bool, int> AgentSetStatus
-
- -
-
- -

◆ BrainDecideAction

- -
-
- - - - -
System.Action BrainDecideAction
-
- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - - diff --git a/docs/html/classAcademy.js b/docs/html/classAcademy.js deleted file mode 100644 index 9d18179a4d..0000000000 --- a/docs/html/classAcademy.js +++ /dev/null @@ -1,21 +0,0 @@ -var classAcademy = -[ - [ "AcademyReset", "classAcademy.html#a0872c23a338aebf18b22ce40d3f72c39", null ], - [ "AcademyStep", "classAcademy.html#aec20943228af90888c11a796b9e27777", null ], - [ "Done", "classAcademy.html#a44cace8d4257cdedded8faa819aa0fcb", null ], - [ "GetCommunicator", "classAcademy.html#a04fd35436026aa0997e1dcf6491b9a1a", null ], - [ "GetEpisodeCount", "classAcademy.html#a4f6948fd8d2909d9ab1012ee3b7debb3", null ], - [ "GetIsInference", "classAcademy.html#a7eaee35bbad8e7b2aeddd1957ab5016d", null ], - [ "GetStepCount", "classAcademy.html#ab586c01aab81d779dc15e051f33b3040", null ], - [ "InitializeAcademy", "classAcademy.html#ab6a884f7a70c4dce4432077d716e886c", null ], - [ "IsCommunicatorOn", "classAcademy.html#a276d937e60b907e23ec89d7df4cebe79", null ], - [ "IsDone", "classAcademy.html#a6439db113c7c15c83710c55c8e57af38", null ], - [ "SetIsInference", "classAcademy.html#af9fcbf243bd5c1f362777584378127cf", null ], - [ "resetParameters", "classAcademy.html#a3f4e8b2b6e23e7d814f69fab93009d5f", null ], - [ "AgentAct", "classAcademy.html#ad3a47ae55e42fae046d5360270c076ac", null ], - [ "AgentForceReset", "classAcademy.html#ab86a6437d36e5687e61117623e5d2c62", null ], - [ "AgentResetIfDone", "classAcademy.html#a7024f1b7a48feeb1206b99a11b201b4f", null ], - [ "AgentSendState", "classAcademy.html#adce6a53cc9bbe74e32d073f4820ec433", null ], - [ "AgentSetStatus", "classAcademy.html#a329972de6641802140ac8573060c289b", null ], - [ "BrainDecideAction", "classAcademy.html#a161ef309785ffee22f97ca3ca7b5a859", null ] -]; \ No newline at end of file diff --git a/docs/html/classAgent-members.html b/docs/html/classAgent-members.html deleted file mode 100644 index a61a58180c..0000000000 --- a/docs/html/classAgent-members.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - - -ML-Agents: Member List - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
ML-Agents -  v0.3 -
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Agent Member List
-
-
- -

This is the complete list of members for Agent, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AddReward(float increment)Agent
AddVectorObs(float observation)Agentprotected
AddVectorObs(int observation)Agentprotected
AddVectorObs(Vector3 observation)Agentprotected
AddVectorObs(Vector2 observation)Agentprotected
AddVectorObs(float[] observation)Agentprotected
AddVectorObs(List< float > observation)Agentprotected
AddVectorObs(Quaternion observation)Agentprotected
AgentAction(float[] vectorAction, string textAction)Agentvirtual
AgentOnDone()Agentvirtual
agentParametersAgent
AgentReset()Agentvirtual
brainAgent
CollectObservations()Agentvirtual
Done()Agent
GetCumulativeReward()Agent
GetReward()Agent
GetStepCount()Agent
GiveBrain(Brain brain)Agent
InitializeAgent()Agentvirtual
IsDone()Agent
IsMaxStepReached()Agent
ObservationToTexture(Camera camera, int width, int height)Agentstatic
RequestAction()Agent
RequestDecision()Agent
ResetReward()Agent
SetReward(float reward)Agent
SetTextObs(string textObservation)Agent
UpdateMemoriesAction(List< float > memories)Agent
UpdateTextAction(string textActions)Agent
UpdateVectorAction(float[] vectorActions)Agent
-
- - - - - diff --git a/docs/html/classAgent.html b/docs/html/classAgent.html deleted file mode 100644 index e46b0f2140..0000000000 --- a/docs/html/classAgent.html +++ /dev/null @@ -1,1099 +0,0 @@ - - - - - - - - -ML-Agents: Agent Class Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
ML-Agents -  v0.3 -
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- - -
- -

Agent Monobehavior class that is attached to a Unity GameObject, making it an Agent. - More...

- -

Inherits MonoBehaviour.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

void GiveBrain (Brain brain)
 Updates the Brain for the agent. More...
 
int GetStepCount ()
 Returns the current step counter (within the current epside). More...
 
void ResetReward ()
 Resets the step reward and possibly the episode reward for the agent. More...
 
void SetReward (float reward)
 Overrides the current step reward of the agent and updates the episode reward accordingly. More...
 
void AddReward (float increment)
 Increments the step and episode rewards by the provided value. More...
 
float GetReward ()
 Retrieves the step reward for the Agent. More...
 
float GetCumulativeReward ()
 Retrieves the episode reward for the Agent. More...
 
void Done ()
 Sets the done flag to true. More...
 
void RequestDecision ()
 Is called when the agent must request the brain for a new decision. More...
 
void RequestAction ()
 Is called then the agent must perform a new action. More...
 
bool IsMaxStepReached ()
 Indicates if the agent has reached his maximum number of steps. More...
 
bool IsDone ()
 Indicates if the agent is done More...
 
virtual void InitializeAgent ()
 Initializes the agent, called once when the agent is enabled. More...
 
virtual void CollectObservations ()
 Collects the (vector, visual, text) observations of the agent. More...
 
void SetTextObs (string textObservation)
 Sets the text observation. More...
 
virtual void AgentAction (float[] vectorAction, string textAction)
 Specifies the agent behavior at every step based on the provided action. More...
 
virtual void AgentOnDone ()
 Specifies the agent behavior when done and AgentParameters.resetOnDone is false. More...
 
virtual void AgentReset ()
 Specifies the agent behavior when being reset, which can be due to the agent or Academy being done (i.e. More...
 
void UpdateVectorAction (float[] vectorActions)
 Updates the vector action. More...
 
void UpdateMemoriesAction (List< float > memories)
 Updates the memories action. More...
 
void UpdateTextAction (string textActions)
 Updates the text action. More...
 
- - - - -

-Static Public Member Functions

static Texture2D ObservationToTexture (Camera camera, int width, int height)
 Converts a camera and correspinding resolution to a 2D texture. More...
 
- - - - - - - -

-Public Attributes

Brain brain
 The Brain attached to this agent. More...
 
AgentParameters agentParameters
 Agent parameters specified within the Editor via AgentEditor. More...
 
- - - - - - - - - - - - - - - - - - - - - - -

-Protected Member Functions

void AddVectorObs (float observation)
 Adds a float observation to the vector observations of the agent. More...
 
void AddVectorObs (int observation)
 Adds an integer observation to the vector observations of the agent. More...
 
void AddVectorObs (Vector3 observation)
 Adds an Vector3 observation to the vector observations of the agent. More...
 
void AddVectorObs (Vector2 observation)
 Adds an Vector2 observation to the vector observations of the agent. More...
 
void AddVectorObs (float[] observation)
 Adds a float array observation to the vector observations of the agent. More...
 
void AddVectorObs (List< float > observation)
 Adds a float list observation to the vector observations of the agent. More...
 
void AddVectorObs (Quaternion observation)
 Adds a quaternion observation to the vector observations of the agent. More...
 
-

Detailed Description

-

Agent Monobehavior class that is attached to a Unity GameObject, making it an Agent.

-

An agent produces observations and takes actions in the environment. Observations are determined by the cameras attached to the agent in addition to the vector observations implemented by the user in CollectObservations. On the other hand, actions are determined by decisions produced by a linked Brain. Currently, this class is expected to be extended to implement the desired agent behavior.

-

Simply speaking, an agent roams through an environment and at each step of the environment extracts its current observation, sends them to its linked brain and in return receives an action from its brain. In practice, however, an agent need not send its observation at every step since very little may have changed between sucessive steps. Currently, how often an agent updates its brain with a fresh observation is determined by the Academy.

-

At any step, an agent may be considered done. This could occur due to a variety of reasons:

    -
  • The agent reached an end state within its environment.
  • -
  • The agent reached the maximum # of steps (i.e. timed out).
  • -
  • The academy reached the maximum # of steps (forced agent to be done).
  • -
-

Here, an agent reaches an end state if it completes its task successfully or somehow fails along the way. In the case where an agent is done before the academy, it either resets and restarts, or just lingers until the academy is done.

-

An important note regarding steps and episodes is due. Here, an agent step corresponds to an academy step, which also corresponds to Unity environment step (i.e. each FixedUpdate call). This is not the case for episodes. The academy controls the global episode count and each agent controls its own local episode count and can reset and start a new local episode independently (based on its own experience). Thus an academy (global) episode can be viewed as the upper-bound on an agents episode length and that within a single global episode, an agent may have completed multiple local episodes. Consequently, if an agent max step is set to a value larger than the academy max steps value, then the academy value takes precedence (since the agent max step will never be reached).

-

Lastly, note that at any step the brain linked to the agent is allowed to change programmatically with GiveBrain.

-

Implementation-wise, it is required that this class is extended and the virtual methods overridden. For sample implementations of agent behavior, see the Examples/ directory within this Unity project.

-

Member Function Documentation

- -

◆ AddReward()

- -
-
- - - - - - - - -
void AddReward (float increment)
-
- -

Increments the step and episode rewards by the provided value.

-
Parameters
- - -
incrementIncremental reward value.
-
-
- -
-
- -

◆ AddVectorObs() [1/7]

- -
-
- - - - - -
- - - - - - - - -
void AddVectorObs (float observation)
-
-protected
-
- -

Adds a float observation to the vector observations of the agent.

-

Increases the size of the agents vector observation by 1.

-
Parameters
- - -
observationObservation.
-
-
- -
-
- -

◆ AddVectorObs() [2/7]

- -
-
- - - - - -
- - - - - - - - -
void AddVectorObs (int observation)
-
-protected
-
- -

Adds an integer observation to the vector observations of the agent.

-

Increases the size of the agents vector observation by 1.

-
Parameters
- - -
observationObservation.
-
-
- -
-
- -

◆ AddVectorObs() [3/7]

- -
-
- - - - - -
- - - - - - - - -
void AddVectorObs (Vector3 observation)
-
-protected
-
- -

Adds an Vector3 observation to the vector observations of the agent.

-

Increases the size of the agents vector observation by 3.

-
Parameters
- - -
observationObservation.
-
-
- -
-
- -

◆ AddVectorObs() [4/7]

- -
-
- - - - - -
- - - - - - - - -
void AddVectorObs (Vector2 observation)
-
-protected
-
- -

Adds an Vector2 observation to the vector observations of the agent.

-

Increases the size of the agents vector observation by 2.

-
Parameters
- - -
observationObservation.
-
-
- -
-
- -

◆ AddVectorObs() [5/7]

- -
-
- - - - - -
- - - - - - - - -
void AddVectorObs (float [] observation)
-
-protected
-
- -

Adds a float array observation to the vector observations of the agent.

-

Increases the size of the agents vector observation by size of array.

-
Parameters
- - -
observationObservation.
-
-
- -
-
- -

◆ AddVectorObs() [6/7]

- -
-
- - - - - -
- - - - - - - - -
void AddVectorObs (List< float > observation)
-
-protected
-
- -

Adds a float list observation to the vector observations of the agent.

-

Increases the size of the agents vector observation by size of list.

-
Parameters
- - -
observationObservation.
-
-
- -
-
- -

◆ AddVectorObs() [7/7]

- -
-
- - - - - -
- - - - - - - - -
void AddVectorObs (Quaternion observation)
-
-protected
-
- -

Adds a quaternion observation to the vector observations of the agent.

-

Increases the size of the agents vector observation by 4.

-
Parameters
- - -
observationObservation.
-
-
- -
-
- -

◆ AgentAction()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
virtual void AgentAction (float [] vectorAction,
string textAction 
)
-
-virtual
-
- -

Specifies the agent behavior at every step based on the provided action.

-
Parameters
- - - -
vectorActionVector action. Note that for discrete actions, the provided array will be of length 1.
textActionText action.
-
-
- -
-
- -

◆ AgentOnDone()

- -
-
- - - - - -
- - - - - - - -
virtual void AgentOnDone ()
-
-virtual
-
- -

Specifies the agent behavior when done and AgentParameters.resetOnDone is false.

-

This method can be used to remove the agent from the scene.

- -
-
- -

◆ AgentReset()

- -
-
- - - - - -
- - - - - - - -
virtual void AgentReset ()
-
-virtual
-
- -

Specifies the agent behavior when being reset, which can be due to the agent or Academy being done (i.e.

-

completion of local or global episode).

- -
-
- -

◆ CollectObservations()

- -
-
- - - - - -
- - - - - - - -
virtual void CollectObservations ()
-
-virtual
-
- -

Collects the (vector, visual, text) observations of the agent.

-

The agent observation describes the current environment from the perspective of the agent.

-

Simply, an agents observation is any environment information that helps the Agent acheive its goal. For example, for a fighting Agent, its observation could include distances to friends or enemies, or the current level of ammunition at its disposal. Recall that an Agent may attach vector, visual or textual observations. Vector observations are added by calling the provided helper methods:

- -
-
- -

◆ Done()

- -
-
- - - - - - - -
void Done ()
-
- -

Sets the done flag to true.

- -
-
- -

◆ GetCumulativeReward()

- -
-
- - - - - - - -
float GetCumulativeReward ()
-
- -

Retrieves the episode reward for the Agent.

-
Returns
The episode reward.
- -
-
- -

◆ GetReward()

- -
-
- - - - - - - -
float GetReward ()
-
- -

Retrieves the step reward for the Agent.

-
Returns
The step reward.
- -
-
- -

◆ GetStepCount()

- -
-
- - - - - - - -
int GetStepCount ()
-
- -

Returns the current step counter (within the current epside).

-
Returns
Current episode number.
- -
-
- -

◆ GiveBrain()

- -
-
- - - - - - - - -
void GiveBrain (Brain brain)
-
- -

Updates the Brain for the agent.

-

Any brain currently assigned to the agent will be replaced with the provided one.

-

The agent unsubscribes from its current brain (if it has one) and subscribes to the provided brain. This enables contextual brains, that is, updating the behaviour (hence brain) of the agent depending on the context of the game. For example, we may utilize one (wandering) brain when an agent is randomly exploring an open world, but switch to another (fighting) brain when it comes into contact with an enemy.

-
Parameters
- - -
brainNew brain to subscribe this agent to
-
-
- -
-
- -

◆ InitializeAgent()

- -
-
- - - - - -
- - - - - - - -
virtual void InitializeAgent ()
-
-virtual
-
- -

Initializes the agent, called once when the agent is enabled.

-

Can be left empty if there is no special, unique set-up behavior for the agent.

-

One sample use is to store local references to other objects in the scene which would facilitate computing this agents observation.

- -
-
- -

◆ IsDone()

- -
-
- - - - - - - -
bool IsDone ()
-
- -

Indicates if the agent is done

-
Returns
true, if the agent is done, false otherwise.
- -
-
- -

◆ IsMaxStepReached()

- -
-
- - - - - - - -
bool IsMaxStepReached ()
-
- -

Indicates if the agent has reached his maximum number of steps.

-
Returns
true, if max step reached was reached, false otherwise.
- -
-
- -

◆ ObservationToTexture()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
static Texture2D ObservationToTexture (Camera camera,
int width,
int height 
)
-
-static
-
- -

Converts a camera and correspinding resolution to a 2D texture.

-
Returns
The 2D texture.
-
Parameters
- - - - -
cameraCamera.
widthWidth of resulting 2D texture.
heightHeight of resulting 2D texture.
-
-
- -
-
- -

◆ RequestAction()

- -
-
- - - - - - - -
void RequestAction ()
-
- -

Is called then the agent must perform a new action.

- -
-
- -

◆ RequestDecision()

- -
-
- - - - - - - -
void RequestDecision ()
-
- -

Is called when the agent must request the brain for a new decision.

- -
-
- -

◆ ResetReward()

- -
-
- - - - - - - -
void ResetReward ()
-
- -

Resets the step reward and possibly the episode reward for the agent.

- -
-
- -

◆ SetReward()

- -
-
- - - - - - - - -
void SetReward (float reward)
-
- -

Overrides the current step reward of the agent and updates the episode reward accordingly.

-
Parameters
- - -
rewardThe new value of the reward.
-
-
- -
-
- -

◆ SetTextObs()

- -
-
- - - - - - - - -
void SetTextObs (string textObservation)
-
- -

Sets the text observation.

-
Parameters
- - -
textObservationThe text observation.
-
-
- -
-
- -

◆ UpdateMemoriesAction()

- -
-
- - - - - - - - -
void UpdateMemoriesAction (List< float > memories)
-
- -

Updates the memories action.

-
Parameters
- - -
memoriesMemories.
-
-
- -
-
- -

◆ UpdateTextAction()

- -
-
- - - - - - - - -
void UpdateTextAction (string textActions)
-
- -

Updates the text action.

-
Parameters
- - -
textActionsText actions.
-
-
- -
-
- -

◆ UpdateVectorAction()

- -
-
- - - - - - - - -
void UpdateVectorAction (float [] vectorActions)
-
- -

Updates the vector action.

-
Parameters
- - -
vectorActionsVector actions.
-
-
- -
-
-

Member Data Documentation

- -

◆ agentParameters

- -
-
- - - - -
AgentParameters agentParameters
-
- -

Agent parameters specified within the Editor via AgentEditor.

- -
-
- -

◆ brain

- -
-
- - - - -
Brain brain
-
- -

The Brain attached to this agent.

-

A brain can be attached either directly from the Editor through AgentEditor or programmatically through GiveBrain. It is OK for an agent to not have a brain, as long as no decision is requested.

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - - diff --git a/docs/html/classAgent.js b/docs/html/classAgent.js deleted file mode 100644 index f55ed555cd..0000000000 --- a/docs/html/classAgent.js +++ /dev/null @@ -1,34 +0,0 @@ -var classAgent = -[ - [ "AddReward", "classAgent.html#af54b9da1f764b0be8cafc581d8f9bc5f", null ], - [ "AddVectorObs", "classAgent.html#a70dc94ababe37a27084145ead3226d6d", null ], - [ "AddVectorObs", "classAgent.html#aaca4c52e9a7e8583ceca5953be77f861", null ], - [ "AddVectorObs", "classAgent.html#a210e66a94c911aa1dea714422792d725", null ], - [ "AddVectorObs", "classAgent.html#a170507d882c7d3b3e854b668ce343926", null ], - [ "AddVectorObs", "classAgent.html#a805b0835be8f8e37d4339c29e6c6ebe5", null ], - [ "AddVectorObs", "classAgent.html#a02118021b2a57e6f030698e2b63c38ec", null ], - [ "AddVectorObs", "classAgent.html#a92e3b1eea9f0605ba349ba2b5177d8b0", null ], - [ "AgentAction", "classAgent.html#a6bedc752523054d350627d6a0c7fab6c", null ], - [ "AgentOnDone", "classAgent.html#a1744571e645b75c4e15b11c1020199a3", null ], - [ "AgentReset", "classAgent.html#acbb8642634d325629d4e45c8b319610e", null ], - [ "CollectObservations", "classAgent.html#a8b793b8bbc37b66a5e7eeaeea0844857", null ], - [ "Done", "classAgent.html#a44cace8d4257cdedded8faa819aa0fcb", null ], - [ "GetCumulativeReward", "classAgent.html#a7dbd50c5e347a1fe0c8f2a63ccc1ebb5", null ], - [ "GetReward", "classAgent.html#a05d04fc03ed70a11afb905e259e1404e", null ], - [ "GetStepCount", "classAgent.html#ab586c01aab81d779dc15e051f33b3040", null ], - [ "GiveBrain", "classAgent.html#a425d0bb9aae6a2f176eaa9342188e83c", null ], - [ "InitializeAgent", "classAgent.html#a0d65cb2bf6fd9e49d87468583db3baa1", null ], - [ "IsDone", "classAgent.html#a6439db113c7c15c83710c55c8e57af38", null ], - [ "IsMaxStepReached", "classAgent.html#a37124e7a1328a3d7342e6682e73092d7", null ], - [ "ObservationToTexture", "classAgent.html#af0aa30da9ba1bbda231c6b3a4e36550a", null ], - [ "RequestAction", "classAgent.html#a737d24da9fbe954cd4e41983ddee208a", null ], - [ "RequestDecision", "classAgent.html#ae9f3c050a74cf26e2cd74e82deaa9a5d", null ], - [ "ResetReward", "classAgent.html#a2ebb156dac7038fe138c910df69300c9", null ], - [ "SetReward", "classAgent.html#ad60a2a2684b0d8970230ab579e52e445", null ], - [ "SetTextObs", "classAgent.html#a78d35c658d6582ecb0e07c2674bed70f", null ], - [ "UpdateMemoriesAction", "classAgent.html#a3ef1a2894634cedd1a4987d525e30d77", null ], - [ "UpdateTextAction", "classAgent.html#a08e542a8bbffc1c37ec91ad5c99662b8", null ], - [ "UpdateVectorAction", "classAgent.html#a040c1710d1fae2010525db5be0132564", null ], - [ "agentParameters", "classAgent.html#aec11063707292e4183406fc40802cf41", null ], - [ "brain", "classAgent.html#a4b858e0e212cea18f48976438a427ee9", null ] -]; \ No newline at end of file diff --git a/docs/html/classEnvironmentConfiguration-members.html b/docs/html/classEnvironmentConfiguration-members.html deleted file mode 100644 index 5e74c8bfdc..0000000000 --- a/docs/html/classEnvironmentConfiguration-members.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - - -ML-Agents: Member List - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
ML-Agents -  v0.3 -
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
EnvironmentConfiguration Member List
-
-
- -

This is the complete list of members for EnvironmentConfiguration, including all inherited members.

- - - - - - - -
EnvironmentConfiguration(int width, int height, int qualityLevel, float timeScale, int targetFrameRate)EnvironmentConfiguration
heightEnvironmentConfiguration
qualityLevelEnvironmentConfiguration
targetFrameRateEnvironmentConfiguration
timeScaleEnvironmentConfiguration
widthEnvironmentConfiguration
-
- - - - - diff --git a/docs/html/classEnvironmentConfiguration.html b/docs/html/classEnvironmentConfiguration.html deleted file mode 100644 index 7205d7555f..0000000000 --- a/docs/html/classEnvironmentConfiguration.html +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - - - -ML-Agents: EnvironmentConfiguration Class Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
ML-Agents -  v0.3 -
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
EnvironmentConfiguration Class Reference
-
-
- -

Welcome to Unity Machine Learning Agents (ML-Agents). - More...

- - - - - -

-Public Member Functions

 EnvironmentConfiguration (int width, int height, int qualityLevel, float timeScale, int targetFrameRate)
 Initializes a new instance of the EnvironmentConfiguration class. More...
 
- - - - - - - - - - - -

-Public Attributes

int width
 
int height
 
int qualityLevel
 
float timeScale
 
int targetFrameRate
 
-

Detailed Description

-

Welcome to Unity Machine Learning Agents (ML-Agents).

-

ML-Agents contains five entities: Academy, Brain, Agent, Communicator and Python API. The academy, and all its brains and connected agents live within a learning environment (herin called Environment), while the communicator manages the communication between the learning environment and the Python API. For more information on each of these entities, in addition to how to set-up a learning environment and train the behavior of characters in a Unity scene, please browse our documentation pages on GitHub: https://github.com/Unity-Technologies/ml-agents/blob/master/docs/

-

Wraps the environment-level parameters that are provided within the Editor. These parameters can be provided for training and inference modes separately and represent screen resolution, rendering quality and frame rate.

-

Constructor & Destructor Documentation

- -

◆ EnvironmentConfiguration()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
EnvironmentConfiguration (int width,
int height,
int qualityLevel,
float timeScale,
int targetFrameRate 
)
-
- -

Initializes a new instance of the EnvironmentConfiguration class.

-
Parameters
- - - - - - -
widthWidth of environment window (pixels).
heightHeight of environment window (pixels).
qualityLevelRendering quality of environment. Ranges from 0 to 5, with higher.
timeScaleSpeed at which environment is run. Ranges from 1 to 100, with higher values representing faster speed.
targetFrameRateTarget frame rate (per second) that the engine tries to maintain.
-
-
- -
-
-

Member Data Documentation

- -

◆ height

- -
-
- - - - -
int height
-
- -
-
- -

◆ qualityLevel

- -
-
- - - - -
int qualityLevel
-
- -
-
- -

◆ targetFrameRate

- -
-
- - - - -
int targetFrameRate
-
- -
-
- -

◆ timeScale

- -
-
- - - - -
float timeScale
-
- -
-
- -

◆ width

- -
-
- - - - -
int width
-
- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - - diff --git a/docs/html/classEnvironmentConfiguration.js b/docs/html/classEnvironmentConfiguration.js deleted file mode 100644 index 06e354efee..0000000000 --- a/docs/html/classEnvironmentConfiguration.js +++ /dev/null @@ -1,9 +0,0 @@ -var classEnvironmentConfiguration = -[ - [ "EnvironmentConfiguration", "classEnvironmentConfiguration.html#a59f91ef802bd5f087c640819690aeee0", null ], - [ "height", "classEnvironmentConfiguration.html#ad12fc34ce789bce6c8a05d8a17138534", null ], - [ "qualityLevel", "classEnvironmentConfiguration.html#a6769bca3d7b4c1e3e32b774729afabd1", null ], - [ "targetFrameRate", "classEnvironmentConfiguration.html#ac63e74b2fef449402905cb50167aa622", null ], - [ "timeScale", "classEnvironmentConfiguration.html#ad921de4ff2f44d55940f0b2f3a86149d", null ], - [ "width", "classEnvironmentConfiguration.html#a2474a5474cbff19523a51eb1de01cda4", null ] -]; \ No newline at end of file diff --git a/docs/html/classMonitor-members.html b/docs/html/classMonitor-members.html deleted file mode 100644 index 3c36bee17e..0000000000 --- a/docs/html/classMonitor-members.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - -ML-Agents: Member List - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
ML-Agents -  v0.3 -
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Monitor Member List
-
-
- -

This is the complete list of members for Monitor, including all inherited members.

- - - - - - -
Log(string key, object value, MonitorType displayType=MonitorType.text, Transform target=null)Monitorstatic
RemoveAllValues(Transform target)Monitorstatic
RemoveValue(Transform target, string key)Monitorstatic
SetActive(bool active)Monitorstatic
verticalOffsetMonitorstatic
-
- - - - - diff --git a/docs/html/classMonitor.html b/docs/html/classMonitor.html deleted file mode 100644 index 131c949eda..0000000000 --- a/docs/html/classMonitor.html +++ /dev/null @@ -1,344 +0,0 @@ - - - - - - - - -ML-Agents: Monitor Class Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
ML-Agents -  v0.3 -
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- - -
- -

Monitor is used to display information about the Agent within the Unity scene. - More...

- -

Inherits MonoBehaviour.

- - - - - - - - - - - - - - -

-Static Public Member Functions

static void Log (string key, object value, MonitorType displayType=MonitorType.text, Transform target=null)
 Use the Monitor.Log static function to attach information to a transform. More...
 
static void RemoveValue (Transform target, string key)
 Remove a value from a monitor. More...
 
static void RemoveAllValues (Transform target)
 Remove all information from a monitor. More...
 
static void SetActive (bool active)
 Use SetActive to enable or disable the Monitor via script More...
 
- - - - -

-Static Public Attributes

static float verticalOffset = 3f
 Represents how high above the target the monitors will be. More...
 
-

Detailed Description

-

Monitor is used to display information about the Agent within the Unity scene.

-

Use the log function to add information to your monitor.

-

Member Function Documentation

- -

◆ Log()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
static void Log (string key,
object value,
MonitorType displayType = MonitorType.text,
Transform target = null 
)
-
-static
-
- -

Use the Monitor.Log static function to attach information to a transform.

-

If displayType is <text>, value can be any object. If sidplayType is <slider>, value must be a float. If sidplayType is <hist>, value must be a List or Array of floats. If sidplayType is <bar>, value must be a list or Array of positive floats. Note that <slider> and <hist> caps values between -1 and 1.

-
Returns
The log.
-
Parameters
- - - - - -
keyThe name of the information you wish to Log.
valueThe value you want to display.
displayTypeThe type of display.
targetThe transform you want to attach the information to.
-
-
- -
-
- -

◆ RemoveAllValues()

- -
-
- - - - - -
- - - - - - - - -
static void RemoveAllValues (Transform target)
-
-static
-
- -

Remove all information from a monitor.

-
Parameters
- - -
targetThe transform to which the information is attached.
-
-
- -
-
- -

◆ RemoveValue()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
static void RemoveValue (Transform target,
string key 
)
-
-static
-
- -

Remove a value from a monitor.

-
Parameters
- - - -
targetThe transform to which the information is attached.
keyThe key of the information you want to remove.
-
-
- -
-
- -

◆ SetActive()

- -
-
- - - - - -
- - - - - - - - -
static void SetActive (bool active)
-
-static
-
- -

Use SetActive to enable or disable the Monitor via script

-
Parameters
- - -
activeValue to set the Monitor's status to.
-
-
- -
-
-

Member Data Documentation

- -

◆ verticalOffset

- -
-
- - - - - -
- - - - -
float verticalOffset = 3f
-
-static
-
- -

Represents how high above the target the monitors will be.

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - - diff --git a/docs/html/classMonitor.js b/docs/html/classMonitor.js deleted file mode 100644 index 6ac9f5c8e1..0000000000 --- a/docs/html/classMonitor.js +++ /dev/null @@ -1,8 +0,0 @@ -var classMonitor = -[ - [ "Log", "classMonitor.html#a2e9cd68151e0f2d2c08a010080ada4a6", null ], - [ "RemoveAllValues", "classMonitor.html#ae8d1d6ae07652adf07f09f462c69f4a8", null ], - [ "RemoveValue", "classMonitor.html#ac8888bc1e3ac394d6d01684d0bf2ee27", null ], - [ "SetActive", "classMonitor.html#ac9a87b218fd4c455053a8d5fb5ec6096", null ], - [ "verticalOffset", "classMonitor.html#aaf0067f61511f18c08ea89391bd4cccb", null ] -]; \ No newline at end of file diff --git a/docs/html/classes.html b/docs/html/classes.html deleted file mode 100644 index 5213d90d41..0000000000 --- a/docs/html/classes.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - -ML-Agents: Class Index - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
ML-Agents -  v0.3 -
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Class Index
-
-
-
a | d | e | m
- - - - - - - - - - - - -
  a  
-
  e  
-
Academy   EnvironmentConfiguration   
Agent   
  m  
-
AgentAction   
AgentInfo   Monitor   
AgentParameters   
  d  
-
Decision   
-
a | d | e | m
-
-
- - - - - diff --git a/docs/html/closed.png b/docs/html/closed.png deleted file mode 100644 index 98cc2c909da37a6df914fbf67780eebd99c597f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{V-kvUwAr*{o@8{^CZMh(5KoB^r_<4^zF@3)Cp&&t3hdujKf f*?bjBoY!V+E))@{xMcbjXe@)LtDnm{r-UW|*e5JT diff --git a/docs/html/dir_8e3ee7c563cfd76ab73fa6d2b0b4bf82.html b/docs/html/dir_8e3ee7c563cfd76ab73fa6d2b0b4bf82.html deleted file mode 100644 index 63ef60083c..0000000000 --- a/docs/html/dir_8e3ee7c563cfd76ab73fa6d2b0b4bf82.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - - - -ML-Agents: Scripts Directory Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
ML-Agents -  v0.3 -
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Scripts Directory Reference
-
-
- - - - - - - - - - -

-Files

file  Academy.cs
 
file  Agent.cs
 
file  Decision.cs
 
file  Monitor.cs
 
-
-
- - - - - diff --git a/docs/html/dir_9e08e342c98e8c75a023f201773b55cc.html b/docs/html/dir_9e08e342c98e8c75a023f201773b55cc.html deleted file mode 100644 index e7b328d40b..0000000000 --- a/docs/html/dir_9e08e342c98e8c75a023f201773b55cc.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - - -ML-Agents: unity-environment Directory Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
ML-Agents -  v0.3 -
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
unity-environment Directory Reference
-
-
- - - - -

-Directories

directory  Assets
 
-
-
- - - - - diff --git a/docs/html/dir_9e5f09d06b09d6d0595ae4f95bbd32cf.html b/docs/html/dir_9e5f09d06b09d6d0595ae4f95bbd32cf.html deleted file mode 100644 index 163ab0bd12..0000000000 --- a/docs/html/dir_9e5f09d06b09d6d0595ae4f95bbd32cf.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - - -ML-Agents: Assets Directory Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
ML-Agents -  v0.3 -
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Assets Directory Reference
-
-
- - - - -

-Directories

directory  ML-Agents
 
-
-
- - - - - diff --git a/docs/html/dir_b9aa27b295bc425ceb05fbd0ed2def0d.html b/docs/html/dir_b9aa27b295bc425ceb05fbd0ed2def0d.html deleted file mode 100644 index 56cf965214..0000000000 --- a/docs/html/dir_b9aa27b295bc425ceb05fbd0ed2def0d.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - - -ML-Agents: ML-Agents Directory Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
ML-Agents -  v0.3 -
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ML-Agents Directory Reference
-
-
- - - - -

-Directories

directory  Scripts
 
-
-
- - - - - diff --git a/docs/html/doc.png b/docs/html/doc.png deleted file mode 100644 index 17edabff95f7b8da13c9516a04efe05493c29501..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 746 zcmV7=@pnbNXRFEm&G8P!&WHG=d)>K?YZ1bzou)2{$)) zumDct!>4SyxL;zgaG>wy`^Hv*+}0kUfCrz~BCOViSb$_*&;{TGGn2^x9K*!Sf0=lV zpP=7O;GA0*Jm*tTYj$IoXvimpnV4S1Z5f$p*f$Db2iq2zrVGQUz~yq`ahn7ck(|CE z7Gz;%OP~J6)tEZWDzjhL9h2hdfoU2)Nd%T<5Kt;Y0XLt&<@6pQx!nw*5`@bq#?l*?3z{Hlzoc=Pr>oB5(9i6~_&-}A(4{Q$>c>%rV&E|a(r&;?i5cQB=} zYSDU5nXG)NS4HEs0it2AHe2>shCyr7`6@4*6{r@8fXRbTA?=IFVWAQJL&H5H{)DpM#{W(GL+Idzf^)uRV@oB8u$ z8v{MfJbTiiRg4bza<41NAzrl{=3fl_D+$t+^!xlQ8S}{UtY`e z;;&9UhyZqQRN%2pot{*Ei0*4~hSF_3AH2@fKU!$NSflS>{@tZpDT4`M2WRTTVH+D? z)GFlEGGHe?koB}i|1w45!BF}N_q&^HJ&-tyR{(afC6H7|aml|tBBbv}55C5DNP8p3 z)~jLEO4Z&2hZmP^i-e%(@d!(E|KRafiU8Q5u(wU((j8un3OR*Hvj+t diff --git a/docs/html/doxygen.png b/docs/html/doxygen.png deleted file mode 100644 index 3ff17d807fd8aa003bed8bb2a69e8f0909592fd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3779 zcmV;!4m|ORP)tMIv#Q0*~7*`IBSO7_x;@a8#Zk6_PeKR_s92J&)(m+);m9Iz3blw)z#Gi zP!9lj4$%+*>Hz@HCmM9L9|8c+0u=!H$O3?R0Kgx|#WP<6fKfC8fM-CQZT|_r@`>VO zX^Hgb|9cJqpdJA5$MCEK`F_2@2Y@s>^+;pF`~jdI0Pvr|vl4`=C)EH@1IFe7pdJ8F zH(qGi004~QnF)Ggga~8v08kGAs2hKTATxr7pwfNk|4#_AaT>w8P6TV+R2kbS$v==} zAjf`s0g#V8lB+b3)5oEI*q+{Yt$MZDruD2^;$+(_%Qn+%v0X-bJO=;@kiJ^ygLBnC z?1OVv_%aex1M@jKU|Z~$eI?PoF4Vj>fDzyo zAiLfpXY*a^Sj-S5D0S3@#V$sRW)g)_1e#$%8xdM>Jm7?!h zu0P2X=xoN>^!4DoPRgph2(2va07yfpXF+WH7EOg1GY%Zn z7~1A<(z7Q$ktEXhW_?GMpHp9l_UL18F3KOsxu81pqoBiNbFSGsof-W z6~eloMoz=4?OOnl2J268x5rOY`dCk0us(uS#Ud4yqOr@?=Q57a}tit|BhY>}~frH1sP`ScHS_d)oqH^lYy zZ%VP`#10MlE~P?cE(%(#(AUSv_T{+;t@$U}El}(1ig`vZo`Rm;+5&(AYzJ^Ae=h2X z@Re%vHwZU>|f0NI&%$*4eJweC5OROQrpPMA@*w|o z()A==l}(@bv^&>H1Ob3C=<^|hob?0+xJ?QQ3-ueQC}zy&JQNib!OqSO@-=>XzxlSF zAZ^U*1l6EEmg3r};_HY>&Jo_{dOPEFTWPmt=U&F#+0(O59^UIlHbNX+eF8UzyDR*T z(=5X$VF3!gm@RooS-&iiUYGG^`hMR(07zr_xP`d!^BH?uD>Phl8Rdifx3Af^Zr`Ku ztL+~HkVeL#bJ)7;`=>;{KNRvjmc}1}c58Sr#Treq=4{xo!ATy|c>iRSp4`dzMMVd@ zL8?uwXDY}Wqgh4mH`|$BTXpUIu6A1-cSq%hJw;@^Zr8TP=GMh*p(m(tN7@!^D~sl$ zz^tf4II4|};+irE$Fnm4NTc5%p{PRA`%}Zk`CE5?#h3|xcyQsS#iONZ z6H(@^i9td!$z~bZiJLTax$o>r(p}3o@< zyD7%(>ZYvy=6$U3e!F{Z`uSaYy`xQyl?b{}eg|G3&fz*`QH@mDUn)1%#5u`0m$%D} z?;tZ0u(mWeMV0QtzjgN!lT*pNRj;6510Wwx?Yi_=tYw|J#7@(Xe7ifDzXuK;JB;QO z#bg~K$cgm$@{QiL_3yr}y&~wuv=P=#O&Tj=Sr)aCUlYmZMcw?)T?c%0rUe1cS+o!qs_ zQ6Gp)-{)V!;=q}llyK3|^WeLKyjf%y;xHku;9(vM!j|~<7w1c*Mk-;P{T&yG) z@C-8E?QPynNQ<8f01D`2qexcVEIOU?y}MG)TAE6&VT5`rK8s(4PE;uQ92LTXUQ<>^ ztyQ@=@kRdh@ebUG^Z6NWWIL;_IGJ2ST>$t!$m$qvtj0Qmw8moN6GUV^!QKNK zHBXCtUH8)RY9++gH_TUV4^=-j$t}dD3qsN7GclJ^Zc&(j6&a_!$jCf}%c5ey`pm~1)@{yI3 zTdWyB+*X{JFw#z;PwRr5evb2!ueWF;v`B0HoUu4-(~aL=z;OXUUEtG`_$)Oxw6FKg zEzY`CyKaSBK3xt#8gA|r_|Kehn_HYVBMpEwbn9-fI*!u*eTA1ef8Mkl1=!jV4oYwWYM}i`A>_F4nhmlCIC6WLa zY%;4&@AlnaG11ejl61Jev21|r*m+?Kru3;1tFDl}#!OzUp6c>go4{C|^erwpG*&h6bspUPJag}oOkN2912Y3I?(eRc@U9>z#HPBHC?nps7H5!zP``90!Q1n80jo+B3TWXp!8Pe zwuKuLLI6l3Gv@+QH*Y}2wPLPQ1^EZhT#+Ed8q8Wo z1pTmIBxv14-{l&QVKxAyQF#8Q@NeJwWdKk>?cpiJLkJr+aZ!Me+Cfp!?FWSRf^j2k z73BRR{WSKaMkJ>1Nbx5dan5hg^_}O{Tj6u%iV%#QGz0Q@j{R^Ik)Z*+(YvY2ziBG)?AmJa|JV%4UT$k`hcOg5r9R?5>?o~JzK zJCrj&{i#hG>N7!B4kNX(%igb%kDj0fOQThC-8mtfap82PNRXr1D>lbgg)dYTQ(kbx z`Ee5kXG~Bh+BHQBf|kJEy6(ga%WfhvdQNDuOfQoe377l#ht&DrMGeIsI5C<&ai zWG$|hop2@@q5YDa)_-A?B02W;#fH!%k`daQLEItaJJ8Yf1L%8x;kg?)k)00P-lH+w z)5$QNV6r2$YtnV(4o=0^3{kmaXn*Dm0F*fU(@o)yVVjk|ln8ea6BMy%vZAhW9|wvA z8RoDkVoMEz1d>|5(k0Nw>22ZT){V<3$^C-cN+|~hKt2)){+l-?3m@-$c?-dlzQ)q- zZ)j%n^gerV{|+t}9m1_&&Ly!9$rtG4XX|WQ8`xYzGC~U@nYh~g(z9)bdAl#xH)xd5a=@|qql z|FzEil{P5(@gy!4ek05i$>`E^G~{;pnf6ftpLh$h#W?^#4UkPfa;;?bsIe&kz!+40 zI|6`F2n020)-r`pFaZ38F!S-lJM-o&inOw|66=GMeP@xQU5ghQH{~5Uh~TMTd;I9` z>YhVB`e^EVj*S7JF39ZgNf}A-0DwOcTT63ydN$I3b?yBQtUI*_fae~kPvzoD$zjX3 zoqBe#>12im4WzZ=f^4+u=!lA|#r%1`WB0-6*3BL#at`47#ebPpR|D1b)3BjT34nYY z%Ds%d?5$|{LgOIaRO{{oC&RK`O91$fqwM0(C_TALcozu*fWHb%%q&p-q{_8*2Zsi^ zh1ZCnr^UYa;4vQEtHk{~zi>wwMC5o{S=$P0X681y`SXwFH?Ewn{x-MOZynmc)JT5v zuHLwh;tLfxRrr%|k370}GofLl7thg>ACWWY&msqaVu&ry+`7+Ss>NL^%T1|z{IGMA zW-SKl=V-^{(f!Kf^#3(|T2W47d(%JVCI4JgRrT1pNz>+ietmFToNv^`gzC@&O-)+i zPQ~RwK8%C_vf%;%e>NyTp~dM5;!C|N0Q^6|CEb7Bw=Vz~$1#FA;Z*?mKSC)Hl-20s t8QyHj(g6VK0RYbl8UjE)0O0w=e*@m04r>stuEhWV002ovPDHLkV1hl;dM*F} diff --git a/docs/html/doxygenbase.css b/docs/html/doxygenbase.css deleted file mode 100644 index 5cabd87318..0000000000 --- a/docs/html/doxygenbase.css +++ /dev/null @@ -1,1600 +0,0 @@ -/* The standard CSS for doxygen 1.8.14 */ - -body, table, div, p, dl { - font: 400 14px/22px Roboto,sans-serif; -} - -p.reference, p.definition { - font: 400 14px/22px Roboto,sans-serif; -} - -/* @group Heading Levels */ - -h1.groupheader { - font-size: 150%; -} - -.title { - font: 400 14px/28px Roboto,sans-serif; - font-size: 150%; - font-weight: bold; - margin: 10px 2px; -} - -h2.groupheader { - border-bottom: 1px solid #879ECB; - color: #354C7B; - font-size: 150%; - font-weight: normal; - margin-top: 1.75em; - padding-top: 8px; - padding-bottom: 4px; - width: 100%; -} - -h3.groupheader { - font-size: 100%; -} - -h1, h2, h3, h4, h5, h6 { - -webkit-transition: text-shadow 0.5s linear; - -moz-transition: text-shadow 0.5s linear; - -ms-transition: text-shadow 0.5s linear; - -o-transition: text-shadow 0.5s linear; - transition: text-shadow 0.5s linear; - margin-right: 15px; -} - -h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { - text-shadow: 0 0 15px cyan; -} - -dt { - font-weight: bold; -} - -div.multicol { - -moz-column-gap: 1em; - -webkit-column-gap: 1em; - -moz-column-count: 3; - -webkit-column-count: 3; -} - -p.startli, p.startdd { - margin-top: 2px; -} - -p.starttd { - margin-top: 0px; -} - -p.endli { - margin-bottom: 0px; -} - -p.enddd { - margin-bottom: 4px; -} - -p.endtd { - margin-bottom: 2px; -} - -/* @end */ - -caption { - font-weight: bold; -} - -span.legend { - font-size: 70%; - text-align: center; -} - -h3.version { - font-size: 90%; - text-align: center; -} - -div.qindex, div.navtab{ - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; -} - -div.qindex, div.navpath { - width: 100%; - line-height: 140%; -} - -div.navtab { - margin-right: 15px; -} - -/* @group Link Styling */ - -a { - color: #3D578C; - font-weight: normal; - text-decoration: none; -} - -.contents a:visited { - color: #4665A2; -} - -a:hover { - text-decoration: underline; -} - -a.qindex { - font-weight: bold; -} - -a.qindexHL { - font-weight: bold; - background-color: #9CAFD4; - color: #ffffff; - border: 1px double #869DCA; -} - -.contents a.qindexHL:visited { - color: #ffffff; -} - -a.el { - font-weight: bold; -} - -a.elRef { -} - -a.code, a.code:visited, a.line, a.line:visited { - color: #4665A2; -} - -a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { - color: #4665A2; -} - -/* @end */ - -dl.el { - margin-left: -1cm; -} - -pre.fragment { - border: 1px solid #C4CFE5; - background-color: #FBFCFD; - padding: 4px 6px; - margin: 4px 8px 4px 2px; - overflow: auto; - word-wrap: break-word; - font-size: 9pt; - line-height: 125%; - font-family: monospace, fixed; - font-size: 105%; -} - -div.fragment { - padding: 0px; - margin: 4px 8px 4px 2px; - background-color: #FBFCFD; - border: 1px solid #C4CFE5; -} - -div.line { - font-family: monospace, fixed; - font-size: 13px; - min-height: 13px; - line-height: 1.0; - text-wrap: unrestricted; - white-space: -moz-pre-wrap; /* Moz */ - white-space: -pre-wrap; /* Opera 4-6 */ - white-space: -o-pre-wrap; /* Opera 7 */ - white-space: pre-wrap; /* CSS3 */ - word-wrap: break-word; /* IE 5.5+ */ - text-indent: -53px; - padding-left: 53px; - padding-bottom: 0px; - margin: 0px; - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; - transition-property: background-color, box-shadow; - transition-duration: 0.5s; -} - -div.line:after { - content:"\000A"; - white-space: pre; -} - -div.line.glow { - background-color: cyan; - box-shadow: 0 0 10px cyan; -} - - -span.lineno { - padding-right: 4px; - text-align: right; - border-right: 2px solid #0F0; - background-color: #E8E8E8; - white-space: pre; -} -span.lineno a { - background-color: #D8D8D8; -} - -span.lineno a:hover { - background-color: #C8C8C8; -} - -.lineno { - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -div.ah, span.ah { - background-color: black; - font-weight: bold; - color: #ffffff; - margin-bottom: 3px; - margin-top: 3px; - padding: 0.2em; - border: solid thin #333; - border-radius: 0.5em; - -webkit-border-radius: .5em; - -moz-border-radius: .5em; - box-shadow: 2px 2px 3px #999; - -webkit-box-shadow: 2px 2px 3px #999; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); - background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); -} - -div.classindex ul { - list-style: none; - padding-left: 0; -} - -div.classindex span.ai { - display: inline-block; -} - -div.groupHeader { - margin-left: 16px; - margin-top: 12px; - font-weight: bold; -} - -div.groupText { - margin-left: 16px; - font-style: italic; -} - -body { - background-color: white; - color: black; - margin: 0; -} - -div.contents { - margin-top: 10px; - margin-left: 12px; - margin-right: 8px; -} - -td.indexkey { - background-color: #EBEFF6; - font-weight: bold; - border: 1px solid #e6e6e6; - margin: 2px 0px 2px 0; - padding: 2px 10px; - white-space: nowrap; - vertical-align: top; -} - -td.indexvalue { - background-color: #EBEFF6; - border: 1px solid #e6e6e6; - padding: 2px 10px; - margin: 2px 0px; -} - -tr.memlist { - background-color: #EEF1F7; -} - -p.formulaDsp { - text-align: center; -} - -img.formulaDsp { - -} - -img.formulaInl { - vertical-align: middle; -} - -div.center { - text-align: center; - margin-top: 0px; - margin-bottom: 0px; - padding: 0px; -} - -div.center img { - border: 0px; -} - -address.footer { - text-align: right; - padding-right: 12px; -} - -img.footer { - border: 0px; - vertical-align: middle; -} - -/* @group Code Colorization */ - -span.keyword { - color: #008000 -} - -span.keywordtype { - color: #604020 -} - -span.keywordflow { - color: #e08000 -} - -span.comment { - color: #800000 -} - -span.preprocessor { - color: #806020 -} - -span.stringliteral { - color: #002080 -} - -span.charliteral { - color: #008080 -} - -span.vhdldigit { - color: #ff00ff -} - -span.vhdlchar { - color: #000000 -} - -span.vhdlkeyword { - color: #700070 -} - -span.vhdllogic { - color: #ff0000 -} - -blockquote { - background-color: #F7F8FB; - border-left: 2px solid #e6e6e6; - margin: 0 24px 0 4px; - padding: 0 12px 0 16px; -} - -/* @end */ - -/* -.search { - color: #003399; - font-weight: bold; -} - -form.search { - margin-bottom: 0px; - margin-top: 0px; -} - -input.search { - font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #e8eef2; -} -*/ - -td.tiny { - font-size: 75%; -} - -.dirtab { - padding: 4px; - border-collapse: collapse; - border: 1px solid #e6e6e6; -} - -th.dirtab { - background: #EBEFF6; - font-weight: bold; -} - -hr { - height: 0px; - border: none; - border-top: 1px solid #e6e6e6; -} - -hr.footer { - height: 1px; -} - -/* @group Member Descriptions */ - -table.memberdecls { - border-spacing: 0px; - padding: 0px; -} - -.memberdecls td, .fieldtable tr { - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; - transition-property: background-color, box-shadow; - transition-duration: 0.5s; -} - -.memberdecls td.glow, .fieldtable tr.glow { - background-color: cyan; - box-shadow: 0 0 15px cyan; -} - -.mdescLeft, .mdescRight, -.memItemLeft, .memItemRight, -.memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: #F9FAFC; - border: none; - margin: 4px; - padding: 1px 0 0 8px; -} - -.mdescLeft, .mdescRight { - padding: 0px 8px 4px 8px; - color: #555; -} - -.memSeparator { - border-bottom: 1px solid #e6e6e6; - line-height: 1px; - margin: 0px; - padding: 0px; -} - -.memItemLeft, .memTemplItemLeft { - white-space: nowrap; -} - -.memItemRight { - width: 100%; -} - -.memTemplParams { - color: #4665A2; - white-space: nowrap; - font-size: 80%; -} - -/* @end */ - -/* @group Member Details */ - -/* Styles for detailed member documentation */ - -.memtitle { - display: none; - padding: 8px 0px 8px 8px; - border-top: 1px solid #e6e6e6; - border-left: 1px solid #e6e6e6; - border-right: 1px solid #e6e6e6; - /* border-top-right-radius: 4px; - border-top-left-radius: 4px; */ - margin-bottom: -1px; - /* background-image: url('nav_f.png'); */ - background-repeat: repeat-x; - background-color: #E2E8F2; - line-height: 1.25; - font-weight: 300; - /* float:left; */ - /* added */ - width: 100%; -} - -.permalink -{ - font-size: 65%; - display: inline-block; - vertical-align: middle; -} - -.memtemplate { - font-size: 80%; - color: #4665A2; - font-weight: normal; - margin-left: 9px; -} - -.memnav { - background-color: #EBEFF6; - border: 1px solid #e6e6e6; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} - -.mempage { - width: 100%; -} - -.memitem { - padding: 0; - margin-bottom: 10px; - margin-right: 5px; - -webkit-transition: box-shadow 0.5s linear; - -moz-transition: box-shadow 0.5s linear; - -ms-transition: box-shadow 0.5s linear; - -o-transition: box-shadow 0.5s linear; - transition: box-shadow 0.5s linear; - display: table !important; - width: 100%; -} - -.memitem.glow { - box-shadow: 0 0 15px cyan; -} - -.memname { - font-weight: 400; - margin-left: 6px; -} - -.memname td { - font-weight: 900; - vertical-align: bottom; -} - -.memproto, dl.reflist dt { - border-top: 1px solid #e6e6e6; - border-left: 1px solid #e6e6e6; - border-right: 1px solid #e6e6e6; - border-bottom: 1px dotted #e6e6e6; - padding: 6px 0px 6px 0px; - color: #253555; - font-weight: bold; - //text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - background-color: #f8f8f8; - /* opera specific markup */ - //box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - //border-top-right-radius: 4px; - /* firefox specific markup */ - //-moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - //-moz-border-radius-topright: 4px; - /* webkit specific markup */ - //-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - //-webkit-border-top-right-radius: 4px; - -} - -.overload { - font-family: "courier new",courier,monospace; - font-size: 65%; -} - -.memdoc, dl.reflist dd { - border-bottom: 1px solid #e6e6e6; - border-left: 1px solid #e6e6e6; - border-right: 1px solid #e6e6e6; - padding: 6px 10px 2px 10px; - border-top-width: 0; - //background-image:url('nav_g.png'); - //background-repeat:repeat-x; - background-color: #FFFFFF; - /* opera specific markup */ - //border-bottom-left-radius: 4px; - //border-bottom-right-radius: 4px; - //box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - /* firefox specific markup */ - //-moz-border-radius-bottomleft: 4px; - //-moz-border-radius-bottomright: 4px; - // -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - /* webkit specific markup */ - //-webkit-border-bottom-left-radius: 4px; - //-webkit-border-bottom-right-radius: 4px; - // -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -} - -dl.reflist dt { - padding: 5px; -} - -dl.reflist dd { - margin: 0px 0px 10px 0px; - padding: 5px; -} - -.paramkey { - text-align: right; -} - -.paramtype { - white-space: nowrap; -} - -.paramname { - color: #602020; - white-space: nowrap; -} -.paramname em { - font-style: normal; -} -.paramname code { - line-height: 14px; -} - -.params, .retval, .exception, .tparams { - margin-left: 0px; - padding-left: 0px; -} - -.params .paramname, .retval .paramname { - font-weight: bold; - vertical-align: top; -} - -.params .paramtype { - font-style: italic; - vertical-align: top; -} - -.params .paramdir { - font-family: "courier new",courier,monospace; - vertical-align: top; -} - -table.mlabels { - border-spacing: 0px; -} - -td.mlabels-left { - width: 100%; - padding: 0px; -} - -td.mlabels-right { - vertical-align: bottom; - padding: 0px; - white-space: nowrap; -} - -span.mlabels { - margin-left: 8px; -} - -span.mlabel { - background-color: #728DC1; - border-top:1px solid #e6e6e6; - border-left:1px solid #e6e6e6; - border-right:1px solid #e6e6e6; - border-bottom:1px solid #e6e6e6; - text-shadow: none; - color: white; - margin-right: 4px; - padding: 2px 3px; - border-radius: 3px; - font-size: 7pt; - white-space: nowrap; - vertical-align: middle; -} - - - -/* @end */ - -/* these are for tree view inside a (index) page */ - -div.directory { - margin: 10px 0px; - border-top: 1px solid #e6e6e6; - border-bottom: 1px solid #e6e6e6; - width: 100%; -} - -.directory table { - border-collapse:collapse; -} - -.directory td { - margin: 0px; - padding: 0px; - vertical-align: top; -} - -.directory td.entry { - white-space: nowrap; - padding-right: 6px; - padding-top: 3px; -} - -.directory td.entry a { - outline:none; -} - -.directory td.entry a img { - border: none; -} - -.directory td.desc { - width: 100%; - padding-left: 6px; - padding-right: 6px; - padding-top: 3px; - border-left: 1px solid rgba(0,0,0,0.05); -} - -.directory tr.even { - padding-left: 6px; - background-color: #F7F8FB; -} - -.directory img { - vertical-align: -30%; -} - -.directory .levels { - white-space: nowrap; - width: 100%; - text-align: right; - font-size: 9pt; -} - -.directory .levels span { - cursor: pointer; - padding-left: 2px; - padding-right: 2px; - color: #3D578C; -} - -.arrow { - color: #9CAFD4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: pointer; - font-size: 80%; - display: inline-block; - width: 16px; - height: 22px; -} - -.icon { - font-family: Arial, Helvetica; - font-weight: bold; - font-size: 12px; - height: 14px; - width: 16px; - display: inline-block; - background-color: #728DC1; - color: white; - text-align: center; - border-radius: 4px; - margin-left: 2px; - margin-right: 2px; -} - -.icona { - width: 24px; - height: 22px; - display: inline-block; -} - -.iconfopen { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('folderopen.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -.iconfclosed { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('folderclosed.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -.icondoc { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('doc.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -table.directory { - font: 400 14px Roboto,sans-serif; -} - -/* @end */ - -div.dynheader { - margin-top: 8px; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -address { - font-style: normal; - color: #2A3D61; -} - -table.doxtable caption { - caption-side: top; -} - -table.doxtable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; -} - -table.doxtable td, table.doxtable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; -} - -table.doxtable th { - background-color: #374F7F; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; -} - -table.fieldtable { - /*width: 100%;*/ - margin-bottom: 10px; - border: 1px solid #e6e6e6; - border-spacing: 0px; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); - box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); -} - -.fieldtable td, .fieldtable th { - padding: 3px 7px 2px; -} - -.fieldtable td.fieldtype, .fieldtable td.fieldname { - white-space: nowrap; - border-right: 1px solid #e6e6e6; - border-bottom: 1px solid #e6e6e6; - vertical-align: top; -} - -.fieldtable td.fieldname { - padding-top: 3px; -} - -.fieldtable td.fielddoc { - border-bottom: 1px solid #e6e6e6; - /*width: 100%;*/ -} - -.fieldtable td.fielddoc p:first-child { - margin-top: 0px; -} - -.fieldtable td.fielddoc p:last-child { - margin-bottom: 2px; -} - -.fieldtable tr:last-child td { - border-bottom: none; -} - -.fieldtable th { - background-image:url('nav_f.png'); - background-repeat:repeat-x; - background-color: #E2E8F2; - font-size: 90%; - color: #253555; - padding-bottom: 4px; - padding-top: 5px; - text-align:left; - font-weight: 400; - -moz-border-radius-topleft: 4px; - -moz-border-radius-topright: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; - border-top-left-radius: 4px; - border-top-right-radius: 4px; - border-bottom: 1px solid #e6e6e6; -} - - -.tabsearch { - top: 0px; - left: 10px; - height: 36px; - background-image: url('tab_b.png'); - z-index: 101; - overflow: hidden; - font-size: 13px; -} - -.navpath ul -{ - font-size: 11px; - background-image:url('tab_b.png'); - background-repeat:repeat-x; - background-position: 0 -5px; - height:30px; - line-height:30px; - color:#8AA0CC; - border:solid 1px #e6e6e6; - overflow:hidden; - margin:0px; - padding:0px; -} - -.navpath li -{ - list-style-type:none; - float:left; - padding-left:10px; - padding-right:15px; - background-image:url('bc_s.png'); - background-repeat:no-repeat; - background-position:right; - color:#364D7C; -} - -.navpath li.navelem a -{ - height:32px; - display:block; - text-decoration: none; - outline: none; - color: #283A5D; - font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - text-decoration: none; -} - -.navpath li.navelem a:hover -{ - color:#6884BD; -} - -.navpath li.footer -{ - list-style-type:none; - float:right; - padding-left:10px; - padding-right:15px; - background-image:none; - background-repeat:no-repeat; - background-position:right; - color:#364D7C; - font-size: 8pt; -} - - -div.summary -{ - float: right; - font-size: 8pt; - padding-right: 5px; - width: 50%; - text-align: right; -} - -div.summary a -{ - white-space: nowrap; -} - -table.classindex -{ - margin: 10px; - white-space: nowrap; - margin-left: 3%; - margin-right: 3%; - width: 94%; - border: 0; - border-spacing: 0; - padding: 0; -} - -div.ingroups -{ - font-size: 8pt; - width: 50%; - text-align: left; -} - -div.ingroups a -{ - white-space: nowrap; -} - -div.header -{ - background-image:url('nav_h.png'); - background-repeat:repeat-x; - background-color: #F9FAFC; - margin: 0px; - border-bottom: 1px solid #e6e6e6; -} - -div.headertitle -{ - padding: 5px 5px 5px 10px; -} - -dl -{ - padding: 0 0 0 10px; -} - -/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ -dl.section -{ - margin-left: 0px; - padding-left: 0px; -} - -dl.note -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #e6e6e6; -} - -dl.warning, dl.attention -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #FF0000; -} - -dl.pre, dl.post, dl.invariant -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #00D000; -} - -dl.deprecated -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #505050; -} - -dl.todo -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #00C0E0; -} - -dl.test -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #3030E0; -} - -dl.bug -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #C08050; -} - -dl.section dd { - margin-bottom: 6px; -} - - -#projectlogo -{ - text-align: center; - vertical-align: bottom; - border-collapse: separate; -} - -#projectlogo img -{ - border: 0px none; -} - -#projectalign -{ - vertical-align: middle; -} - -#projectname -{ - font: 300% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 2px 0px; -} - -#projectbrief -{ - font: 120% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 0px; -} - -#projectnumber -{ - font: 50% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 0px; -} - -#titlearea -{ - padding: 0px; - margin: 0px; - width: 100%; - border-bottom: 1px solid #5373B4; -} - -.image -{ - text-align: center; -} - -.dotgraph -{ - text-align: center; -} - -.mscgraph -{ - text-align: center; -} - -.plantumlgraph -{ - text-align: center; -} - -.diagraph -{ - text-align: center; -} - -.caption -{ - font-weight: bold; -} - -div.zoom -{ - border: 1px solid #90A5CE; -} - -dl.citelist { - margin-bottom:50px; -} - -dl.citelist dt { - color:#334975; - float:left; - font-weight:bold; - margin-right:10px; - padding:5px; -} - -dl.citelist dd { - margin:2px 0; - padding:5px 0; -} - -div.toc { - padding: 14px 25px; - background-color: #F4F6FA; - border: 1px solid #D8DFEE; - border-radius: 7px 7px 7px 7px; - float: right; - height: auto; - margin: 0 8px 10px 10px; - width: 200px; -} - -div.toc li { - background: url("bdwn.png") no-repeat scroll 0 5px transparent; - font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; - margin-top: 5px; - padding-left: 10px; - padding-top: 2px; -} - -div.toc h3 { - font: bold 12px/1.2 Arial,FreeSans,sans-serif; - color: #4665A2; - border-bottom: 0 none; - margin: 0; -} - -div.toc ul { - list-style: none outside none; - border: medium none; - padding: 0px; -} - -div.toc li.level1 { - margin-left: 0px; -} - -div.toc li.level2 { - margin-left: 15px; -} - -div.toc li.level3 { - margin-left: 30px; -} - -div.toc li.level4 { - margin-left: 45px; -} - -.inherit_header { - font-weight: bold; - color: gray; - cursor: pointer; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.inherit_header td { - padding: 6px 0px 2px 5px; -} - -.inherit { - display: none; -} - -tr.heading h2 { - margin-top: 12px; - margin-bottom: 4px; -} - -/* tooltip related style info */ - -.ttc { - position: absolute; - display: none; -} - -#powerTip { - cursor: default; - white-space: nowrap; - background-color: white; - border: 1px solid gray; - border-radius: 4px 4px 4px 4px; - box-shadow: 1px 1px 7px gray; - display: none; - font-size: smaller; - max-width: 80%; - opacity: 0.9; - padding: 1ex 1em 1em; - position: absolute; - z-index: 2147483647; -} - -#powerTip div.ttdoc { - color: grey; - font-style: italic; -} - -#powerTip div.ttname a { - font-weight: bold; -} - -#powerTip div.ttname { - font-weight: bold; -} - -#powerTip div.ttdeci { - color: #006318; -} - -#powerTip div { - margin: 0px; - padding: 0px; - font: 12px/16px Roboto,sans-serif; -} - -#powerTip:before, #powerTip:after { - content: ""; - position: absolute; - margin: 0px; -} - -#powerTip.n:after, #powerTip.n:before, -#powerTip.s:after, #powerTip.s:before, -#powerTip.w:after, #powerTip.w:before, -#powerTip.e:after, #powerTip.e:before, -#powerTip.ne:after, #powerTip.ne:before, -#powerTip.se:after, #powerTip.se:before, -#powerTip.nw:after, #powerTip.nw:before, -#powerTip.sw:after, #powerTip.sw:before { - border: solid transparent; - content: " "; - height: 0; - width: 0; - position: absolute; -} - -#powerTip.n:after, #powerTip.s:after, -#powerTip.w:after, #powerTip.e:after, -#powerTip.nw:after, #powerTip.ne:after, -#powerTip.sw:after, #powerTip.se:after { - border-color: rgba(255, 255, 255, 0); -} - -#powerTip.n:before, #powerTip.s:before, -#powerTip.w:before, #powerTip.e:before, -#powerTip.nw:before, #powerTip.ne:before, -#powerTip.sw:before, #powerTip.se:before { - border-color: rgba(128, 128, 128, 0); -} - -#powerTip.n:after, #powerTip.n:before, -#powerTip.ne:after, #powerTip.ne:before, -#powerTip.nw:after, #powerTip.nw:before { - top: 100%; -} - -#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { - border-top-color: #ffffff; - border-width: 10px; - margin: 0px -10px; -} -#powerTip.n:before { - border-top-color: #808080; - border-width: 11px; - margin: 0px -11px; -} -#powerTip.n:after, #powerTip.n:before { - left: 50%; -} - -#powerTip.nw:after, #powerTip.nw:before { - right: 14px; -} - -#powerTip.ne:after, #powerTip.ne:before { - left: 14px; -} - -#powerTip.s:after, #powerTip.s:before, -#powerTip.se:after, #powerTip.se:before, -#powerTip.sw:after, #powerTip.sw:before { - bottom: 100%; -} - -#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { - border-bottom-color: #ffffff; - border-width: 10px; - margin: 0px -10px; -} - -#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { - border-bottom-color: #808080; - border-width: 11px; - margin: 0px -11px; -} - -#powerTip.s:after, #powerTip.s:before { - left: 50%; -} - -#powerTip.sw:after, #powerTip.sw:before { - right: 14px; -} - -#powerTip.se:after, #powerTip.se:before { - left: 14px; -} - -#powerTip.e:after, #powerTip.e:before { - left: 100%; -} -#powerTip.e:after { - border-left-color: #ffffff; - border-width: 10px; - top: 50%; - margin-top: -10px; -} -#powerTip.e:before { - border-left-color: #808080; - border-width: 11px; - top: 50%; - margin-top: -11px; -} - -#powerTip.w:after, #powerTip.w:before { - right: 100%; -} -#powerTip.w:after { - border-right-color: #ffffff; - border-width: 10px; - top: 50%; - margin-top: -10px; -} -#powerTip.w:before { - border-right-color: #808080; - border-width: 11px; - top: 50%; - margin-top: -11px; -} - -@media print -{ - #top { display: none; } - #side-nav { display: none; } - #nav-path { display: none; } - body { overflow:visible; } - h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } - .summary { display: none; } - .memitem { page-break-inside: avoid; } - #doc-content - { - margin-left:0 !important; - height:auto !important; - width:auto !important; - overflow:inherit; - display:inline; - } -} - -/* @group Markdown */ - -/* -table.markdownTable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; -} - -table.markdownTable td, table.markdownTable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; -} - -table.markdownTableHead tr { -} - -table.markdownTableBodyLeft td, table.markdownTable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; -} - -th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone { - background-color: #374F7F; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; -} - -th.markdownTableHeadLeft { - text-align: left -} - -th.markdownTableHeadRight { - text-align: right -} - -th.markdownTableHeadCenter { - text-align: center -} -*/ - -table.markdownTable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; -} - -table.markdownTable td, table.markdownTable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; -} - -table.markdownTable tr { -} - -th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { - background-color: #374F7F; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; -} - -th.markdownTableHeadLeft, td.markdownTableBodyLeft { - text-align: left -} - -th.markdownTableHeadRight, td.markdownTableBodyRight { - text-align: right -} - -th.markdownTableHeadCenter, td.markdownTableBodyCenter { - text-align: center -} - - -/* @end */ diff --git a/docs/html/dynsections.js b/docs/html/dynsections.js deleted file mode 100644 index c1ce12260c..0000000000 --- a/docs/html/dynsections.js +++ /dev/null @@ -1,120 +0,0 @@ -/* - @licstart The following is the entire license notice for the - JavaScript code in this file. - - Copyright (C) 1997-2017 by Dimitri van Heesch - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - @licend The above is the entire license notice - for the JavaScript code in this file - */ -function toggleVisibility(linkObj) -{ - var base = $(linkObj).attr('id'); - var summary = $('#'+base+'-summary'); - var content = $('#'+base+'-content'); - var trigger = $('#'+base+'-trigger'); - var src=$(trigger).attr('src'); - if (content.is(':visible')===true) { - content.hide(); - summary.show(); - $(linkObj).addClass('closed').removeClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); - } else { - content.show(); - summary.hide(); - $(linkObj).removeClass('closed').addClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); - } - return false; -} - -function updateStripes() -{ - $('table.directory tr'). - removeClass('even').filter(':visible:even').addClass('even'); -} - -function toggleLevel(level) -{ - $('table.directory tr').each(function() { - var l = this.id.split('_').length-1; - var i = $('#img'+this.id.substring(3)); - var a = $('#arr'+this.id.substring(3)); - if (l - - - - - - - -ML-Agents: File List - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
ML-Agents -  v0.3 -
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
File List
-
-
-
Here is a list of all files with brief descriptions:
-
-
- - - - - diff --git a/docs/html/files_dup.js b/docs/html/files_dup.js deleted file mode 100644 index c713106d8a..0000000000 --- a/docs/html/files_dup.js +++ /dev/null @@ -1,39 +0,0 @@ -var files_dup = -[ - [ "Academy.cs", "Academy_8cs.html", [ - [ "EnvironmentConfiguration", "classEnvironmentConfiguration.html", "classEnvironmentConfiguration" ], - [ "Academy", "classAcademy.html", "classAcademy" ] - ] ], - [ "Agent.cs", "Agent_8cs.html", [ - [ "AgentInfo", "Agent_8cs.html#structAgentInfo", [ - [ "done", "Agent_8cs.html#a1d39aac66e12dae50a24cd7a9100ef33", null ], - [ "id", "Agent_8cs.html#a7441ef0865bcb3db9b8064dd7375c1ea", null ], - [ "maxStepReached", "Agent_8cs.html#a5b90735e18b8f5df83c465f78733f63d", null ], - [ "memories", "Agent_8cs.html#a2ef761809d305d84678380bbd1ae4cc9", null ], - [ "reward", "Agent_8cs.html#ab18e03604d8452d6d86f55873e19732a", null ], - [ "stackedVectorObservation", "Agent_8cs.html#a308a4987ac541acbd58a9cc9c96b1ace", null ], - [ "storedTextActions", "Agent_8cs.html#a16d35fb78652a70b50a8d9355da8cadd", null ], - [ "storedVectorActions", "Agent_8cs.html#ae5414923dbbbd2a39ab4e94d3061bbac", null ], - [ "textObservation", "Agent_8cs.html#ada2ee0fb0667ff7a98fa6e76734c0e1d", null ], - [ "vectorObservation", "Agent_8cs.html#a35913fa60b0dd9d9a2fff5e9ea816181", null ], - [ "visualObservations", "Agent_8cs.html#a3e2c1c7c1fe14981c3bab872f999953d", null ] - ] ], - [ "AgentAction", "Agent_8cs.html#structAgentAction", [ - [ "memories", "Agent_8cs.html#a2ef761809d305d84678380bbd1ae4cc9", null ], - [ "textActions", "Agent_8cs.html#af3a8b157b1eb809e256f68314db6e1bd", null ], - [ "vectorActions", "Agent_8cs.html#a56a7fa0379094a56a4158ac50dd31dd1", null ] - ] ], - [ "AgentParameters", "Agent_8cs.html#classAgentParameters", [ - [ "agentCameras", "Agent_8cs.html#a1e23676a7014ca3a552c39e9cfc1fb27", null ], - [ "maxStep", "Agent_8cs.html#a68defcf610c5210aa9a2b73fb4de6fbe", null ], - [ "numberOfActionsBetweenDecisions", "Agent_8cs.html#af84a8178eb8593c986c511a57b76305e", null ], - [ "onDemandDecision", "Agent_8cs.html#adc9588e03d6582f35d1501d7f6c64e5a", null ], - [ "resetOnDone", "Agent_8cs.html#a1e06d6fe173ee1f37c3b7a9af8050195", null ] - ] ], - [ "Agent", "classAgent.html", "classAgent" ] - ] ], - [ "Decision.cs", "Decision_8cs.html", [ - [ "Decision", "interfaceDecision.html", "interfaceDecision" ] - ] ], - [ "Monitor.cs", "Monitor_8cs.html", "Monitor_8cs" ] -]; \ No newline at end of file diff --git a/docs/html/folderclosed.png b/docs/html/folderclosed.png deleted file mode 100644 index bb8ab35edce8e97554e360005ee9fc5bffb36e66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 616 zcmV-u0+;=XP)a9#ETzayK)T~Jw&MMH>OIr#&;dC}is*2Mqdf&akCc=O@`qC+4i z5Iu3w#1M@KqXCz8TIZd1wli&kkl2HVcAiZ8PUn5z_kG@-y;?yK06=cA0U%H0PH+kU zl6dp}OR(|r8-RG+YLu`zbI}5TlOU6ToR41{9=uz^?dGTNL;wIMf|V3`d1Wj3y!#6` zBLZ?xpKR~^2x}?~zA(_NUu3IaDB$tKma*XUdOZN~c=dLt_h_k!dbxm_*ibDM zlFX`g{k$X}yIe%$N)cn1LNu=q9_CS)*>A zsX_mM4L@`(cSNQKMFc$RtYbx{79#j-J7hk*>*+ZZhM4Hw?I?rsXCi#mRWJ=-0LGV5a-WR0Qgt<|Nqf)C-@80`5gIz45^_20000IqP)X=#(TiCT&PiIIVc55T}TU}EUh*{q$|`3@{d>{Tc9Bo>e= zfmF3!f>fbI9#GoEHh0f`i5)wkLpva0ztf%HpZneK?w-7AK@b4Itw{y|Zd3k!fH?q2 zlhckHd_V2M_X7+)U&_Xcfvtw60l;--DgZmLSw-Y?S>)zIqMyJ1#FwLU*%bl38ok+! zh78H87n`ZTS;uhzAR$M`zZ`bVhq=+%u9^$5jDplgxd44}9;IRqUH1YHH|@6oFe%z( zo4)_>E$F&^P-f(#)>(TrnbE>Pefs9~@iN=|)Rz|V`sGfHNrJ)0gJb8xx+SBmRf@1l zvuzt=vGfI)<-F9!o&3l?>9~0QbUDT(wFdnQPv%xdD)m*g%!20>Bc9iYmGAp<9YAa( z0QgYgTWqf1qN++Gqp z8@AYPTB3E|6s=WLG?xw0tm|U!o=&zd+H0oRYE;Dbx+Na9s^STqX|Gnq%H8s(nGDGJ j8vwW|`Ts`)fSK|Kx=IK@RG@g200000NkvXXu0mjfauFEA diff --git a/docs/html/functions.html b/docs/html/functions.html deleted file mode 100644 index 7acacd1856..0000000000 --- a/docs/html/functions.html +++ /dev/null @@ -1,394 +0,0 @@ - - - - - - - - -ML-Agents: Class Members - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
ML-Agents -  v0.3 -
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
Here is a list of all class members with links to the classes they belong to:
- -

- a -

- - -

- b -

- - -

- c -

    -
  • CollectObservations() -: Agent -
  • -
- - -

- d -

- - -

- e -

- - -

- g -

- - -

- h -

- - -

- i -

- - -

- l -

- - -

- m -

- - -

- n -

- - -

- o -

- - -

- q -

- - -

- r -

- - -

- s -

- - -

- t -

- - -

- u -

    -
  • UpdateMemoriesAction() -: Agent -
  • -
  • UpdateTextAction() -: Agent -
  • -
  • UpdateVectorAction() -: Agent -
  • -
- - -

- v -

- - -

- w -

-
-
- - - - - diff --git a/docs/html/functions_evnt.html b/docs/html/functions_evnt.html deleted file mode 100644 index e0b0fc8a48..0000000000 --- a/docs/html/functions_evnt.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - -ML-Agents: Class Members - Events - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
ML-Agents -  v0.3 -
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
- - - - - diff --git a/docs/html/functions_func.html b/docs/html/functions_func.html deleted file mode 100644 index 70b7881eb6..0000000000 --- a/docs/html/functions_func.html +++ /dev/null @@ -1,266 +0,0 @@ - - - - - - - - -ML-Agents: Class Members - Functions - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
ML-Agents -  v0.3 -
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-  - -

- a -

- - -

- c -

    -
  • CollectObservations() -: Agent -
  • -
- - -

- d -

- - -

- e -

- - -

- g -

- - -

- i -

- - -

- l -

- - -

- m -

- - -

- o -

    -
  • ObservationToTexture() -: Agent -
  • -
- - -

- r -

    -
  • RemoveAllValues() -: Monitor -
  • -
  • RemoveValue() -: Monitor -
  • -
  • RequestAction() -: Agent -
  • -
  • RequestDecision() -: Agent -
  • -
  • ResetReward() -: Agent -
  • -
- - -

- s -

- - -

- u -

    -
  • UpdateMemoriesAction() -: Agent -
  • -
  • UpdateTextAction() -: Agent -
  • -
  • UpdateVectorAction() -: Agent -
  • -
-
-
- - - - - diff --git a/docs/html/functions_vars.html b/docs/html/functions_vars.html deleted file mode 100644 index d1a043788b..0000000000 --- a/docs/html/functions_vars.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - - - - - -ML-Agents: Class Members - Variables - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
ML-Agents -  v0.3 -
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
- - - - - diff --git a/docs/html/globals.html b/docs/html/globals.html deleted file mode 100644 index 2cea5a480d..0000000000 --- a/docs/html/globals.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - - -ML-Agents: File Members - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
ML-Agents -  v0.3 -
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
Here is a list of all file members with links to the files they belong to:
-
-
- - - - - diff --git a/docs/html/globals_enum.html b/docs/html/globals_enum.html deleted file mode 100644 index 4c3e3fce28..0000000000 --- a/docs/html/globals_enum.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - - -ML-Agents: File Members - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
ML-Agents -  v0.3 -
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
- - - - - diff --git a/docs/html/hierarchy.html b/docs/html/hierarchy.html deleted file mode 100644 index fea8fd359a..0000000000 --- a/docs/html/hierarchy.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - - - -ML-Agents: Class Hierarchy - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
ML-Agents -  v0.3 -
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Class Hierarchy
-
-
-
This inheritance list is sorted roughly, but not completely, alphabetically:
-
[detail level 12]
- - - - - - - - - -
 CAgentActionStruct that contains the action information sent from the Brain to the Agent
 CAgentInfoStruct that contains all the information for an Agent, including its observations, actions and current status, that is sent to the Brain
 CAgentParametersStruct that contains all the Agent-specific parameters provided in the Editor
 CDecisionInterface for implementing the behavior of an Agent that uses a Heuristic Brain
 CEnvironmentConfigurationWelcome to Unity Machine Learning Agents (ML-Agents)
 CMonoBehaviour
 CAcademyAn Academy is where Agent objects go to train their behaviors
 CAgentAgent Monobehavior class that is attached to a Unity GameObject, making it an Agent
 CMonitorMonitor is used to display information about the Agent within the Unity scene
-
-
-
- - - - - diff --git a/docs/html/hierarchy.js b/docs/html/hierarchy.js deleted file mode 100644 index 39c5c26682..0000000000 --- a/docs/html/hierarchy.js +++ /dev/null @@ -1,13 +0,0 @@ -var hierarchy = -[ - [ "AgentAction", "Agent_8cs.html#structAgentAction", null ], - [ "AgentInfo", "Agent_8cs.html#structAgentInfo", null ], - [ "AgentParameters", "Agent_8cs.html#classAgentParameters", null ], - [ "Decision", "interfaceDecision.html", null ], - [ "EnvironmentConfiguration", "classEnvironmentConfiguration.html", null ], - [ "MonoBehaviour", null, [ - [ "Academy", "classAcademy.html", null ], - [ "Agent", "classAgent.html", null ], - [ "Monitor", "classMonitor.html", null ] - ] ] -]; \ No newline at end of file diff --git a/docs/html/index.html b/docs/html/index.html deleted file mode 100644 index 600ef61fde..0000000000 --- a/docs/html/index.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - - -ML-Agents: Main Page - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
ML-Agents -  v0.3 -
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ML-Agents Documentation
-
-
-
-
- - - - - diff --git a/docs/html/interfaceDecision-members.html b/docs/html/interfaceDecision-members.html deleted file mode 100644 index 0e40be0d96..0000000000 --- a/docs/html/interfaceDecision-members.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - -ML-Agents: Member List - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
ML-Agents -  v0.3 -
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Decision Member List
-
-
- -

This is the complete list of members for Decision, including all inherited members.

- - - -
Decide(List< float > vectorObs, List< Texture2D > visualObs, float reward, bool done, List< float > memory)Decision
MakeMemory(List< float > vectorObs, List< Texture2D > visualObs, float reward, bool done, List< float > memory)Decision
-
- - - - - diff --git a/docs/html/interfaceDecision.html b/docs/html/interfaceDecision.html deleted file mode 100644 index 1b1b2eef32..0000000000 --- a/docs/html/interfaceDecision.html +++ /dev/null @@ -1,248 +0,0 @@ - - - - - - - - -ML-Agents: Decision Interface Reference - - - - - - - - - - - - - - - -
-
- - - - - - - -
-
ML-Agents -  v0.3 -
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
Decision Interface Reference
-
-
- -

Interface for implementing the behavior of an Agent that uses a Heuristic Brain. - More...

- - - - - - - - -

-Public Member Functions

float [] Decide (List< float > vectorObs, List< Texture2D > visualObs, float reward, bool done, List< float > memory)
 Defines the decision-making logic of the agent. More...
 
List< float > MakeMemory (List< float > vectorObs, List< Texture2D > visualObs, float reward, bool done, List< float > memory)
 Defines the logic for creating the memory vector for the Agent. More...
 
-

Detailed Description

-

Interface for implementing the behavior of an Agent that uses a Heuristic Brain.

-

The behavior of an Agent in this case is fully decided using the implementation of these methods and no training or inference takes place. Currently, the Heuristic Brain does not support text observations and actions.

-

Member Function Documentation

- -

◆ Decide()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
float [] Decide (List< float > vectorObs,
List< Texture2D > visualObs,
float reward,
bool done,
List< float > memory 
)
-
- -

Defines the decision-making logic of the agent.

-

Given the information about the agent, returns a vector of actions.

-
Returns
Vector action vector.
-
Parameters
- - - - - - -
vectorObsThe vector observations of the agent.
visualObsThe cameras the agent uses for visual observations.
rewardThe reward the agent received at the previous step.
doneWhether or not the agent is done.
memoryThe memories stored from the previous step with MakeMemory(List<float>, List<Texture2D>, float, bool, List<float>)
-
-
- -
-
- -

◆ MakeMemory()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
List<float> MakeMemory (List< float > vectorObs,
List< Texture2D > visualObs,
float reward,
bool done,
List< float > memory 
)
-
- -

Defines the logic for creating the memory vector for the Agent.

-
Returns
The vector of memories the agent will use at the next step.
-
Parameters
- - - - - - -
vectorObsThe vector observations of the agent.
visualObsThe cameras the agent uses for visual observations.
rewardThe reward the agent received at the previous step.
doneWhether or not the agent is done.
memoryThe memories stored from the previous call to this method.
-
-
- -
-
-
The documentation for this interface was generated from the following file: -
-
- - - - - diff --git a/docs/html/interfaceDecision.js b/docs/html/interfaceDecision.js deleted file mode 100644 index 20805d5844..0000000000 --- a/docs/html/interfaceDecision.js +++ /dev/null @@ -1,5 +0,0 @@ -var interfaceDecision = -[ - [ "Decide", "interfaceDecision.html#abb85e0755e26da5dd575b6ae92caa11d", null ], - [ "MakeMemory", "interfaceDecision.html#aab04da17017eb9206dfec50039843432", null ] -]; \ No newline at end of file diff --git a/docs/html/jquery.js b/docs/html/jquery.js deleted file mode 100644 index 2771c749a4..0000000000 --- a/docs/html/jquery.js +++ /dev/null @@ -1,115 +0,0 @@ -/* - @licstart The following is the entire license notice for the - JavaScript code in this file. - - Copyright (C) 1997-2017 by Dimitri van Heesch - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - @licend The above is the entire license notice - for the JavaScript code in this file - */ -/*! - * jQuery JavaScript Library v1.7.1 - * http://jquery.com/ - * - * Copyright 2011, John Resig - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * - * Date: Mon Nov 21 21:11:03 2011 -0500 - */ -(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); -/*! - * Sizzle CSS Selector Engine - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * More information: http://sizzlejs.com/ - */ -(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*! - * jQuery UI 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI - */ -(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*! - * jQuery UI Widget 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Widget - */ -(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*! - * jQuery UI Mouse 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Mouse - * - * Depends: - * jquery.ui.widget.js - */ -(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g
');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(hl.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*! - * jQuery hashchange event - v1.3 - 7/21/2010 - * http://benalman.com/projects/jquery-hashchange-plugin/ - * - * Copyright (c) 2010 "Cowboy" Ben Alman - * Dual licensed under the MIT and GPL licenses. - * http://benalman.com/about/license/ - */ -(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$('