Merge remote-tracking branch 'origin/master' into master

master
pua4io5sn 3 years ago
parent 00a9358115
commit 9cba9d82a8

@ -13,16 +13,6 @@
<element id="directory" name="classes">
<element id="module-output" name="code" />
</element>
<element id="directory" name="lib">
<element id="library" level="project" name="Maven: org.apache.struts:struts2-core:2.5.26" />
<element id="library" level="project" name="Maven: org.freemarker:freemarker:2.3.30" />
<element id="library" level="project" name="Maven: ognl:ognl:3.1.28" />
<element id="library" level="project" name="Maven: org.javassist:javassist:3.20.0-GA" />
<element id="library" level="project" name="Maven: org.apache.logging.log4j:log4j-api:2.12.1" />
<element id="library" level="project" name="Maven: commons-fileupload:commons-fileupload:1.4" />
<element id="library" level="project" name="Maven: commons-io:commons-io:2.6" />
<element id="library" level="project" name="Maven: org.apache.commons:commons-lang3:3.8.1" />
</element>
</element>
<element id="directory" name="META-INF">
<element id="file-copy" path="$PROJECT_DIR$/code/target/code-1.0-SNAPSHOT/META-INF/MANIFEST.MF" />

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/code/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/code/src/main/resources" charset="UTF-8" />
</component>
</project>

@ -0,0 +1,15 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="HtmlUnknownAttribute" enabled="true" level="WARNING" enabled_by_default="true">
<option name="myValues">
<value>
<list size="1">
<item index="0" class="java.lang.String" itemvalue="ng-repeat" />
</list>
</value>
</option>
<option name="myCustomValuesEnabled" value="true" />
</inspection_tool>
</profile>
</component>

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="FrameworkDetectionExcludesConfiguration">
<file type="web" url="file://$PROJECT_DIR$/code" />
</component>
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/code/pom.xml" />
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_16" default="true" project-jdk-name="JavaSE-1.7" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/code/code.iml" filepath="$PROJECT_DIR$/code/code.iml" />
<module fileurl="file://$PROJECT_DIR$/code/.mvn/wrapper/wrapper.iml" filepath="$PROJECT_DIR$/code/.mvn/wrapper/wrapper.iml" />
</modules>
</component>
</project>

@ -0,0 +1,4 @@
<changelist name="在进行更新之前于_2021_11_9_10_25_取消提交了变更_[默认变更列表]" date="1636424728734" recycled="true" deleted="true">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/在进行更新之前于_2021_11_9_10_25_取消提交了变更_[默认变更列表]/shelved.patch" />
<option name="DESCRIPTION" value="在进行更新之前于 2021/11/9 10:25 取消提交了变更 [默认变更列表]" />
</changelist>

@ -0,0 +1,330 @@
Index: .idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_0.xml
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_0.xml b/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_0.xml
new file mode 100644
--- /dev/null (date 1636423398754)
+++ b/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_0.xml (date 1636423398754)
@@ -0,0 +1,13 @@
+<component name="libraryTable">
+ <library name="Maven: org.apiguardian:apiguardian-api:1.1.0">
+ <CLASSES>
+ <root url="jar://$MAVEN_REPOSITORY$/org/apiguardian/apiguardian-api/1.1.0/apiguardian-api-1.1.0.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MAVEN_REPOSITORY$/org/apiguardian/apiguardian-api/1.1.0/apiguardian-api-1.1.0-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MAVEN_REPOSITORY$/org/apiguardian/apiguardian-api/1.1.0/apiguardian-api-1.1.0-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
Index: .idea/libraries/Maven__javax_servlet_javax_servlet_api_4_0_1.xml
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/.idea/libraries/Maven__javax_servlet_javax_servlet_api_4_0_1.xml b/.idea/libraries/Maven__javax_servlet_javax_servlet_api_4_0_1.xml
new file mode 100644
--- /dev/null (date 1636423398746)
+++ b/.idea/libraries/Maven__javax_servlet_javax_servlet_api_4_0_1.xml (date 1636423398746)
@@ -0,0 +1,13 @@
+<component name="libraryTable">
+ <library name="Maven: javax.servlet:javax.servlet-api:4.0.1">
+ <CLASSES>
+ <root url="jar://$MAVEN_REPOSITORY$/javax/servlet/javax.servlet-api/4.0.1/javax.servlet-api-4.0.1.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MAVEN_REPOSITORY$/javax/servlet/javax.servlet-api/4.0.1/javax.servlet-api-4.0.1-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MAVEN_REPOSITORY$/javax/servlet/javax.servlet-api/4.0.1/javax.servlet-api-4.0.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
Index: .idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_7_1.xml
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_7_1.xml b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_7_1.xml
new file mode 100644
--- /dev/null (date 1636423398767)
+++ b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_7_1.xml (date 1636423398767)
@@ -0,0 +1,13 @@
+<component name="libraryTable">
+ <library name="Maven: org.junit.jupiter:junit-jupiter-engine:5.7.1">
+ <CLASSES>
+ <root url="jar://$MAVEN_REPOSITORY$/org/junit/jupiter/junit-jupiter-engine/5.7.1/junit-jupiter-engine-5.7.1.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MAVEN_REPOSITORY$/org/junit/jupiter/junit-jupiter-engine/5.7.1/junit-jupiter-engine-5.7.1-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MAVEN_REPOSITORY$/org/junit/jupiter/junit-jupiter-engine/5.7.1/junit-jupiter-engine-5.7.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
Index: .idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_7_1.xml
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_7_1.xml b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_7_1.xml
new file mode 100644
--- /dev/null (date 1636423398760)
+++ b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_7_1.xml (date 1636423398760)
@@ -0,0 +1,13 @@
+<component name="libraryTable">
+ <library name="Maven: org.junit.jupiter:junit-jupiter-api:5.7.1">
+ <CLASSES>
+ <root url="jar://$MAVEN_REPOSITORY$/org/junit/jupiter/junit-jupiter-api/5.7.1/junit-jupiter-api-5.7.1.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MAVEN_REPOSITORY$/org/junit/jupiter/junit-jupiter-api/5.7.1/junit-jupiter-api-5.7.1-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MAVEN_REPOSITORY$/org/junit/jupiter/junit-jupiter-api/5.7.1/junit-jupiter-api-5.7.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
Index: .idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_7_1.xml
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_7_1.xml b/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_7_1.xml
new file mode 100644
--- /dev/null (date 1636423398782)
+++ b/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_7_1.xml (date 1636423398782)
@@ -0,0 +1,13 @@
+<component name="libraryTable">
+ <library name="Maven: org.junit.platform:junit-platform-engine:1.7.1">
+ <CLASSES>
+ <root url="jar://$MAVEN_REPOSITORY$/org/junit/platform/junit-platform-engine/1.7.1/junit-platform-engine-1.7.1.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MAVEN_REPOSITORY$/org/junit/platform/junit-platform-engine/1.7.1/junit-platform-engine-1.7.1-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MAVEN_REPOSITORY$/org/junit/platform/junit-platform-engine/1.7.1/junit-platform-engine-1.7.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
Index: .idea/misc.xml
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
<+><?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<project version=\"4\">\r\n <component name=\"ProjectRootManager\" version=\"2\" languageLevel=\"JDK_11\" project-jdk-name=\"11\" project-jdk-type=\"JavaSDK\">\r\n <output url=\"file://$PROJECT_DIR$/out\" />\r\n </component>\r\n</project>
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/.idea/misc.xml b/.idea/misc.xml
--- a/.idea/misc.xml (revision 84266d9a3678e660ce280dc4cf2fe53ecabab322)
+++ b/.idea/misc.xml (date 1636423398809)
@@ -1,5 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
+ <component name="FrameworkDetectionExcludesConfiguration">
+ <file type="web" url="file://$PROJECT_DIR$/code" />
+ </component>
+ <component name="MavenProjectsManager">
+ <option name="originalFiles">
+ <list>
+ <option value="$PROJECT_DIR$/code/pom.xml" />
+ </list>
+ </option>
+ </component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" project-jdk-name="11" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
Index: .idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_7_1.xml
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_7_1.xml b/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_7_1.xml
new file mode 100644
--- /dev/null (date 1636423398775)
+++ b/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_7_1.xml (date 1636423398775)
@@ -0,0 +1,13 @@
+<component name="libraryTable">
+ <library name="Maven: org.junit.platform:junit-platform-commons:1.7.1">
+ <CLASSES>
+ <root url="jar://$MAVEN_REPOSITORY$/org/junit/platform/junit-platform-commons/1.7.1/junit-platform-commons-1.7.1.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MAVEN_REPOSITORY$/org/junit/platform/junit-platform-commons/1.7.1/junit-platform-commons-1.7.1-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MAVEN_REPOSITORY$/org/junit/platform/junit-platform-commons/1.7.1/junit-platform-commons-1.7.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
Index: .idea/compiler.xml
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
--- /dev/null (date 1636423398803)
+++ b/.idea/compiler.xml (date 1636423398803)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="CompilerConfiguration">
+ <annotationProcessing>
+ <profile name="Maven default annotation processors profile" enabled="true">
+ <sourceOutputDir name="target/generated-sources/annotations" />
+ <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
+ <outputRelativeToContentRoot value="true" />
+ <module name="code" />
+ </profile>
+ </annotationProcessing>
+ <bytecodeTargetLevel>
+ <module name="code" target="1.8" />
+ </bytecodeTargetLevel>
+ </component>
+</project>
\ No newline at end of file
Index: .idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml b/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml
new file mode 100644
--- /dev/null (date 1636423398790)
+++ b/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml (date 1636423398790)
@@ -0,0 +1,13 @@
+<component name="libraryTable">
+ <library name="Maven: org.opentest4j:opentest4j:1.2.0">
+ <CLASSES>
+ <root url="jar://$MAVEN_REPOSITORY$/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MAVEN_REPOSITORY$/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MAVEN_REPOSITORY$/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
Index: .idea/artifacts/code_war.xml
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/.idea/artifacts/code_war.xml b/.idea/artifacts/code_war.xml
new file mode 100644
--- /dev/null (date 1636423398819)
+++ b/.idea/artifacts/code_war.xml (date 1636423398819)
@@ -0,0 +1,14 @@
+<component name="ArtifactManager">
+ <artifact type="war" name="code:war">
+ <output-path>$PROJECT_DIR$/code/target</output-path>
+ <properties id="maven-jee-properties">
+ <options>
+ <module>code</module>
+ <packaging>war</packaging>
+ </options>
+ </properties>
+ <root id="archive" name="code-1.0-SNAPSHOT.war">
+ <element id="artifact" artifact-name="code:war exploded" />
+ </root>
+ </artifact>
+</component>
\ No newline at end of file
Index: .idea/modules.xml
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
<+><?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<project version=\"4\">\r\n <component name=\"ProjectModuleManager\">\r\n <modules>\r\n <module fileurl=\"file://$PROJECT_DIR$/.idea/OJ.iml\" filepath=\"$PROJECT_DIR$/.idea/OJ.iml\" />\r\n </modules>\r\n </component>\r\n</project>
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/.idea/modules.xml b/.idea/modules.xml
--- a/.idea/modules.xml (revision 84266d9a3678e660ce280dc4cf2fe53ecabab322)
+++ b/.idea/modules.xml (date 1636423398722)
@@ -3,6 +3,7 @@
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/OJ.iml" filepath="$PROJECT_DIR$/.idea/OJ.iml" />
+ <module fileurl="file://$PROJECT_DIR$/code/code.iml" filepath="$PROJECT_DIR$/code/code.iml" />
</modules>
</component>
</project>
\ No newline at end of file
Index: .idea/jarRepositories.xml
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
--- /dev/null (date 1636423398836)
+++ b/.idea/jarRepositories.xml (date 1636423398836)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="RemoteRepositoriesConfiguration">
+ <remote-repository>
+ <option name="id" value="central" />
+ <option name="name" value="Central Repository" />
+ <option name="url" value="https://repo.maven.apache.org/maven2" />
+ </remote-repository>
+ <remote-repository>
+ <option name="id" value="central" />
+ <option name="name" value="Maven Central repository" />
+ <option name="url" value="https://repo1.maven.org/maven2" />
+ </remote-repository>
+ <remote-repository>
+ <option name="id" value="jboss.community" />
+ <option name="name" value="JBoss Community repository" />
+ <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
+ </remote-repository>
+ </component>
+</project>
\ No newline at end of file
Index: .idea/artifacts/code_war_exploded.xml
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/.idea/artifacts/code_war_exploded.xml b/.idea/artifacts/code_war_exploded.xml
new file mode 100644
--- /dev/null (date 1636423398826)
+++ b/.idea/artifacts/code_war_exploded.xml (date 1636423398826)
@@ -0,0 +1,23 @@
+<component name="ArtifactManager">
+ <artifact type="exploded-war" name="code:war exploded">
+ <output-path>$PROJECT_DIR$/code/target/code-1.0-SNAPSHOT</output-path>
+ <properties id="maven-jee-properties">
+ <options>
+ <exploded>true</exploded>
+ <module>code</module>
+ <packaging>war</packaging>
+ </options>
+ </properties>
+ <root id="root">
+ <element id="directory" name="WEB-INF">
+ <element id="directory" name="classes">
+ <element id="module-output" name="code" />
+ </element>
+ </element>
+ <element id="directory" name="META-INF">
+ <element id="file-copy" path="$PROJECT_DIR$/code/target/code-1.0-SNAPSHOT/META-INF/MANIFEST.MF" />
+ </element>
+ <element id="javaee-facet-resources" facet="code/web/Web" />
+ </root>
+ </artifact>
+</component>
\ No newline at end of file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

@ -0,0 +1,409 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ArtifactsWorkspaceSettings">
<artifacts-to-build>
<artifact name="code:war" />
</artifacts-to-build>
</component>
<component name="AutoImportSettings">
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="ChangeListManager">
<list default="true" id="32da4ae4-985b-4d63-8b34-968979675a1a" name="默认变更列表" comment="Merge remote-tracking branch 'origin/master' into master">
<change afterPath="$PROJECT_DIR$/code/.idea/encodings.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/artifacts/code_war_exploded.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/artifacts/code_war_exploded.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/code/.idea/.gitignore" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/code/.idea/artifacts/code_war_exploded.xml" beforeDir="false" afterPath="$PROJECT_DIR$/code/.idea/artifacts/code_war_exploded.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/code/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_4.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/code/.idea/libraries/Maven__commons_io_commons_io_2_6.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/code/.idea/libraries/Maven__ognl_ognl_3_1_28.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/code/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_8_1.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/code/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_12_1.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/code/.idea/libraries/Maven__org_apache_struts_struts2_core_2_5_26.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/code/.idea/libraries/Maven__org_freemarker_freemarker_2_3_30.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/code/.idea/libraries/Maven__org_javassist_javassist_3_20_0_GA.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/code/code.iml" beforeDir="false" afterPath="$PROJECT_DIR$/code/code.iml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/code/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/code/pom.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/code/src/main/java/test/test.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/code/src/main/webapp/WEB-INF/web.xml" beforeDir="false" afterPath="$PROJECT_DIR$/code/src/main/webapp/WEB-INF/web.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/code/src/main/webapp/index.jsp" beforeDir="false" afterPath="$PROJECT_DIR$/code/src/main/webapp/index.jsp" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
<option value="Jsp File" />
</list>
</option>
</component>
<component name="Git.Settings">
<option name="PREVIOUS_COMMIT_AUTHORS">
<list>
<option value="HP &lt;853541169@qq.com&gt;" />
</list>
</option>
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="LogFilters">
<option name="FILTER_ERRORS" value="false" />
<option name="FILTER_WARNINGS" value="false" />
<option name="FILTER_INFO" value="true" />
<option name="FILTER_DEBUG" value="true" />
<option name="CUSTOM_FILTER" />
</component>
<component name="ProjectId" id="20cyFEgFEoAUWg1XwSkGexW298t" />
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="aspect.path.notification.shown" value="true" />
<property name="jdk.selected.JAVA_MODULE" value="1.8" />
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
<property name="project.structure.last.edited" value="模块" />
<property name="project.structure.proportion" value="0.0" />
<property name="project.structure.side.proportion" value="0.0" />
</component>
<component name="RunManager" selected="Tomcat Server.ratingrank.jsp">
<configuration default="true" type="ArquillianJUnit" factoryName="" nameIsGenerated="true">
<option name="arquillianRunConfiguration">
<value>
<option name="containerStateName" value="" />
</value>
</option>
<option name="TEST_OBJECT" value="class" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="Tomcat 9.0.31" type="#com.intellij.j2ee.web.tomcat.TomcatRunConfigurationFactory" factoryName="Local" APPLICATION_SERVER_NAME="Tomcat 9.0.31" ALTERNATIVE_JRE_ENABLED="false">
<deployment>
<artifact name="code:war exploded">
<settings>
<option name="CONTEXT_PATH" value="/code_war_exploded" />
</settings>
</artifact>
</deployment>
<server-settings>
<option name="BASE_DIRECTORY_NAME" value="5735f0e4-3164-4dd3-91e3-14a479617a91" />
</server-settings>
<predefined_log_file enabled="true" id="Tomcat" />
<predefined_log_file enabled="true" id="Tomcat Catalina" />
<predefined_log_file id="Tomcat Manager" />
<predefined_log_file id="Tomcat Host Manager" />
<predefined_log_file id="Tomcat Localhost Access" />
<ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Run">
<option name="USE_ENV_VARIABLES" value="true" />
<STARTUP>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</STARTUP>
<SHUTDOWN>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</SHUTDOWN>
</ConfigurationWrapper>
<method v="2">
<option name="Make" enabled="true" />
<option name="BuildArtifacts" enabled="true">
<artifact name="code:war exploded" />
</option>
</method>
</configuration>
<configuration name="index.jsp (2)" type="#com.intellij.j2ee.web.tomcat.TomcatRunConfigurationFactory" factoryName="Local" temporary="true" APPLICATION_SERVER_NAME="Tomcat 9.0.31" ALTERNATIVE_JRE_ENABLED="false">
<option name="OPEN_IN_BROWSER_URL" value="http://localhost:8888/index.jsp" />
<deployment>
<artifact name="code:war exploded">
<settings>
<option name="CONTEXT_PATH" value="/code_war_exploded" />
</settings>
</artifact>
</deployment>
<server-settings>
<option name="BASE_DIRECTORY_NAME" value="8c9f82af-593e-4cb1-b58f-a19de1ecc41e" />
</server-settings>
<predefined_log_file enabled="true" id="Tomcat" />
<predefined_log_file enabled="true" id="Tomcat Catalina" />
<predefined_log_file id="Tomcat Manager" />
<predefined_log_file id="Tomcat Host Manager" />
<predefined_log_file id="Tomcat Localhost Access" />
<ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Run">
<option name="USE_ENV_VARIABLES" value="true" />
<STARTUP>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</STARTUP>
<SHUTDOWN>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</SHUTDOWN>
</ConfigurationWrapper>
<method v="2">
<option name="Make" enabled="true" />
<option name="BuildArtifacts" enabled="true">
<artifact name="code:war exploded" />
</option>
</method>
</configuration>
<configuration name="index.jsp (3)" type="#com.intellij.j2ee.web.tomcat.TomcatRunConfigurationFactory" factoryName="Local" temporary="true" APPLICATION_SERVER_NAME="Tomcat 9.0.31" ALTERNATIVE_JRE_ENABLED="false">
<option name="OPEN_IN_BROWSER_URL" value="http://localhost:8888/index.jsp" />
<deployment>
<artifact name="code:war exploded">
<settings>
<option name="CONTEXT_PATH" value="/code_war_exploded" />
</settings>
</artifact>
</deployment>
<server-settings>
<option name="BASE_DIRECTORY_NAME" value="e96c8076-f62e-4c38-875f-67a1eb2d1318" />
</server-settings>
<predefined_log_file enabled="true" id="Tomcat" />
<predefined_log_file enabled="true" id="Tomcat Catalina" />
<predefined_log_file id="Tomcat Manager" />
<predefined_log_file id="Tomcat Host Manager" />
<predefined_log_file id="Tomcat Localhost Access" />
<ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Run">
<option name="USE_ENV_VARIABLES" value="true" />
<STARTUP>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</STARTUP>
<SHUTDOWN>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</SHUTDOWN>
</ConfigurationWrapper>
<method v="2">
<option name="Make" enabled="true" />
<option name="BuildArtifacts" enabled="true">
<artifact name="code:war exploded" />
</option>
</method>
</configuration>
<configuration name="index.jsp (4)" type="#com.intellij.j2ee.web.tomcat.TomcatRunConfigurationFactory" factoryName="Local" temporary="true" APPLICATION_SERVER_NAME="Tomcat 9.0.31" ALTERNATIVE_JRE_ENABLED="false">
<option name="OPEN_IN_BROWSER_URL" value="http://localhost:8888/index.jsp" />
<deployment>
<artifact name="code:war">
<settings>
<option name="CONTEXT_PATH" value="/code_war" />
</settings>
</artifact>
</deployment>
<server-settings>
<option name="BASE_DIRECTORY_NAME" value="69d3cd9a-875d-472f-9514-767bb6327875" />
</server-settings>
<predefined_log_file enabled="true" id="Tomcat" />
<predefined_log_file enabled="true" id="Tomcat Catalina" />
<predefined_log_file id="Tomcat Manager" />
<predefined_log_file id="Tomcat Host Manager" />
<predefined_log_file id="Tomcat Localhost Access" />
<ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Run">
<option name="USE_ENV_VARIABLES" value="true" />
<STARTUP>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</STARTUP>
<SHUTDOWN>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</SHUTDOWN>
</ConfigurationWrapper>
<method v="2">
<option name="Make" enabled="true" />
<option name="BuildArtifacts" enabled="true">
<artifact name="code:war" />
</option>
</method>
</configuration>
<configuration name="index.jsp" type="#com.intellij.j2ee.web.tomcat.TomcatRunConfigurationFactory" factoryName="Local" temporary="true" APPLICATION_SERVER_NAME="Tomcat 9.0.31" ALTERNATIVE_JRE_ENABLED="false">
<option name="OPEN_IN_BROWSER_URL" value="http://localhost:8888/index.jsp" />
<deployment>
<artifact name="code:war">
<settings>
<option name="CONTEXT_PATH" value="/code_war" />
</settings>
</artifact>
</deployment>
<server-settings>
<option name="BASE_DIRECTORY_NAME" value="e2bb58de-6aa0-4bc4-a0a7-43a82d6308da" />
</server-settings>
<predefined_log_file enabled="true" id="Tomcat" />
<predefined_log_file enabled="true" id="Tomcat Catalina" />
<predefined_log_file id="Tomcat Manager" />
<predefined_log_file id="Tomcat Host Manager" />
<predefined_log_file id="Tomcat Localhost Access" />
<ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Run">
<option name="USE_ENV_VARIABLES" value="true" />
<STARTUP>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</STARTUP>
<SHUTDOWN>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</SHUTDOWN>
</ConfigurationWrapper>
<method v="2">
<option name="Make" enabled="true" />
<option name="BuildArtifacts" enabled="true">
<artifact name="code:war" />
</option>
</method>
</configuration>
<configuration name="ratingrank.jsp" type="#com.intellij.j2ee.web.tomcat.TomcatRunConfigurationFactory" factoryName="Local" temporary="true" APPLICATION_SERVER_NAME="Tomcat 9.0.31" ALTERNATIVE_JRE_ENABLED="false">
<option name="OPEN_IN_BROWSER_URL" value="http://localhost:8888/rank/ratingrank.jsp" />
<deployment>
<artifact name="code:war">
<settings>
<option name="CONTEXT_PATH" value="/code_war" />
</settings>
</artifact>
</deployment>
<server-settings>
<option name="BASE_DIRECTORY_NAME" value="13f08108-517d-4412-ac52-cadf6688520d" />
</server-settings>
<predefined_log_file enabled="true" id="Tomcat" />
<predefined_log_file enabled="true" id="Tomcat Catalina" />
<predefined_log_file id="Tomcat Manager" />
<predefined_log_file id="Tomcat Host Manager" />
<predefined_log_file id="Tomcat Localhost Access" />
<ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Run">
<option name="USE_ENV_VARIABLES" value="true" />
<STARTUP>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</STARTUP>
<SHUTDOWN>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</SHUTDOWN>
</ConfigurationWrapper>
<method v="2">
<option name="Make" enabled="true" />
<option name="BuildArtifacts" enabled="true">
<artifact name="code:war" />
</option>
</method>
</configuration>
<recent_temporary>
<list>
<item itemvalue="Tomcat Server.ratingrank.jsp" />
<item itemvalue="Tomcat Server.index.jsp (4)" />
<item itemvalue="Tomcat Server.index.jsp (3)" />
<item itemvalue="Tomcat Server.index.jsp" />
<item itemvalue="Tomcat Server.index.jsp (2)" />
</list>
</recent_temporary>
</component>
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="应用程序级" UseSingleDictionary="true" transferred="true" />
<component name="TaskManager">
<task active="true" id="Default" summary="默认任务">
<changelist id="32da4ae4-985b-4d63-8b34-968979675a1a" name="默认变更列表" comment="" />
<created>1636358064805</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1636358064805</updated>
<workItem from="1636358066192" duration="1542000" />
<workItem from="1636421580166" duration="9940000" />
<workItem from="1636449464876" duration="180000" />
<workItem from="1636450451041" duration="292000" />
<workItem from="1636465493644" duration="779000" />
<workItem from="1636510139285" duration="300000" />
<workItem from="1636510454240" duration="165000" />
<workItem from="1636533433908" duration="629000" />
<workItem from="1636536098073" duration="406000" />
<workItem from="1636536530123" duration="152000" />
<workItem from="1636536697022" duration="1714000" />
<workItem from="1636542765777" duration="3040000" />
<workItem from="1636547208592" duration="12835000" />
</task>
<task id="LOCAL-00001" summary="Merge remote-tracking branch 'origin/master' into master">
<created>1636358116094</created>
<option name="number" value="00001" />
<option name="presentableId" value="LOCAL-00001" />
<option name="project" value="LOCAL" />
<updated>1636358116094</updated>
</task>
<task id="LOCAL-00002" summary="Merge remote-tracking branch 'origin/master' into master">
<created>1636358243941</created>
<option name="number" value="00002" />
<option name="presentableId" value="LOCAL-00002" />
<option name="project" value="LOCAL" />
<updated>1636358243941</updated>
</task>
<task id="LOCAL-00003" summary="Merge remote-tracking branch 'origin/master' into master">
<created>1636358365249</created>
<option name="number" value="00003" />
<option name="presentableId" value="LOCAL-00003" />
<option name="project" value="LOCAL" />
<updated>1636358365249</updated>
</task>
<task id="LOCAL-00004" summary="Merge remote-tracking branch 'origin/master' into master">
<created>1636424684249</created>
<option name="number" value="00004" />
<option name="presentableId" value="LOCAL-00004" />
<option name="project" value="LOCAL" />
<updated>1636424684249</updated>
</task>
<task id="LOCAL-00005" summary="Merge remote-tracking branch 'origin/master' into master">
<created>1636450493875</created>
<option name="number" value="00005" />
<option name="presentableId" value="LOCAL-00005" />
<option name="project" value="LOCAL" />
<updated>1636450493875</updated>
</task>
<option name="localTasksCounter" value="6" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="3" />
</component>
<component name="Vcs.Log.Tabs.Properties">
<option name="TAB_STATES">
<map>
<entry key="MAIN">
<value>
<State />
</value>
</entry>
</map>
</option>
<option name="oldMeFiltersMigrated" value="true" />
</component>
<component name="VcsManagerConfiguration">
<MESSAGE value="Merge remote-tracking branch 'origin/master' into master" />
<option name="LAST_COMMIT_MESSAGE" value="Merge remote-tracking branch 'origin/master' into master" />
</component>
</project>

@ -1,8 +0,0 @@
# Default ignored files
/shelf/
/workspace.xml
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
# Editor-based HTTP Client requests
/httpRequests/

@ -13,16 +13,6 @@
<element id="directory" name="classes">
<element id="module-output" name="code" />
</element>
<element id="directory" name="lib">
<element id="library" level="project" name="Maven: org.apache.struts:struts2-core:2.5.26" />
<element id="library" level="project" name="Maven: org.freemarker:freemarker:2.3.30" />
<element id="library" level="project" name="Maven: ognl:ognl:3.1.28" />
<element id="library" level="project" name="Maven: org.javassist:javassist:3.20.0-GA" />
<element id="library" level="project" name="Maven: org.apache.logging.log4j:log4j-api:2.12.1" />
<element id="library" level="project" name="Maven: commons-fileupload:commons-fileupload:1.4" />
<element id="library" level="project" name="Maven: commons-io:commons-io:2.6" />
<element id="library" level="project" name="Maven: org.apache.commons:commons-lang3:3.8.1" />
</element>
</element>
<element id="directory" name="META-INF">
<element id="file-copy" path="$PROJECT_DIR$/target/code-1.0-SNAPSHOT/META-INF/MANIFEST.MF" />

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="PROJECT" charset="UTF-8" />
</component>
</project>

@ -1,13 +0,0 @@
<component name="libraryTable">
<library name="Maven: commons-fileupload:commons-fileupload:1.4">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/commons-fileupload/commons-fileupload/1.4/commons-fileupload-1.4.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/commons-fileupload/commons-fileupload/1.4/commons-fileupload-1.4-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/commons-fileupload/commons-fileupload/1.4/commons-fileupload-1.4-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -1,13 +0,0 @@
<component name="libraryTable">
<library name="Maven: commons-io:commons-io:2.6">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/commons-io/commons-io/2.6/commons-io-2.6.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/commons-io/commons-io/2.6/commons-io-2.6-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/commons-io/commons-io/2.6/commons-io-2.6-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -1,13 +0,0 @@
<component name="libraryTable">
<library name="Maven: ognl:ognl:3.1.28">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/ognl/ognl/3.1.28/ognl-3.1.28.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/ognl/ognl/3.1.28/ognl-3.1.28-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/ognl/ognl/3.1.28/ognl-3.1.28-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -1,13 +0,0 @@
<component name="libraryTable">
<library name="Maven: org.apache.commons:commons-lang3:3.8.1">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -1,13 +0,0 @@
<component name="libraryTable">
<library name="Maven: org.apache.logging.log4j:log4j-api:2.12.1">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/logging/log4j/log4j-api/2.12.1/log4j-api-2.12.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/logging/log4j/log4j-api/2.12.1/log4j-api-2.12.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/logging/log4j/log4j-api/2.12.1/log4j-api-2.12.1-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -1,13 +0,0 @@
<component name="libraryTable">
<library name="Maven: org.apache.struts:struts2-core:2.5.26">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/struts/struts2-core/2.5.26/struts2-core-2.5.26.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/struts/struts2-core/2.5.26/struts2-core-2.5.26-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/struts/struts2-core/2.5.26/struts2-core-2.5.26-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -1,13 +0,0 @@
<component name="libraryTable">
<library name="Maven: org.freemarker:freemarker:2.3.30">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/freemarker/freemarker/2.3.30/freemarker-2.3.30.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/freemarker/freemarker/2.3.30/freemarker-2.3.30-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/freemarker/freemarker/2.3.30/freemarker-2.3.30-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -1,13 +0,0 @@
<component name="libraryTable">
<library name="Maven: org.javassist:javassist:3.20.0-GA">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/javassist/javassist/3.20.0-GA/javassist-3.20.0-GA.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/javassist/javassist/3.20.0-GA/javassist-3.20.0-GA-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/javassist/javassist/3.20.0-GA/javassist-3.20.0-GA-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,199 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ArtifactsWorkspaceSettings">
<artifacts-to-build>
<artifact name="code:war exploded" />
</artifacts-to-build>
</component>
<component name="AutoImportSettings">
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="ChangeListManager">
<list default="true" id="07aa317f-ce09-4510-bdf5-4284b5832c40" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/.idea/encodings.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../.idea/artifacts/code_war_exploded.xml" beforeDir="false" afterPath="$PROJECT_DIR$/../.idea/artifacts/code_war_exploded.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/.gitignore" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/artifacts/code_war_exploded.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/artifacts/code_war_exploded.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_4.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__commons_io_commons_io_2_6.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__ognl_ognl_3_1_28.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_8_1.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_12_1.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_apache_struts_struts2_core_2_5_26.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_freemarker_freemarker_2_3_30.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_javassist_javassist_3_20_0_GA.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/code.iml" beforeDir="false" afterPath="$PROJECT_DIR$/code.iml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/pom.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/test/test.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/web.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/web.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/index.jsp" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/index.jsp" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
<option value="Jsp File" />
</list>
</option>
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$/.." />
</component>
<component name="LogFilters">
<option name="FILTER_ERRORS" value="false" />
<option name="FILTER_WARNINGS" value="false" />
<option name="FILTER_INFO" value="true" />
<option name="FILTER_DEBUG" value="true" />
<option name="CUSTOM_FILTER" />
</component>
<component name="ProjectId" id="20hxRyMDrurvLnmXDffPwPbNS6T" />
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">
<property name="ASKED_ADD_EXTERNAL_FILES" value="true" />
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="aspect.path.notification.shown" value="true" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/../../OJGIT" />
<property name="settings.editor.selected.configurable" value="File.Encoding" />
</component>
<component name="RunManager">
<configuration default="true" type="ArquillianJUnit" factoryName="" nameIsGenerated="true">
<option name="arquillianRunConfiguration">
<value>
<option name="containerStateName" value="" />
</value>
</option>
<option name="TEST_OBJECT" value="class" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="Tomcat 9.0.31" type="#com.intellij.j2ee.web.tomcat.TomcatRunConfigurationFactory" factoryName="Local" APPLICATION_SERVER_NAME="Tomcat 9.0.31" ALTERNATIVE_JRE_ENABLED="false">
<option name="COMMON_VM_ARGUMENTS" value="-Dfile.encoding=UTF-8" />
<deployment>
<artifact name="code:war exploded">
<settings>
<option name="CONTEXT_PATH" value="/code_war_exploded" />
</settings>
</artifact>
</deployment>
<server-settings>
<option name="BASE_DIRECTORY_NAME" value="26ffb77a-f84e-4d13-b033-5f55c7882421" />
</server-settings>
<predefined_log_file enabled="true" id="Tomcat" />
<predefined_log_file enabled="true" id="Tomcat Catalina" />
<predefined_log_file id="Tomcat Manager" />
<predefined_log_file id="Tomcat Host Manager" />
<predefined_log_file id="Tomcat Localhost Access" />
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value="61370" />
</RunnerSettings>
<ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Cover">
<option name="USE_ENV_VARIABLES" value="true" />
<STARTUP>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</STARTUP>
<SHUTDOWN>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</SHUTDOWN>
</ConfigurationWrapper>
<ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Debug">
<option name="USE_ENV_VARIABLES" value="true" />
<STARTUP>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</STARTUP>
<SHUTDOWN>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</SHUTDOWN>
</ConfigurationWrapper>
<ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Profile">
<option name="USE_ENV_VARIABLES" value="true" />
<STARTUP>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</STARTUP>
<SHUTDOWN>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</SHUTDOWN>
</ConfigurationWrapper>
<ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Run">
<option name="USE_ENV_VARIABLES" value="true" />
<STARTUP>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</STARTUP>
<SHUTDOWN>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</SHUTDOWN>
</ConfigurationWrapper>
<method v="2">
<option name="Make" enabled="true" />
<option name="BuildArtifacts" enabled="true">
<artifact name="code:war exploded" />
</option>
</method>
</configuration>
</component>
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="07aa317f-ce09-4510-bdf5-4284b5832c40" name="Default Changelist" comment="" />
<created>1636510620767</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1636510620767</updated>
<workItem from="1636510621842" duration="8521000" />
</task>
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="3" />
</component>
<component name="Vcs.Log.Tabs.Properties">
<option name="TAB_STATES">
<map>
<entry key="MAIN">
<value>
<State />
</value>
</entry>
</map>
</option>
</component>
<component name="XSLT-Support.FileAssociations.UIState">
<expand />
<select />
</component>
</project>

@ -28,14 +28,6 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: org.apache.struts:struts2-core:2.5.26" level="project" />
<orderEntry type="library" name="Maven: org.freemarker:freemarker:2.3.30" level="project" />
<orderEntry type="library" name="Maven: ognl:ognl:3.1.28" level="project" />
<orderEntry type="library" name="Maven: org.javassist:javassist:3.20.0-GA" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.12.1" level="project" />
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.4" level="project" />
<orderEntry type="library" name="Maven: commons-io:commons-io:2.6" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.8.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: javax.servlet:javax.servlet-api:4.0.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-api:5.7.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.apiguardian:apiguardian-api:1.1.0" level="project" />

@ -17,11 +17,6 @@
</properties>
<dependencies>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.5.26</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>

@ -1,13 +0,0 @@
package test;
import com.opensymphony.xwork2.ActionSupport;
class Mytest extends ActionSupport {
public String getinfo(){
return SUCCESS;
}
}

@ -1,62 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>JavaOJSystem</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<!-- 加载spring容器 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:configs/spring/applicationContext.xml,classpath:configs/spring/spring-*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 配置log4j文件路径 -->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:configs/log4j.properties</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<!-- 前端控制器 -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- contextConfigLocation指定 springmvc的全局配置文件 如果 contextConfigLocation不指定默认找配置文件名称servlet的name+"-servlet.xml" -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:configs/spring/springmvc.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<filter>
<filter-name>encoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
</web-app>

@ -0,0 +1,34 @@
<%--
Created by IntelliJ IDEA.
User: xiaoxie
Date: 2021/11/10
Time: 20:13
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
<link href="./css/bootstrap-grid.css" rel="stylesheet" type="text/css" />
<link href="./css/bootstrap.css" rel="stylesheet" type="text/css" />
<link href="./css/bootstrap-reboot.css" rel="stylesheet" type="text/css" />
<link href="./css/bootstrap-utilities.css" rel="stylesheet" type="text/css" />
<link href="./css/bootstrap.rtl.css" rel="stylesheet" type="text/css" />
<link href="./pageStatic/css/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div style="text-align: center; width: 1000px;position: absolute;bottom: 0px">
<a>体验算法灵魂,发现算法的美</a><br>
<a>关于我们 | 联系我们 | 企业合作 | 免责声明 | 合作链接</a><br>
<a>联系方式xxxxxxxxxx</a>
</div>
</body>
</html>

@ -0,0 +1,200 @@
<%--
Created by IntelliJ IDEA.
User: xiaoxie
Date: 2021/11/10
Time: 22:37
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
<title>ratingRank</title>
<link href="../css/bootstrap-grid.css" rel="stylesheet" type="text/css" />
<link href="../css/bootstrap.css" rel="stylesheet" type="text/css" />
<link href="../css/bootstrap-reboot.css" rel="stylesheet" type="text/css" />
<link href="../css/bootstrap-utilities.css" rel="stylesheet" type="text/css" />
<link href="../css/bootstrap.rtl.css" rel="stylesheet" type="text/css" />
<link href="../pageStatic/css/style.css" rel="stylesheet" type="text/css" />
<link rel="SHORTCUT ICON" href="image/logo.png">
<link rel="BOOKMARK" href="image/logo.png">
<link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css" />
<link rel="stylesheet" type="text/css" href="../css/font-awesome.min.css" />
<link rel="stylesheet" type="text/css" href="../css/responsive.css" />
<link rel="stylesheet" type="text/css" href="../css/animate.min.css" />
<link rel="stylesheet" type="text/css" href="../css/main.css" />
<script src="../js/angular.min.js"></script>
<script src="../js/angular-route.min.js"></script>
<script src="../js/app.js"></script>
<script src="../js/controllers.js"></script>
<script src="../js/jquery.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
</head>
<body>
<div class="top">
<table class="table">
<thead>
<tr>
<td scope="col"><img src="../pageStatic/images/16gl-O.png" style="width: 50px;height: 50px;" alt="...">
<img src="../pageStatic/images/16gl-J.png" style="width: 50px;height: 50px;" alt="...">
</td>
<td scope="col"><ul><li onclick="selectLi(this)"><a href="../index.jsp">首页</a></li></ul></td>
<td scope="col"><ul><li onclick="selectLi(this)"><a href="../rank/ratingrank.jsp">排行榜</a></li></ul></td>
<td scope="col"><ul><li onclick="selectLi(this)"><a href="../competition/competition.jsp">比赛</a></li></ul></td>
<td scope="col"><ul><li onclick="selectLi(this)"><a href="../problem/problem.jsp" >题库</a></li></ul> </td>
<td scope="col">
<div class="form-group">
<div class="col-xs-12 col-sm-12 col-md-12">
<input type="text" class="icon" name = "name" placeholder="输入你想搜索的内容">
</div>
</div>
</td>
<td><button class="btn btn-outline-secondary" type="button">登录/注册</button>
</td>
</tr>
</thead>
</table>
</div>
<style>
#competitionContent {
margin: 50px;
}
#competitionContent p {
word-break: break-all;
display: inline-block;
}
#applyDialog .modal-dialog {
width: 90%;
}
#applyDialog textarea {
width: 90%;
}
</style>
<div id="competitionContent" ng-controller="competitionCtr">
<div class="panel panel-success" ng-repeat="competition in page.datas">
<div class="panel-heading">{{competition.competitionName}}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
比赛开始时间:{{competition.competitionBeginTime|
stringDateFormat:'yyyy-MM-dd HH:mm:ss'}}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;比赛结束时间:{{competition.competitionEndTime|
stringDateFormat:'yyyy-MM-dd HH:mm:ss'}}</div>
<div class="panel-body">
<div ng-if="competition.competitionApplyBeginTime">
比赛申请开始时间:{{competition.competitionApplyBeginTime|
stringDateFormat:'yyyy-MM-dd HH:mm:ss'}}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;比赛申请结束时间:{{competition.competitionApplyEndTime|
stringDateFormat:'yyyy-MM-dd HH:mm:ss'}} &nbsp;&nbsp;&nbsp;&nbsp;
<button ng-if="!competition.isClose && checkTime(competition.competitionApplyEndTime)" class="btn btn-info" type="button" ng-click="apply($index)">报名比赛</button>
</div>
<div>{{competition.competitionDescription}}</div>
<br />
<div ng-if="!competition.isClose && checkTime(competition.competitionEndTime)">
<button class="btn btn-primary" type="button"
ng-click="login($index)">登录比赛</button>
</div>
<div ng-if="competition.isClose">比赛已经关闭</div>
</div>
</div>
<ul class="pager">
<li><a href="javascript:;" ng-if="isCanPre"
ng-click="changePage(false)">&laquo;上一页</a></li>
<li class="active"><span>页码:{{page.currentPage}}/{{page.totalPage}}
&nbsp; &nbsp;总条数:<span class="badge">{{page.totalCount}}</span>
</span></li>
<li><a href="javascript:;" ng-if="isCanNext"
ng-click="changePage(true)">下一页&raquo;</a></li>
</ul>
<!-- 申请弹出框 开始-->
<div class="modal fade dialog" id="applyDialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">
<span aria-hidden="true">&times;</span><span class="sr-only"></span>
</button>
<h4 class="modal-title">比赛:{{applyObj.competitionName}} 报名申请窗口</h4>
</div>
<form ng-submit="applySubmit()">
<div class="modal-body">
<table class="table table-bordered table-hover ">
<tbody>
<tr>
<td>比赛编号:{{applyObj.competitionId}}</td>
</tr>
<tr>
<td>通知邮箱:<input type="email" ng-model="applyObj.email"
required />
</td>
</tr>
<tr>
<td>通知手机:<input type="phone" ng-model="applyObj.phone" />
</td>
</tr>
<tr>
<td>报名参赛人数1</td>
</tr>
<tr>
<td>申请摘要:<input type="text" maxlength="30"
ng-model="applyObj.applicationSummary" required />
</td>
</tr>
<tr>
<td>申请内容:<br /> <textarea rows="10" cols="150"
maxlength="3000" ng-model="applyObj.applicationContent"></textarea>
</td>
</tr>
</tbody>
</table>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-success">保存</button>
</div>
</form>
</div>
</div>
</div>
<!-- 申请弹出框 结束-->
<!-- 登录弹出框 开始-->
<div class="modal fade dialog" id="loginDialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">
<span aria-hidden="true">&times;</span><span class="sr-only"></span>
</button>
</div>
<div class="modal-body">
<form class="form-horizontal" ng-submit="loginSubmit()">
<span class="heading">比赛登录</span>
<div class="form-group">
<i class="icon-user"></i><input type="text" class="form-control"
placeholder="账号" ng-model="loginObj.account" required>{{error.accountError}}
</div>
<div class="form-group">
<i class="icon-key"></i><input type="password" placeholder="密码"
class="form-control" ng-model="loginObj.password" required>{{error.passwordError}}{{error.competitionIdError}}
{{error.tokenError}}
</div>
<div class="form-group">
<button type="submit" class="btn btn-success form-control">登录</button>
</div>
</form>
</div>
</div>
</div>
</div>
<!-- 登录弹出框 结束-->
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,485 @@
/*!
* Bootstrap Reboot v5.1.3 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/
:root {
--bs-blue: #0d6efd;
--bs-indigo: #6610f2;
--bs-purple: #6f42c1;
--bs-pink: #d63384;
--bs-red: #dc3545;
--bs-orange: #fd7e14;
--bs-yellow: #ffc107;
--bs-green: #198754;
--bs-teal: #20c997;
--bs-cyan: #0dcaf0;
--bs-white: #fff;
--bs-gray: #6c757d;
--bs-gray-dark: #343a40;
--bs-gray-100: #f8f9fa;
--bs-gray-200: #e9ecef;
--bs-gray-300: #dee2e6;
--bs-gray-400: #ced4da;
--bs-gray-500: #adb5bd;
--bs-gray-600: #6c757d;
--bs-gray-700: #495057;
--bs-gray-800: #343a40;
--bs-gray-900: #212529;
--bs-primary: #0d6efd;
--bs-secondary: #6c757d;
--bs-success: #198754;
--bs-info: #0dcaf0;
--bs-warning: #ffc107;
--bs-danger: #dc3545;
--bs-light: #f8f9fa;
--bs-dark: #212529;
--bs-primary-rgb: 13, 110, 253;
--bs-secondary-rgb: 108, 117, 125;
--bs-success-rgb: 25, 135, 84;
--bs-info-rgb: 13, 202, 240;
--bs-warning-rgb: 255, 193, 7;
--bs-danger-rgb: 220, 53, 69;
--bs-light-rgb: 248, 249, 250;
--bs-dark-rgb: 33, 37, 41;
--bs-white-rgb: 255, 255, 255;
--bs-black-rgb: 0, 0, 0;
--bs-body-color-rgb: 33, 37, 41;
--bs-body-bg-rgb: 255, 255, 255;
--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
--bs-body-font-family: var(--bs-font-sans-serif);
--bs-body-font-size: 1rem;
--bs-body-font-weight: 400;
--bs-body-line-height: 1.5;
--bs-body-color: #212529;
--bs-body-bg: #fff;
}
*,
*::before,
*::after {
box-sizing: border-box;
}
@media (prefers-reduced-motion: no-preference) {
:root {
scroll-behavior: smooth;
}
}
body {
margin: 0;
font-family: var(--bs-body-font-family);
font-size: var(--bs-body-font-size);
font-weight: var(--bs-body-font-weight);
line-height: var(--bs-body-line-height);
color: var(--bs-body-color);
text-align: var(--bs-body-text-align);
background-color: var(--bs-body-bg);
-webkit-text-size-adjust: 100%;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
hr {
margin: 1rem 0;
color: inherit;
background-color: currentColor;
border: 0;
opacity: 0.25;
}
hr:not([size]) {
height: 1px;
}
h6, h5, h4, h3, h2, h1 {
margin-top: 0;
margin-bottom: 0.5rem;
font-weight: 500;
line-height: 1.2;
}
h1 {
font-size: calc(1.375rem + 1.5vw);
}
@media (min-width: 1200px) {
h1 {
font-size: 2.5rem;
}
}
h2 {
font-size: calc(1.325rem + 0.9vw);
}
@media (min-width: 1200px) {
h2 {
font-size: 2rem;
}
}
h3 {
font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
h3 {
font-size: 1.75rem;
}
}
h4 {
font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
h4 {
font-size: 1.5rem;
}
}
h5 {
font-size: 1.25rem;
}
h6 {
font-size: 1rem;
}
p {
margin-top: 0;
margin-bottom: 1rem;
}
abbr[title],
abbr[data-bs-original-title] {
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
cursor: help;
-webkit-text-decoration-skip-ink: none;
text-decoration-skip-ink: none;
}
address {
margin-bottom: 1rem;
font-style: normal;
line-height: inherit;
}
ol,
ul {
padding-left: 2rem;
}
ol,
ul,
dl {
margin-top: 0;
margin-bottom: 1rem;
}
ol ol,
ul ul,
ol ul,
ul ol {
margin-bottom: 0;
}
dt {
font-weight: 700;
}
dd {
margin-bottom: 0.5rem;
margin-left: 0;
}
blockquote {
margin: 0 0 1rem;
}
b,
strong {
font-weight: bolder;
}
small {
font-size: 0.875em;
}
mark {
padding: 0.2em;
background-color: #fcf8e3;
}
sub,
sup {
position: relative;
font-size: 0.75em;
line-height: 0;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
a {
color: #0d6efd;
text-decoration: underline;
}
a:hover {
color: #0a58ca;
}
a:not([href]):not([class]), a:not([href]):not([class]):hover {
color: inherit;
text-decoration: none;
}
pre,
code,
kbd,
samp {
font-family: var(--bs-font-monospace);
font-size: 1em;
direction: ltr /* rtl:ignore */;
unicode-bidi: bidi-override;
}
pre {
display: block;
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
font-size: 0.875em;
}
pre code {
font-size: inherit;
color: inherit;
word-break: normal;
}
code {
font-size: 0.875em;
color: #d63384;
word-wrap: break-word;
}
a > code {
color: inherit;
}
kbd {
padding: 0.2rem 0.4rem;
font-size: 0.875em;
color: #fff;
background-color: #212529;
border-radius: 0.2rem;
}
kbd kbd {
padding: 0;
font-size: 1em;
font-weight: 700;
}
figure {
margin: 0 0 1rem;
}
img,
svg {
vertical-align: middle;
}
table {
caption-side: bottom;
border-collapse: collapse;
}
caption {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
color: #6c757d;
text-align: left;
}
th {
text-align: inherit;
text-align: -webkit-match-parent;
}
thead,
tbody,
tfoot,
tr,
td,
th {
border-color: inherit;
border-style: solid;
border-width: 0;
}
label {
display: inline-block;
}
button {
border-radius: 0;
}
button:focus:not(:focus-visible) {
outline: 0;
}
input,
button,
select,
optgroup,
textarea {
margin: 0;
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
button,
select {
text-transform: none;
}
[role=button] {
cursor: pointer;
}
select {
word-wrap: normal;
}
select:disabled {
opacity: 1;
}
[list]::-webkit-calendar-picker-indicator {
display: none;
}
button,
[type=button],
[type=reset],
[type=submit] {
-webkit-appearance: button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
cursor: pointer;
}
::-moz-focus-inner {
padding: 0;
border-style: none;
}
textarea {
resize: vertical;
}
fieldset {
min-width: 0;
padding: 0;
margin: 0;
border: 0;
}
legend {
float: left;
width: 100%;
padding: 0;
margin-bottom: 0.5rem;
font-size: calc(1.275rem + 0.3vw);
line-height: inherit;
}
@media (min-width: 1200px) {
legend {
font-size: 1.5rem;
}
}
legend + * {
clear: left;
}
::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
padding: 0;
}
::-webkit-inner-spin-button {
height: auto;
}
[type=search] {
outline-offset: -2px;
-webkit-appearance: textfield;
}
/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
direction: ltr;
}
*/
::-webkit-search-decoration {
-webkit-appearance: none;
}
::-webkit-color-swatch-wrapper {
padding: 0;
}
::-webkit-file-upload-button {
font: inherit;
}
::file-selector-button {
font: inherit;
}
::-webkit-file-upload-button {
font: inherit;
-webkit-appearance: button;
}
output {
display: inline-block;
}
iframe {
border: 0;
}
summary {
display: list-item;
cursor: pointer;
}
progress {
vertical-align: baseline;
}
[hidden] {
display: none !important;
}
/*# sourceMappingURL=bootstrap-reboot.css.map */

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,482 @@
/*!
* Bootstrap Reboot v5.1.3 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/
:root {
--bs-blue: #0d6efd;
--bs-indigo: #6610f2;
--bs-purple: #6f42c1;
--bs-pink: #d63384;
--bs-red: #dc3545;
--bs-orange: #fd7e14;
--bs-yellow: #ffc107;
--bs-green: #198754;
--bs-teal: #20c997;
--bs-cyan: #0dcaf0;
--bs-white: #fff;
--bs-gray: #6c757d;
--bs-gray-dark: #343a40;
--bs-gray-100: #f8f9fa;
--bs-gray-200: #e9ecef;
--bs-gray-300: #dee2e6;
--bs-gray-400: #ced4da;
--bs-gray-500: #adb5bd;
--bs-gray-600: #6c757d;
--bs-gray-700: #495057;
--bs-gray-800: #343a40;
--bs-gray-900: #212529;
--bs-primary: #0d6efd;
--bs-secondary: #6c757d;
--bs-success: #198754;
--bs-info: #0dcaf0;
--bs-warning: #ffc107;
--bs-danger: #dc3545;
--bs-light: #f8f9fa;
--bs-dark: #212529;
--bs-primary-rgb: 13, 110, 253;
--bs-secondary-rgb: 108, 117, 125;
--bs-success-rgb: 25, 135, 84;
--bs-info-rgb: 13, 202, 240;
--bs-warning-rgb: 255, 193, 7;
--bs-danger-rgb: 220, 53, 69;
--bs-light-rgb: 248, 249, 250;
--bs-dark-rgb: 33, 37, 41;
--bs-white-rgb: 255, 255, 255;
--bs-black-rgb: 0, 0, 0;
--bs-body-color-rgb: 33, 37, 41;
--bs-body-bg-rgb: 255, 255, 255;
--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
--bs-body-font-family: var(--bs-font-sans-serif);
--bs-body-font-size: 1rem;
--bs-body-font-weight: 400;
--bs-body-line-height: 1.5;
--bs-body-color: #212529;
--bs-body-bg: #fff;
}
*,
*::before,
*::after {
box-sizing: border-box;
}
@media (prefers-reduced-motion: no-preference) {
:root {
scroll-behavior: smooth;
}
}
body {
margin: 0;
font-family: var(--bs-body-font-family);
font-size: var(--bs-body-font-size);
font-weight: var(--bs-body-font-weight);
line-height: var(--bs-body-line-height);
color: var(--bs-body-color);
text-align: var(--bs-body-text-align);
background-color: var(--bs-body-bg);
-webkit-text-size-adjust: 100%;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
hr {
margin: 1rem 0;
color: inherit;
background-color: currentColor;
border: 0;
opacity: 0.25;
}
hr:not([size]) {
height: 1px;
}
h6, h5, h4, h3, h2, h1 {
margin-top: 0;
margin-bottom: 0.5rem;
font-weight: 500;
line-height: 1.2;
}
h1 {
font-size: calc(1.375rem + 1.5vw);
}
@media (min-width: 1200px) {
h1 {
font-size: 2.5rem;
}
}
h2 {
font-size: calc(1.325rem + 0.9vw);
}
@media (min-width: 1200px) {
h2 {
font-size: 2rem;
}
}
h3 {
font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
h3 {
font-size: 1.75rem;
}
}
h4 {
font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
h4 {
font-size: 1.5rem;
}
}
h5 {
font-size: 1.25rem;
}
h6 {
font-size: 1rem;
}
p {
margin-top: 0;
margin-bottom: 1rem;
}
abbr[title],
abbr[data-bs-original-title] {
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
cursor: help;
-webkit-text-decoration-skip-ink: none;
text-decoration-skip-ink: none;
}
address {
margin-bottom: 1rem;
font-style: normal;
line-height: inherit;
}
ol,
ul {
padding-right: 2rem;
}
ol,
ul,
dl {
margin-top: 0;
margin-bottom: 1rem;
}
ol ol,
ul ul,
ol ul,
ul ol {
margin-bottom: 0;
}
dt {
font-weight: 700;
}
dd {
margin-bottom: 0.5rem;
margin-right: 0;
}
blockquote {
margin: 0 0 1rem;
}
b,
strong {
font-weight: bolder;
}
small {
font-size: 0.875em;
}
mark {
padding: 0.2em;
background-color: #fcf8e3;
}
sub,
sup {
position: relative;
font-size: 0.75em;
line-height: 0;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
a {
color: #0d6efd;
text-decoration: underline;
}
a:hover {
color: #0a58ca;
}
a:not([href]):not([class]), a:not([href]):not([class]):hover {
color: inherit;
text-decoration: none;
}
pre,
code,
kbd,
samp {
font-family: var(--bs-font-monospace);
font-size: 1em;
direction: ltr ;
unicode-bidi: bidi-override;
}
pre {
display: block;
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
font-size: 0.875em;
}
pre code {
font-size: inherit;
color: inherit;
word-break: normal;
}
code {
font-size: 0.875em;
color: #d63384;
word-wrap: break-word;
}
a > code {
color: inherit;
}
kbd {
padding: 0.2rem 0.4rem;
font-size: 0.875em;
color: #fff;
background-color: #212529;
border-radius: 0.2rem;
}
kbd kbd {
padding: 0;
font-size: 1em;
font-weight: 700;
}
figure {
margin: 0 0 1rem;
}
img,
svg {
vertical-align: middle;
}
table {
caption-side: bottom;
border-collapse: collapse;
}
caption {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
color: #6c757d;
text-align: right;
}
th {
text-align: inherit;
text-align: -webkit-match-parent;
}
thead,
tbody,
tfoot,
tr,
td,
th {
border-color: inherit;
border-style: solid;
border-width: 0;
}
label {
display: inline-block;
}
button {
border-radius: 0;
}
button:focus:not(:focus-visible) {
outline: 0;
}
input,
button,
select,
optgroup,
textarea {
margin: 0;
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
button,
select {
text-transform: none;
}
[role=button] {
cursor: pointer;
}
select {
word-wrap: normal;
}
select:disabled {
opacity: 1;
}
[list]::-webkit-calendar-picker-indicator {
display: none;
}
button,
[type=button],
[type=reset],
[type=submit] {
-webkit-appearance: button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
cursor: pointer;
}
::-moz-focus-inner {
padding: 0;
border-style: none;
}
textarea {
resize: vertical;
}
fieldset {
min-width: 0;
padding: 0;
margin: 0;
border: 0;
}
legend {
float: right;
width: 100%;
padding: 0;
margin-bottom: 0.5rem;
font-size: calc(1.275rem + 0.3vw);
line-height: inherit;
}
@media (min-width: 1200px) {
legend {
font-size: 1.5rem;
}
}
legend + * {
clear: right;
}
::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
padding: 0;
}
::-webkit-inner-spin-button {
height: auto;
}
[type=search] {
outline-offset: -2px;
-webkit-appearance: textfield;
}
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
direction: ltr;
}
::-webkit-search-decoration {
-webkit-appearance: none;
}
::-webkit-color-swatch-wrapper {
padding: 0;
}
::-webkit-file-upload-button {
font: inherit;
}
::file-selector-button {
font: inherit;
}
::-webkit-file-upload-button {
font: inherit;
-webkit-appearance: button;
}
output {
display: inline-block;
}
iframe {
border: 0;
}
summary {
display: list-item;
cursor: pointer;
}
progress {
vertical-align: baseline;
}
[hidden] {
display: none !important;
}
/*# sourceMappingURL=bootstrap-reboot.rtl.css.map */

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,186 @@
ul.resp-tabs-list, p {
margin: 0px;
padding: 0px;
}
.resp-tabs-list li {
font-weight: 600;
font-size: 13px;
display: inline-block;
padding: 13px 15px;
margin: 0;
list-style: none;
cursor: pointer;
float: left;
}
.resp-tabs-container {
padding: 0px;
background-color: #fff;
clear: left;
}
h2.resp-accordion {
cursor: pointer;
display: none;
height: 90px;
line-height: 90px;
}
.resp-tab-content {
display: none;
padding: 0px;
}
.resp-tab-active {
border: 1px solid #c1c1c1;
border-bottom: none;
/* margin-bottom: 15px !important;*/
padding: 12px 14px 14px 14px !important;
}
.resp-tab-active {
border-bottom: none;
background-color: #fff;
}
.resp-content-active, .resp-accordion-active {
display: block;
}
.resp-tab-content {
border: 1px solid #c1c1c1;
}
h2.resp-accordion {
border: none;
margin: 0px 10px 0px 10px;
padding:0px;
text-indent: 15px;
}
h2.resp-tab-active {
border-bottom: 0px solid #c1c1c1 !important;
margin-bottom: 20px !important;
padding:0px !important;
}
h2.resp-tab-title:last-child {
border-bottom: 12px solid #c1c1c1 !important;
background: blue;
}
/*-----------Vertical tabs-----------*/
.resp-vtabs ul.resp-tabs-list {
float: left;
width: 30%;
}
.resp-vtabs .resp-tabs-list li {
display: block;
padding: 0px 0px !important;
margin: 0;
cursor: pointer;
float: none;
}
.resp-vtabs .resp-tabs-container {
padding: 0px;
background-color: #fff;
border: 1px solid #c1c1c1;
float: left;
width: 68%;
min-height: 250px;
border-radius: 4px;
clear: none;
}
.resp-vtabs .resp-tab-content {
border: none;
}
.resp-vtabs li.resp-tab-active {
border: 1px solid #c1c1c1;
border-right: none;
background-color: #fff;
position: relative;
z-index: 1;
margin-right: 0px !important;
padding: 0px !important;
}
.resp-arrow {
width: 0;
height: 0;
float: right;
margin-top: 35px;
margin-right: 10px;
border-left: 8px solid transparent;
border-right: 8px solid transparent;
border-top: 16px solid #ffffff;
}
h2.resp-tab-active span.resp-arrow {
border: none;
border-left: 8px solid transparent;
border-right: 8px solid transparent;
border-bottom: 16px solid #ffffff;
}
/*-----------Accordion styles-----------*/
h2.resp-tab-active {
}
.resp-easy-accordion h2.resp-accordion {
display: block;
}
.resp-easy-accordion .resp-tab-content {
border: 1px solid #c1c1c1;
}
.resp-easy-accordion .resp-tab-content:last-child {
border-bottom: 1px solid #c1c1c1 !important;
}
.resp-jfit {
width: 100%;
margin: 0px;
}
.resp-tab-content-active {
display: block;
}
h2.resp-accordion:first-child {
border-top: 0px solid #c1c1c1 !important;
}
/*Here your can change the breakpoint to set the accordion, when screen resolution changed*/
@media only screen and (max-width: 992px) {
ul.resp-tabs-list {
display: none;
}
h2.resp-accordion {
display: block;
margin-bottom: 20px;
}
.resp-vtabs .resp-tab-content {
border: 0px solid #C1C1C1;
}
.resp-vtabs .resp-tabs-container {
border: none;
float: none;
width: 100%;
min-height: initial;
clear: none;
}
.resp-accordion-closed {
display:none !important;
}
.resp-vtabs .resp-tab-content:last-child {
border-bottom: none !important;
}
}

@ -0,0 +1,403 @@
@font-face{font-family:'FontAwesome';src:url('../font/fontawesome-webfont.eot?v=3.2.1');src:url('../font/fontawesome-webfont.eot?#iefix&v=3.2.1') format('embedded-opentype'),url('../font/fontawesome-webfont.woff?v=3.2.1') format('woff'),url('../font/fontawesome-webfont.ttf?v=3.2.1') format('truetype'),url('../font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1') format('svg');font-weight:normal;font-style:normal;}[class^="icon-"],[class*=" icon-"]{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;}
[class^="icon-"]:before,[class*=" icon-"]:before{text-decoration:inherit;display:inline-block;speak:none;}
.icon-large:before{vertical-align:-10%;font-size:1.3333333333333333em;}
a [class^="icon-"],a [class*=" icon-"]{display:inline;}
[class^="icon-"].icon-fixed-width,[class*=" icon-"].icon-fixed-width{display:inline-block;width:1.1428571428571428em;text-align:right;padding-right:0.2857142857142857em;}[class^="icon-"].icon-fixed-width.icon-large,[class*=" icon-"].icon-fixed-width.icon-large{width:1.4285714285714286em;}
.icons-ul{margin-left:2.142857142857143em;list-style-type:none;}.icons-ul>li{position:relative;}
.icons-ul .icon-li{position:absolute;left:-2.142857142857143em;width:2.142857142857143em;text-align:center;line-height:inherit;}
[class^="icon-"].hide,[class*=" icon-"].hide{display:none;}
.icon-muted{color:#eeeeee;}
.icon-light{color:#ffffff;}
.icon-dark{color:#333333;}
.icon-border{border:solid 1px #eeeeee;padding:.2em .25em .15em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
.icon-2x{font-size:2em;}.icon-2x.icon-border{border-width:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
.icon-3x{font-size:3em;}.icon-3x.icon-border{border-width:3px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
.icon-4x{font-size:4em;}.icon-4x.icon-border{border-width:4px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
.icon-5x{font-size:5em;}.icon-5x.icon-border{border-width:5px;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px;}
.pull-right{float:right;}
.pull-left{float:left;}
[class^="icon-"].pull-left,[class*=" icon-"].pull-left{margin-right:.3em;}
[class^="icon-"].pull-right,[class*=" icon-"].pull-right{margin-left:.3em;}
[class^="icon-"],[class*=" icon-"]{display:inline;width:auto;height:auto;line-height:normal;vertical-align:baseline;background-image:none;background-position:0% 0%;background-repeat:repeat;margin-top:0;}
.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"]{background-image:none;}
.btn [class^="icon-"].icon-large,.nav [class^="icon-"].icon-large,.btn [class*=" icon-"].icon-large,.nav [class*=" icon-"].icon-large{line-height:.9em;}
.btn [class^="icon-"].icon-spin,.nav [class^="icon-"].icon-spin,.btn [class*=" icon-"].icon-spin,.nav [class*=" icon-"].icon-spin{display:inline-block;}
.nav-tabs [class^="icon-"],.nav-pills [class^="icon-"],.nav-tabs [class*=" icon-"],.nav-pills [class*=" icon-"],.nav-tabs [class^="icon-"].icon-large,.nav-pills [class^="icon-"].icon-large,.nav-tabs [class*=" icon-"].icon-large,.nav-pills [class*=" icon-"].icon-large{line-height:.9em;}
.btn [class^="icon-"].pull-left.icon-2x,.btn [class*=" icon-"].pull-left.icon-2x,.btn [class^="icon-"].pull-right.icon-2x,.btn [class*=" icon-"].pull-right.icon-2x{margin-top:.18em;}
.btn [class^="icon-"].icon-spin.icon-large,.btn [class*=" icon-"].icon-spin.icon-large{line-height:.8em;}
.btn.btn-small [class^="icon-"].pull-left.icon-2x,.btn.btn-small [class*=" icon-"].pull-left.icon-2x,.btn.btn-small [class^="icon-"].pull-right.icon-2x,.btn.btn-small [class*=" icon-"].pull-right.icon-2x{margin-top:.25em;}
.btn.btn-large [class^="icon-"],.btn.btn-large [class*=" icon-"]{margin-top:0;}.btn.btn-large [class^="icon-"].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x,.btn.btn-large [class^="icon-"].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-top:.05em;}
.btn.btn-large [class^="icon-"].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x{margin-right:.2em;}
.btn.btn-large [class^="icon-"].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-left:.2em;}
.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{line-height:inherit;}
.icon-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:-35%;}.icon-stack [class^="icon-"],.icon-stack [class*=" icon-"]{display:block;text-align:center;position:absolute;width:100%;height:100%;font-size:1em;line-height:inherit;*line-height:2em;}
.icon-stack .icon-stack-base{font-size:2em;*line-height:1em;}
.icon-spin{display:inline-block;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear;}
a .icon-stack,a .icon-spin{display:inline-block;text-decoration:none;}
@-moz-keyframes spin{0%{-moz-transform:rotate(0deg);} 100%{-moz-transform:rotate(359deg);}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);} 100%{-webkit-transform:rotate(359deg);}}@-o-keyframes spin{0%{-o-transform:rotate(0deg);} 100%{-o-transform:rotate(359deg);}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg);} 100%{-ms-transform:rotate(359deg);}}@keyframes spin{0%{transform:rotate(0deg);} 100%{transform:rotate(359deg);}}.icon-rotate-90:before{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);}
.icon-rotate-180:before{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);}
.icon-rotate-270:before{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);}
.icon-flip-horizontal:before{-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1);}
.icon-flip-vertical:before{-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1);}
a .icon-rotate-90:before,a .icon-rotate-180:before,a .icon-rotate-270:before,a .icon-flip-horizontal:before,a .icon-flip-vertical:before{display:inline-block;}
.icon-glass:before{content:"\f000";}
.icon-music:before{content:"\f001";}
.icon-search:before{content:"\f002";}
.icon-envelope-alt:before{content:"\f003";}
.icon-heart:before{content:"\f004";}
.icon-star:before{content:"\f005";}
.icon-star-empty:before{content:"\f006";}
.icon-user:before{content:"\f007";}
.icon-film:before{content:"\f008";}
.icon-th-large:before{content:"\f009";}
.icon-th:before{content:"\f00a";}
.icon-th-list:before{content:"\f00b";}
.icon-ok:before{content:"\f00c";}
.icon-remove:before{content:"\f00d";}
.icon-zoom-in:before{content:"\f00e";}
.icon-zoom-out:before{content:"\f010";}
.icon-power-off:before,.icon-off:before{content:"\f011";}
.icon-signal:before{content:"\f012";}
.icon-gear:before,.icon-cog:before{content:"\f013";}
.icon-trash:before{content:"\f014";}
.icon-home:before{content:"\f015";}
.icon-file-alt:before{content:"\f016";}
.icon-time:before{content:"\f017";}
.icon-road:before{content:"\f018";}
.icon-download-alt:before{content:"\f019";}
.icon-download:before{content:"\f01a";}
.icon-upload:before{content:"\f01b";}
.icon-inbox:before{content:"\f01c";}
.icon-play-circle:before{content:"\f01d";}
.icon-rotate-right:before,.icon-repeat:before{content:"\f01e";}
.icon-refresh:before{content:"\f021";}
.icon-list-alt:before{content:"\f022";}
.icon-lock:before{content:"\f023";}
.icon-flag:before{content:"\f024";}
.icon-headphones:before{content:"\f025";}
.icon-volume-off:before{content:"\f026";}
.icon-volume-down:before{content:"\f027";}
.icon-volume-up:before{content:"\f028";}
.icon-qrcode:before{content:"\f029";}
.icon-barcode:before{content:"\f02a";}
.icon-tag:before{content:"\f02b";}
.icon-tags:before{content:"\f02c";}
.icon-book:before{content:"\f02d";}
.icon-bookmark:before{content:"\f02e";}
.icon-print:before{content:"\f02f";}
.icon-camera:before{content:"\f030";}
.icon-font:before{content:"\f031";}
.icon-bold:before{content:"\f032";}
.icon-italic:before{content:"\f033";}
.icon-text-height:before{content:"\f034";}
.icon-text-width:before{content:"\f035";}
.icon-align-left:before{content:"\f036";}
.icon-align-center:before{content:"\f037";}
.icon-align-right:before{content:"\f038";}
.icon-align-justify:before{content:"\f039";}
.icon-list:before{content:"\f03a";}
.icon-indent-left:before{content:"\f03b";}
.icon-indent-right:before{content:"\f03c";}
.icon-facetime-video:before{content:"\f03d";}
.icon-picture:before{content:"\f03e";}
.icon-pencil:before{content:"\f040";}
.icon-map-marker:before{content:"\f041";}
.icon-adjust:before{content:"\f042";}
.icon-tint:before{content:"\f043";}
.icon-edit:before{content:"\f044";}
.icon-share:before{content:"\f045";}
.icon-check:before{content:"\f046";}
.icon-move:before{content:"\f047";}
.icon-step-backward:before{content:"\f048";}
.icon-fast-backward:before{content:"\f049";}
.icon-backward:before{content:"\f04a";}
.icon-play:before{content:"\f04b";}
.icon-pause:before{content:"\f04c";}
.icon-stop:before{content:"\f04d";}
.icon-forward:before{content:"\f04e";}
.icon-fast-forward:before{content:"\f050";}
.icon-step-forward:before{content:"\f051";}
.icon-eject:before{content:"\f052";}
.icon-chevron-left:before{content:"\f053";}
.icon-chevron-right:before{content:"\f054";}
.icon-plus-sign:before{content:"\f055";}
.icon-minus-sign:before{content:"\f056";}
.icon-remove-sign:before{content:"\f057";}
.icon-ok-sign:before{content:"\f058";}
.icon-question-sign:before{content:"\f059";}
.icon-info-sign:before{content:"\f05a";}
.icon-screenshot:before{content:"\f05b";}
.icon-remove-circle:before{content:"\f05c";}
.icon-ok-circle:before{content:"\f05d";}
.icon-ban-circle:before{content:"\f05e";}
.icon-arrow-left:before{content:"\f060";}
.icon-arrow-right:before{content:"\f061";}
.icon-arrow-up:before{content:"\f062";}
.icon-arrow-down:before{content:"\f063";}
.icon-mail-forward:before,.icon-share-alt:before{content:"\f064";}
.icon-resize-full:before{content:"\f065";}
.icon-resize-small:before{content:"\f066";}
.icon-plus:before{content:"\f067";}
.icon-minus:before{content:"\f068";}
.icon-asterisk:before{content:"\f069";}
.icon-exclamation-sign:before{content:"\f06a";}
.icon-gift:before{content:"\f06b";}
.icon-leaf:before{content:"\f06c";}
.icon-fire:before{content:"\f06d";}
.icon-eye-open:before{content:"\f06e";}
.icon-eye-close:before{content:"\f070";}
.icon-warning-sign:before{content:"\f071";}
.icon-plane:before{content:"\f072";}
.icon-calendar:before{content:"\f073";}
.icon-random:before{content:"\f074";}
.icon-comment:before{content:"\f075";}
.icon-magnet:before{content:"\f076";}
.icon-chevron-up:before{content:"\f077";}
.icon-chevron-down:before{content:"\f078";}
.icon-retweet:before{content:"\f079";}
.icon-shopping-cart:before{content:"\f07a";}
.icon-folder-close:before{content:"\f07b";}
.icon-folder-open:before{content:"\f07c";}
.icon-resize-vertical:before{content:"\f07d";}
.icon-resize-horizontal:before{content:"\f07e";}
.icon-bar-chart:before{content:"\f080";}
.icon-twitter-sign:before{content:"\f081";}
.icon-facebook-sign:before{content:"\f082";}
.icon-camera-retro:before{content:"\f083";}
.icon-key:before{content:"\f084";}
.icon-gears:before,.icon-cogs:before{content:"\f085";}
.icon-comments:before{content:"\f086";}
.icon-thumbs-up-alt:before{content:"\f087";}
.icon-thumbs-down-alt:before{content:"\f088";}
.icon-star-half:before{content:"\f089";}
.icon-heart-empty:before{content:"\f08a";}
.icon-signout:before{content:"\f08b";}
.icon-linkedin-sign:before{content:"\f08c";}
.icon-pushpin:before{content:"\f08d";}
.icon-external-link:before{content:"\f08e";}
.icon-signin:before{content:"\f090";}
.icon-trophy:before{content:"\f091";}
.icon-github-sign:before{content:"\f092";}
.icon-upload-alt:before{content:"\f093";}
.icon-lemon:before{content:"\f094";}
.icon-phone:before{content:"\f095";}
.icon-unchecked:before,.icon-check-empty:before{content:"\f096";}
.icon-bookmark-empty:before{content:"\f097";}
.icon-phone-sign:before{content:"\f098";}
.icon-twitter:before{content:"\f099";}
.icon-facebook:before{content:"\f09a";}
.icon-github:before{content:"\f09b";}
.icon-unlock:before{content:"\f09c";}
.icon-credit-card:before{content:"\f09d";}
.icon-rss:before{content:"\f09e";}
.icon-hdd:before{content:"\f0a0";}
.icon-bullhorn:before{content:"\f0a1";}
.icon-bell:before{content:"\f0a2";}
.icon-certificate:before{content:"\f0a3";}
.icon-hand-right:before{content:"\f0a4";}
.icon-hand-left:before{content:"\f0a5";}
.icon-hand-up:before{content:"\f0a6";}
.icon-hand-down:before{content:"\f0a7";}
.icon-circle-arrow-left:before{content:"\f0a8";}
.icon-circle-arrow-right:before{content:"\f0a9";}
.icon-circle-arrow-up:before{content:"\f0aa";}
.icon-circle-arrow-down:before{content:"\f0ab";}
.icon-globe:before{content:"\f0ac";}
.icon-wrench:before{content:"\f0ad";}
.icon-tasks:before{content:"\f0ae";}
.icon-filter:before{content:"\f0b0";}
.icon-briefcase:before{content:"\f0b1";}
.icon-fullscreen:before{content:"\f0b2";}
.icon-group:before{content:"\f0c0";}
.icon-link:before{content:"\f0c1";}
.icon-cloud:before{content:"\f0c2";}
.icon-beaker:before{content:"\f0c3";}
.icon-cut:before{content:"\f0c4";}
.icon-copy:before{content:"\f0c5";}
.icon-paperclip:before,.icon-paper-clip:before{content:"\f0c6";}
.icon-save:before{content:"\f0c7";}
.icon-sign-blank:before{content:"\f0c8";}
.icon-reorder:before{content:"\f0c9";}
.icon-list-ul:before{content:"\f0ca";}
.icon-list-ol:before{content:"\f0cb";}
.icon-strikethrough:before{content:"\f0cc";}
.icon-underline:before{content:"\f0cd";}
.icon-table:before{content:"\f0ce";}
.icon-magic:before{content:"\f0d0";}
.icon-truck:before{content:"\f0d1";}
.icon-pinterest:before{content:"\f0d2";}
.icon-pinterest-sign:before{content:"\f0d3";}
.icon-google-plus-sign:before{content:"\f0d4";}
.icon-google-plus:before{content:"\f0d5";}
.icon-money:before{content:"\f0d6";}
.icon-caret-down:before{content:"\f0d7";}
.icon-caret-up:before{content:"\f0d8";}
.icon-caret-left:before{content:"\f0d9";}
.icon-caret-right:before{content:"\f0da";}
.icon-columns:before{content:"\f0db";}
.icon-sort:before{content:"\f0dc";}
.icon-sort-down:before{content:"\f0dd";}
.icon-sort-up:before{content:"\f0de";}
.icon-envelope:before{content:"\f0e0";}
.icon-linkedin:before{content:"\f0e1";}
.icon-rotate-left:before,.icon-undo:before{content:"\f0e2";}
.icon-legal:before{content:"\f0e3";}
.icon-dashboard:before{content:"\f0e4";}
.icon-comment-alt:before{content:"\f0e5";}
.icon-comments-alt:before{content:"\f0e6";}
.icon-bolt:before{content:"\f0e7";}
.icon-sitemap:before{content:"\f0e8";}
.icon-umbrella:before{content:"\f0e9";}
.icon-paste:before{content:"\f0ea";}
.icon-lightbulb:before{content:"\f0eb";}
.icon-exchange:before{content:"\f0ec";}
.icon-cloud-download:before{content:"\f0ed";}
.icon-cloud-upload:before{content:"\f0ee";}
.icon-user-md:before{content:"\f0f0";}
.icon-stethoscope:before{content:"\f0f1";}
.icon-suitcase:before{content:"\f0f2";}
.icon-bell-alt:before{content:"\f0f3";}
.icon-coffee:before{content:"\f0f4";}
.icon-food:before{content:"\f0f5";}
.icon-file-text-alt:before{content:"\f0f6";}
.icon-building:before{content:"\f0f7";}
.icon-hospital:before{content:"\f0f8";}
.icon-ambulance:before{content:"\f0f9";}
.icon-medkit:before{content:"\f0fa";}
.icon-fighter-jet:before{content:"\f0fb";}
.icon-beer:before{content:"\f0fc";}
.icon-h-sign:before{content:"\f0fd";}
.icon-plus-sign-alt:before{content:"\f0fe";}
.icon-double-angle-left:before{content:"\f100";}
.icon-double-angle-right:before{content:"\f101";}
.icon-double-angle-up:before{content:"\f102";}
.icon-double-angle-down:before{content:"\f103";}
.icon-angle-left:before{content:"\f104";}
.icon-angle-right:before{content:"\f105";}
.icon-angle-up:before{content:"\f106";}
.icon-angle-down:before{content:"\f107";}
.icon-desktop:before{content:"\f108";}
.icon-laptop:before{content:"\f109";}
.icon-tablet:before{content:"\f10a";}
.icon-mobile-phone:before{content:"\f10b";}
.icon-circle-blank:before{content:"\f10c";}
.icon-quote-left:before{content:"\f10d";}
.icon-quote-right:before{content:"\f10e";}
.icon-spinner:before{content:"\f110";}
.icon-circle:before{content:"\f111";}
.icon-mail-reply:before,.icon-reply:before{content:"\f112";}
.icon-github-alt:before{content:"\f113";}
.icon-folder-close-alt:before{content:"\f114";}
.icon-folder-open-alt:before{content:"\f115";}
.icon-expand-alt:before{content:"\f116";}
.icon-collapse-alt:before{content:"\f117";}
.icon-smile:before{content:"\f118";}
.icon-frown:before{content:"\f119";}
.icon-meh:before{content:"\f11a";}
.icon-gamepad:before{content:"\f11b";}
.icon-keyboard:before{content:"\f11c";}
.icon-flag-alt:before{content:"\f11d";}
.icon-flag-checkered:before{content:"\f11e";}
.icon-terminal:before{content:"\f120";}
.icon-code:before{content:"\f121";}
.icon-reply-all:before{content:"\f122";}
.icon-mail-reply-all:before{content:"\f122";}
.icon-star-half-full:before,.icon-star-half-empty:before{content:"\f123";}
.icon-location-arrow:before{content:"\f124";}
.icon-crop:before{content:"\f125";}
.icon-code-fork:before{content:"\f126";}
.icon-unlink:before{content:"\f127";}
.icon-question:before{content:"\f128";}
.icon-info:before{content:"\f129";}
.icon-exclamation:before{content:"\f12a";}
.icon-superscript:before{content:"\f12b";}
.icon-subscript:before{content:"\f12c";}
.icon-eraser:before{content:"\f12d";}
.icon-puzzle-piece:before{content:"\f12e";}
.icon-microphone:before{content:"\f130";}
.icon-microphone-off:before{content:"\f131";}
.icon-shield:before{content:"\f132";}
.icon-calendar-empty:before{content:"\f133";}
.icon-fire-extinguisher:before{content:"\f134";}
.icon-rocket:before{content:"\f135";}
.icon-maxcdn:before{content:"\f136";}
.icon-chevron-sign-left:before{content:"\f137";}
.icon-chevron-sign-right:before{content:"\f138";}
.icon-chevron-sign-up:before{content:"\f139";}
.icon-chevron-sign-down:before{content:"\f13a";}
.icon-html5:before{content:"\f13b";}
.icon-css3:before{content:"\f13c";}
.icon-anchor:before{content:"\f13d";}
.icon-unlock-alt:before{content:"\f13e";}
.icon-bullseye:before{content:"\f140";}
.icon-ellipsis-horizontal:before{content:"\f141";}
.icon-ellipsis-vertical:before{content:"\f142";}
.icon-rss-sign:before{content:"\f143";}
.icon-play-sign:before{content:"\f144";}
.icon-ticket:before{content:"\f145";}
.icon-minus-sign-alt:before{content:"\f146";}
.icon-check-minus:before{content:"\f147";}
.icon-level-up:before{content:"\f148";}
.icon-level-down:before{content:"\f149";}
.icon-check-sign:before{content:"\f14a";}
.icon-edit-sign:before{content:"\f14b";}
.icon-external-link-sign:before{content:"\f14c";}
.icon-share-sign:before{content:"\f14d";}
.icon-compass:before{content:"\f14e";}
.icon-collapse:before{content:"\f150";}
.icon-collapse-top:before{content:"\f151";}
.icon-expand:before{content:"\f152";}
.icon-euro:before,.icon-eur:before{content:"\f153";}
.icon-gbp:before{content:"\f154";}
.icon-dollar:before,.icon-usd:before{content:"\f155";}
.icon-rupee:before,.icon-inr:before{content:"\f156";}
.icon-yen:before,.icon-jpy:before{content:"\f157";}
.icon-renminbi:before,.icon-cny:before{content:"\f158";}
.icon-won:before,.icon-krw:before{content:"\f159";}
.icon-bitcoin:before,.icon-btc:before{content:"\f15a";}
.icon-file:before{content:"\f15b";}
.icon-file-text:before{content:"\f15c";}
.icon-sort-by-alphabet:before{content:"\f15d";}
.icon-sort-by-alphabet-alt:before{content:"\f15e";}
.icon-sort-by-attributes:before{content:"\f160";}
.icon-sort-by-attributes-alt:before{content:"\f161";}
.icon-sort-by-order:before{content:"\f162";}
.icon-sort-by-order-alt:before{content:"\f163";}
.icon-thumbs-up:before{content:"\f164";}
.icon-thumbs-down:before{content:"\f165";}
.icon-youtube-sign:before{content:"\f166";}
.icon-youtube:before{content:"\f167";}
.icon-xing:before{content:"\f168";}
.icon-xing-sign:before{content:"\f169";}
.icon-youtube-play:before{content:"\f16a";}
.icon-dropbox:before{content:"\f16b";}
.icon-stackexchange:before{content:"\f16c";}
.icon-instagram:before{content:"\f16d";}
.icon-flickr:before{content:"\f16e";}
.icon-adn:before{content:"\f170";}
.icon-bitbucket:before{content:"\f171";}
.icon-bitbucket-sign:before{content:"\f172";}
.icon-tumblr:before{content:"\f173";}
.icon-tumblr-sign:before{content:"\f174";}
.icon-long-arrow-down:before{content:"\f175";}
.icon-long-arrow-up:before{content:"\f176";}
.icon-long-arrow-left:before{content:"\f177";}
.icon-long-arrow-right:before{content:"\f178";}
.icon-apple:before{content:"\f179";}
.icon-windows:before{content:"\f17a";}
.icon-android:before{content:"\f17b";}
.icon-linux:before{content:"\f17c";}
.icon-dribbble:before{content:"\f17d";}
.icon-skype:before{content:"\f17e";}
.icon-foursquare:before{content:"\f180";}
.icon-trello:before{content:"\f181";}
.icon-female:before{content:"\f182";}
.icon-male:before{content:"\f183";}
.icon-gittip:before{content:"\f184";}
.icon-sun:before{content:"\f185";}
.icon-moon:before{content:"\f186";}
.icon-archive:before{content:"\f187";}
.icon-bug:before{content:"\f188";}
.icon-vk:before{content:"\f189";}
.icon-weibo:before{content:"\f18a";}
.icon-renren:before{content:"\f18b";}

@ -0,0 +1,189 @@
html,body {
width: 100%;
font-size: 100%;
font-size: 16px;
font-size: 1em;
font-family: "Microsoft YaHei";
}
#header .search {
display: inline-block;
}
.navbar>.container .navbar-brand {
margin-left: 0;
}
.top-bar {
padding: 10px 0;
background: #191919;
border-bottom: 1px solid #222;
line-height: 28px;
}
.top-number {
color: #fff;
}
.top-number p {
margin: 0
}
.social {
text-align: right;
}
.social-share {
display: inline-block;
list-style: none;
padding: 0;
margin: 0;
}
ul.social-share li {
display: inline-block;
}
ul.social-share li a {
display: inline-block;
color: #fff;
background: #404040;
width: 25px;
height: 25px;
line-height: 25px;
text-align: center;
border-radius: 2px;
}
ul.social-share li a:hover {
background: #c52d2f;
color: #fff;
}
.search i {
color: #fff;
}
input.search-form {
background: transparent;
border: 0 none;
width: 60px;
padding: 0 10px;
color: #FFF;
-webkit-transition: all 400ms;
-moz-transition: all 400ms;
-ms-transition: all 400ms;
-o-transition: all 400ms;
transition: all 400ms;
}
input.search-form::-webkit-input-placeholder {
color: transparent;
}
input.search-form:hover::-webkit-input-placeholder {
color: #fff;
}
input.search-form:hover {
width: 180px;
}
.navbar-brand {
padding: 0;
margin: 0;
}
.navbar-brand p{
font-size: 0.8em;
margin: 0;
}
.navbar {
border-radius: 0;
margin-bottom: 0;
background: #151515;
padding: 15px 0;
padding-bottom: 0;
}
.navbar-nav {
margin-top: 12px;
}
.navbar-nav>li {
margin-left: 35px;
padding-bottom: 28px;
}
.navbar-inverse .navbar-nav>li>a {
padding: 5px 12px;
margin: 0;
border-radius: 3px;
color: #fff;
line-height: 24px;
display: inline-block;
}
.navbar-inverse .navbar-nav>li>a:hover {
background-color: #c52d2f;
color: #fff;
}
.navbar-inverse {
border: none;
}
.navbar-inverse .navbar-brand {
font-size: 36px;
line-height: 50px;
color: #fff;
}
.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus
{
background-color: #c52d2f;
color: #fff;
}
.navbar-inverse .navbar-nav .dropdown-menu {
background-color: rgba(0, 0, 0, .85);
-webkit-box-shadow: 0 3px 8px rgba(0, 0, 0, 0.125);
-moz-box-shadow: 0 3px 8px rgba(0, 0, 0, 0.125);
box-shadow: 0 3px 8px rgba(0, 0, 0, 0.125);
border: 0;
padding: 0;
margin-top: 0;
border-top: 0;
border-radius: 0;
left: 0;
}
.navbar-inverse .navbar-nav .dropdown-menu:before {
position: absolute;
top: 0;
}
.navbar-inverse .navbar-nav .dropdown-menu>li>a {
padding: 8px 15px;
color: #fff;
}
.navbar-inverse .navbar-nav .dropdown-menu>li:hover>a,.navbar-inverse .navbar-nav .dropdown-menu>li:focus>a,.navbar-inverse .navbar-nav .dropdown-menu>li.active>a
{
background-color: #c52d2f;
color: #fff;
}
.navbar-inverse .navbar-nav .dropdown-menu>li:last-child>a {
border-radius: 0 0 3px 3px;
}
.navbar-inverse .navbar-nav .dropdown-menu>li.divider {
background-color: transparent;
}
.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form {
border-top: 0;
padding-bottom: 0;
}

@ -0,0 +1,303 @@
/* lg */
@media (min-width: 1200px) {
/* Make Navigation Toggle on Desktop Hover */
.dropdown:hover .dropdown-menu {
display: block;
-webkit-animation: fadeInUp 400ms;
animation: fadeInUp 400ms;
}
#portfolio .row {
margin-left: -10px;
margin-right: -10px;
}
}
/* md */
@media (min-width: 992px) and (max-width: 1199px) {
/* Make Navigation Toggle on Desktop Hover */
.dropdown:hover .dropdown-menu {
display: block;
-webkit-animation: fadeInUp 400ms;
animation: fadeInUp 400ms;
}
.navbar-nav > li {
margin-left: 10px;
}
.navbar-collapse {
padding-left: 0;
padding-right: 0;
}
.recent-work-wrap .recent-work-inner h3 a {
font-size: 20px;
}
.recent-work-wrap .overlay{
padding: 15px;
}
.services-wrap {
padding: 40px 10px 40px 30px;
}
.feature-wrap h2,
.single-services h2 {
font-size: 18px;
}
.feature-wrap h3,
.single-services h3{
font-size: 14px;
}
.tab-wrap .media .parrent.pull-left{
clear: both;
width: 100%;
}
.tab-wrap .media .parrent.media-body{
clear: both;
}
#portfolio .row {
margin-left: -10px;
margin-right: -10px;
}
.recent-work-wrap .overlay .preview{
line-height: inherit;
}
.team-bar .first-arrow {
width: 21%;
}
.team-bar .second-arrow {
width: 20%;
}
.team-bar .third-arrow {
width: 21%;
}
.team-bar .fourth-arrow {
width: 20%;
}
ul.social_icons li{
margin-right: 0;
}
}
/* sm */
@media (min-width: 768px) and (max-width: 991px) {
/* Make Navigation Toggle on Desktop Hover */
.dropdown:hover .dropdown-menu {
display: block;
-webkit-animation: fadeInUp 400ms;
animation: fadeInUp 400ms;
}
.navbar-collapse {
padding-left: 0;
padding-right: 0;
}
.navbar-nav > li {
margin-left: 0;
}
#main-slider .carousel h1 {
font-size: 25px;
}
#main-slider .carousel h2 {
font-size: 20px;
}
.tab-wrap .media .parrent.pull-left,
.media.accordion-inner .pull-left{
clear: both;
width: 100%;
}
.tab-wrap .media .parrent.media-body,
.media.accordion-inner .media-body{
clear: both;
}
.services-wrap {
padding: 40px 0 40px 30px;
}
.recent-work-wrap .overlay{
padding: 15px;
}
.recent-work-wrap .recent-work-inner h3 a {
font-size: 20px;
}
.sinlge-skill{
width: 150px;
height: 150px;
}
.sinlge-skill p em {
font-size: 25px;
}
.sinlge-skill p {
font-size: 16px;
}
.team-bar .first-one-arrow {
width: 2%;
}
.team-bar .first-arrow {
width: 18%;
}
.team-bar .second-arrow {
width: 24%;
}
.team-bar .third-arrow {
width: 15%;
}
.team-bar .fourth-arrow {
width: 20%;
}
.blog .blog-item .entry-meta > span a{
font-size: 10px;
}
}
/* xs */
@media (max-width: 767px) {
.container > .navbar-header, .container > .navbar-collapse{
margin-left: 0;
}
.top-number{
font-size: 14px;
}
input.search-form:hover {
width: 120px;
}
.navbar-nav > li {
padding-bottom: 0;
}
#main-slider .carousel h1 {
font-size: 25px;
}
#main-slider .carousel h2 {
font-size: 16px;
}
.feature-wrap h2,
.single-services h2 {
font-size: 18px;
}
.feature-wrap h3,
.single-services h3{
font-size: 14px;
}
.media.accordion-inner .pull-left,
.media.accordion-inner .media-body{
clear: both;
}
.accordion-inner h4 {
margin-top: 10px;
}
.tab-wrap .media .pull-left{
clear: both;
width: 100%;
}
.tab-wrap .media .media-body{
clear: both;
}
.nav-tabs > li.active > a:after{
display: none;
}
#footer .col-sm-6{
text-align:center;
}
#footer .pull-right{
float: none !important;
}
.sinlge-skill {
margin: 0 auto;
margin-top: 30px;
margin-bottom: 30px;
}
.team .single-profile-top,
.team .single-profile-bottom {
margin-bottom: 30px;
}
.clients-area {
padding: 60px 0;
}
.clients-area h1 {
font-size: 25px;
}
.portfolio-item,
#recent-works .col-xs-12.col-sm-4.col-md-3{
padding:0 15px;
}
ul.social_icons li{
margin-right: 0;
}
.blog .blog-item .entry-meta{
margin-bottom: 20px;
}
.blog .blog-item .blog-content h3 {
margin-bottom: 20px;
}
.post_reply_comments {
padding-left: 20px;
}
}
/* XS Portrait */
@media (max-width: 480px) {
}

@ -0,0 +1,518 @@
#lightbox {
cursor: pointer;
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: 0;
background: black;
/* IE Fallback (Solid Colour) */
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAIElEQVQ4T2NkYGDYDMRkA8ZRAxhGw4BhNAyA+WAYpAMAIFgLQfO9BoEAAAAASUVORK5CYII=);
background: rgba(211, 211, 211, 0.7);
-webkit-filter: none !important;
}
#lightbox img {
display: block;
position: absolute;
box-shadow: 0 0 20px #000;
border-radius: 1px;
width: auto;
}
body.blurred > * {
-webkit-filter: blur(2px);
-webkit-transform: translate3d(0, 0, 0);
}
.lightbox-loading {
background: url(../images/loading.gif) center center no-repeat;
width: 31px;
height: 31px;
margin: -16px 0 0 -16px;
position: absolute;
top: 48%;
left: 50%;
}
.lightbox-caption {
display: none;
position: absolute;
left: 0;
bottom: 0;
width: 100%;
text-align: center;
z-index: 1000;
background: #000;
background: rgba(0, 0, 0, 0.7);
}
.lightbox-caption p {
margin: 0 auto;
max-width: 70%;
display: inline-block;
*display: inline;
*zoom: 1;
padding: 10px;
color: #fff;
font-size: 12px;
line-height: 18px;
}
.lightbox-button {
position: absolute;
z-index: 9999;
background: no-repeat center center;
width: 32px;
height: 32px;
opacity: 0.4;
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
-ms-transition: all 0.3s;
transition: all 0.3s;
}
.lightbox-button:hover,
.lightbox-button:focus {
opacity: 1;
-webkit-transform: scale(1.4);
-moz-transform: scale(1.4);
-ms-transform: scale(1.4);
transform: scale(1.4);
}
.lightbox-close {
right: 30px;
top: 30px;
background-image: url("../images/close.png");
}
.lightbox-next {
right: 30px;
top: 48%;
background-image: url("../images/next.png");
}
.lightbox-previous {
left: 30px;
top: 48%;
background-image: url("../images/previous.png");
}
/***********************************************************************
*
* Liquid Slider
* Kevin Batdorf
*
* http://liquidslider.com
*
* GPL license
*
************************************************************************/
/******************************************************
* No JavaScript
* Use this to apply styles when Javascript is disabled,
* and be sure to include the ".no-js" class in your html
* markup.
*******************************************************/
.no-js .liquid-slider {
overflow: scroll;
}
/******************************************************
* Preloader
* Use this to apply styles when Javascript is disabled,
* and be sure to include the ".no-js" class in your html
* markup.
*******************************************************/
.ls-preloader {
background: url(../images/loading.gif) #f2f2f2 no-repeat center 75px;
opacity: 1;
/* Do not edit below this line */
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
z-index: 2;
}
/******************************************************************
* Base Styles
* The styles here will apply to everything. I recommend you keep
* the styles in here specific to mobile defices, then use
* the media queries at the bottom to define further styles for larger
* screen-sizes. Think Mobile First. But be cautious of how
* your site will look in older IE browsers.
*
* Additional media queries are at the bottom of this document
******************************************************************/
.ls-wrapper {
margin: 0 auto;
/* Do not edit below this line */
clear: both;
overflow: auto;
position: relative;
}
/******************************************************
* Main Container
* This is the main container (minus the navigation).
* Be sure to match the width with the .panel class,
* or it won't work properly. Also, width only applies
* if you are not using the responsive setting.
*
* The responsive slider will interpret the width as the
* max width instead
*******************************************************/
.ls-wrapper .liquid-slider {
/* Do not edit below this line */
float: left;
overflow: hidden;
position: relative;
}
.ls-wrapper .panel-container {
/* Do not edit below this line */
position: relative;
-webkit-backface-visibility: hidden;
-webkit-perspective: 1000;
/* from http://davidwalsh.name/translate3d */
}
.ls-wrapper .liquid-slider .panel-container .fade {
/* Do not edit below this line */
width: 100%;
opacity: 0;
position: absolute;
top: 0;
left: 0;
display: block;
}
/******************************************************
* Panels
* This is for the panels. If you are using the
* responsive setting, this will act as the max-width
* for the entire slider.
*******************************************************/
.ls-wrapper .liquid-slider .panel {
/* Do not edit below this line */
display: block;
float: left;
}
/******************************************************
* These provide a base starting point for images and
* video. However, you will have to add more rules
* based on the content you use. Use the @media queries
* at the bottom of this file.
*******************************************************/
.ls-wrapper .liquid-slider .panel img {
/*
width:100%;
height:auto;
margin:0 5px;
*/
}
.ls-wrapper .liquid-slider .panel video {
/*
width:100%;
height:auto;
*/
}
/******************************************************
* This is mainly used to adjust the padding inside each
* panel. If you are using the responsive setting, you
* need to use the settings below as this will not apply.
*******************************************************/
.ls-wrapper .liquid-slider .panel-wrapper {
/* Do not edit below this line */
position: relative;
}
/*****************************************************
* This will adjust styles for all navigation tabs
* less of course the select box used for mobile
* navigation. The .current styles will apply only to
* the current tab.
*
* You may use this section to create navigation for
* mobile devices if you set mobileNavigation: false
* Be sure to edit media queries for larger devices below
* I have included an example below in comments.
*
* .currentCrossLink refers to external crosslinking.
*******************************************************/
.ls-wrapper .ls-nav a {
margin-right: 1px;
padding: 10px 15px;
outline: 0;
}
.ls-wrapper .ls-nav a:hover {
text-shadow: none;
}
.currentCrossLink {
font-weight: bold;
}
.ls-wrapper .ls-nav ul {
padding: 0;
/* Do not edit below this line */
clear: both;
display: block;
margin: auto;
overflow: hidden;
}
.ls-wrapper .ls-nav ul li {
/* Do not edit below this line */
display: inline;
}
.ls-wrapper .ls-nav ul li a {
/* Do not edit below this line */
display: block;
float: left;
text-decoration: none;
}
/*****************************************************
* Mobile Menu
* This will adjust styles for selectbox styles. I have
* included a simple example to create a custom select
* box.
*******************************************************/
.ls-wrapper .ls-nav {
overflow: hidden;
clear: both;
}
.ls-wrapper .ls-select-box {
/* Delete these if you want the standard select box.
Also delete the rules below */
width: 100%;
height: 35px;
overflow: hidden;
background: url(../images/menu.png) no-repeat right #dddddd;
}
.ls-wrapper .ls-select-box select {
/* If you want the standard select box, use
width:100%
And delete the rest of the styling here */
width: 150%;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background: transparent;
padding: 5px;
font-size: 110%;
border: none;
height: 35px;
cursor: pointer;
outline: 0;
}
/******************************************************
* Arrows
* This section refers to both the non-graphical and
* graphical navigation arrows.
*
* Some settings will be overwritten when using the
* responsive setting.
*******************************************************/
.ls-wrapper .ls-nav-left, .ls-wrapper .ls-nav-right {
/* Do not edit below this line */
float: left;
}
.ls-wrapper .ls-nav-left a, .ls-wrapper .ls-nav-right a {
/* non-graphical arrows */
padding: 5px;
width: 100px;
/* Do not edit below this line */
display: block;
text-align: center;
text-decoration: none;
}
.ls-wrapper .ls-nav-left-arrow, .ls-wrapper .ls-nav-right-arrow {
cursor: pointer;
/* Do not edit below this line */
float: left;
}
.ls-wrapper .ls-nav-left-arrow a, .ls-wrapper .ls-nav-right-arrow a {
/* Do not edit below this line */
display: block;
}
.ls-wrapper .ls-nav-left, .ls-wrapper .ls-nav-left-arrow {
/* Do not edit below this line */
clear: both;
}
.ls-wrapper .ls-nav-right-arrow {
width: 25px;
height: 25px;
background: url(../images/arrow.png) no-repeat top right;
margin-top: 50px;
margin-right: 5px;
/* Do not edit below this line */
position: relative;
}
.ls-wrapper .ls-nav-left-arrow {
width: 25px;
height: 25px;
background: url(../images/arrow.png) no-repeat top left;
margin-top: 50px;
margin-left: 5px;
/* Do not edit below this line */
position: relative;
}
.ls-wrapper .ls-nav-left-arrow:hover {
/* Left graphical arrows hover */
background: url(../images/arrow.png) no-repeat bottom left;
}
.ls-wrapper .ls-nav-left-arrow:active {
/* Left graphical arrows click */
}
.ls-wrapper .ls-nav-right-arrow:hover {
/* Right graphical arrows hover */
background: url(../images/arrow.png) no-repeat bottom right;
}
.ls-wrapper .ls-nav-right-arrow:active {
/* Right graphical arrows click */
}
.arrows .liquid-slider {
/* Margin between slider and arrows */
margin: 0 10px;
}
/******************************************************
* Responsive Styles
* Here are the main responsive styles. This mostly
* covers the arrows, and most of the settings can be
* applied above.
*******************************************************/
.ls-responsive .liquid-slider {
/* Do not edit below this line */
width: 100%;
margin: 0;
}
.ls-responsive .liquid-slider .panel .panel-wrapper {
padding: 10px;
}
.ls-responsive .ls-nav-left {
/* Left non-graphical arrows */
/* Do not edit below this line */
position: absolute;
left: 0;
z-index: 2;
}
.ls-responsive .ls-nav-left a {
/* Left non-graphical arrows */
background: #9A9A9A;
width: 80px;
}
.ls-responsive .ls-nav-left a:hover {
/* Left non-graphical hover */
background: #747474;
}
.ls-responsive .ls-nav-right {
/* Right non-graphical arrows */
/* Do not edit below this line */
position: absolute;
right: 0;
z-index: 2;
}
.ls-responsive .ls-nav-right a {
/* Right non-graphical arrows */
background: #9A9A9A;
width: 80px;
}
.ls-responsive .ls-nav-right a:hover {
/* Right non-graphical arrows hover */
background: #747474;
}
.ls-responsive .ls-nav-left-arrow {
/* Do not edit below this line */
position: absolute;
left: 0;
z-index: 2;
}
.ls-responsive .ls-nav-right-arrow {
/* Do not edit below this line */
position: absolute;
right: 0;
z-index: 2;
}
/******************************************************************
* Larger Mobile Devices
* This is for devices like the Galaxy Note or something that's
* larger than an iPhone but smaller than a tablet.
******************************************************************/
@media only screen and (min-width: 481px) {
.ls-wrapper .liquid-slider .panel img {
/* Example */
/*
width:24%;
margin:2px;
*/
}
}
/******************************************************************
* Tablet & Smaller Laptops
* This will include tablets and some netbooks.
******************************************************************/
@media only screen and (min-width: 768px) {
.ls-wrapper .liquid-slider .panel img {
/* Example */
/*
width:24%;
*/
}
.ls-responsive .liquid-slider .panel .panel-wrapper {
padding: 20px 35px;
}
}
/******************************************************************
* DESKTOP
* This is the average viewing window. So Desktops, Laptops, and
* in general anyone not viewing on a mobile device. Here's where
* you can add resource intensive styles.
******************************************************************/
/******************************************************************
* LARGE VIEWING SIZE
* This is for the larger monitors and possibly full screen viewers.
******************************************************************/
/******************************************************************
* RETINA (2x RESOLUTION DEVICES)
* This applies to the retina iPhone (4s) and iPad (2,3) along with
* other displays with a 2x resolution. You can also create a media
* query for retina AND a certain size if you want. Go Nuts.
******************************************************************/
.templatemo_link a,.templatemo_linkservice a{ display:block}

@ -0,0 +1,615 @@
html,body {
font-family: Tahoma, Arial;
padding: 0px;
margin: 0px;
color: #333333;
background: #333333;
font-size: 16px;
}
img {
width: 100%;
}
h1,h2,h3,h4,h5,h6 {
font-family: Tahoma, Arial;
font-weight: 400;
}
h1 {
font-size: 3em;
color: #cccccc;
background: #343537;
padding: 0px 0px;
float: left;
text-shadow: 4px 2px 2px rgba(33, 33, 33, 1);
margin: 5% 0% 0% 2%;;
}
h2 {
font-size: 24px;
color: #333333;
margin-top: 0px;
}
h3 {
text-align: center;
font-size: 2em;
}
.clear {
clear: both;
}
.content {
display: none;
height: auto;
}
.homepage {
display: block;
}
.portfolioshow {
display: block;
}
/* .container { position: absolute; } */
.templatemo_link,.templatemo_linkservice,.templatemo_linkcontact {
font-size: 2em;
color: #ffffff;
width: 95%;
}
.templatemo_link1 {
font-size: 2em;
color: #ffffff;
padding-top: 20%;
position: absolute;
width: 100%;
}
.templatemo_smalltitle {
float: left;
padding: 0px 0px 0px 0px;
font-size: 1em;
color: #b5b5b5;
margin: 10px 0px 30px 25px;
}
.templatemo_footer {
float: right;
padding: 0px 0px 0px 0px;
font-size: 14px;
color: #b5b5b5;
margin: 30px 40px 20px 0px;
}
.templatemo_mainservice {
background: #999933;
text-align: center;
width: 100%;
float: left;
}
.templatemo_mainportfolio {
background: #993333;
text-align: center;
width: 100%;
}
.templatemo_maintesti {
background: #339966;
text-align: center;
width: 100%;
}
.templatemo_mainabout {
background: #cc9933;
text-align: center;
width: 100%;
}
.templatemo_maincontact {
background: #006699;
text-align: center;
width: 100%;
}
.templatemo_insideportfolio h2 {
color: #ffffff;
}
.templatemo_insideportfolio {
background: #993333;
width: 100%;
padding: 0px;
color: #ffffff;
}
.templatemo_portfoliotext {
color: #ffffff;
/*position: absolute; */
width: 95%;
padding: 30px;
}
.templatemo_portfolioback {
background: #666666;
text-align: center;
width: 100%;
}
.templatemo_aboutback {
background: #666666;
text-align: center;
}
.templatemo_graybg {
float: left;
background: #cccccc;
overflow: hidden;
width: 100%;
}
.templatemo_paddinggap {
padding: 30px;
}
.templatemo_form {
padding: 10px 0px;
}
.templatemo_form input,.templatemo_form textarea {
border-radius: 0px;
border: 1px solid #999999;
}
.templatemo_form textarea {
height: 150px;
}
.templatemo_form button {
float: right;
background: #666666;
color: #ffffff;
border-radius: 0px;
border: none;
font-size: 16px;
}
#templatemo_map {
width: 100%;
height: 280px;
}
.templatemo_address {
color: #757575;
padding-top: 10px;
}
/*------------------------------------------------------
Gallery Styles
--------------------------------------------------------*/
.gallery-item {
-webkit-box-shadow: inset 0 0 1px #666;
-moz-box-shadow: inset 0 0 1px #666;
box-shadow: inset 0 0 1px #666;
margin-bottom: 0px;
position: relative;
overflow: hidden;
}
.gallery-item .content-gallery {
text-align: center;
}
.gallery-item .content-gallery h3 {
color: #b10021;
font-size: 16px;
font-weight: 300;
margin-top: 5px;
padding-bottom: 5px;
display: inline-block;
}
.gallery-item img {
width: 100%;
}
.gallery-item .overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
min-width: 100%;
min-height: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.4);
display: block;
-webkit-transition: all 50ms ease-in-out;
-moz-transition: all 50ms ease-in-out;
-ms-transition: all 50ms ease-in-out;
-o-transition: all 50ms ease-in-out;
transition: all 50ms ease-in-out;
}
.gallery-item .overlay a {
color: #ffffff;
text-align: center;
line-height: 32px;
position: absolute;
top: 50%;
left: 50%;
margin-top: -16px;
margin-left: -16px;
font-size: 24px;
}
.templatemo_frame {
float: left;
overflow-x: hidden;
margin-top: 30px;
}
::-webkit-scrollbar {
width: 12px;
background-color: #cccccc;
}
.templatemo_frame a {
color: #06C;
}
.templatemo_frame a:hover {
color: #C30;
}
::-webkit-scrollbar-thumb {
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
background-color: #b1b1b1;
}
.copyrights {
text-indent: -9999px;
height: 0;
line-height: 0;
font-size: 0;
overflow: hidden;
}
.resp-vtabs ul.templatemo_tab {
float: left;
width: 100%;
}
.resp-vtabs ul.templatemo_tab li {
padding: 0px;
background: url(../images/templatemo_arrow_gap.png) no-repeat center
right #cc9933;
font-size: 24px;
text-align: center;
font-weight: normal;
}
.resp-vtabs ul.templatemo_tab li.resp-tab-active {
background: url(../images/templatemo_arrow.png) no-repeat center right
#cc9933;
border: 0px;
padding: 0px;
color: #ffffff;
}
.resp-vtabs ul.templatemo_testitab {
float: left;
width: 100%;
}
.resp-vtabs ul.templatemo_testitab li {
padding: 0px;
background: url(../images/templatemo_arrow_gap.png) no-repeat center
right #339966;
font-size: 24px;
text-align: center;
font-weight: normal;
}
.resp-vtabs ul.templatemo_testitab li.resp-tab-active {
background: url(../images/templatemo_testi_arrow.png) no-repeat center
right #339966;
border: 0px;
padding: 0px;
color: #ffffff;
}
.resp-vtabs .templatemo_aboutcontainer,.resp-vtabs .templatemo_testicontainer
{
background: none;
border-radius: 0px;
border: 0px;
}
h2.resp-accordion {
color: #ffffff;
}
.resp-tabs-list li {
color: #ffffff;
}
.templatemo_testicontainer h2.resp-accordion {
background: #339966 !important;
}
.templatemo_aboutcontainer h2.resp-accordion {
background: #cc9933 !important;
}
/*----- Page Load ------*/
@media ( min-width :320px) {
.templatemo_leftgap {
padding: 0px 10px;
}
.templatemo_rightgap_about {
padding: 0px 10px;
}
.templatemo_botgap {
margin: 0px 0px 20px 0px;
}
.templatemo_topgap,.templatemo_portfotopgap {
margin-top: 20px;
}
.templatemo_col37 {
float: left;
width: 100%;
}
.resp-vtabs .templatemo_aboutcontainer,.resp-vtabs .templatemo_testicontainer
{
width: 100%;
}
.templatemo_aboutlinkwrapper {
display: none;
}
.templatemo_aboutlinkwrapper1 {
display: block;
}
.templatemo_frame {
padding: 0px 30px 30px 30px;
}
.templatemo_link {
padding-top: 20%;
}
.logocontainer {
padding: 0px 15px;
margin: 0 auto;
}
.templatemo_insideportfolio {
padding-bottom: 30px;
}
.templatemo_link,.templatemo_linkservice,.templatemo_linkcontact {
padding: 50px 0px;
}
}
@media ( min-width :320px) and (max-width: 767px) {
/*.container { left: 15px; right: 15px; padding: 0px; }*/
}
@media ( min-width :768px) {
.templatemo_leftgap {
padding: 0px 10px;
}
.templatemo_botgap {
margin: 0px 0px 20px 0px;
}
.templatemo_topgap {
margin-top: 20px;
}
.templatemo_portfotopgap {
margin-top: 0px;
}
.templatemo_link {
padding-top: 20%;
}
/*.container { left: 50%; margin-left: -375px; right: 0px; }*/
.logocontainer {
width: 750px;
padding: 0px 15px;
margin: 0 auto;
}
.templatemo_insideportfolio {
height: 398px;
}
.templatemo_link,.templatemo_linkservice,.templatemo_linkcontact {
height: 189px;
line-height: 189px;
padding: 0px;
}
}
@media ( min-width :992px) {
.templatemo_leftgap {
padding: 0px 6px;
}
.templatemo_rightgap_about {
padding: 0px 6px 0px 2px;
}
.templatemo_botgap {
margin: 0px 0px 12px 0px;
}
.templatemo_topgap {
margin-top: 0px;
}
.templatemo_portfotopgap {
margin-top: 0px;
}
.templatemo_bordergapborder {
padding: 0px;
margin: 0px;
}
.templatemo_graybg {
height: 397px;
}
.templatemo_col37 {
float: left;
width: 37.5%;
}
.templatemo_col50 {
float: left;
width: 50%;
position: relative;
}
.templatemo_form {
padding: 5px 0px;
}
.templatemo_form textarea {
height: 120px;
}
.templatemo_address {
font-size: 12px;
}
.templatemo_portfoliotext {
width: 95%;
padding: 15px;
font-size: 14px;
}
.resp-vtabs .templatemo_aboutcontainer,.resp-vtabs .templatemo_testicontainer
{
width: 75%;
}
.templatemo_leftgap_about {
padding: 0px 0px 0px 6px;
}
.templatemo_aboutlinkwrapper {
width: 95.8%;
float: left;
background: #666666;
text-align: center;
display: block;
}
.templatemo_aboutlinkwrapper1 {
display: none;
}
.resp-vtabs .templatemo_tab li,.resp-vtabs .templatemo_testitab li {
padding: 0px;
margin-bottom: 12px;
}
.resp-vtabs ul.templatemo_tab li,.resp-vtabs ul.templatemo_tab li.resp-tab-active,.resp-vtabs ul.templatemo_testitab li,.resp-vtabs ul.templatemo_testitab li.resp-tab-active
{
line-height: 79px;
height: 79px;
}
.templatemo_frame {
height: 337px;
margin-right: 1px;
padding: 0px 30px;
}
.templatemo_link {
padding-top: 15%;
}
/*.container { left: 50%; margin-left: -485px; }*/
.templatemo_link,.templatemo_linkservice,.templatemo_linkcontact {
height: 124px;
line-height: 124px;
padding: 0px;
}
.logocontainer {
width: 970px;
padding: 0px 15px;
margin: 0 auto;
}
.templatemo_insideportfolio {
height: 260px;
}
}
@media ( min-width :1200px) {
.templatemo_leftgap {
padding: 0px 8px;
}
.templatemo_rightgap_about {
padding: 0px 8px;
}
.templatemo_botgap {
margin: 0px 0px 16px 0px;
}
.templatemo_topgap {
margin-top: 0px;
}
.templatemo_portfotopgap {
margin-top: 0px;
}
.templatemo_bordergapborder {
padding: 0px 16px;
}
.templatemo_graybg {
height: 466px;
}
.templatemo_col37 {
float: left;
width: 37.5%;
position: relative;
}
.templatemo_col50 {
float: left;
width: 50%;
position: relative;
}
.templatemo_form {
padding: 10px 0px;
}
.templatemo_form textarea {
height: 150px;
}
.templatemo_address {
font-size: 14px;
}
.templatemo_portfoliotext {
width: 95%;
padding: 30px;
font-size: 16px;
}
.resp-vtabs .templatemo_aboutcontainer,.resp-vtabs .templatemo_testicontainer
{
width: 75%;
}
.templatemo_leftgap_about {
padding: 0px 0px 0px 10px;
}
.resp-vtabs ul.templatemo_tab li,.resp-vtabs ul.templatemo_tab li.resp-tab-active,.resp-vtabs ul.templatemo_testitab li,.resp-vtabs ul.templatemo_testitab li.resp-tab-active
{
line-height: 93px;
height: 93px;
}
.resp-vtabs .templatemo_tab li,.resp-vtabs .templatemo_testitab li {
padding: 0px;
margin-bottom: 15px;
}
.templatemo_frame {
height: 406px;
padding: 0px 30px;
}
.templatemo_link {
height: 150px;
line-height: 150px;
padding: 0px;
}
/*.container { left: 50%; margin-left: -585px; }*/
.logocontainer {
width: 1140px;
padding: 0px 30px;
margin: 0 auto;
}
.templatemo_insideportfolio {
height: 316px;
}
.templatemo_leftgap_about .templatemo_link {
height: 142px;
line-height: 142px;
padding: 0px;
}
.templatemo_linkservice,.templatemo_linkcontact {
height: 145px;
line-height: 145px;
padding: 0px;
}
}

@ -1,418 +1,191 @@
<!doctype html>
<html ng-app="onlineJudgeApp">
<%--
Created by IntelliJ IDEA.
User: xiaoxie
Date: 2021/11/10
Time: 10:27
To change this template use File | Settings | File Templates.
--%>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>在线评测系统</title>
<link rel="SHORTCUT ICON" href="image/logo.png">
<link rel="BOOKMARK" href="image/logo.png">
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css" />
<link rel="stylesheet" type="text/css" href="css/font-awesome.min.css" />
<link rel="stylesheet" type="text/css" href="css/responsive.css" />
<link rel="stylesheet" type="text/css" href="css/animate.min.css" />
<link rel="stylesheet" type="text/css" href="css/main.css" />
<script src="js/angular.min.js"></script>
<script src="js/angular-route.min.js"></script>
<script src="js/app.js"></script>
<script src="js/controllers.js"></script>
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<style>
html, body {
width: 100%;
height: 100%;
}
#loginDialog {
margin: 0;
top: 10%;
text-align: center;
}
#registerDialog {
margin: 0;
top: 10%;
text-align: center;
}
#loginDialog .modal-header, #registerDialog .modal-header, #forgetDialog .modal-header
{
border-bottom: 0;
}
#userTip {
color: white;
margin-top: 15px;
margin-left: 20px;
}
.index-top-button {
margin-top: 12px;
margin-left: 20px;
padding-left: 25px;
padding-right: 25px;
}
.width70 {
display: inline-block;
width: 78%;
}
.form-bg {
background: #00b4ef;
}
.form-horizontal {
background: #fff;
padding-bottom: 40px;
border-radius: 15px;
text-align: center;
}
.form-horizontal .heading {
display: block;
font-size: 35px;
font-weight: 700;
padding: 35px 0;
border-bottom: 1px solid #f0f0f0;
margin-bottom: 30px;
}
.form-horizontal .form-group {
padding: 0 40px;
margin: 0 0 25px 0;
position: relative;
}
.form-horizontal .form-control {
background: #f0f0f0;
border: none;
border-radius: 20px;
box-shadow: none;
padding: 0 20px 0 45px;
height: 40px;
transition: all 0.3s ease 0s;
}
.form-horizontal .form-control:focus {
background: #e0e0e0;
box-shadow: none;
outline: 0 none;
}
.form-horizontal .form-group i {
position: absolute;
top: 12px;
left: 60px;
font-size: 17px;
color: #c8c8c8;
transition: all 0.5s ease 0s;
}
.form-horizontal .form-control:focus+i {
color: #00b4ef;
}
.form-horizontal .fa-question-circle {
display: inline-block;
position: absolute;
top: 12px;
right: 60px;
font-size: 20px;
color: #808080;
transition: all 0.5s ease 0s;
}
.form-horizontal .fa-question-circle:hover {
color: #000;
}
.form-horizontal .main-checkbox {
float: left;
width: 20px;
height: 20px;
background: #11a3fc;
border-radius: 50%;
position: relative;
margin: 5px 0 0 5px;
border: 1px solid #11a3fc;
}
.form-horizontal .main-checkbox label {
width: 20px;
height: 20px;
position: absolute;
top: 0;
left: 0;
cursor: pointer;
}
.form-horizontal .main-checkbox label:after {
content: "";
width: 10px;
height: 5px;
position: absolute;
top: 5px;
left: 4px;
border: 3px solid #fff;
border-top: none;
border-right: none;
background: transparent;
opacity: 0;
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}
.form-horizontal .main-checkbox input[type=checkbox] {
visibility: hidden;
}
.form-horizontal .main-checkbox input[type=checkbox]:checked+label:after
{
opacity: 1;
}
.form-horizontal .text {
float: left;
margin-left: 7px;
line-height: 20px;
padding-top: 5px;
text-transform: capitalize;
}
.form-horizontal .btn {
float: right;
font-size: 14px;
color: #fff;
background: #00b4ef;
border-radius: 30px;
padding: 10px 25px;
border: none;
text-transform: capitalize;
transition: all 0.5s ease 0s;
border-radius: 30px;
}
@media only screen and (max-width: 479px) {
.form-horizontal .form-group {
padding: 0 25px;
}
.form-horizontal .form-group i {
left: 45px;
}
.form-horizontal .btn {
padding: 10px 20px;
}
}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="./css/bootstrap-grid.css" rel="stylesheet" type="text/css" />
<link href="./css/bootstrap.css" rel="stylesheet" type="text/css" />
<link href="./css/bootstrap-reboot.css" rel="stylesheet" type="text/css" />
<link href="./css/bootstrap-utilities.css" rel="stylesheet" type="text/css" />
<link href="./css/bootstrap.rtl.css" rel="stylesheet" type="text/css" />
<link href="./pageStatic/css/style.css" rel="stylesheet" type="text/css" />
<title></title>
</head>
<body ng-controller="indexCtr">
<header id="header">
<nav class="navbar navbar-inverse" role="banner">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse"
data-target=".navbar-collapse">
<span class="sr-only"></span> <span class="icon-bar"></span> <span
class="icon-bar"></span> <span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="javascript:;">
<p>在线评测系统</p>
</a>
</div>
<div class="collapse navbar-collapse navbar-right">
<ul class="nav navbar-nav">
<li onclick="selectLi(this)"><a href="#/welcome">首页</a></li>
<li onclick="selectLi(this)"><a href="#/announcement/index">公告</a></li>
<li onclick="selectLi(this)"><a href="#/problem/index">题目</a></li>
<li onclick="selectLi(this)"><a href="#/competition/index">比赛</a></li>
<li onclick="selectLi(this)"><a href="#/user/index">个人信息</a></li>
<li onclick="selectLi(this)"><a href="#/leaderboard/index">排行榜</a></li>
</ul>
<label ng-if="userData == null">
<button class="btn btn-primary index-top-button" type="button"
ng-click="showLogin()">登陆</button>
<button class="btn btn-success index-top-button" type="button"
ng-click="showRegister()">注册</button>
<button class="btn btn-info index-top-button" type="button"
ng-click="showForget()">忘记密码</button>
</label> <label ng-if="userData != null" id="userTip">欢迎:{{userData.nickname}}
<button class="btn btn-primary" type="button"
ng-click="loginOut()">退出登录</button>
</label>
</div>
</div>
<!--/.container-->
</nav>
<!--/nav-->
</header>
<!--/header-->
<div ng-view></div>
<!-- 登录弹出框 开始-->
<div class="modal fade dialog" id="loginDialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">
<span aria-hidden="true">&times;</span><span class="sr-only"></span>
</button>
</div>
<div class="modal-body">
<form class="form-horizontal" ng-submit="loginSubmit()">
<span class="heading">用户登录</span>
<div class="form-group">
<i class="icon-user"></i><input type="text" class="form-control"
placeholder="账号长度为6-20位的数字或者英文字母" ng-model="loginData.account"
pattern="[a-zA-Z0-9]{6,20}" required>{{error.accountError}}
</div>
<body>
<div class="top">
<table class="table">
<thead>
<tr>
<td scope="col"><img src="pageStatic/images/16gl-O.png" style="width: 50px;height: 50px;" alt="...">
<img src="pageStatic/images/16gl-J.png" style="width: 50px;height: 50px;" alt="...">
</td>
<td scope="col"><ul><li onclick="selectLi(this)"><a href="./index.jsp">首页</a></li></ul></td>
<td scope="col"><ul><li onclick="selectLi(this)"><a href="./rank/ratingrank.jsp">排行榜</a></li></ul></td>
<td scope="col"><ul><li onclick="selectLi(this)"><a href="./competition/competition.jsp">比赛</a></li></ul></td>
<td scope="col"><ul><li onclick="selectLi(this)"><a href="./problem/problem.jsp" >题库</a></li></ul> </td>
<td scope="col">
<div class="form-group">
<i class="icon-key"></i><input type="password"
class="form-control" placeholder="密码长度为6-20位的数字或者英文字母"
ng-model="loginData.password" pattern="[a-zA-Z0-9]{6,20}"
required>{{error.passwordError}}
</div>
<div class="form-group">
<button type="submit" class="btn btn-success form-control">登录</button>
</div>
</form>
</div>
</div>
</div>
</div>
<!-- 登录弹出框 结束-->
<!-- 忘记密码弹出框 开始-->
<div class="modal fade dialog" id="forgetDialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">
<span aria-hidden="true">&times;</span><span class="sr-only"></span>
</button>
</div>
<div class="modal-body">
<form class="form-horizontal" ng-submit="forgetUpdate()">
<span class="heading">忘记密码-修改密码</span>
<div class="form-group">
<i class="icon-user"></i><input type="text" class="form-control"
placeholder="账号长度为6-20位的数字或者英文字母"
ng-model="forgetData.account" pattern="[a-zA-Z0-9]{6,20}"
required>{{error.accountError}}
</div>
<div class="form-group">
<i class="icon-key"></i><input type="password"
class="form-control" placeholder="新密码长度为6-20位的数字或者英文字母"
ng-model="forgetData.newPassword" pattern="[a-zA-Z0-9]{6,20}"
required>{{error.passwordError}}
</div>
<div class="form-group">
<i class="icon-key"></i><input type="password"
class="form-control" placeholder="确认新密码长度为6-20位的数字或者英文字母"
ng-model="forgetData.confirmNewPassword"
pattern="[a-zA-Z0-9]{6,20}" required>{{error.passwordError}}
</div>
<div class="form-group">
<i class="icon-envelope"></i><input type="password"
class="form-control" placeholder="邮箱验证码"
ng-model="forgetData.emailVerificationCode" required>{{error.passwordError}}
<button type="button" class="btn btn-success"
ng-click="sendForgetEmail()">发送验证码</button>
</div>
<div class="form-group">
<button type="submit" class="btn btn-success form-control">修改</button>
</div>
</form>
</div>
</div>
</div>
</div>
<!-- 忘记密码弹出框 结束-->
<!-- 注册弹出框 开始-->
<div class="modal fade dialog" id="registerDialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">
<span aria-hidden="true">&times;</span><span class="sr-only"></span>
</button>
</div>
<div class="modal-body">
<form class="form-horizontal" ng-submit="registerSubmit()">
<span class="heading">用户注册</span>
<div class="form-group">
<i class="icon-user"></i><input type="text" class="form-control"
placeholder="账号长度为6-20位的数字或者英文字母"
ng-model="registerData.account" pattern="[a-zA-Z0-9]{6,20}"
required>{{error.accountError}}
</div>
<div class="form-group">
<i class="icon-key"></i><input type="password"
class="form-control" placeholder="密码长度为6-20位的数字或者英文字母"
ng-model="registerData.password" pattern="[a-zA-Z0-9]{6,20}"
required>{{error.passwordError}}
</div>
<div class="form-group">
<i class="icon-key"></i><input type="password"
class="form-control" placeholder="确认密码长度为6-20位的数字或者英文字母"
ng-model="registerData.confirmPassword"
pattern="[a-zA-Z0-9]{6,20}" required>{{error.confirmPasswordError}}
</div>
<div class="form-group">
<i class="icon-envelope"></i><input type="email"
class="form-control" placeholder="注册邮箱"
ng-model="registerData.email" required>{{error.emailError}}
<div class="col-xs-12 col-sm-12 col-md-12">
<input type="text" class="icon" name = "name" placeholder="输入你想搜索的内容">
</div>
</div>
</td>
<td><button class="btn btn-outline-secondary" type="button">登录/注册</button>
</td>
</tr>
</thead>
</table>
</div>
<div class="bodyTop">
<div class="btopLeft">
<%-- <div style="margin-left: 30px; margin-top: 30px;"></div>--%>
<%-- <div><img src="./pageStatic/images/滚轮.png" class="rounded float-start"></div>--%>
<%-- <div style="margin-left: 30px; margin-top: 200px;">--%>
<div class="btn-group me-2" role="group" aria-label="First group" style="margin-left: 50px;">
<button type="button" class="btn btn-outline-secondary">1</button>
<button type="button" class="btn btn-outline-secondary">2</button>
<button type="button" class="btn btn-outline-secondary">3</button>
</div>
</div>
<div class="btopRight" style="margin-left: 20px;">
<div class="signup">
<form class="row g-3">
<div class="col-md-6">
<label for="inputEmail4" class="form-label">用户名</label>
<input type="email" class="form-control" id="inputEmail4">
</div>
<div class="col-md-6">
<label for="inputPassword4" class="form-label">密码</label>
<input type="password" class="form-control" id="inputPassword4">
</div>
<div class="col-12">
<label for="inputAddress" class="form-label">住址1</label>
<input type="text" class="form-control" id="inputAddress" placeholder="1234 Main St">
</div>
<div class="col-12">
<label for="inputAddress2" class="form-label">住址2</label>
<input type="text" class="form-control" id="inputAddress2" placeholder="Apartment, studio, or floor">
</div>
<div class="col-md-6">
<label for="inputCity" class="form-label">电话</label>
<input type="text" class="form-control" id="inputCity">
</div>
<div class="col-md-4">
<label for="inputState" class="form-label">学校</label>
<select id="inputState" class="form-select">
<option selected>选择</option>
<option>...</option>
</select>
</div>
<div class="col-12">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="gridCheck">
<label class="form-check-label" for="gridCheck">
确认
</label>
</div>
<div class="form-group">
<i class="icon-font"></i><input type="text" class="form-control"
placeholder="昵称" ng-model="registerData.nickname">
</div>
<div class="form-group">
<img id="verificationCode"
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWP4////fwAJ+wP9CNHoHgAAAABJRU5ErkJggg=="
width="100" height="50" ng-click="changeVerificationCode()"><input
type="text" class="form-control width70" placeholder="验证码"
ng-model="registerData.verificationCode" required>
</div>
<div class="form-group">
<button type="submit" class="btn btn-success form-control">注册</button>
<div class="col-12">
<button type="submit" class="btn btn-primary">注册</button>
</div>
</form>
</div>
</div>
</div>
<div class="bcenter">
<div class="bcLeft">
<table class="table">
<thead>
近期公告
</thead>
<tbody>
<tr class="table-active">
<th>11.8更新公告
<img src="./pageStatic/images/gonggao .png" /></th>
</tr>
<tr>
<th>11.9更新公告
<img src="./pageStatic/images/gonggao .png" />
</th>
</tr>
<tr>
<th scope="row">11.10更新公告
<img src="./pageStatic/images/gonggao .png" />
</th>
</tr>
</tbody>
</table>
<table class="table">
<thead>
推荐
</thead>
<tbody>
<tr class="table-active">
<th>算法基础入门第一节
<img src="./pageStatic/images/shuben.png" /></th>
</tr>
<tr>
<th>算法基础入门第二节
<img src="./pageStatic/images/shuben.png" />
</th>
</tr>
<tr>
<th scope="row">算法基础入门第三节
<img src="./pageStatic/images/shuben.png" />
</th>
</tr>
</tbody>
</table>
</div>
<div class="bcRight" style="margin-left: 50px">
<table>
<thead>
课程推荐
</thead>
<th><p style="margin-right: 20px"><img src="./pageStatic/images/计算机语言.png" height="60px" width="100px"></p>
<p>算法语言</p>
</th>
<th><p><img src="./pageStatic/images/c.png" height="60px" width="100px"></p>
<p>c解算法</p>
</th>
</table>
<table class="table table-success table-striped">
<thead>题单推荐</thead>
<tr class="table-secondary"><td>基础1001</td></tr>
<tr class="table"><td>基础1002</td></tr>
<tr class="table-secondary"><td>{$questionlist.name[1]}</td></tr>
<tr class="table"><td>{$questionlist.name[2]}</td></tr>
</table>
</div>
</div>
<div style="text-align: center; width: 1500px;position: absolute;bottom: -500px;">
<a>体验算法灵魂,发现算法的美</a><br>
<a>关于我们 | 联系我们 | 企业合作 | 免责声明 | 合作链接</a><br>
<a>联系方式xxxxxxxxxx</a>
</div>
<!-- 注册弹出框 结束-->
<script type="text/javascript">
function selectLi(li) {
var allLi = $("#header .nav li");
for (var n = 0; n < allLi.length; n++) {
$(allLi[n]).removeClass("active");
}
$(li).addClass("active");
};
function check() {
var allLi = $("#header .nav li");
// 获取#后面的内容
var path = window.location.hash;
if (path == "") {
$(allLi[0]).addClass("active");
return;
}
for (var n = 0; n < allLi.length; n++) {
if ($(allLi[n]).html().indexOf(path) > -1) {
$(allLi[n]).addClass("active");
}
}
}
check();
</script>
</body>
</html>

@ -0,0 +1,14 @@
/*
AngularJS v1.3.0-beta.14
(c) 2010-2014 Google, Inc. http://angularjs.org
License: MIT
*/
(function(n,e,A){'use strict';function x(s,g,k){return{restrict:"ECA",terminal:!0,priority:400,transclude:"element",link:function(a,b,c,f,w){function y(){p&&(p.remove(),p=null);h&&(h.$destroy(),h=null);l&&(k.leave(l,function(){p=null}),p=l,l=null)}function v(){var c=s.current&&s.current.locals;if(e.isDefined(c&&c.$template)){var c=a.$new(),d=s.current;l=w(c,function(d){k.enter(d,null,l||b,function(){!e.isDefined(t)||t&&!a.$eval(t)||g()});y()});h=d.scope=c;h.$emit("$viewContentLoaded");h.$eval(u)}else y()}
var h,l,p,t=c.autoscroll,u=c.onload||"";a.$on("$routeChangeSuccess",v);v()}}}function z(e,g,k){return{restrict:"ECA",priority:-400,link:function(a,b){var c=k.current,f=c.locals;b.html(f.$template);var w=e(b.contents());c.controller&&(f.$scope=a,f=g(c.controller,f),c.controllerAs&&(a[c.controllerAs]=f),b.data("$ngControllerController",f),b.children().data("$ngControllerController",f));w(a)}}}n=e.module("ngRoute",["ng"]).provider("$route",function(){function s(a,b){return e.extend(new (e.extend(function(){},
{prototype:a})),b)}function g(a,e){var c=e.caseInsensitiveMatch,f={originalPath:a,regexp:a},k=f.keys=[];a=a.replace(/([().])/g,"\\$1").replace(/(\/)?:(\w+)([\?\*])?/g,function(a,e,c,b){a="?"===b?b:null;b="*"===b?b:null;k.push({name:c,optional:!!a});e=e||"";return""+(a?"":e)+"(?:"+(a?e:"")+(b&&"(.+?)"||"([^/]+)")+(a||"")+")"+(a||"")}).replace(/([\/$\*])/g,"\\$1");f.regexp=RegExp("^"+a+"$",c?"i":"");return f}var k={};this.when=function(a,b){k[a]=e.extend({reloadOnSearch:!0},b,a&&g(a,b));if(a){var c=
"/"==a[a.length-1]?a.substr(0,a.length-1):a+"/";k[c]=e.extend({redirectTo:a},g(c,b))}return this};this.otherwise=function(a){this.when(null,a);return this};this.$get=["$rootScope","$location","$routeParams","$q","$injector","$http","$templateCache","$sce",function(a,b,c,f,g,n,v,h){function l(){var d=p(),m=r.current;if(d&&m&&d.$$route===m.$$route&&e.equals(d.pathParams,m.pathParams)&&!d.reloadOnSearch&&!u)m.params=d.params,e.copy(m.params,c),a.$broadcast("$routeUpdate",m);else if(d||m)u=!1,a.$broadcast("$routeChangeStart",
d,m),(r.current=d)&&d.redirectTo&&(e.isString(d.redirectTo)?b.path(t(d.redirectTo,d.params)).search(d.params).replace():b.url(d.redirectTo(d.pathParams,b.path(),b.search())).replace()),f.when(d).then(function(){if(d){var a=e.extend({},d.resolve),b,c;e.forEach(a,function(d,b){a[b]=e.isString(d)?g.get(d):g.invoke(d,null,null,b)});e.isDefined(b=d.template)?e.isFunction(b)&&(b=b(d.params)):e.isDefined(c=d.templateUrl)&&(e.isFunction(c)&&(c=c(d.params)),c=h.getTrustedResourceUrl(c),e.isDefined(c)&&(d.loadedTemplateUrl=
c,b=n.get(c,{cache:v}).then(function(a){return a.data})));e.isDefined(b)&&(a.$template=b);return f.all(a)}}).then(function(b){d==r.current&&(d&&(d.locals=b,e.copy(d.params,c)),a.$broadcast("$routeChangeSuccess",d,m))},function(b){d==r.current&&a.$broadcast("$routeChangeError",d,m,b)})}function p(){var a,c;e.forEach(k,function(f,k){var q;if(q=!c){var g=b.path();q=f.keys;var l={};if(f.regexp)if(g=f.regexp.exec(g)){for(var h=1,p=g.length;h<p;++h){var n=q[h-1],r="string"==typeof g[h]?decodeURIComponent(g[h]):
g[h];n&&r&&(l[n.name]=r)}q=l}else q=null;else q=null;q=a=q}q&&(c=s(f,{params:e.extend({},b.search(),a),pathParams:a}),c.$$route=f)});return c||k[null]&&s(k[null],{params:{},pathParams:{}})}function t(a,b){var c=[];e.forEach((a||"").split(":"),function(a,d){if(0===d)c.push(a);else{var e=a.match(/(\w+)(.*)/),f=e[1];c.push(b[f]);c.push(e[2]||"");delete b[f]}});return c.join("")}var u=!1,r={routes:k,reload:function(){u=!0;a.$evalAsync(l)}};a.$on("$locationChangeSuccess",l);return r}]});n.provider("$routeParams",
function(){this.$get=function(){return{}}});n.directive("ngView",x);n.directive("ngView",z);x.$inject=["$route","$anchorScroll","$animate"];z.$inject=["$compile","$controller","$route"]})(window,window.angular);
//# sourceMappingURL=angular-route.min.js.map

@ -0,0 +1,223 @@
/*
AngularJS v1.3.0-beta.14
(c) 2010-2014 Google, Inc. http://angularjs.org
License: MIT
*/
(function(M,U,r){'use strict';function G(b){return function(){var a=arguments[0],c,a="["+(b?b+":":"")+a+"] http://errors.angularjs.org/1.3.0-beta.14/"+(b?b+"/":"")+a;for(c=1;c<arguments.length;c++)a=a+(1==c?"?":"&")+"p"+(c-1)+"="+encodeURIComponent("function"==typeof arguments[c]?arguments[c].toString().replace(/ \{[\s\S]*$/,""):"undefined"==typeof arguments[c]?"undefined":"string"!=typeof arguments[c]?JSON.stringify(arguments[c]):arguments[c]);return Error(a)}}function db(b){if(null==b||Oa(b))return!1;
var a=b.length;return 1===b.nodeType&&a?!0:v(b)||L(b)||0===a||"number"===typeof a&&0<a&&a-1 in b}function q(b,a,c){var d,e;if(b)if(P(b))for(d in b)"prototype"==d||("length"==d||"name"==d||b.hasOwnProperty&&!b.hasOwnProperty(d))||a.call(c,b[d],d);else if(L(b)||db(b))for(d=0,e=b.length;d<e;d++)a.call(c,b[d],d);else if(b.forEach&&b.forEach!==q)b.forEach(a,c);else for(d in b)b.hasOwnProperty(d)&&a.call(c,b[d],d);return b}function Wb(b){var a=[],c;for(c in b)b.hasOwnProperty(c)&&a.push(c);return a.sort()}
function id(b,a,c){for(var d=Wb(b),e=0;e<d.length;e++)a.call(c,b[d[e]],d[e]);return d}function Xb(b){return function(a,c){b(c,a)}}function jd(){return++eb}function Yb(b,a){a?b.$$hashKey=a:delete b.$$hashKey}function z(b){var a=b.$$hashKey;q(arguments,function(a){a!==b&&q(a,function(a,c){b[c]=a})});Yb(b,a);return b}function Y(b){return parseInt(b,10)}function Zb(b,a){return z(new (z(function(){},{prototype:b})),a)}function A(){}function Ea(b){return b}function da(b){return function(){return b}}function w(b){return"undefined"===
typeof b}function E(b){return"undefined"!==typeof b}function S(b){return null!=b&&"object"===typeof b}function v(b){return"string"===typeof b}function Fa(b){return"number"===typeof b}function ra(b){return"[object Date]"===ya.call(b)}function P(b){return"function"===typeof b}function fb(b){return"[object RegExp]"===ya.call(b)}function Oa(b){return b&&b.window===b}function kd(b){return!(!b||!(b.nodeName||b.prop&&b.attr&&b.find))}function ld(b){var a={};b=b.split(",");var c;for(c=0;c<b.length;c++)a[b[c]]=
!0;return a}function md(b,a,c){var d=[];q(b,function(b,f,g){d.push(a.call(c,b,f,g))});return d}function Pa(b,a){if(b.indexOf)return b.indexOf(a);for(var c=0;c<b.length;c++)if(a===b[c])return c;return-1}function Ga(b,a){var c=Pa(b,a);0<=c&&b.splice(c,1);return a}function za(b,a,c,d){if(Oa(b)||b&&b.$evalAsync&&b.$watch)throw Qa("cpws");if(a){if(b===a)throw Qa("cpi");c=c||[];d=d||[];if(S(b)){var e=Pa(c,b);if(-1!==e)return d[e];c.push(b);d.push(a)}if(L(b))for(var f=a.length=0;f<b.length;f++)e=za(b[f],
null,c,d),S(b[f])&&(c.push(b[f]),d.push(e)),a.push(e);else{var g=a.$$hashKey;q(a,function(b,c){delete a[c]});for(f in b)b.hasOwnProperty(f)&&(e=za(b[f],null,c,d),S(b[f])&&(c.push(b[f]),d.push(e)),a[f]=e);Yb(a,g)}}else if(a=b)L(b)?a=za(b,[],c,d):ra(b)?a=new Date(b.getTime()):fb(b)?a=RegExp(b.source):S(b)&&(e=Object.create(Object.getPrototypeOf(b)),a=za(b,e,c,d));return a}function ka(b,a){var c=0;if(L(b))for(a=a||[];c<b.length;c++)a[c]=b[c];else if(S(b)){a=a||{};for(var d=Object.keys(b),e=d.length;c<
e;c++){var f=d[c];if("$"!==f.charAt(0)||"$"!==f.charAt(1))a[f]=b[f]}}return a||b}function Aa(b,a){if(b===a)return!0;if(null===b||null===a)return!1;if(b!==b&&a!==a)return!0;var c=typeof b,d;if(c==typeof a&&"object"==c)if(L(b)){if(!L(a))return!1;if((c=b.length)==a.length){for(d=0;d<c;d++)if(!Aa(b[d],a[d]))return!1;return!0}}else{if(ra(b))return ra(a)&&b.getTime()==a.getTime();if(fb(b)&&fb(a))return b.toString()==a.toString();if(b&&b.$evalAsync&&b.$watch||a&&a.$evalAsync&&a.$watch||Oa(b)||Oa(a)||L(a))return!1;
c={};for(d in b)if("$"!==d.charAt(0)&&!P(b[d])){if(!Aa(b[d],a[d]))return!1;c[d]=!0}for(d in a)if(!c.hasOwnProperty(d)&&"$"!==d.charAt(0)&&a[d]!==r&&!P(a[d]))return!1;return!0}return!1}function $b(){return U.securityPolicy&&U.securityPolicy.isActive||U.querySelector&&!(!U.querySelector("[ng-csp]")&&!U.querySelector("[data-ng-csp]"))}function Ab(b,a){var c=2<arguments.length?la.call(arguments,2):[];return!P(a)||a instanceof RegExp?a:c.length?function(){return arguments.length?a.apply(b,c.concat(la.call(arguments,
0))):a.apply(b,c)}:function(){return arguments.length?a.apply(b,arguments):a.call(b)}}function nd(b,a){var c=a;"string"===typeof b&&"$"===b.charAt(0)&&"$"===b.charAt(1)?c=r:Oa(a)?c="$WINDOW":a&&U===a?c="$DOCUMENT":a&&(a.$evalAsync&&a.$watch)&&(c="$SCOPE");return c}function sa(b,a){return"undefined"===typeof b?r:JSON.stringify(b,nd,a?" ":null)}function ac(b){return v(b)?JSON.parse(b):b}function ha(b){b=D(b).clone();try{b.empty()}catch(a){}var c=D("<div>").append(b).html();try{return 3===b[0].nodeType?
K(c):c.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+K(b)})}catch(d){return K(c)}}function bc(b){try{return decodeURIComponent(b)}catch(a){}}function cc(b){var a={},c,d;q((b||"").split("&"),function(b){b&&(c=b.split("="),d=bc(c[0]),E(d)&&(b=E(c[1])?bc(c[1]):!0,a[d]?L(a[d])?a[d].push(b):a[d]=[a[d],b]:a[d]=b))});return a}function Bb(b){var a=[];q(b,function(b,d){L(b)?q(b,function(b){a.push(Ba(d,!0)+(!0===b?"":"="+Ba(b,!0)))}):a.push(Ba(d,!0)+(!0===b?"":"="+Ba(b,!0)))});return a.length?
a.join("&"):""}function gb(b){return Ba(b,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function Ba(b,a){return encodeURIComponent(b).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,a?"%20":"+")}function od(b,a){var c,d,e=dc.length;b=D(b);for(d=0;d<e;++d)if(c=dc[d]+a,v(c=b.attr(c)))return c;return null}function pd(b,a){function c(a){a&&d.push(a)}var d=[b],e,f,g={},h=["ng:app","ng-app","x-ng-app","data-ng-app"],n=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/;
q(h,function(a){h[a]=!0;c(U.getElementById(a));a=a.replace(":","\\:");b.querySelectorAll&&(q(b.querySelectorAll("."+a),c),q(b.querySelectorAll("."+a+"\\:"),c),q(b.querySelectorAll("["+a+"]"),c))});q(d,function(a){if(!e){var b=n.exec(" "+a.className+" ");b?(e=a,f=(b[2]||"").replace(/\s+/g,",")):q(a.attributes,function(b){!e&&h[b.name]&&(e=a,f=b.value)})}});e&&(g.strictDi=null!==od(e,"strict-di"),a(e,f?[f]:[],g))}function ec(b,a,c){S(c)||(c={});c=z({strictDi:!1},c);var d=function(){b=D(b);if(b.injector()){var d=
b[0]===U?"document":ha(b);throw Qa("btstrpd",d);}a=a||[];a.unshift(["$provide",function(a){a.value("$rootElement",b)}]);a.unshift("ng");d=Cb(a,c.strictDi);d.invoke(["$rootScope","$rootElement","$compile","$injector",function(a,b,c,d){a.$apply(function(){b.data("$injector",d);c(b)(a)})}]);return d},e=/^NG_DEFER_BOOTSTRAP!/;if(M&&!e.test(M.name))return d();M.name=M.name.replace(e,"");Ra.resumeBootstrap=function(b){q(b,function(b){a.push(b)});d()}}function hb(b,a){a=a||"_";return b.replace(qd,function(b,
d){return(d?a:"")+b.toLowerCase()})}function rd(){var b;(ta=M.jQuery)&&ta.fn.on?(D=ta,z(ta.fn,{scope:Ha.scope,isolateScope:Ha.isolateScope,controller:Ha.controller,injector:Ha.injector,inheritedData:Ha.inheritedData}),b=ta.cleanData,b=b.$$original||b,ta.cleanData=function(a){for(var c=0,d;null!=(d=a[c]);c++)ta(d).triggerHandler("$destroy");b(a)},ta.cleanData.$$original=b):D=Q;Ra.element=D}function Db(b,a,c){if(!b)throw Qa("areq",a||"?",c||"required");return b}function Sa(b,a,c){c&&L(b)&&(b=b[b.length-
1]);Db(P(b),a,"not a function, got "+(b&&"object"===typeof b?b.constructor.name||"Object":typeof b));return b}function Ca(b,a){if("hasOwnProperty"===b)throw Qa("badname",a);}function fc(b,a,c){if(!a)return b;a=a.split(".");for(var d,e=b,f=a.length,g=0;g<f;g++)d=a[g],b&&(b=(e=b)[d]);return!c&&P(b)?Ab(e,b):b}function Eb(b){var a=b[0];b=b[b.length-1];if(a===b)return D(a);var c=[a];do{a=a.nextSibling;if(!a)break;c.push(a)}while(a!==b);return D(c)}function sd(b){var a=G("$injector"),c=G("ng");b=b.angular||
(b.angular={});b.$$minErr=b.$$minErr||G;return b.module||(b.module=function(){var b={};return function(e,f,g){if("hasOwnProperty"===e)throw c("badname","module");f&&b.hasOwnProperty(e)&&(b[e]=null);return b[e]||(b[e]=function(){function b(a,d,e,f){f||(f=c);return function(){f[e||"push"]([a,d,arguments]);return k}}if(!f)throw a("nomod",e);var c=[],d=[],m=[],p=b("$injector","invoke","push",d),k={_invokeQueue:c,_configBlocks:d,_runBlocks:m,requires:f,name:e,provider:b("$provide","provider"),factory:b("$provide",
"factory"),service:b("$provide","service"),value:b("$provide","value"),constant:b("$provide","constant","unshift"),animation:b("$animateProvider","register"),filter:b("$filterProvider","register"),controller:b("$controllerProvider","register"),directive:b("$compileProvider","directive"),config:p,run:function(a){m.push(a);return this}};g&&p(g);return k}())}}())}function td(b){z(b,{bootstrap:ec,copy:za,extend:z,equals:Aa,element:D,forEach:q,injector:Cb,noop:A,bind:Ab,toJson:sa,fromJson:ac,identity:Ea,
isUndefined:w,isDefined:E,isString:v,isFunction:P,isObject:S,isNumber:Fa,isElement:kd,isArray:L,version:ud,isDate:ra,lowercase:K,uppercase:ib,callbacks:{counter:0},$$minErr:G,$$csp:$b});Ta=sd(M);try{Ta("ngLocale")}catch(a){Ta("ngLocale",[]).provider("$locale",vd)}Ta("ng",["ngLocale"],["$provide",function(a){a.provider({$$sanitizeUri:wd});a.provider("$compile",gc).directive({a:xd,input:hc,textarea:hc,form:yd,script:zd,select:Ad,style:Bd,option:Cd,ngBind:Dd,ngBindHtml:Ed,ngBindTemplate:Fd,ngClass:Gd,
ngClassEven:Hd,ngClassOdd:Id,ngCloak:Jd,ngController:Kd,ngForm:Ld,ngHide:Md,ngIf:Nd,ngInclude:Od,ngInit:Pd,ngNonBindable:Qd,ngPluralize:Rd,ngRepeat:Sd,ngShow:Td,ngStyle:Ud,ngSwitch:Vd,ngSwitchWhen:Wd,ngSwitchDefault:Xd,ngOptions:Yd,ngTransclude:Zd,ngModel:$d,ngList:ae,ngChange:be,pattern:ic,ngPattern:ic,required:jc,ngRequired:jc,minlength:kc,ngMinlength:kc,maxlength:lc,ngMaxlength:lc,ngValue:ce,ngModelOptions:de}).directive({ngInclude:ee}).directive(jb).directive(mc);a.provider({$anchorScroll:fe,
$animate:ge,$browser:he,$cacheFactory:ie,$controller:je,$document:ke,$exceptionHandler:le,$filter:nc,$interpolate:me,$interval:ne,$http:oe,$httpBackend:pe,$location:qe,$log:re,$parse:se,$rootScope:te,$q:ue,$$q:ve,$sce:we,$sceDelegate:xe,$sniffer:ye,$templateCache:ze,$timeout:Ae,$window:Be,$$rAF:Ce,$$asyncCallback:De})}])}function Ua(b){return b.replace(Ee,function(a,b,d,e){return e?d.toUpperCase():d}).replace(Fe,"Moz$1")}function Ge(b,a){var c,d,e=a.createDocumentFragment(),f=[];if(Fb.test(b)){c=
c||e.appendChild(a.createElement("div"));d=(He.exec(b)||["",""])[1].toLowerCase();d=fa[d]||fa._default;c.innerHTML=d[1]+b.replace(Ie,"<$1></$2>")+d[2];for(d=d[0];d--;)c=c.lastChild;f=f.concat(la.call(c.childNodes,void 0));c=e.firstChild;c.textContent=""}else f.push(a.createTextNode(b));e.textContent="";e.innerHTML="";q(f,function(a){e.appendChild(a)});return e}function Q(b){if(b instanceof Q)return b;v(b)&&(b=aa(b));if(!(this instanceof Q)){if(v(b)&&"<"!=b.charAt(0))throw Gb("nosel");return new Q(b)}if(v(b)){var a;
a=U;var c;b=(c=Je.exec(b))?[a.createElement(c[1])]:(c=Ge(b,a))?c.childNodes:[]}oc(this,b)}function Hb(b){return b.cloneNode(!0)}function Ia(b){pc(b);for(var a=0,c=b.children,d=c&&c.length||0;a<d;a++)b=c[a],Ia(b)}function qc(b,a,c,d){if(E(d))throw Gb("offargs");var e=ma(b,"events");ma(b,"handle")&&(w(a)?q(e,function(a,c){Va(b,c,a);delete e[c]}):q(a.split(" "),function(a){w(c)?(Va(b,a,e[a]),delete e[a]):Ga(e[a]||[],c)}))}function pc(b,a){var c=b.ng339,d=Wa[c];d&&(a?delete Wa[c].data[a]:(d.handle&&(d.events.$destroy&&
d.handle({},"$destroy"),qc(b)),delete Wa[c],b.ng339=r))}function ma(b,a,c){var d=b.ng339,d=Wa[d||-1];if(E(c))d||(b.ng339=d=++Ke,d=Wa[d]={}),d[a]=c;else return d&&d[a]}function rc(b,a,c){if(!b.nodeType||1===b.nodeType||9===b.nodeType){var d=ma(b,"data"),e=E(c),f=!e&&E(a),g=f&&!S(a);d||g||ma(b,"data",d={});if(e)d[a]=c;else if(f){if(g)return d&&d[a];z(d,a)}else return d}}function Ib(b,a){return b.getAttribute?-1<(" "+(b.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+a+" "):!1}function kb(b,
a){a&&b.setAttribute&&q(a.split(" "),function(a){b.setAttribute("class",aa((" "+(b.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+aa(a)+" "," ")))})}function lb(b,a){if(a&&b.setAttribute){var c=(" "+(b.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");q(a.split(" "),function(a){a=aa(a);-1===c.indexOf(" "+a+" ")&&(c+=a+" ")});b.setAttribute("class",aa(c))}}function oc(b,a){if(a)if(a.nodeType)b[b.length++]=a;else{var c=a.length;"number"===typeof c&&a.window!==a?c&&(a.item&&
(a=la.call(a)),sc.apply(b,a)):b[b.length++]=a}}function tc(b,a){return mb(b,"$"+(a||"ngController")+"Controller")}function mb(b,a,c){b=D(b);9==b[0].nodeType&&(b=b.find("html"));for(a=L(a)?a:[a];b.length;){for(var d=b[0],e=0,f=a.length;e<f;e++)if((c=b.data(a[e]))!==r)return c;b=D(d.parentNode||11===d.nodeType&&d.host)}}function uc(b){for(var a=0,c=b.childNodes;a<c.length;a++)Ia(c[a]);for(;b.firstChild;)b.removeChild(b.firstChild)}function vc(b,a){var c=nb[a.toLowerCase()];return c&&wc[na(b)]&&c}function Le(b,
a){var c=b.nodeName;return("INPUT"===c||"TEXTAREA"===c)&&xc[a]}function Me(b,a){var c=function(c,e){c.preventDefault||(c.preventDefault=function(){c.returnValue=!1});c.stopPropagation||(c.stopPropagation=function(){c.cancelBubble=!0});c.target||(c.target=c.srcElement||U);if(w(c.defaultPrevented)){var f=c.preventDefault;c.preventDefault=function(){c.defaultPrevented=!0;f.call(c)};c.defaultPrevented=!1}c.isDefaultPrevented=function(){return c.defaultPrevented||!1===c.returnValue};var g=ka(a[e||c.type]||
[]);q(g,function(a){a.call(b,c)});8>=W?(c.preventDefault=null,c.stopPropagation=null,c.isDefaultPrevented=null):(delete c.preventDefault,delete c.stopPropagation,delete c.isDefaultPrevented)};c.elem=b;return c}function Ja(b,a){var c=typeof b,d;"function"==c||"object"==c&&null!==b?"function"==typeof(d=b.$$hashKey)?d=b.$$hashKey():d===r&&(d=b.$$hashKey=(a||jd)()):d=b;return c+":"+d}function Xa(b,a){if(a){var c=0;this.nextUid=function(){return++c}}q(b,this.put,this)}function Ne(b){return(b=b.toString().replace(yc,
"").match(zc))?"function("+(b[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}function Jb(b,a,c){var d;if("function"===typeof b){if(!(d=b.$inject)){d=[];if(b.length){if(a)throw v(c)&&c||(c=b.name||Ne(b)),Ka("strictdi",c);a=b.toString().replace(yc,"");a=a.match(zc);q(a[1].split(Oe),function(a){a.replace(Pe,function(a,b,c){d.push(c)})})}b.$inject=d}}else L(b)?(a=b.length-1,Sa(b[a],"fn"),d=b.slice(0,a)):Sa(b,"fn",!0);return d}function Cb(b,a){function c(a){return function(b,c){if(S(b))q(b,Xb(a));else return a(b,
c)}}function d(a,b){Ca(a,"service");if(P(b)||L(b))b=k.instantiate(b);if(!b.$get)throw Ka("pget",a);return p[a+n]=b}function e(a,b){return d(a,{$get:b})}function f(a){var b=[],c;q(a,function(a){function d(a){var b,c;b=0;for(c=a.length;b<c;b++){var e=a[b],f=k.get(e[0]);f[e[1]].apply(f,e[2])}}if(!m.get(a)){m.put(a,!0);try{v(a)?(c=Ta(a),b=b.concat(f(c.requires)).concat(c._runBlocks),d(c._invokeQueue),d(c._configBlocks)):P(a)?b.push(k.invoke(a)):L(a)?b.push(k.invoke(a)):Sa(a,"module")}catch(e){throw L(a)&&
(a=a[a.length-1]),e.message&&(e.stack&&-1==e.stack.indexOf(e.message))&&(e=e.message+"\n"+e.stack),Ka("modulerr",a,e.stack||e.message||e);}}});return b}function g(b,c){function d(a){if(b.hasOwnProperty(a)){if(b[a]===h)throw Ka("cdep",a+" <- "+l.join(" <- "));return b[a]}try{return l.unshift(a),b[a]=h,b[a]=c(a)}catch(e){throw b[a]===h&&delete b[a],e;}finally{l.shift()}}function e(b,c,f,g){"string"===typeof f&&(g=f,f=null);var h=[];g=Jb(b,a,g);var n,k,l;k=0;for(n=g.length;k<n;k++){l=g[k];if("string"!==
typeof l)throw Ka("itkn",l);h.push(f&&f.hasOwnProperty(l)?f[l]:d(l))}L(b)&&(b=b[n]);return b.apply(c,h)}return{invoke:e,instantiate:function(a,b,c){var d=function(){};d.prototype=(L(a)?a[a.length-1]:a).prototype;d=new d;a=e(a,d,b,c);return S(a)||P(a)?a:d},get:d,annotate:Jb,has:function(a){return p.hasOwnProperty(a+n)||b.hasOwnProperty(a)}}}a=!0===a;var h={},n="Provider",l=[],m=new Xa([],!0),p={$provide:{provider:c(d),factory:c(e),service:c(function(a,b){return e(a,["$injector",function(a){return a.instantiate(b)}])}),
value:c(function(a,b){return e(a,da(b))}),constant:c(function(a,b){Ca(a,"constant");p[a]=b;t[a]=b}),decorator:function(a,b){var c=k.get(a+n),d=c.$get;c.$get=function(){var a=s.invoke(d,c);return s.invoke(b,null,{$delegate:a})}}}},k=p.$injector=g(p,function(){throw Ka("unpr",l.join(" <- "));},a),t={},s=t.$injector=g(t,function(a){var b=k.get(a+n);return s.invoke(b.$get,b,r,a)},a);q(f(b),function(a){s.invoke(a||A)});return s}function fe(){var b=!0;this.disableAutoScrolling=function(){b=!1};this.$get=
["$window","$location","$rootScope",function(a,c,d){function e(a){var b=null;q(a,function(a){b||"a"!==na(a)||(b=a)});return b}function f(){var b=c.hash(),d;b?(d=g.getElementById(b))?d.scrollIntoView():(d=e(g.getElementsByName(b)))?d.scrollIntoView():"top"===b&&a.scrollTo(0,0):a.scrollTo(0,0)}var g=a.document;b&&d.$watch(function(){return c.hash()},function(){d.$evalAsync(f)});return f}]}function De(){this.$get=["$$rAF","$timeout",function(b,a){return b.supported?function(a){return b(a)}:function(b){return a(b,
0,!1)}}]}function Qe(b,a,c,d){function e(a){try{a.apply(null,la.call(arguments,1))}finally{if(s--,0===s)for(;I.length;)try{I.pop()()}catch(b){c.error(b)}}}function f(a,b){(function Re(){q(y,function(a){a()});F=b(Re,a)})()}function g(){x=null;B!=h.url()&&(B=h.url(),q(X,function(a){a(h.url())}))}var h=this,n=a[0],l=b.location,m=b.history,p=b.setTimeout,k=b.clearTimeout,t={};h.isMock=!1;var s=0,I=[];h.$$completeOutstandingRequest=e;h.$$incOutstandingRequestCount=function(){s++};h.notifyWhenNoOutstandingRequests=
function(a){q(y,function(a){a()});0===s?a():I.push(a)};var y=[],F;h.addPollFn=function(a){w(F)&&f(100,p);y.push(a);return a};var B=l.href,u=a.find("base"),x=null;h.url=function(a,c){l!==b.location&&(l=b.location);m!==b.history&&(m=b.history);if(a){if(B!=a)return B=a,d.history?c?m.replaceState(null,"",a):(m.pushState(null,"",a),u.attr("href",u.attr("href"))):(x=a,c?l.replace(a):l.href=a),h}else return x||l.href.replace(/%27/g,"'")};var X=[],N=!1;h.onUrlChange=function(a){if(!N){if(d.history)D(b).on("popstate",
g);if(d.hashchange)D(b).on("hashchange",g);else h.addPollFn(g);N=!0}X.push(a);return a};h.baseHref=function(){var a=u.attr("href");return a?a.replace(/^(https?\:)?\/\/[^\/]*/,""):""};var T={},O="",V=h.baseHref();h.cookies=function(a,b){var d,e,f,g;if(a)b===r?n.cookie=escape(a)+"=;path="+V+";expires=Thu, 01 Jan 1970 00:00:00 GMT":v(b)&&(d=(n.cookie=escape(a)+"="+escape(b)+";path="+V).length+1,4096<d&&c.warn("Cookie '"+a+"' possibly not set or overflowed because it was too large ("+d+" > 4096 bytes)!"));
else{if(n.cookie!==O)for(O=n.cookie,d=O.split("; "),T={},f=0;f<d.length;f++)e=d[f],g=e.indexOf("="),0<g&&(a=unescape(e.substring(0,g)),T[a]===r&&(T[a]=unescape(e.substring(g+1))));return T}};h.defer=function(a,b){var c;s++;c=p(function(){delete t[c];e(a)},b||0);t[c]=!0;return c};h.defer.cancel=function(a){return t[a]?(delete t[a],k(a),e(A),!0):!1}}function he(){this.$get=["$window","$log","$sniffer","$document",function(b,a,c,d){return new Qe(b,d,a,c)}]}function ie(){this.$get=function(){function b(b,
d){function e(a){a!=p&&(k?k==a&&(k=a.n):k=a,f(a.n,a.p),f(a,p),p=a,p.n=null)}function f(a,b){a!=b&&(a&&(a.p=b),b&&(b.n=a))}if(b in a)throw G("$cacheFactory")("iid",b);var g=0,h=z({},d,{id:b}),n={},l=d&&d.capacity||Number.MAX_VALUE,m={},p=null,k=null;return a[b]={put:function(a,b){if(l<Number.MAX_VALUE){var c=m[a]||(m[a]={key:a});e(c)}if(!w(b))return a in n||g++,n[a]=b,g>l&&this.remove(k.key),b},get:function(a){if(l<Number.MAX_VALUE){var b=m[a];if(!b)return;e(b)}return n[a]},remove:function(a){if(l<
Number.MAX_VALUE){var b=m[a];if(!b)return;b==p&&(p=b.p);b==k&&(k=b.n);f(b.n,b.p);delete m[a]}delete n[a];g--},removeAll:function(){n={};g=0;m={};p=k=null},destroy:function(){m=h=n=null;delete a[b]},info:function(){return z({},h,{size:g})}}}var a={};b.info=function(){var b={};q(a,function(a,e){b[e]=a.info()});return b};b.get=function(b){return a[b]};return b}}function ze(){this.$get=["$cacheFactory",function(b){return b("templates")}]}function gc(b,a){var c={},d="Directive",e=/^\s*directive\:\s*([\d\w_\-]+)\s+(.*)$/,
f=/(([\d\w_\-]+)(?:\:([^;]+))?;?)/,g=ld("ngSrc,ngSrcset,src,srcset"),h=/^(on[a-z]+|formaction)$/;this.directive=function l(a,e){Ca(a,"directive");v(a)?(Db(e,"directiveFactory"),c.hasOwnProperty(a)||(c[a]=[],b.factory(a+d,["$injector","$exceptionHandler",function(b,d){var e=[];q(c[a],function(c,f){try{var g=b.invoke(c);P(g)?g={compile:da(g)}:!g.compile&&g.link&&(g.compile=da(g.link));g.priority=g.priority||0;g.index=f;g.name=g.name||a;g.require=g.require||g.controller&&g.name;g.restrict=g.restrict||
"A";e.push(g)}catch(h){d(h)}});return e}])),c[a].push(e)):q(a,Xb(l));return this};this.aHrefSanitizationWhitelist=function(b){return E(b)?(a.aHrefSanitizationWhitelist(b),this):a.aHrefSanitizationWhitelist()};this.imgSrcSanitizationWhitelist=function(b){return E(b)?(a.imgSrcSanitizationWhitelist(b),this):a.imgSrcSanitizationWhitelist()};this.$get=["$injector","$interpolate","$exceptionHandler","$http","$templateCache","$parse","$controller","$rootScope","$document","$sce","$animate","$$sanitizeUri",
function(a,b,p,k,t,s,I,y,F,B,u,x){function X(a,b,c,d,e){a instanceof D||(a=D(a));q(a,function(b,c){3==b.nodeType&&b.nodeValue.match(/\S+/)&&(a[c]=D(b).wrap("<span></span>").parent()[0])});var f=T(a,b,a,c,d,e);N(a,"ng-scope");return function(b,c,d,e){Db(b,"scope");var g=c?Ha.clone.call(a):a;q(d,function(a,b){g.data("$"+b+"Controller",a)});d=0;for(var h=g.length;d<h;d++){var k=g[d].nodeType;1!==k&&9!==k||g.eq(d).data("$scope",b)}c&&c(g,b);f&&f(b,g,g,e);return g}}function N(a,b){try{a.addClass(b)}catch(c){}}
function T(a,b,c,d,e,f){function g(a,c,d,e){var f,k,l,m,p,t,F;f=c.length;var s=Array(f);for(p=0;p<f;p++)s[p]=c[p];F=p=0;for(t=h.length;p<t;F++)k=s[F],c=h[p++],f=h[p++],l=D(k),c?(c.scope?(m=a.$new(),l.data("$scope",m)):m=a,l=c.transcludeOnThisElement?O(a,c.transclude,e):!c.templateOnThisElement&&e?e:!e&&b?O(a,b):null,c(f,m,k,d,l)):f&&f(a,k.childNodes,r,e)}for(var h=[],k,l,m,p,t=0;t<a.length;t++)k=new Kb,l=V(a[t],[],k,0===t?d:r,e),(f=l.length?J(l,a[t],k,b,c,null,[],[],f):null)&&f.scope&&N(D(a[t]),"ng-scope"),
k=f&&f.terminal||!(m=a[t].childNodes)||!m.length?null:T(m,f?(f.transcludeOnThisElement||!f.templateOnThisElement)&&f.transclude:b),h.push(f,k),p=p||f||k,f=null;return p?g:null}function O(a,b,c){return function(d,e,f){var g=!1;d||(d=a.$new(),g=d.$$transcluded=!0);e=b(d,e,f,c);if(g)e.on("$destroy",function(){d.$destroy()});return e}}function V(a,b,c,d,g){var h=c.$attr,k;switch(a.nodeType){case 1:ua(b,pa(na(a)),"E",d,g);for(var l,m,p,t=a.attributes,F=0,s=t&&t.length;F<s;F++){var I=!1,B=!1;l=t[F];if(!W||
8<=W||l.specified){k=l.name;m=aa(l.value);l=pa(k);if(p=Da.test(l))k=hb(l.substr(6),"-");var y=l.replace(/(Start|End)$/,"");l===y+"Start"&&(I=k,B=k.substr(0,k.length-5)+"end",k=k.substr(0,k.length-6));l=pa(k.toLowerCase());h[l]=k;if(p||!c.hasOwnProperty(l))c[l]=m,vc(a,l)&&(c[l]=!0);Z(a,b,m,l);ua(b,l,"A",d,g,I,B)}}a=a.className;if(v(a)&&""!==a)for(;k=f.exec(a);)l=pa(k[2]),ua(b,l,"C",d,g)&&(c[l]=aa(k[3])),a=a.substr(k.index+k[0].length);break;case 3:G(b,a.nodeValue);break;case 8:try{if(k=e.exec(a.nodeValue))l=
pa(k[1]),ua(b,l,"M",d,g)&&(c[l]=aa(k[2]))}catch(u){}}b.sort(w);return b}function C(a,b,c){var d=[],e=0;if(b&&a.hasAttribute&&a.hasAttribute(b)){do{if(!a)throw ia("uterdir",b,c);1==a.nodeType&&(a.hasAttribute(b)&&e++,a.hasAttribute(c)&&e--);d.push(a);a=a.nextSibling}while(0<e)}else d.push(a);return D(d)}function $(a,b,c){return function(d,e,f,g,h){e=C(e[0],b,c);return a(d,e,f,g,h)}}function J(a,c,d,e,f,g,h,k,l){function t(a,b,c,d){if(a){c&&(a=$(a,c,d));a.require=H.require;a.directiveName=z;if(x===
H||H.$$isolateScope)a=Bc(a,{isolateScope:!0});h.push(a)}if(b){c&&(b=$(b,c,d));b.require=H.require;b.directiveName=z;if(x===H||H.$$isolateScope)b=Bc(b,{isolateScope:!0});k.push(b)}}function F(a,b,c,d){var e,f="data",g=!1;if(v(b)){for(;"^"==(e=b.charAt(0))||"?"==e;)b=b.substr(1),"^"==e&&(f="inheritedData"),g=g||"?"==e;e=null;d&&"data"===f&&(e=d[b]);e=e||c[f]("$"+b+"Controller");if(!e&&!g)throw ia("ctreq",b,a);}else L(b)&&(e=[],q(b,function(b){e.push(F(a,b,c,d))}));return e}function B(a,e,f,g,l){function t(a,
b){var c;2>arguments.length&&(b=a,a=r);w&&(c=V);return l(a,b,c)}var y,u,Ac,C,X,J,V={},$;y=c===f?d:ka(d,new Kb(D(f),d.$attr));u=y.$$element;if(x){var Se=/^\s*([@=&])(\??)\s*(\w*)\s*$/;g=D(f);J=e.$new(!0);!T||T!==x&&T!==x.$$originalDirective?g.data("$isolateScopeNoTemplate",J):g.data("$isolateScope",J);N(g,"ng-isolate-scope");q(x.scope,function(a,c){var d=a.match(Se)||[],f=d[3]||c,g="?"==d[2],d=d[1],h,k,l,p;J.$$isolateBindings[c]=d+f;switch(d){case "@":y.$observe(f,function(a){J[c]=a});y.$$observers[f].$$scope=
e;y[f]&&(J[c]=b(y[f])(e));break;case "=":if(g&&!y[f])break;k=s(y[f]);p=k.literal?Aa:function(a,b){return a===b};l=k.assign||function(){h=J[c]=k(e);throw ia("nonassign",y[f],x.name);};h=J[c]=k(e);J.$watch(function Te(){var a=k(e);p(a,J[c])||(p(a,h)?l(e,a=J[c]):J[c]=a);Te.$$unwatch=k.$$unwatch;return h=a},null,k.literal);break;case "&":k=s(y[f]);J[c]=function(a){return k(e,a)};break;default:throw ia("iscp",x.name,c,a);}})}$=l&&t;O&&q(O,function(a){var b={$scope:a===x||a.$$isolateScope?J:e,$element:u,
$attrs:y,$transclude:$},c;X=a.controller;"@"==X&&(X=y[a.name]);c=I(X,b);V[a.name]=c;w||u.data("$"+a.name+"Controller",c);a.controllerAs&&(b.$scope[a.controllerAs]=c)});g=0;for(Ac=h.length;g<Ac;g++)try{C=h[g],C(C.isolateScope?J:e,u,y,C.require&&F(C.directiveName,C.require,u,V),$)}catch(oa){p(oa,ha(u))}g=e;x&&(x.template||null===x.templateUrl)&&(g=J);a&&a(g,f.childNodes,r,l);for(g=k.length-1;0<=g;g--)try{C=k[g],C(C.isolateScope?J:e,u,y,C.require&&F(C.directiveName,C.require,u,V),$)}catch(R){p(R,ha(u))}}
l=l||{};for(var y=-Number.MAX_VALUE,u,O=l.controllerDirectives,x=l.newIsolateScopeDirective,T=l.templateDirective,J=l.nonTlbTranscludeDirective,ua=!1,Ya=!1,w=l.hasElementTranscludeDirective,Z=d.$$element=D(c),H,z,R,K=e,G,M=0,Q=a.length;M<Q;M++){H=a[M];var Da=H.$$start,ob=H.$$end;Da&&(Z=C(c,Da,ob));R=r;if(y>H.priority)break;if(R=H.scope)H.templateUrl||(S(R)?(La("new/isolated scope",x||u,H,Z),x=H):La("new/isolated scope",x,H,Z)),u=u||H;z=H.name;!H.templateUrl&&H.controller&&(R=H.controller,O=O||{},
La("'"+z+"' controller",O[z],H,Z),O[z]=H);if(R=H.transclude)ua=!0,H.$$tlb||(La("transclusion",J,H,Z),J=H),"element"==R?(w=!0,y=H.priority,R=C(c,Da,ob),Z=d.$$element=D(U.createComment(" "+z+": "+d[z]+" ")),c=Z[0],pb(f,D(la.call(R,0)),c),K=X(R,e,y,g&&g.name,{nonTlbTranscludeDirective:J})):(R=D(Hb(c)).contents(),Z.empty(),K=X(R,e));if(H.template)if(Ya=!0,La("template",T,H,Z),T=H,R=P(H.template)?H.template(Z,d):H.template,R=Cc(R),H.replace){g=H;R=Fb.test(R)?D(Dc(H.type,aa(R))):[];c=R[0];if(1!=R.length||
1!==c.nodeType)throw ia("tplrt",z,"");pb(f,Z,c);Q={$attr:{}};R=V(c,[],Q);var W=a.splice(M+1,a.length-(M+1));x&&E(R);a=a.concat(R).concat(W);oa(d,Q);Q=a.length}else Z.html(R);if(H.templateUrl)Ya=!0,La("template",T,H,Z),T=H,H.replace&&(g=H),B=A(a.splice(M,a.length-M),Z,d,f,ua&&K,h,k,{controllerDirectives:O,newIsolateScopeDirective:x,templateDirective:T,nonTlbTranscludeDirective:J}),Q=a.length;else if(H.compile)try{G=H.compile(Z,d,K),P(G)?t(null,G,Da,ob):G&&t(G.pre,G.post,Da,ob)}catch(Y){p(Y,ha(Z))}H.terminal&&
(B.terminal=!0,y=Math.max(y,H.priority))}B.scope=u&&!0===u.scope;B.transcludeOnThisElement=ua;B.templateOnThisElement=Ya;B.transclude=K;l.hasElementTranscludeDirective=w;return B}function E(a){for(var b=0,c=a.length;b<c;b++)a[b]=Zb(a[b],{$$isolateScope:!0})}function ua(b,e,f,g,h,k,m){if(e===h)return null;h=null;if(c.hasOwnProperty(e)){var t;e=a.get(e+d);for(var F=0,s=e.length;F<s;F++)try{t=e[F],(g===r||g>t.priority)&&-1!=t.restrict.indexOf(f)&&(k&&(t=Zb(t,{$$start:k,$$end:m})),b.push(t),h=t)}catch(y){p(y)}}return h}
function oa(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;q(a,function(d,e){"$"!=e.charAt(0)&&(b[e]&&b[e]!==d&&(d+=("style"===e?";":" ")+b[e]),a.$set(e,d,!0,c[e]))});q(b,function(b,f){"class"==f?(N(e,b),a["class"]=(a["class"]?a["class"]+" ":"")+b):"style"==f?(e.attr("style",e.attr("style")+";"+b),a.style=(a.style?a.style+";":"")+b):"$"==f.charAt(0)||a.hasOwnProperty(f)||(a[f]=b,d[f]=c[f])})}function A(a,b,c,d,e,f,g,h){var l=[],m,p,F=b[0],s=a.shift(),y=z({},s,{templateUrl:null,transclude:null,replace:null,
$$originalDirective:s}),u=P(s.templateUrl)?s.templateUrl(b,c):s.templateUrl,I=s.type;b.empty();k.get(B.getTrustedResourceUrl(u),{cache:t}).success(function(k){var t,B;k=Cc(k);if(s.replace){k=Fb.test(k)?D(Dc(I,aa(k))):[];t=k[0];if(1!=k.length||1!==t.nodeType)throw ia("tplrt",s.name,u);k={$attr:{}};pb(d,b,t);var x=V(t,[],k);S(s.scope)&&E(x);a=x.concat(a);oa(c,k)}else t=F,b.html(k);a.unshift(y);m=J(a,t,c,e,b,s,f,g,h);q(d,function(a,c){a==t&&(d[c]=b[0])});for(p=T(b[0].childNodes,e);l.length;){k=l.shift();
B=l.shift();var C=l.shift(),X=l.shift(),x=b[0];if(B!==F){var $=B.className;h.hasElementTranscludeDirective&&s.replace||(x=Hb(t));pb(C,D(B),x);N(D(x),$)}B=m.transcludeOnThisElement?O(k,m.transclude,X):X;m(p,k,x,d,B)}l=null}).error(function(a,b,c,d){throw ia("tpload",d.url);});return function(a,b,c,d,e){a=e;l?(l.push(b),l.push(c),l.push(d),l.push(a)):(m.transcludeOnThisElement&&(a=O(b,m.transclude,e)),m(p,b,c,d,a))}}function w(a,b){var c=b.priority-a.priority;return 0!==c?c:a.name!==b.name?a.name<b.name?
-1:1:a.index-b.index}function La(a,b,c,d){if(b)throw ia("multidir",b.name,c.name,a,ha(d));}function G(a,c){var d=b(c,!0);d&&a.push({priority:0,compile:function(a){var e=a.parent().length;e&&N(a.parent(),"ng-binding");return function(a,f){var g=f.parent(),h=g.data("$binding")||[];d=b(c);h.push(d);g.data("$binding",h);e||N(g,"ng-binding");a.$watch(d,function(a){f[0].nodeValue=a})}}})}function Dc(a,b){a=K(a||"html");switch(a){case "svg":case "math":var c=U.createElement("div");c.innerHTML="<"+a+">"+
b+"</"+a+">";return c.childNodes[0].childNodes;default:return b}}function Ya(a,b){if("srcdoc"==b)return B.HTML;var c=na(a);if("xlinkHref"==b||"form"==c&&"action"==b||"img"!=c&&("src"==b||"ngSrc"==b))return B.RESOURCE_URL}function Z(a,c,d,e){var f=b(d,!0);if(f){if("multiple"===e&&"select"===na(a))throw ia("selmulti",ha(a));c.push({priority:100,compile:function(){return{pre:function(c,d,k){d=k.$$observers||(k.$$observers={});if(h.test(e))throw ia("nodomevents");if(f=b(k[e],!0,Ya(a,e),g[e]))k[e]=f(c),
(d[e]||(d[e]=[])).$$inter=!0,(k.$$observers&&k.$$observers[e].$$scope||c).$watch(f,function(a,b){"class"===e&&a!=b?k.$updateClass(a,b):k.$set(e,a)})}}}})}}function pb(a,b,c){var d=b[0],e=b.length,f=d.parentNode,g,h;if(a)for(g=0,h=a.length;g<h;g++)if(a[g]==d){a[g++]=c;h=g+e-1;for(var k=a.length;g<k;g++,h++)h<k?a[g]=a[h]:delete a[g];a.length-=e-1;break}f&&f.replaceChild(c,d);a=U.createDocumentFragment();a.appendChild(d);c[D.expando]=d[D.expando];d=1;for(e=b.length;d<e;d++)f=b[d],D(f).remove(),a.appendChild(f),
delete b[d];b[0]=c;b.length=1}function Bc(a,b){return z(function(){return a.apply(null,arguments)},a,b)}var Kb=function(a,b){this.$$element=a;this.$attr=b||{}};Kb.prototype={$normalize:pa,$addClass:function(a){a&&0<a.length&&u.addClass(this.$$element,a)},$removeClass:function(a){a&&0<a.length&&u.removeClass(this.$$element,a)},$updateClass:function(a,b){var c=Ec(a,b),d=Ec(b,a);0===c.length?u.removeClass(this.$$element,d):0===d.length?u.addClass(this.$$element,c):u.setClass(this.$$element,c,d)},$set:function(a,
b,c,d){var e=this.$$element[0],f=vc(e,a),g=Le(e,a),e=a;f?(this.$$element.prop(a,b),d=f):g&&(this[g]=b,e=g);this[a]=b;d?this.$attr[a]=d:(d=this.$attr[a])||(this.$attr[a]=d=hb(a,"-"));f=na(this.$$element);if("a"===f&&"href"===a||"img"===f&&"src"===a)this[a]=b=x(b,"src"===a);!1!==c&&(null===b||b===r?this.$$element.removeAttr(d):this.$$element.attr(d,b));(a=this.$$observers)&&q(a[e],function(a){try{a(b)}catch(c){p(c)}})},$observe:function(a,b){var c=this,d=c.$$observers||(c.$$observers={}),e=d[a]||(d[a]=
[]);e.push(b);y.$evalAsync(function(){e.$$inter||b(c[a])});return function(){Ga(e,b)}}};var M=b.startSymbol(),Q=b.endSymbol(),Cc="{{"==M||"}}"==Q?Ea:function(a){return a.replace(/\{\{/g,M).replace(/}}/g,Q)},Da=/^ngAttr[A-Z]/;return X}]}function pa(b){return Ua(b.replace(Ue,""))}function Ec(b,a){var c="",d=b.split(/\s+/),e=a.split(/\s+/),f=0;a:for(;f<d.length;f++){for(var g=d[f],h=0;h<e.length;h++)if(g==e[h])continue a;c+=(0<c.length?" ":"")+g}return c}function je(){var b={},a=/^(\S+)(\s+as\s+(\w+))?$/;
this.register=function(a,d){Ca(a,"controller");S(a)?z(b,a):b[a]=d};this.$get=["$injector","$window",function(c,d){return function(e,f){var g,h,n;v(e)&&(g=e.match(a),h=g[1],n=g[3],e=b.hasOwnProperty(h)?b[h]:fc(f.$scope,h,!0)||fc(d,h,!0),Sa(e,h,!0));g=c.instantiate(e,f,h);if(n){if(!f||"object"!==typeof f.$scope)throw G("$controller")("noscp",h||e.name,n);f.$scope[n]=g}return g}}]}function ke(){this.$get=["$window",function(b){return D(b.document)}]}function le(){this.$get=["$log",function(b){return function(a,
c){b.error.apply(b,arguments)}}]}function Fc(b){var a={},c,d,e;if(!b)return a;q(b.split("\n"),function(b){e=b.indexOf(":");c=K(aa(b.substr(0,e)));d=aa(b.substr(e+1));c&&(a[c]=a[c]?a[c]+(", "+d):d)});return a}function Gc(b){var a=S(b)?b:r;return function(c){a||(a=Fc(b));return c?a[K(c)]||null:a}}function Hc(b,a,c){if(P(c))return c(b,a);q(c,function(c){b=c(b,a)});return b}function oe(){var b=/^\s*(\[|\{[^\{])/,a=/[\}\]]\s*$/,c=/^\)\]\}',?\n/,d={"Content-Type":"application/json;charset=utf-8"},e=this.defaults=
{transformResponse:[function(d){v(d)&&(d=d.replace(c,""),b.test(d)&&a.test(d)&&(d=ac(d)));return d}],transformRequest:[function(a){return S(a)&&"[object File]"!==ya.call(a)&&"[object Blob]"!==ya.call(a)?sa(a):a}],headers:{common:{Accept:"application/json, text/plain, */*"},post:ka(d),put:ka(d),patch:ka(d)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN"},f=this.interceptors=[];this.$get=["$httpBackend","$browser","$cacheFactory","$rootScope","$q","$injector",function(a,b,c,d,m,p){function k(a){function b(a){var d=
z({},a,{data:Hc(a.data,a.headers,c.transformResponse)});return 200<=a.status&&300>a.status?d:m.reject(d)}var c={method:"get",transformRequest:e.transformRequest,transformResponse:e.transformResponse},d=function(a){function b(a){var c;q(a,function(b,d){P(b)&&(c=b(),null!=c?a[d]=c:delete a[d])})}var c=e.headers,d=z({},a.headers),f,g,c=z({},c.common,c[K(a.method)]);b(c);b(d);a:for(f in c){a=K(f);for(g in d)if(K(g)===a)continue a;d[f]=c[f]}return d}(a);z(c,a);c.headers=d;c.method=ib(c.method);var f=[function(a){d=
a.headers;var c=Hc(a.data,Gc(d),a.transformRequest);w(a.data)&&q(d,function(a,b){"content-type"===K(b)&&delete d[b]});w(a.withCredentials)&&!w(e.withCredentials)&&(a.withCredentials=e.withCredentials);return t(a,c,d).then(b,b)},r],g=m.when(c);for(q(y,function(a){(a.request||a.requestError)&&f.unshift(a.request,a.requestError);(a.response||a.responseError)&&f.push(a.response,a.responseError)});f.length;){a=f.shift();var h=f.shift(),g=g.then(a,h)}g.success=function(a){g.then(function(b){a(b.data,b.status,
b.headers,c)});return g};g.error=function(a){g.then(null,function(b){a(b.data,b.status,b.headers,c)});return g};return g}function t(c,f,n){function t(a,b,c,e){V&&(200<=a&&300>a?V.put($,[a,b,Fc(c),e]):V.remove($));p(b,a,c,e);d.$$phase||d.$apply()}function p(a,b,d,e){b=Math.max(b,0);(200<=b&&300>b?q.resolve:q.reject)({data:a,status:b,headers:Gc(d),config:c,statusText:e})}function y(){var a=Pa(k.pendingRequests,c);-1!==a&&k.pendingRequests.splice(a,1)}var q=m.defer(),O=q.promise,V,C,$=s(c.url,c.params);
k.pendingRequests.push(c);O.then(y,y);(c.cache||e.cache)&&(!1!==c.cache&&"GET"==c.method)&&(V=S(c.cache)?c.cache:S(e.cache)?e.cache:I);if(V)if(C=V.get($),E(C)){if(C.then)return C.then(y,y),C;L(C)?p(C[1],C[0],ka(C[2]),C[3]):p(C,200,{},"OK")}else V.put($,O);w(C)&&((C=Lb(c.url)?b.cookies()[c.xsrfCookieName||e.xsrfCookieName]:r)&&(n[c.xsrfHeaderName||e.xsrfHeaderName]=C),a(c.method,$,f,t,n,c.timeout,c.withCredentials,c.responseType));return O}function s(a,b){if(!b)return a;var c=[];id(b,function(a,b){null===
a||w(a)||(L(a)||(a=[a]),q(a,function(a){S(a)&&(a=sa(a));c.push(Ba(b)+"="+Ba(a))}))});0<c.length&&(a+=(-1==a.indexOf("?")?"?":"&")+c.join("&"));return a}var I=c("$http"),y=[];q(f,function(a){y.unshift(v(a)?p.get(a):p.invoke(a))});k.pendingRequests=[];(function(a){q(arguments,function(a){k[a]=function(b,c){return k(z(c||{},{method:a,url:b}))}})})("get","delete","head","jsonp");(function(a){q(arguments,function(a){k[a]=function(b,c,d){return k(z(d||{},{method:a,url:b,data:c}))}})})("post","put","patch");
k.defaults=e;return k}]}function Ve(b){if(8>=W&&(!b.match(/^(get|post|head|put|delete|options)$/i)||!M.XMLHttpRequest))return new M.ActiveXObject("Microsoft.XMLHTTP");if(M.XMLHttpRequest)return new M.XMLHttpRequest;throw G("$httpBackend")("noxhr");}function pe(){this.$get=["$browser","$window","$document",function(b,a,c){return We(b,Ve,b.defer,a.angular.callbacks,c[0])}]}function We(b,a,c,d,e){function f(a,b,c){var f=e.createElement("script"),g=null;f.type="text/javascript";f.src=a;f.async=!0;g=function(a){Va(f,
"load",g);Va(f,"error",g);e.body.removeChild(f);f=null;var h=-1,s="unknown";a&&("load"!==a.type||d[b].called||(a={type:"error"}),s=a.type,h="error"===a.type?404:200);c&&c(h,s)};qb(f,"load",g);qb(f,"error",g);e.body.appendChild(f);return g}var g=-1;return function(e,n,l,m,p,k,t,s){function I(){F=g;u&&u();x&&x.abort()}function y(a,d,e,f,g){N&&c.cancel(N);u=x=null;0===d&&(d=e?200:"file"==va(n).protocol?404:0);a(1223===d?204:d,e,f,g||"");b.$$completeOutstandingRequest(A)}var F;b.$$incOutstandingRequestCount();
n=n||b.url();if("jsonp"==K(e)){var B="_"+(d.counter++).toString(36);d[B]=function(a){d[B].data=a;d[B].called=!0};var u=f(n.replace("JSON_CALLBACK","angular.callbacks."+B),B,function(a,b){y(m,a,d[B].data,"",b);d[B]=A})}else{var x=a(e);x.open(e,n,!0);q(p,function(a,b){E(a)&&x.setRequestHeader(b,a)});x.onreadystatechange=function(){if(x&&4==x.readyState){var a=null,b=null,c="";F!==g&&(a=x.getAllResponseHeaders(),b="response"in x?x.response:x.responseText);F===g&&10>W||(c=x.statusText);y(m,F||x.status,
b,a,c)}};t&&(x.withCredentials=!0);if(s)try{x.responseType=s}catch(X){if("json"!==s)throw X;}x.send(l||null)}if(0<k)var N=c(I,k);else k&&k.then&&k.then(I)}}function me(){var b="{{",a="}}";this.startSymbol=function(a){return a?(b=a,this):b};this.endSymbol=function(b){return b?(a=b,this):a};this.$get=["$parse","$exceptionHandler","$sce",function(c,d,e){function f(a){return"\\\\\\"+a}function g(f,g,t,s){s=!!s;for(var I,y,F=0,B=[],u=[],x=[],X=f.length,N=!1,T=!1,O=[],V={},C={};F<X;)if(-1!=(I=f.indexOf(b,
F))&&-1!=(y=f.indexOf(a,I+h)))F!==I&&(T=!0),B.push(f.substring(F,I)),F=f.substring(I+h,y),u.push(F),x.push(c(F)),F=y+n,N=!0;else{F!==X&&(T=!0,B.push(f.substring(F)));break}q(B,function(c,d){B[d]=B[d].replace(l,b).replace(m,a)});B.length===u.length&&B.push("");if(t&&N&&(T||1<u.length))throw Ic("noconcat",f);if(!g||N){O.length=B.length+u.length;var $=function(a){for(var b=0,c=u.length;b<c;b++)O[2*b]=B[b],O[2*b+1]=a[b];O[2*c]=B[c];return O.join("")},J=function(a){return a=t?e.getTrusted(t,a):e.valueOf(a)},
D=function(a){if(null==a)return"";switch(typeof a){case "string":break;case "number":a=""+a;break;default:a=sa(a)}return a};return z(function oa(a){var b=a&&a.$id||"notAScope",c=V[b],e=C[b],g=0,h=u.length,k=Array(h),n,l=e===r?!0:!1;c||(c=[],l=!0,a&&a.$on&&a.$on("$destroy",function(){V[b]=null;C[b]=null}));try{for(oa.$$unwatch=!0;g<h;g++){n=J(x[g](a));if(s&&w(n)){oa.$$unwatch=r;return}n=D(n);n!==c[g]&&(l=!0);k[g]=n;oa.$$unwatch=oa.$$unwatch&&x[g].$$unwatch}l&&(V[b]=k,C[b]=e=$(k))}catch(t){a=Ic("interr",
f,t.toString()),d(a)}return e},{exp:f,separators:B,expressions:u})}}var h=b.length,n=a.length,l=RegExp(b.replace(/./g,f),"g"),m=RegExp(a.replace(/./g,f),"g");g.startSymbol=function(){return b};g.endSymbol=function(){return a};return g}]}function ne(){this.$get=["$rootScope","$window","$q","$$q",function(b,a,c,d){function e(e,h,n,l){var m=a.setInterval,p=a.clearInterval,k=0,t=E(l)&&!l,s=(t?d:c).defer(),I=s.promise;n=E(n)?n:0;I.then(null,null,e);I.$$intervalId=m(function(){s.notify(k++);0<n&&k>=n&&
(s.resolve(k),p(I.$$intervalId),delete f[I.$$intervalId]);t||b.$apply()},h);f[I.$$intervalId]=s;return I}var f={};e.cancel=function(b){return b&&b.$$intervalId in f?(f[b.$$intervalId].reject("canceled"),a.clearInterval(b.$$intervalId),delete f[b.$$intervalId],!0):!1};return e}]}function vd(){this.$get=function(){return{id:"en-us",NUMBER_FORMATS:{DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:"",posSuf:"",negPre:"-",negSuf:"",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,
posPre:"\u00a4",posSuf:"",negPre:"(\u00a4",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},DATETIME_FORMATS:{MONTH:"January February March April May June July August September October November December".split(" "),SHORTMONTH:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),DAY:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),SHORTDAY:"Sun Mon Tue Wed Thu Fri Sat".split(" "),AMPMS:["AM","PM"],medium:"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a",fullDate:"EEEE, MMMM d, y",
longDate:"MMMM d, y",mediumDate:"MMM d, y",shortDate:"M/d/yy",mediumTime:"h:mm:ss a",shortTime:"h:mm a"},pluralCat:function(b){return 1===b?"one":"other"}}}}function Mb(b){b=b.split("/");for(var a=b.length;a--;)b[a]=gb(b[a]);return b.join("/")}function Jc(b,a,c){b=va(b,c);a.$$protocol=b.protocol;a.$$host=b.hostname;a.$$port=Y(b.port)||Xe[b.protocol]||null}function Kc(b,a,c){var d="/"!==b.charAt(0);d&&(b="/"+b);b=va(b,c);a.$$path=decodeURIComponent(d&&"/"===b.pathname.charAt(0)?b.pathname.substring(1):
b.pathname);a.$$search=cc(b.search);a.$$hash=decodeURIComponent(b.hash);a.$$path&&"/"!=a.$$path.charAt(0)&&(a.$$path="/"+a.$$path)}function qa(b,a){if(0===a.indexOf(b))return a.substr(b.length)}function Za(b){var a=b.indexOf("#");return-1==a?b:b.substr(0,a)}function Nb(b){return b.substr(0,Za(b).lastIndexOf("/")+1)}function Lc(b,a){this.$$html5=!0;a=a||"";var c=Nb(b);Jc(b,this,b);this.$$parse=function(a){var e=qa(c,a);if(!v(e))throw Ob("ipthprfx",a,c);Kc(e,this,b);this.$$path||(this.$$path="/");this.$$compose()};
this.$$compose=function(){var a=Bb(this.$$search),b=this.$$hash?"#"+gb(this.$$hash):"";this.$$url=Mb(this.$$path)+(a?"?"+a:"")+b;this.$$absUrl=c+this.$$url.substr(1)};this.$$rewrite=function(d){var e;if((e=qa(b,d))!==r)return d=e,(e=qa(a,e))!==r?c+(qa("/",e)||e):b+d;if((e=qa(c,d))!==r)return c+e;if(c==d+"/")return c}}function Pb(b,a){var c=Nb(b);Jc(b,this,b);this.$$parse=function(d){var e=qa(b,d)||qa(c,d),e="#"==e.charAt(0)?qa(a,e):this.$$html5?e:"";if(!v(e))throw Ob("ihshprfx",d,a);Kc(e,this,b);
d=this.$$path;var f=/^\/[A-Z]:(\/.*)/;0===e.indexOf(b)&&(e=e.replace(b,""));f.exec(e)||(d=(e=f.exec(d))?e[1]:d);this.$$path=d;this.$$compose()};this.$$compose=function(){var c=Bb(this.$$search),e=this.$$hash?"#"+gb(this.$$hash):"";this.$$url=Mb(this.$$path)+(c?"?"+c:"")+e;this.$$absUrl=b+(this.$$url?a+this.$$url:"")};this.$$rewrite=function(a){if(Za(b)==Za(a))return a}}function Qb(b,a){this.$$html5=!0;Pb.apply(this,arguments);var c=Nb(b);this.$$rewrite=function(d){var e;if(b==Za(d))return d;if(e=
qa(c,d))return b+a+e;if(c===d+"/")return c};this.$$compose=function(){var c=Bb(this.$$search),e=this.$$hash?"#"+gb(this.$$hash):"";this.$$url=Mb(this.$$path)+(c?"?"+c:"")+e;this.$$absUrl=b+a+this.$$url}}function rb(b){return function(){return this[b]}}function Mc(b,a){return function(c){if(w(c))return this[b];this[b]=a(c);this.$$compose();return this}}function qe(){var b="",a=!1;this.hashPrefix=function(a){return E(a)?(b=a,this):b};this.html5Mode=function(b){return E(b)?(a=b,this):a};this.$get=["$rootScope",
"$browser","$sniffer","$rootElement",function(c,d,e,f){function g(a){c.$broadcast("$locationChangeSuccess",h.absUrl(),a)}var h,n,l=d.baseHref(),m=d.url(),p;a?(p=m.substring(0,m.indexOf("/",m.indexOf("//")+2))+(l||"/"),n=e.history?Lc:Qb):(p=Za(m),n=Pb);h=new n(p,"#"+b);h.$$parse(h.$$rewrite(m));f.on("click",function(a){if(!a.ctrlKey&&!a.metaKey&&2!=a.which){for(var e=D(a.target);"a"!==na(e[0]);)if(e[0]===f[0]||!(e=e.parent())[0])return;var g=e.prop("href");S(g)&&"[object SVGAnimatedString]"===g.toString()&&
(g=va(g.animVal).href);if(n===Qb){var k=e.attr("href")||e.attr("xlink:href");if(0>k.indexOf("://"))if(g="#"+b,"/"==k[0])g=p+g+k;else if("#"==k[0])g=p+g+(h.path()||"/")+k;else{for(var l=h.path().split("/"),k=k.split("/"),m=0;m<k.length;m++)"."!=k[m]&&(".."==k[m]?l.pop():k[m].length&&l.push(k[m]));g=p+g+l.join("/")}}l=h.$$rewrite(g);g&&(!e.attr("target")&&l&&!a.isDefaultPrevented())&&(a.preventDefault(),l!=d.url()&&(h.$$parse(l),c.$apply(),M.angular["ff-684208-preventDefault"]=!0))}});h.absUrl()!=m&&
d.url(h.absUrl(),!0);d.onUrlChange(function(a){h.absUrl()!=a&&(c.$evalAsync(function(){var b=h.absUrl();h.$$parse(a);c.$broadcast("$locationChangeStart",a,b).defaultPrevented?(h.$$parse(b),d.url(b)):g(b)}),c.$$phase||c.$digest())});var k=0;c.$watch(function(){var a=d.url(),b=h.$$replace;k&&a==h.absUrl()||(k++,c.$evalAsync(function(){c.$broadcast("$locationChangeStart",h.absUrl(),a).defaultPrevented?h.$$parse(a):(d.url(h.absUrl(),b),g(a))}));h.$$replace=!1;return k});return h}]}function re(){var b=
!0,a=this;this.debugEnabled=function(a){return E(a)?(b=a,this):b};this.$get=["$window",function(c){function d(a){a instanceof Error&&(a.stack?a=a.message&&-1===a.stack.indexOf(a.message)?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a=a.message+"\n"+a.sourceURL+":"+a.line));return a}function e(a){var b=c.console||{},e=b[a]||b.log||A;a=!1;try{a=!!e.apply}catch(n){}return a?function(){var a=[];q(arguments,function(b){a.push(d(b))});return e.apply(b,a)}:function(a,b){e(a,null==b?"":b)}}return{log:e("log"),
info:e("info"),warn:e("warn"),error:e("error"),debug:function(){var c=e("debug");return function(){b&&c.apply(a,arguments)}}()}}]}function ea(b,a){if("__defineGetter__"===b||"__defineSetter__"===b||"__lookupGetter__"===b||"__lookupSetter__"===b||"__proto__"===b)throw ja("isecfld",a);return b}function Ma(b,a){if(b){if(b.constructor===b)throw ja("isecfn",a);if(b.window===b)throw ja("isecwindow",a);if(b.children&&(b.nodeName||b.prop&&b.attr&&b.find))throw ja("isecdom",a);if(b===Object)throw ja("isecobj",
a);}return b}function sb(b,a,c,d){a=a.split(".");for(var e,f=0;1<a.length;f++){e=ea(a.shift(),d);var g=b[e];g||(g={},b[e]=g);b=g}e=ea(a.shift(),d);Ma(b,d);Ma(b[e],d);return b[e]=c}function Nc(b,a,c,d,e,f){ea(b,f);ea(a,f);ea(c,f);ea(d,f);ea(e,f);return function(f,h){var n=h&&h.hasOwnProperty(b)?h:f;if(null==n)return n;n=n[b];if(!a)return n;if(null==n)return r;n=n[a];if(!c)return n;if(null==n)return r;n=n[c];if(!d)return n;if(null==n)return r;n=n[d];return e?null==n?r:n=n[e]:n}}function Ye(b,a){ea(b,
a);return function(a,d){return null==a?r:(d&&d.hasOwnProperty(b)?d:a)[b]}}function Ze(b,a,c){ea(b,c);ea(a,c);return function(c,e){if(null==c)return r;c=(e&&e.hasOwnProperty(b)?e:c)[b];return null==c?r:c[a]}}function Oc(b,a,c){if(Rb.hasOwnProperty(b))return Rb[b];var d=b.split("."),e=d.length;if(1===e)a=Ye(d[0],c);else if(2===e)a=Ze(d[0],d[1],c);else if(a.csp)a=6>e?Nc(d[0],d[1],d[2],d[3],d[4],c):function(a,b){var f=0,l;do l=Nc(d[f++],d[f++],d[f++],d[f++],d[f++],c)(a,b),b=r,a=l;while(f<e);return l};
else{var f="var p;\n";q(d,function(a,b){ea(a,c);f+="if(s == null) return undefined;\ns="+(b?"s":'((k&&k.hasOwnProperty("'+a+'"))?k:s)')+'["'+a+'"];\n'});f+="return s;";a=new Function("s","k",f);a.toString=da(f)}"hasOwnProperty"!==b&&(Rb[b]=a);return a}function se(){var b={},a={csp:!1};this.$get=["$filter","$sniffer",function(c,d){a.csp=d.csp;return function(d){function f(a){function b(e,f){c||(d=a.constant&&d?d:a(e,f),b.$$unwatch=E(d),b.$$unwatch&&(e&&e.$$postDigestQueue)&&e.$$postDigestQueue.push(function(){!(c=
E(d))||null!==d&&d.$$unwrapTrustedValue||(d=za(d,null))}));return d}var c=!1,d;b.literal=a.literal;b.constant=a.constant;b.assign=a.assign;return b}var g,h;switch(typeof d){case "string":d=aa(d);":"===d.charAt(0)&&":"===d.charAt(1)&&(h=!0,d=d.substring(2));if(b.hasOwnProperty(d))return h?f(b[d]):b[d];g=new Sb(a);g=(new $a(g,c,a)).parse(d);"hasOwnProperty"!==d&&(b[d]=g);return h||g.constant?f(g):g;case "function":return d;default:return A}}}]}function ue(){this.$get=["$rootScope","$exceptionHandler",
function(b,a){return Pc(function(a){b.$evalAsync(a)},a)}]}function ve(){this.$get=["$browser","$exceptionHandler",function(b,a){return Pc(function(a){b.defer(a)},a)}]}function Pc(b,a){function c(a){return a}function d(a){return g(a)}var e=function(){var g=[],l,m;return m={resolve:function(a){if(g){var c=g;g=r;l=f(a);c.length&&b(function(){for(var a,b=0,d=c.length;b<d;b++)a=c[b],l.then(a[0],a[1],a[2])})}},reject:function(a){m.resolve(h(a))},notify:function(a){if(g){var c=g;g.length&&b(function(){for(var b,
d=0,e=c.length;d<e;d++)b=c[d],b[2](a)})}},promise:{then:function(b,f,h){var m=e(),I=function(d){try{m.resolve((P(b)?b:c)(d))}catch(e){m.reject(e),a(e)}},y=function(b){try{m.resolve((P(f)?f:d)(b))}catch(c){m.reject(c),a(c)}},F=function(b){try{m.notify((P(h)?h:c)(b))}catch(d){a(d)}};g?g.push([I,y,F]):l.then(I,y,F);return m.promise},"catch":function(a){return this.then(null,a)},"finally":function(a){function b(a,c){var d=e();c?d.resolve(a):d.reject(a);return d.promise}function d(e,f){var g=null;try{g=
(a||c)()}catch(h){return b(h,!1)}return g&&P(g.then)?g.then(function(){return b(e,f)},function(a){return b(a,!1)}):b(e,f)}return this.then(function(a){return d(a,!0)},function(a){return d(a,!1)})}}}},f=function(a){return a&&P(a.then)?a:{then:function(c){var d=e();b(function(){d.resolve(c(a))});return d.promise}}},g=function(a){var b=e();b.reject(a);return b.promise},h=function(c){return{then:function(f,g){var h=e();b(function(){try{h.resolve((P(g)?g:d)(c))}catch(b){h.reject(b),a(b)}});return h.promise}}};
return{defer:e,reject:g,when:function(h,l,m,p){var k=e(),t,s=function(b){try{return(P(l)?l:c)(b)}catch(d){return a(d),g(d)}},I=function(b){try{return(P(m)?m:d)(b)}catch(c){return a(c),g(c)}},y=function(b){try{return(P(p)?p:c)(b)}catch(d){a(d)}};b(function(){f(h).then(function(a){t||(t=!0,k.resolve(f(a).then(s,I,y)))},function(a){t||(t=!0,k.resolve(I(a)))},function(a){t||k.notify(y(a))})});return k.promise},all:function(a){var b=e(),c=0,d=L(a)?[]:{};q(a,function(a,e){c++;f(a).then(function(a){d.hasOwnProperty(e)||
(d[e]=a,--c||b.resolve(d))},function(a){d.hasOwnProperty(e)||b.reject(a)})});0===c&&b.resolve(d);return b.promise}}}function Ce(){this.$get=["$window","$timeout",function(b,a){var c=b.requestAnimationFrame||b.webkitRequestAnimationFrame||b.mozRequestAnimationFrame,d=b.cancelAnimationFrame||b.webkitCancelAnimationFrame||b.mozCancelAnimationFrame||b.webkitCancelRequestAnimationFrame,e=!!c,f=e?function(a){var b=c(a);return function(){d(b)}}:function(b){var c=a(b,16.66,!1);return function(){a.cancel(c)}};
f.supported=e;return f}]}function te(){var b=10,a=G("$rootScope"),c=null;this.digestTtl=function(a){arguments.length&&(b=a);return b};this.$get=["$injector","$exceptionHandler","$parse","$browser",function(d,e,f,g){function h(){this.$id=++eb;this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null;this["this"]=this.$root=this;this.$$destroyed=!1;this.$$asyncQueue=[];this.$$postDigestQueue=[];this.$$listeners={};this.$$listenerCount={};
this.$$isolateBindings={}}function n(b){if(k.$$phase)throw a("inprog",k.$$phase);k.$$phase=b}function l(a,b){var c=f(a);Sa(c,b);return c}function m(a,b,c){do a.$$listenerCount[c]-=b,0===a.$$listenerCount[c]&&delete a.$$listenerCount[c];while(a=a.$parent)}function p(){}h.prototype={constructor:h,$new:function(a){a?(a=new h,a.$root=this.$root,a.$$asyncQueue=this.$$asyncQueue,a.$$postDigestQueue=this.$$postDigestQueue):(this.$$childScopeClass||(this.$$childScopeClass=function(){this.$$watchers=this.$$nextSibling=
this.$$childHead=this.$$childTail=null;this.$$listeners={};this.$$listenerCount={};this.$id=++eb;this.$$childScopeClass=null},this.$$childScopeClass.prototype=this),a=new this.$$childScopeClass);a["this"]=a;a.$parent=this;a.$$prevSibling=this.$$childTail;this.$$childHead?this.$$childTail=this.$$childTail.$$nextSibling=a:this.$$childHead=this.$$childTail=a;return a},$watch:function(a,b,d){var e=l(a,"watch"),f=this.$$watchers,g={fn:b,last:p,get:e,exp:a,eq:!!d};c=null;if(!P(b)){var h=l(b||A,"listener");
g.fn=function(a,b,c){h(c)}}f||(f=this.$$watchers=[]);f.unshift(g);return function(){Ga(f,g);c=null}},$watchGroup:function(a,b){function c(){return h}var d=Array(a.length),e=Array(a.length),g=[],h=0,k=this,l=Array(a.length),n=a.length;q(a,function(a,b){var c=f(a);g.push(k.$watch(c,function(a,f){e[b]=a;d[b]=f;h++;l[b]&&!c.$$unwatch&&n++;!l[b]&&c.$$unwatch&&n--;l[b]=c.$$unwatch}))},this);g.push(k.$watch(c,function(){b(e,d,k);c.$$unwatch=0===n?!0:!1}));return function(){q(g,function(a){a()})}},$watchCollection:function(a,
b){function c(){e=n(d);var a,b;if(S(e))if(db(e))for(g!==m&&(g=m,C=g.length=0,l++),a=e.length,C!==a&&(l++,g.length=C=a),b=0;b<a;b++)g[b]!==g[b]&&e[b]!==e[b]||g[b]===e[b]||(l++,g[b]=e[b]);else{g!==p&&(g=p={},C=0,l++);a=0;for(b in e)e.hasOwnProperty(b)&&(a++,g.hasOwnProperty(b)?g[b]!==e[b]&&(l++,g[b]=e[b]):(C++,g[b]=e[b],l++));if(C>a)for(b in l++,g)g.hasOwnProperty(b)&&!e.hasOwnProperty(b)&&(C--,delete g[b])}else g!==e&&(g=e,l++);c.$$unwatch=n.$$unwatch;return l}var d=this,e,g,h,k=1<b.length,l=0,n=f(a),
m=[],p={},q=!0,C=0;return this.$watch(c,function(){q?(q=!1,b(e,e,d)):b(e,h,d);if(k)if(S(e))if(db(e)){h=Array(e.length);for(var a=0;a<e.length;a++)h[a]=e[a]}else for(a in h={},e)Qc.call(e,a)&&(h[a]=e[a]);else h=e})},$digest:function(){var d,f,g,h,l=this.$$asyncQueue,m=this.$$postDigestQueue,u,q,r=b,N,T=[],O=[],D,C,E;n("$digest");c=null;do{q=!1;for(N=this;l.length;){try{E=l.shift(),E.scope.$eval(E.expression)}catch(J){k.$$phase=null,e(J)}c=null}a:do{if(h=N.$$watchers)for(u=h.length;u--;)try{if(d=h[u])if((f=
d.get(N))!==(g=d.last)&&!(d.eq?Aa(f,g):"number"===typeof f&&"number"===typeof g&&isNaN(f)&&isNaN(g)))q=!0,c=d,d.last=d.eq?za(f,null):f,d.fn(f,g===p?f:g,N),5>r&&(D=4-r,T[D]||(T[D]=[]),C=P(d.exp)?"fn: "+(d.exp.name||d.exp.toString()):d.exp,C+="; newVal: "+sa(f)+"; oldVal: "+sa(g),T[D].push(C)),d.get.$$unwatch&&O.push({watch:d,array:h});else if(d===c){q=!1;break a}}catch(v){k.$$phase=null,e(v)}if(!(u=N.$$childHead||N!==this&&N.$$nextSibling))for(;N!==this&&!(u=N.$$nextSibling);)N=N.$parent}while(N=u);
if((q||l.length)&&!r--)throw k.$$phase=null,a("infdig",b,sa(T));}while(q||l.length);for(k.$$phase=null;m.length;)try{m.shift()()}catch(z){e(z)}for(u=O.length-1;0<=u;--u)d=O[u],d.watch.get.$$unwatch&&Ga(d.array,d.watch)},$destroy:function(){if(!this.$$destroyed){var a=this.$parent;this.$broadcast("$destroy");this.$$destroyed=!0;this!==k&&(q(this.$$listenerCount,Ab(null,m,this)),a.$$childHead==this&&(a.$$childHead=this.$$nextSibling),a.$$childTail==this&&(a.$$childTail=this.$$prevSibling),this.$$prevSibling&&
(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=this.$root=null,this.$$listeners={},this.$$watchers=this.$$asyncQueue=this.$$postDigestQueue=[],this.$destroy=this.$digest=this.$apply=A,this.$on=this.$watch=this.$watchGroup=function(){return A})}},$eval:function(a,b){return f(a)(this,b)},$evalAsync:function(a){k.$$phase||k.$$asyncQueue.length||
g.defer(function(){k.$$asyncQueue.length&&k.$digest()});this.$$asyncQueue.push({scope:this,expression:a})},$$postDigest:function(a){this.$$postDigestQueue.push(a)},$apply:function(a){try{return n("$apply"),this.$eval(a)}catch(b){e(b)}finally{k.$$phase=null;try{k.$digest()}catch(c){throw e(c),c;}}},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]);c.push(b);var d=this;do d.$$listenerCount[a]||(d.$$listenerCount[a]=0),d.$$listenerCount[a]++;while(d=d.$parent);var e=this;return function(){c[Pa(c,
b)]=null;m(e,1,a)}},$emit:function(a,b){var c=[],d,f=this,g=!1,h={name:a,targetScope:f,stopPropagation:function(){g=!0},preventDefault:function(){h.defaultPrevented=!0},defaultPrevented:!1},k=[h].concat(la.call(arguments,1)),l,n;do{d=f.$$listeners[a]||c;h.currentScope=f;l=0;for(n=d.length;l<n;l++)if(d[l])try{d[l].apply(null,k)}catch(m){e(m)}else d.splice(l,1),l--,n--;if(g)return h.currentScope=null,h;f=f.$parent}while(f);h.currentScope=null;return h},$broadcast:function(a,b){for(var c=this,d=this,
f={name:a,targetScope:this,preventDefault:function(){f.defaultPrevented=!0},defaultPrevented:!1},g=[f].concat(la.call(arguments,1)),h,k;c=d;){f.currentScope=c;d=c.$$listeners[a]||[];h=0;for(k=d.length;h<k;h++)if(d[h])try{d[h].apply(null,g)}catch(l){e(l)}else d.splice(h,1),h--,k--;if(!(d=c.$$listenerCount[a]&&c.$$childHead||c!==this&&c.$$nextSibling))for(;c!==this&&!(d=c.$$nextSibling);)c=c.$parent}f.currentScope=null;return f}};var k=new h;return k}]}function wd(){var b=/^\s*(https?|ftp|mailto|tel|file):/,
a=/^\s*(https?|ftp|file|blob):|data:image\//;this.aHrefSanitizationWhitelist=function(a){return E(a)?(b=a,this):b};this.imgSrcSanitizationWhitelist=function(b){return E(b)?(a=b,this):a};this.$get=function(){return function(c,d){var e=d?a:b,f;if(!W||8<=W)if(f=va(c).href,""!==f&&!f.match(e))return"unsafe:"+f;return c}}}function $e(b){if("self"===b)return b;if(v(b)){if(-1<b.indexOf("***"))throw wa("iwcard",b);b=b.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08").replace("\\*\\*",
".*").replace("\\*","[^:/.?&;]*");return RegExp("^"+b+"$")}if(fb(b))return RegExp("^"+b.source+"$");throw wa("imatcher");}function Rc(b){var a=[];E(b)&&q(b,function(b){a.push($e(b))});return a}function xe(){this.SCE_CONTEXTS=ga;var b=["self"],a=[];this.resourceUrlWhitelist=function(a){arguments.length&&(b=Rc(a));return b};this.resourceUrlBlacklist=function(b){arguments.length&&(a=Rc(b));return a};this.$get=["$injector",function(c){function d(a){var b=function(a){this.$$unwrapTrustedValue=function(){return a}};
a&&(b.prototype=new a);b.prototype.valueOf=function(){return this.$$unwrapTrustedValue()};b.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()};return b}var e=function(a){throw wa("unsafe");};c.has("$sanitize")&&(e=c.get("$sanitize"));var f=d(),g={};g[ga.HTML]=d(f);g[ga.CSS]=d(f);g[ga.URL]=d(f);g[ga.JS]=d(f);g[ga.RESOURCE_URL]=d(g[ga.URL]);return{trustAs:function(a,b){var c=g.hasOwnProperty(a)?g[a]:null;if(!c)throw wa("icontext",a,b);if(null===b||b===r||""===b)return b;if("string"!==
typeof b)throw wa("itype",a);return new c(b)},getTrusted:function(c,d){if(null===d||d===r||""===d)return d;var f=g.hasOwnProperty(c)?g[c]:null;if(f&&d instanceof f)return d.$$unwrapTrustedValue();if(c===ga.RESOURCE_URL){var f=va(d.toString()),m,p,k=!1;m=0;for(p=b.length;m<p;m++)if("self"===b[m]?Lb(f):b[m].exec(f.href)){k=!0;break}if(k)for(m=0,p=a.length;m<p;m++)if("self"===a[m]?Lb(f):a[m].exec(f.href)){k=!1;break}if(k)return d;throw wa("insecurl",d.toString());}if(c===ga.HTML)return e(d);throw wa("unsafe");
},valueOf:function(a){return a instanceof f?a.$$unwrapTrustedValue():a}}}]}function we(){var b=!0;this.enabled=function(a){arguments.length&&(b=!!a);return b};this.$get=["$parse","$sniffer","$sceDelegate",function(a,c,d){if(b&&c.msie&&8>c.msieDocumentMode)throw wa("iequirks");var e=ka(ga);e.isEnabled=function(){return b};e.trustAs=d.trustAs;e.getTrusted=d.getTrusted;e.valueOf=d.valueOf;b||(e.trustAs=e.getTrusted=function(a,b){return b},e.valueOf=Ea);e.parseAs=function(b,c){var d=a(c);return d.literal&&
d.constant?d:function k(a,c){var f=e.getTrusted(b,d(a,c));k.$$unwatch=d.$$unwatch;return f}};var f=e.parseAs,g=e.getTrusted,h=e.trustAs;q(ga,function(a,b){var c=K(b);e[Ua("parse_as_"+c)]=function(b){return f(a,b)};e[Ua("get_trusted_"+c)]=function(b){return g(a,b)};e[Ua("trust_as_"+c)]=function(b){return h(a,b)}});return e}]}function ye(){this.$get=["$window","$document",function(b,a){var c={},d=Y((/android (\d+)/.exec(K((b.navigator||{}).userAgent))||[])[1]),e=/Boxee/i.test((b.navigator||{}).userAgent),
f=a[0]||{},g=f.documentMode,h,n=/^(Moz|webkit|O|ms)(?=[A-Z])/,l=f.body&&f.body.style,m=!1,p=!1;if(l){for(var k in l)if(m=n.exec(k)){h=m[0];h=h.substr(0,1).toUpperCase()+h.substr(1);break}h||(h="WebkitOpacity"in l&&"webkit");m=!!("transition"in l||h+"Transition"in l);p=!!("animation"in l||h+"Animation"in l);!d||m&&p||(m=v(f.body.style.webkitTransition),p=v(f.body.style.webkitAnimation))}return{history:!(!b.history||!b.history.pushState||4>d||e),hashchange:"onhashchange"in b&&(!g||7<g),hasEvent:function(a){if("input"==
a&&9==W)return!1;if(w(c[a])){var b=f.createElement("div");c[a]="on"+a in b}return c[a]},csp:$b(),vendorPrefix:h,transitions:m,animations:p,android:d,msie:W,msieDocumentMode:g}}]}function Ae(){this.$get=["$rootScope","$browser","$q","$$q","$exceptionHandler",function(b,a,c,d,e){function f(f,n,l){var m=E(l)&&!l,p=(m?d:c).defer(),k=p.promise;n=a.defer(function(){try{p.resolve(f())}catch(a){p.reject(a),e(a)}finally{delete g[k.$$timeoutId]}m||b.$apply()},n);k.$$timeoutId=n;g[n]=p;return k}var g={};f.cancel=
function(b){return b&&b.$$timeoutId in g?(g[b.$$timeoutId].reject("canceled"),delete g[b.$$timeoutId],a.defer.cancel(b.$$timeoutId)):!1};return f}]}function va(b,a){var c=b;W&&(ba.setAttribute("href",c),c=ba.href);ba.setAttribute("href",c);return{href:ba.href,protocol:ba.protocol?ba.protocol.replace(/:$/,""):"",host:ba.host,search:ba.search?ba.search.replace(/^\?/,""):"",hash:ba.hash?ba.hash.replace(/^#/,""):"",hostname:ba.hostname,port:ba.port,pathname:"/"===ba.pathname.charAt(0)?ba.pathname:"/"+
ba.pathname}}function Lb(b){b=v(b)?va(b):b;return b.protocol===Sc.protocol&&b.host===Sc.host}function Be(){this.$get=da(M)}function nc(b){function a(d,e){if(S(d)){var f={};q(d,function(b,c){f[c]=a(c,b)});return f}return b.factory(d+c,e)}var c="Filter";this.register=a;this.$get=["$injector",function(a){return function(b){return a.get(b+c)}}];a("currency",Tc);a("date",Uc);a("filter",af);a("json",bf);a("limitTo",cf);a("lowercase",df);a("number",Vc);a("orderBy",Wc);a("uppercase",ef)}function af(){return function(b,
a,c){if(!L(b))return b;var d=typeof c,e=[];e.check=function(a){for(var b=0;b<e.length;b++)if(!e[b](a))return!1;return!0};"function"!==d&&(c="boolean"===d&&c?function(a,b){return Ra.equals(a,b)}:function(a,b){if(a&&b&&"object"===typeof a&&"object"===typeof b){for(var d in a)if("$"!==d.charAt(0)&&Qc.call(a,d)&&c(a[d],b[d]))return!0;return!1}b=(""+b).toLowerCase();return-1<(""+a).toLowerCase().indexOf(b)});var f=function(a,b){if("string"==typeof b&&"!"===b.charAt(0))return!f(a,b.substr(1));switch(typeof a){case "boolean":case "number":case "string":return c(a,
b);case "object":switch(typeof b){case "object":return c(a,b);default:for(var d in a)if("$"!==d.charAt(0)&&f(a[d],b))return!0}return!1;case "array":for(d=0;d<a.length;d++)if(f(a[d],b))return!0;return!1;default:return!1}};switch(typeof a){case "boolean":case "number":case "string":a={$:a};case "object":for(var g in a)(function(b){"undefined"!==typeof a[b]&&e.push(function(c){return f("$"==b?c:c&&c[b],a[b])})})(g);break;case "function":e.push(a);break;default:return b}d=[];for(g=0;g<b.length;g++){var h=
b[g];e.check(h)&&d.push(h)}return d}}function Tc(b){var a=b.NUMBER_FORMATS;return function(b,d){w(d)&&(d=a.CURRENCY_SYM);return Xc(b,a.PATTERNS[1],a.GROUP_SEP,a.DECIMAL_SEP,2).replace(/\u00A4/g,d)}}function Vc(b){var a=b.NUMBER_FORMATS;return function(b,d){return Xc(b,a.PATTERNS[0],a.GROUP_SEP,a.DECIMAL_SEP,d)}}function Xc(b,a,c,d,e){if(null==b||!isFinite(b)||S(b))return"";var f=0>b;b=Math.abs(b);var g=b+"",h="",n=[],l=!1;if(-1!==g.indexOf("e")){var m=g.match(/([\d\.]+)e(-?)(\d+)/);m&&"-"==m[2]&&
m[3]>e+1?(g="0",b=0):(h=g,l=!0)}if(l)0<e&&(-1<b&&1>b)&&(h=b.toFixed(e));else{g=(g.split(Yc)[1]||"").length;w(e)&&(e=Math.min(Math.max(a.minFrac,g),a.maxFrac));b=+(Math.round(+(b.toString()+"e"+e)).toString()+"e"+-e);b=(""+b).split(Yc);g=b[0];b=b[1]||"";var m=0,p=a.lgSize,k=a.gSize;if(g.length>=p+k)for(m=g.length-p,l=0;l<m;l++)0===(m-l)%k&&0!==l&&(h+=c),h+=g.charAt(l);for(l=m;l<g.length;l++)0===(g.length-l)%p&&0!==l&&(h+=c),h+=g.charAt(l);for(;b.length<e;)b+="0";e&&"0"!==e&&(h+=d+b.substr(0,e))}n.push(f?
a.negPre:a.posPre);n.push(h);n.push(f?a.negSuf:a.posSuf);return n.join("")}function tb(b,a,c){var d="";0>b&&(d="-",b=-b);for(b=""+b;b.length<a;)b="0"+b;c&&(b=b.substr(b.length-a));return d+b}function ca(b,a,c,d){c=c||0;return function(e){e=e["get"+b]();if(0<c||e>-c)e+=c;0===e&&-12==c&&(e=12);return tb(e,a,d)}}function ub(b,a){return function(c,d){var e=c["get"+b](),f=ib(a?"SHORT"+b:b);return d[f][e]}}function Zc(b){var a=(new Date(b,0,1)).getDay();return new Date(b,0,(4>=a?5:12)-a)}function $c(b){return function(a){var c=
Zc(a.getFullYear());a=+new Date(a.getFullYear(),a.getMonth(),a.getDate()+(4-a.getDay()))-+c;a=1+Math.round(a/6048E5);return tb(a,b)}}function Uc(b){function a(a){var b;if(b=a.match(c)){a=new Date(0);var f=0,g=0,h=b[8]?a.setUTCFullYear:a.setFullYear,n=b[8]?a.setUTCHours:a.setHours;b[9]&&(f=Y(b[9]+b[10]),g=Y(b[9]+b[11]));h.call(a,Y(b[1]),Y(b[2])-1,Y(b[3]));f=Y(b[4]||0)-f;g=Y(b[5]||0)-g;h=Y(b[6]||0);b=Math.round(1E3*parseFloat("0."+(b[7]||0)));n.call(a,f,g,h,b)}return a}var c=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;
return function(c,e){var f="",g=[],h,n;e=e||"mediumDate";e=b.DATETIME_FORMATS[e]||e;v(c)&&(c=ff.test(c)?Y(c):a(c));Fa(c)&&(c=new Date(c));if(!ra(c))return c;for(;e;)(n=gf.exec(e))?(g=g.concat(la.call(n,1)),e=g.pop()):(g.push(e),e=null);q(g,function(a){h=hf[a];f+=h?h(c,b.DATETIME_FORMATS):a.replace(/(^'|'$)/g,"").replace(/''/g,"'")});return f}}function bf(){return function(b){return sa(b,!0)}}function cf(){return function(b,a){if(!L(b)&&!v(b))return b;a=Infinity===Math.abs(Number(a))?Number(a):Y(a);
if(v(b))return a?0<=a?b.slice(0,a):b.slice(a,b.length):"";var c=[],d,e;a>b.length?a=b.length:a<-b.length&&(a=-b.length);0<a?(d=0,e=a):(d=b.length+a,e=b.length);for(;d<e;d++)c.push(b[d]);return c}}function Wc(b){return function(a,c,d){function e(a,b){return b?function(b,c){return a(c,b)}:a}function f(a,b){var c=typeof a,d=typeof b;return c==d?("string"==c&&(a=a.toLowerCase(),b=b.toLowerCase()),a===b?0:a<b?-1:1):c<d?-1:1}if(!L(a)||!c)return a;c=L(c)?c:[c];c=md(c,function(a){var c=!1,d=a||Ea;if(v(a)){if("+"==
a.charAt(0)||"-"==a.charAt(0))c="-"==a.charAt(0),a=a.substring(1);d=b(a);if(d.constant){var g=d();return e(function(a,b){return f(a[g],b[g])},c)}}return e(function(a,b){return f(d(a),d(b))},c)});for(var g=[],h=0;h<a.length;h++)g.push(a[h]);return g.sort(e(function(a,b){for(var d=0;d<c.length;d++){var e=c[d](a,b);if(0!==e)return e}return 0},d))}}function xa(b){P(b)&&(b={link:b});b.restrict=b.restrict||"AC";return da(b)}function ad(b,a,c,d){function e(a,c){c=c?"-"+hb(c,"-"):"";d.removeClass(b,(a?vb:
wb)+c);d.addClass(b,(a?wb:vb)+c)}var f=this,g=b.parent().controller("form")||xb,h=0,n=f.$error={},l=[];f.$name=a.name||a.ngForm;f.$dirty=!1;f.$pristine=!0;f.$valid=!0;f.$invalid=!1;g.$addControl(f);b.addClass(Na);e(!0);f.$commitViewValue=function(){q(l,function(a){a.$commitViewValue()})};f.$addControl=function(a){Ca(a.$name,"input");l.push(a);a.$name&&(f[a.$name]=a)};f.$removeControl=function(a){a.$name&&f[a.$name]===a&&delete f[a.$name];q(n,function(b,c){f.$setValidity(c,!0,a)});Ga(l,a)};f.$setValidity=
function(a,b,c){var d=n[a];if(b)d&&(Ga(d,c),d.length||(h--,h||(e(b),f.$valid=!0,f.$invalid=!1),n[a]=!1,e(!0,a),g.$setValidity(a,!0,f)));else{h||e(b);if(d){if(-1!=Pa(d,c))return}else n[a]=d=[],h++,e(!1,a),g.$setValidity(a,!1,f);d.push(c);f.$valid=!1;f.$invalid=!0}};f.$setDirty=function(){d.removeClass(b,Na);d.addClass(b,yb);f.$dirty=!0;f.$pristine=!1;g.$setDirty()};f.$setPristine=function(){d.removeClass(b,yb);d.addClass(b,Na);f.$dirty=!1;f.$pristine=!0;q(l,function(a){a.$setPristine()})}}function Tb(b,
a,c,d){b.$setValidity(a,c);return c?d:r}function bd(b,a){var c,d;if(a)for(c=0;c<a.length;++c)if(d=a[c],b[d])return!0;return!1}function jf(b,a,c,d,e){S(e)&&(b.$$hasNativeValidators=!0,b.$parsers.push(function(f){if(b.$error[a]||bd(e,d)||!bd(e,c))return f;b.$setValidity(a,!1)}))}function ab(b,a,c,d,e,f){var g=a.prop(kf),h=a[0].placeholder,n={};d.$$validityState=g;if(!e.android){var l=!1;a.on("compositionstart",function(a){l=!0});a.on("compositionend",function(){l=!1;m()})}var m=function(e){if(!l){var f=
a.val(),k=e&&e.type;if(W&&"input"===(e||n).type&&a[0].placeholder!==h)h=a[0].placeholder;else{c.ngTrim&&"false"===c.ngTrim||(f=aa(f));var m=g&&d.$$hasNativeValidators;if(d.$viewValue!==f||""===f&&m)b.$$phase?d.$setViewValue(f,k,m):b.$apply(function(){d.$setViewValue(f,k,m)})}}};if(e.hasEvent("input"))a.on("input",m);else{var p,k=function(a){p||(p=f.defer(function(){m(a);p=null}))};a.on("keydown",function(a){var b=a.keyCode;91===b||(15<b&&19>b||37<=b&&40>=b)||k(a)});if(e.hasEvent("paste"))a.on("paste cut",
k)}a.on("change",m);d.$render=function(){a.val(d.$isEmpty(d.$viewValue)?"":d.$viewValue)}}function zb(b,a){return function(c){var d;return ra(c)?c:v(c)&&(b.lastIndex=0,c=b.exec(c))?(c.shift(),d={yyyy:0,MM:1,dd:1,HH:0,mm:0},q(c,function(b,c){c<a.length&&(d[a[c]]=+b)}),new Date(d.yyyy,d.MM-1,d.dd,d.HH,d.mm)):NaN}}function bb(b,a,c,d){return function(e,f,g,h,n,l,m){ab(e,f,g,h,n,l);h.$parsers.push(function(d){if(h.$isEmpty(d))return h.$setValidity(b,!0),null;if(a.test(d))return h.$setValidity(b,!0),c(d);
h.$setValidity(b,!1);return r});h.$formatters.push(function(a){return ra(a)?m("date")(a,d):""});g.min&&(e=function(a){var b=h.$isEmpty(a)||c(a)>=c(g.min);h.$setValidity("min",b);return b?a:r},h.$parsers.push(e),h.$formatters.push(e));g.max&&(e=function(a){var b=h.$isEmpty(a)||c(a)<=c(g.max);h.$setValidity("max",b);return b?a:r},h.$parsers.push(e),h.$formatters.push(e))}}function Ub(b,a){b="ngClass"+b;return["$animate",function(c){function d(a,b){var c=[],d=0;a:for(;d<a.length;d++){for(var e=a[d],
m=0;m<b.length;m++)if(e==b[m])continue a;c.push(e)}return c}function e(a){if(!L(a)){if(v(a))return a.split(" ");if(S(a)){var b=[];q(a,function(a,c){a&&(b=b.concat(c.split(" ")))});return b}}return a}return{restrict:"AC",link:function(f,g,h){function n(a,b){var c=g.data("$classCounts")||{},d=[];q(a,function(a){if(0<b||c[a])c[a]=(c[a]||0)+b,c[a]===+(0<b)&&d.push(a)});g.data("$classCounts",c);return d.join(" ")}function l(b){if(!0===a||f.$index%2===a){var k=e(b||[]);if(!m){var l=n(k,1);h.$addClass(l)}else if(!Aa(b,
m)){var q=e(m),l=d(k,q),k=d(q,k),k=n(k,-1),l=n(l,1);0===l.length?c.removeClass(g,k):0===k.length?c.addClass(g,l):c.setClass(g,l,k)}}m=ka(b)}var m;f.$watch(h[b],l,!0);h.$observe("class",function(a){l(f.$eval(h[b]))});"ngClass"!==b&&f.$watch("$index",function(c,d){var g=c&1;if(g!==(d&1)){var l=e(f.$eval(h[b]));g===a?(g=n(l,1),h.$addClass(g)):(g=n(l,-1),h.$removeClass(g))}})}}}]}var lf=/^\/(.+)\/([a-z]*)$/,kf="validity",K=function(b){return v(b)?b.toLowerCase():b},Qc=Object.prototype.hasOwnProperty,
ib=function(b){return v(b)?b.toUpperCase():b},W,D,ta,la=[].slice,sc=[].push,ya=Object.prototype.toString,Qa=G("ng"),Ra=M.angular||(M.angular={}),Ta,na,eb=0;W=Y((/msie (\d+)/.exec(K(navigator.userAgent))||[])[1]);isNaN(W)&&(W=Y((/trident\/.*; rv:(\d+)/.exec(K(navigator.userAgent))||[])[1]));A.$inject=[];Ea.$inject=[];var L=function(){return P(Array.isArray)?Array.isArray:function(b){return"[object Array]"===ya.call(b)}}(),aa=function(){return String.prototype.trim?function(b){return v(b)?b.trim():
b}:function(b){return v(b)?b.replace(/^\s\s*/,"").replace(/\s\s*$/,""):b}}();na=9>W?function(b){b=b.nodeName?b:b[0];return K(b.scopeName&&"HTML"!=b.scopeName?b.scopeName+":"+b.nodeName:b.nodeName)}:function(b){return K(b.nodeName?b.nodeName:b[0].nodeName)};var dc=["ng-","data-ng-","ng:","x-ng-"],qd=/[A-Z]/g,ud={full:"1.3.0-beta.14",major:1,minor:3,dot:0,codeName:"harmonious-cacophonies"};Q.expando="ng339";var Wa=Q.cache={},Ke=1,qb=M.document.addEventListener?function(b,a,c){b.addEventListener(a,c,
!1)}:function(b,a,c){b.attachEvent("on"+a,c)},Va=M.document.removeEventListener?function(b,a,c){b.removeEventListener(a,c,!1)}:function(b,a,c){b.detachEvent("on"+a,c)};Q._data=function(b){return this.cache[b[this.expando]]||{}};var Ee=/([\:\-\_]+(.))/g,Fe=/^moz([A-Z])/,Gb=G("jqLite"),Je=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,Fb=/<|&#?\w+;/,He=/<([\w:]+)/,Ie=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,fa={option:[1,'<select multiple="multiple">',"</select>"],thead:[1,"<table>",
"</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};fa.optgroup=fa.option;fa.tbody=fa.tfoot=fa.colgroup=fa.caption=fa.thead;fa.th=fa.td;var Ha=Q.prototype={ready:function(b){function a(){c||(c=!0,b())}var c=!1;"complete"===U.readyState?setTimeout(a):(this.on("DOMContentLoaded",a),Q(M).on("load",a))},toString:function(){var b=[];q(this,function(a){b.push(""+a)});return"["+b.join(", ")+
"]"},eq:function(b){return 0<=b?D(this[b]):D(this[this.length+b])},length:0,push:sc,sort:[].sort,splice:[].splice},nb={};q("multiple selected checked disabled readOnly required open".split(" "),function(b){nb[K(b)]=b});var wc={};q("input select option textarea button form details".split(" "),function(b){wc[b]=!0});var xc={ngMinlength:"minlength",ngMaxlength:"maxlength",ngPattern:"pattern"};q({data:rc,inheritedData:mb,scope:function(b){return D(b).data("$scope")||mb(b.parentNode||b,["$isolateScope",
"$scope"])},isolateScope:function(b){return D(b).data("$isolateScope")||D(b).data("$isolateScopeNoTemplate")},controller:tc,injector:function(b){return mb(b,"$injector")},removeAttr:function(b,a){b.removeAttribute(a)},hasClass:Ib,css:function(b,a,c){a=Ua(a);if(E(c))b.style[a]=c;else{var d;8>=W&&(d=b.currentStyle&&b.currentStyle[a],""===d&&(d="auto"));d=d||b.style[a];8>=W&&(d=""===d?r:d);return d}},attr:function(b,a,c){var d=K(a);if(nb[d])if(E(c))c?(b[a]=!0,b.setAttribute(a,d)):(b[a]=!1,b.removeAttribute(d));
else return b[a]||(b.attributes.getNamedItem(a)||A).specified?d:r;else if(E(c))b.setAttribute(a,c);else if(b.getAttribute)return b=b.getAttribute(a,2),null===b?r:b},prop:function(b,a,c){if(E(c))b[a]=c;else return b[a]},text:function(){function b(a,b){if(w(b)){var d=a.nodeType;return 1===d||3===d?a.textContent:""}a.textContent=b}b.$dv="";return b}(),val:function(b,a){if(w(a)){if(b.multiple&&"select"===na(b)){var c=[];q(b.options,function(a){a.selected&&c.push(a.value||a.text)});return 0===c.length?
null:c}return b.value}b.value=a},html:function(b,a){if(w(a))return b.innerHTML;for(var c=0,d=b.childNodes;c<d.length;c++)Ia(d[c]);b.innerHTML=a},empty:uc},function(b,a){Q.prototype[a]=function(a,d){var e,f,g=this.length;if(b!==uc&&(2==b.length&&b!==Ib&&b!==tc?a:d)===r){if(S(a)){for(e=0;e<g;e++)if(b===rc)b(this[e],a);else for(f in a)b(this[e],f,a[f]);return this}e=b.$dv;g=e===r?Math.min(g,1):g;for(f=0;f<g;f++){var h=b(this[f],a,d);e=e?e+h:h}return e}for(e=0;e<g;e++)b(this[e],a,d);return this}});q({removeData:pc,
dealoc:Ia,on:function a(c,d,e,f){if(E(f))throw Gb("onargs");if(!c.nodeType||1===c.nodeType||9===c.nodeType){var g=ma(c,"events"),h=ma(c,"handle");g||ma(c,"events",g={});h||ma(c,"handle",h=Me(c,g));q(d.split(" "),function(d){var f=g[d];if(!f){if("mouseenter"==d||"mouseleave"==d){var m=U.body.contains||U.body.compareDocumentPosition?function(a,c){var d=9===a.nodeType?a.documentElement:a,e=c&&c.parentNode;return a===e||!!(e&&1===e.nodeType&&(d.contains?d.contains(e):a.compareDocumentPosition&&a.compareDocumentPosition(e)&
16))}:function(a,c){if(c)for(;c=c.parentNode;)if(c===a)return!0;return!1};g[d]=[];a(c,{mouseleave:"mouseout",mouseenter:"mouseover"}[d],function(a){var c=a.relatedTarget;c&&(c===this||m(this,c))||h(a,d)})}else qb(c,d,h),g[d]=[];f=g[d]}f.push(e)})}},off:qc,one:function(a,c,d){a=D(a);a.on(c,function f(){a.off(c,d);a.off(c,f)});a.on(c,d)},replaceWith:function(a,c){var d,e=a.parentNode;Ia(a);q(new Q(c),function(c){d?e.insertBefore(c,d.nextSibling):e.replaceChild(c,a);d=c})},children:function(a){var c=
[];q(a.childNodes,function(a){1===a.nodeType&&c.push(a)});return c},contents:function(a){return a.contentDocument||a.childNodes||[]},append:function(a,c){q(new Q(c),function(c){1!==a.nodeType&&11!==a.nodeType||a.appendChild(c)})},prepend:function(a,c){if(1===a.nodeType){var d=a.firstChild;q(new Q(c),function(c){a.insertBefore(c,d)})}},wrap:function(a,c){c=D(c)[0];var d=a.parentNode;d&&d.replaceChild(c,a);c.appendChild(a)},remove:function(a){Ia(a);var c=a.parentNode;c&&c.removeChild(a)},after:function(a,
c){var d=a,e=a.parentNode;q(new Q(c),function(a){e.insertBefore(a,d.nextSibling);d=a})},addClass:lb,removeClass:kb,toggleClass:function(a,c,d){c&&q(c.split(" "),function(c){var f=d;w(f)&&(f=!Ib(a,c));(f?lb:kb)(a,c)})},parent:function(a){return(a=a.parentNode)&&11!==a.nodeType?a:null},next:function(a){if(a.nextElementSibling)return a.nextElementSibling;for(a=a.nextSibling;null!=a&&1!==a.nodeType;)a=a.nextSibling;return a},find:function(a,c){return a.getElementsByTagName?a.getElementsByTagName(c):[]},
clone:Hb,triggerHandler:function(a,c,d){c=(ma(a,"events")||{})[c];d=d||[];var e=[{preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return!0===this.defaultPrevented},stopPropagation:A}];q(c,function(c){c.apply(a,e.concat(d))})}},function(a,c){Q.prototype[c]=function(c,e,f){for(var g,h=0;h<this.length;h++)w(g)?(g=a(this[h],c,e,f),E(g)&&(g=D(g))):oc(g,a(this[h],c,e,f));return E(g)?g:this};Q.prototype.bind=Q.prototype.on;Q.prototype.unbind=Q.prototype.off});Xa.prototype=
{put:function(a,c){this[Ja(a,this.nextUid)]=c},get:function(a){return this[Ja(a,this.nextUid)]},remove:function(a){var c=this[a=Ja(a,this.nextUid)];delete this[a];return c}};var zc=/^function\s*[^\(]*\(\s*([^\)]*)\)/m,Oe=/,/,Pe=/^\s*(_?)(\S+?)\1\s*$/,yc=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg,Ka=G("$injector");Cb.$$annotate=Jb;var mf=G("$animate"),ge=["$provide",function(a){this.$$selectors={};this.register=function(c,d){var e=c+"-animation";if(c&&"."!=c.charAt(0))throw mf("notcsel",c);this.$$selectors[c.substr(1)]=
e;a.factory(e,d)};this.classNameFilter=function(a){1===arguments.length&&(this.$$classNameFilter=a instanceof RegExp?a:null);return this.$$classNameFilter};this.$get=["$timeout","$$asyncCallback",function(a,d){return{enter:function(a,c,g,h){g?g.after(a):c.prepend(a);h&&d(h)},leave:function(a,c){a.remove();c&&d(c)},move:function(a,c,d,h){this.enter(a,c,d,h)},addClass:function(a,c,g){c=v(c)?c:L(c)?c.join(" "):"";q(a,function(a){lb(a,c)});g&&d(g)},removeClass:function(a,c,g){c=v(c)?c:L(c)?c.join(" "):
"";q(a,function(a){kb(a,c)});g&&d(g)},setClass:function(a,c,g,h){q(a,function(a){lb(a,c);kb(a,g)});h&&d(h)},enabled:A}}]}],ia=G("$compile");gc.$inject=["$provide","$$sanitizeUriProvider"];var Ue=/^(x[\:\-_]|data[\:\-_])/i,Ic=G("$interpolate"),nf=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,Xe={http:80,https:443,ftp:21},Ob=G("$location");Qb.prototype=Pb.prototype=Lc.prototype={$$html5:!1,$$replace:!1,absUrl:rb("$$absUrl"),url:function(a,c){if(w(a))return this.$$url;var d=nf.exec(a);d[1]&&this.path(decodeURIComponent(d[1]));
(d[2]||d[1])&&this.search(d[3]||"");this.hash(d[5]||"",c);return this},protocol:rb("$$protocol"),host:rb("$$host"),port:rb("$$port"),path:Mc("$$path",function(a){return"/"==a.charAt(0)?a:"/"+a}),search:function(a,c){switch(arguments.length){case 0:return this.$$search;case 1:if(v(a))this.$$search=cc(a);else if(S(a))this.$$search=a;else throw Ob("isrcharg");break;default:w(c)||null===c?delete this.$$search[a]:this.$$search[a]=c}this.$$compose();return this},hash:Mc("$$hash",Ea),replace:function(){this.$$replace=
!0;return this}};var ja=G("$parse"),of=Function.prototype.call,pf=Function.prototype.apply,qf=Function.prototype.bind,cb={"null":function(){return null},"true":function(){return!0},"false":function(){return!1},undefined:A,"+":function(a,c,d,e){d=d(a,c);e=e(a,c);return E(d)?E(e)?d+e:d:E(e)?e:r},"-":function(a,c,d,e){d=d(a,c);e=e(a,c);return(E(d)?d:0)-(E(e)?e:0)},"*":function(a,c,d,e){return d(a,c)*e(a,c)},"/":function(a,c,d,e){return d(a,c)/e(a,c)},"%":function(a,c,d,e){return d(a,c)%e(a,c)},"^":function(a,
c,d,e){return d(a,c)^e(a,c)},"=":A,"===":function(a,c,d,e){return d(a,c)===e(a,c)},"!==":function(a,c,d,e){return d(a,c)!==e(a,c)},"==":function(a,c,d,e){return d(a,c)==e(a,c)},"!=":function(a,c,d,e){return d(a,c)!=e(a,c)},"<":function(a,c,d,e){return d(a,c)<e(a,c)},">":function(a,c,d,e){return d(a,c)>e(a,c)},"<=":function(a,c,d,e){return d(a,c)<=e(a,c)},">=":function(a,c,d,e){return d(a,c)>=e(a,c)},"&&":function(a,c,d,e){return d(a,c)&&e(a,c)},"||":function(a,c,d,e){return d(a,c)||e(a,c)},"&":function(a,
c,d,e){return d(a,c)&e(a,c)},"|":function(a,c,d,e){return e(a,c)(a,c,d(a,c))},"!":function(a,c,d){return!d(a,c)}},rf={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v","'":"'",'"':'"'},Sb=function(a){this.options=a};Sb.prototype={constructor:Sb,lex:function(a){this.text=a;this.index=0;this.ch=r;for(this.tokens=[];this.index<this.text.length;)if(this.ch=this.text.charAt(this.index),this.is("\"'"))this.readString(this.ch);else if(this.isNumber(this.ch)||this.is(".")&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdent(this.ch))this.readIdent();
else if(this.is("(){}[].,;:?"))this.tokens.push({index:this.index,text:this.ch}),this.index++;else if(this.isWhitespace(this.ch))this.index++;else{a=this.ch+this.peek();var c=a+this.peek(2),d=cb[this.ch],e=cb[a],f=cb[c];f?(this.tokens.push({index:this.index,text:c,fn:f}),this.index+=3):e?(this.tokens.push({index:this.index,text:a,fn:e}),this.index+=2):d?(this.tokens.push({index:this.index,text:this.ch,fn:d}),this.index+=1):this.throwError("Unexpected next character ",this.index,this.index+1)}return this.tokens},
is:function(a){return-1!==a.indexOf(this.ch)},peek:function(a){a=a||1;return this.index+a<this.text.length?this.text.charAt(this.index+a):!1},isNumber:function(a){return"0"<=a&&"9">=a},isWhitespace:function(a){return" "===a||"\r"===a||"\t"===a||"\n"===a||"\v"===a||"\u00a0"===a},isIdent:function(a){return"a"<=a&&"z">=a||"A"<=a&&"Z">=a||"_"===a||"$"===a},isExpOperator:function(a){return"-"===a||"+"===a||this.isNumber(a)},throwError:function(a,c,d){d=d||this.index;c=E(c)?"s "+c+"-"+this.index+" ["+this.text.substring(c,
d)+"]":" "+d;throw ja("lexerr",a,c,this.text);},readNumber:function(){for(var a="",c=this.index;this.index<this.text.length;){var d=K(this.text.charAt(this.index));if("."==d||this.isNumber(d))a+=d;else{var e=this.peek();if("e"==d&&this.isExpOperator(e))a+=d;else if(this.isExpOperator(d)&&e&&this.isNumber(e)&&"e"==a.charAt(a.length-1))a+=d;else if(!this.isExpOperator(d)||e&&this.isNumber(e)||"e"!=a.charAt(a.length-1))break;else this.throwError("Invalid exponent")}this.index++}a*=1;this.tokens.push({index:c,
text:a,constant:!0,fn:function(){return a}})},readIdent:function(){for(var a=this,c="",d=this.index,e,f,g,h;this.index<this.text.length;){h=this.text.charAt(this.index);if("."===h||this.isIdent(h)||this.isNumber(h))"."===h&&(e=this.index),c+=h;else break;this.index++}if(e)for(f=this.index;f<this.text.length;){h=this.text.charAt(f);if("("===h){g=c.substr(e-d+1);c=c.substr(0,e-d);this.index=f;break}if(this.isWhitespace(h))f++;else break}d={index:d,text:c};if(cb.hasOwnProperty(c))d.fn=cb[c],d.constant=
!0;else{var n=Oc(c,this.options,this.text);d.fn=z(function(a,c){return n(a,c)},{assign:function(d,e){return sb(d,c,e,a.text)}})}this.tokens.push(d);g&&(this.tokens.push({index:e,text:"."}),this.tokens.push({index:e+1,text:g}))},readString:function(a){var c=this.index;this.index++;for(var d="",e=a,f=!1;this.index<this.text.length;){var g=this.text.charAt(this.index),e=e+g;if(f)"u"===g?(g=this.text.substring(this.index+1,this.index+5),g.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+
g+"]"),this.index+=4,d+=String.fromCharCode(parseInt(g,16))):d=(f=rf[g])?d+f:d+g,f=!1;else if("\\"===g)f=!0;else{if(g===a){this.index++;this.tokens.push({index:c,text:e,string:d,constant:!0,fn:function(){return d}});return}d+=g}this.index++}this.throwError("Unterminated quote",c)}};var $a=function(a,c,d){this.lexer=a;this.$filter=c;this.options=d};$a.ZERO=z(function(){return 0},{constant:!0});$a.prototype={constructor:$a,parse:function(a){this.text=a;this.tokens=this.lexer.lex(a);a=this.statements();
0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]);a.literal=!!a.literal;a.constant=!!a.constant;return a},primary:function(){var a;if(this.expect("("))a=this.filterChain(),this.consume(")");else if(this.expect("["))a=this.arrayDeclaration();else if(this.expect("{"))a=this.object();else{var c=this.expect();(a=c.fn)||this.throwError("not a primary expression",c);c.constant&&(a.constant=!0,a.literal=!0)}for(var d;c=this.expect("(","[",".");)"("===c.text?(a=this.functionCall(a,
d),d=null):"["===c.text?(d=a,a=this.objectIndex(a)):"."===c.text?(d=a,a=this.fieldAccess(a)):this.throwError("IMPOSSIBLE");return a},throwError:function(a,c){throw ja("syntax",c.text,a,c.index+1,this.text,this.text.substring(c.index));},peekToken:function(){if(0===this.tokens.length)throw ja("ueoe",this.text);return this.tokens[0]},peek:function(a,c,d,e){if(0<this.tokens.length){var f=this.tokens[0],g=f.text;if(g===a||g===c||g===d||g===e||!(a||c||d||e))return f}return!1},expect:function(a,c,d,e){return(a=
this.peek(a,c,d,e))?(this.tokens.shift(),a):!1},consume:function(a){this.expect(a)||this.throwError("is unexpected, expecting ["+a+"]",this.peek())},unaryFn:function(a,c){return z(function(d,e){return a(d,e,c)},{constant:c.constant})},ternaryFn:function(a,c,d){return z(function(e,f){return a(e,f)?c(e,f):d(e,f)},{constant:a.constant&&c.constant&&d.constant})},binaryFn:function(a,c,d){return z(function(e,f){return c(e,f,a,d)},{constant:a.constant&&d.constant})},statements:function(){for(var a=[];;)if(0<
this.tokens.length&&!this.peek("}",")",";","]")&&a.push(this.filterChain()),!this.expect(";"))return 1===a.length?a[0]:function(c,d){for(var e,f=0;f<a.length;f++){var g=a[f];g&&(e=g(c,d))}return e}},filterChain:function(){for(var a=this.expression(),c;;)if(c=this.expect("|"))a=this.binaryFn(a,c.fn,this.filter());else return a},filter:function(){for(var a=this.expect(),c=this.$filter(a.text),d=[];this.expect(":");)d.push(this.expression());return da(function(a,f,g){g=[g];for(var h=0;h<d.length;h++)g.push(d[h](a,
f));return c.apply(a,g)})},expression:function(){return this.assignment()},assignment:function(){var a=this.ternary(),c,d;return(d=this.expect("="))?(a.assign||this.throwError("implies assignment but ["+this.text.substring(0,d.index)+"] can not be assigned to",d),c=this.ternary(),function(d,f){return a.assign(d,c(d,f),f)}):a},ternary:function(){var a=this.logicalOR(),c,d;if(this.expect("?")){c=this.ternary();if(d=this.expect(":"))return this.ternaryFn(a,c,this.ternary());this.throwError("expected :",
d)}else return a},logicalOR:function(){for(var a=this.logicalAND(),c;;)if(c=this.expect("||"))a=this.binaryFn(a,c.fn,this.logicalAND());else return a},logicalAND:function(){var a=this.equality(),c;if(c=this.expect("&&"))a=this.binaryFn(a,c.fn,this.logicalAND());return a},equality:function(){var a=this.relational(),c;if(c=this.expect("==","!=","===","!=="))a=this.binaryFn(a,c.fn,this.equality());return a},relational:function(){var a=this.additive(),c;if(c=this.expect("<",">","<=",">="))a=this.binaryFn(a,
c.fn,this.relational());return a},additive:function(){for(var a=this.multiplicative(),c;c=this.expect("+","-");)a=this.binaryFn(a,c.fn,this.multiplicative());return a},multiplicative:function(){for(var a=this.unary(),c;c=this.expect("*","/","%");)a=this.binaryFn(a,c.fn,this.unary());return a},unary:function(){var a;return this.expect("+")?this.primary():(a=this.expect("-"))?this.binaryFn($a.ZERO,a.fn,this.unary()):(a=this.expect("!"))?this.unaryFn(a.fn,this.unary()):this.primary()},fieldAccess:function(a){var c=
this,d=this.expect().text,e=Oc(d,this.options,this.text);return z(function(c,d,h){return e(h||a(c,d))},{assign:function(e,g,h){return sb(a(e,h),d,g,c.text)}})},objectIndex:function(a){var c=this,d=this.expression();this.consume("]");return z(function(e,f){var g=a(e,f),h=d(e,f);ea(h,c.text);return g?Ma(g[h],c.text):r},{assign:function(e,f,g){var h=d(e,g);return Ma(a(e,g),c.text)[h]=f}})},functionCall:function(a,c){var d=[];if(")"!==this.peekToken().text){do d.push(this.expression());while(this.expect(","))
}this.consume(")");var e=this;return function(f,g){for(var h=[],n=c?c(f,g):f,l=0;l<d.length;l++)h.push(d[l](f,g));l=a(f,g,n)||A;Ma(n,e.text);var m=e.text;if(l){if(l.constructor===l)throw ja("isecfn",m);if(l===of||l===pf||l===qf)throw ja("isecff",m);}h=l.apply?l.apply(n,h):l(h[0],h[1],h[2],h[3],h[4]);return Ma(h,e.text)}},arrayDeclaration:function(){var a=[],c=!0;if("]"!==this.peekToken().text){do{if(this.peek("]"))break;var d=this.expression();a.push(d);d.constant||(c=!1)}while(this.expect(","))}this.consume("]");
return z(function(c,d){for(var g=[],h=0;h<a.length;h++)g.push(a[h](c,d));return g},{literal:!0,constant:c})},object:function(){var a=[],c=!0;if("}"!==this.peekToken().text){do{if(this.peek("}"))break;var d=this.expect(),d=d.string||d.text;this.consume(":");var e=this.expression();a.push({key:d,value:e});e.constant||(c=!1)}while(this.expect(","))}this.consume("}");return z(function(c,d){for(var e={},n=0;n<a.length;n++){var l=a[n];e[l.key]=l.value(c,d)}return e},{literal:!0,constant:c})}};var Rb={},
wa=G("$sce"),ga={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},ba=U.createElement("a"),Sc=va(M.location.href,!0);nc.$inject=["$provide"];Tc.$inject=["$locale"];Vc.$inject=["$locale"];var Yc=".",hf={yyyy:ca("FullYear",4),yy:ca("FullYear",2,0,!0),y:ca("FullYear",1),MMMM:ub("Month"),MMM:ub("Month",!0),MM:ca("Month",2,1),M:ca("Month",1,1),dd:ca("Date",2),d:ca("Date",1),HH:ca("Hours",2),H:ca("Hours",1),hh:ca("Hours",2,-12),h:ca("Hours",1,-12),mm:ca("Minutes",2),m:ca("Minutes",1),
ss:ca("Seconds",2),s:ca("Seconds",1),sss:ca("Milliseconds",3),EEEE:ub("Day"),EEE:ub("Day",!0),a:function(a,c){return 12>a.getHours()?c.AMPMS[0]:c.AMPMS[1]},Z:function(a){a=-1*a.getTimezoneOffset();return a=(0<=a?"+":"")+(tb(Math[0<a?"floor":"ceil"](a/60),2)+tb(Math.abs(a%60),2))},ww:$c(2),w:$c(1)},gf=/((?:[^yMdHhmsaZEw']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|w+))(.*)/,ff=/^\-?\d+$/;Uc.$inject=["$locale"];var df=da(K),ef=da(ib);Wc.$inject=["$parse"];var xd=da({restrict:"E",compile:function(a,
c){8>=W&&(c.href||c.name||c.$set("href",""),a.append(U.createComment("IE fix")));if(!c.href&&!c.xlinkHref&&!c.name)return function(a,c){var f="[object SVGAnimatedString]"===ya.call(c.prop("href"))?"xlink:href":"href";c.on("click",function(a){c.attr(f)||a.preventDefault()})}}}),jb={};q(nb,function(a,c){if("multiple"!=a){var d=pa("ng-"+c);jb[d]=function(){return{priority:100,link:function(a,f,g){a.$watch(g[d],function(a){g.$set(c,!!a)})}}}}});q(xc,function(a,c){jb[c]=function(){return{priority:100,
link:function(a,e,f){if("ngPattern"===c&&"/"==f.ngPattern.charAt(0)&&(e=f.ngPattern.match(lf))){f.$set("ngPattern",RegExp(e[1],e[2]));return}a.$watch(f[c],function(a){f.$set(c,a)})}}}});q(["src","srcset","href"],function(a){var c=pa("ng-"+a);jb[c]=function(){return{priority:99,link:function(d,e,f){var g=a,h=a;"href"===a&&"[object SVGAnimatedString]"===ya.call(e.prop("href"))&&(h="xlinkHref",f.$attr[h]="xlink:href",g=null);f.$observe(c,function(a){a&&(f.$set(h,a),W&&g&&e.prop(g,f[h]))})}}}});var xb=
{$addControl:A,$removeControl:A,$setValidity:A,$setDirty:A,$setPristine:A};ad.$inject=["$element","$attrs","$scope","$animate"];var cd=function(a){return["$timeout",function(c){return{name:"form",restrict:a?"EAC":"E",controller:ad,compile:function(){return{pre:function(a,e,f,g){if(!f.action){var h=function(c){a.$apply(function(){g.$commitViewValue()});c.preventDefault?c.preventDefault():c.returnValue=!1};qb(e[0],"submit",h);e.on("$destroy",function(){c(function(){Va(e[0],"submit",h)},0,!1)})}var n=
e.parent().controller("form"),l=f.name||f.ngForm;l&&sb(a,l,g,l);if(n)e.on("$destroy",function(){n.$removeControl(g);l&&sb(a,l,r,l);z(g,xb)})}}}}}]},yd=cd(),Ld=cd(!0),sf=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,tf=/^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9-]+(\.[a-z0-9-]+)*$/i,uf=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,dd=/^(\d{4})-(\d{2})-(\d{2})$/,ed=/^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d)$/,Vb=/^(\d{4})-W(\d\d)$/,fd=/^(\d{4})-(\d\d)$/,gd=/^(\d\d):(\d\d)$/,vf=
/(\s+|^)default(\s+|$)/,hd={text:ab,date:bb("date",dd,zb(dd,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":bb("datetimelocal",ed,zb(ed,["yyyy","MM","dd","HH","mm"]),"yyyy-MM-ddTHH:mm"),time:bb("time",gd,zb(gd,["HH","mm"]),"HH:mm"),week:bb("week",Vb,function(a){if(ra(a))return a;if(v(a)){Vb.lastIndex=0;var c=Vb.exec(a);if(c){a=+c[1];var d=+c[2],c=Zc(a),d=7*(d-1);return new Date(a,0,c.getDate()+d)}}return NaN},"yyyy-Www"),month:bb("month",fd,zb(fd,["yyyy","MM"]),"yyyy-MM"),number:function(a,c,d,
e,f,g){ab(a,c,d,e,f,g);e.$parsers.push(function(a){var c=e.$isEmpty(a);if(c||uf.test(a))return e.$setValidity("number",!0),""===a?null:c?a:parseFloat(a);e.$setValidity("number",!1);return r});jf(e,"number",wf,null,e.$$validityState);e.$formatters.push(function(a){return e.$isEmpty(a)?"":""+a});d.min&&(a=function(a){var c=parseFloat(d.min);return Tb(e,"min",e.$isEmpty(a)||a>=c,a)},e.$parsers.push(a),e.$formatters.push(a));d.max&&(a=function(a){var c=parseFloat(d.max);return Tb(e,"max",e.$isEmpty(a)||
a<=c,a)},e.$parsers.push(a),e.$formatters.push(a));e.$formatters.push(function(a){return Tb(e,"number",e.$isEmpty(a)||Fa(a),a)})},url:function(a,c,d,e,f,g){ab(a,c,d,e,f,g);e.$validators.url=function(a,c){var d=a||c;return e.$isEmpty(d)||sf.test(d)}},email:function(a,c,d,e,f,g){ab(a,c,d,e,f,g);e.$validators.email=function(a,c){var d=a||c;return e.$isEmpty(d)||tf.test(d)}},radio:function(a,c,d,e){w(d.name)&&c.attr("name",++eb);c.on("click",function(f){c[0].checked&&a.$apply(function(){e.$setViewValue(d.value,
f&&f.type)})});e.$render=function(){c[0].checked=d.value==e.$viewValue};d.$observe("value",e.$render)},checkbox:function(a,c,d,e){var f=d.ngTrueValue,g=d.ngFalseValue;v(f)||(f=!0);v(g)||(g=!1);c.on("click",function(d){a.$apply(function(){e.$setViewValue(c[0].checked,d&&d.type)})});e.$render=function(){c[0].checked=e.$viewValue};e.$isEmpty=function(a){return a!==f};e.$formatters.push(function(a){return a===f});e.$parsers.push(function(a){return a?f:g})},hidden:A,button:A,submit:A,reset:A,file:A},wf=
["badInput"],hc=["$browser","$sniffer","$filter",function(a,c,d){return{restrict:"E",require:["?ngModel"],link:function(e,f,g,h){h[0]&&(hd[K(g.type)]||hd.text)(e,f,g,h[0],c,a,d)}}}],wb="ng-valid",vb="ng-invalid",Na="ng-pristine",yb="ng-dirty",xf=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout",function(a,c,d,e,f,g,h){function n(a,c){c=c?"-"+hb(c,"-"):"";g.removeClass(e,(a?vb:wb)+c);g.addClass(e,(a?wb:vb)+c)}this.$modelValue=this.$viewValue=Number.NaN;this.$validators=
{};this.$parsers=[];this.$formatters=[];this.$viewChangeListeners=[];this.$untouched=!0;this.$touched=!1;this.$pristine=!0;this.$dirty=!1;this.$valid=!0;this.$invalid=!1;this.$name=d.name;var l=f(d.ngModel),m=l.assign,p=null,k=this;if(!m)throw G("ngModel")("nonassign",d.ngModel,ha(e));this.$render=A;this.$isEmpty=function(a){return w(a)||""===a||null===a||a!==a};var t=e.inheritedData("$formController")||xb,s=0,I=this.$error={};e.addClass(Na).addClass("ng-untouched");n(!0);this.$setValidity=function(a,
c){I[a]!==!c&&(c?(I[a]&&s--,s||(n(!0),k.$valid=!0,k.$invalid=!1)):(n(!1),k.$invalid=!0,k.$valid=!1,s++),I[a]=!c,n(c,a),t.$setValidity(a,c,k))};this.$setPristine=function(){k.$dirty=!1;k.$pristine=!0;g.removeClass(e,yb);g.addClass(e,Na)};this.$setUntouched=function(){k.$touched=!1;k.$untouched=!0;g.setClass(e,"ng-untouched","ng-touched")};this.$setTouched=function(){k.$touched=!0;k.$untouched=!1;g.setClass(e,"ng-touched","ng-untouched")};this.$rollbackViewValue=function(){h.cancel(p);k.$viewValue=
k.$$lastCommittedViewValue;k.$render()};this.$validate=function(){this.$$runValidators(k.$modelValue,k.$viewValue)};this.$$runValidators=function(a,c){q(k.$validators,function(d,e){k.$setValidity(e,d(a,c))})};this.$commitViewValue=function(d){var f=k.$viewValue;h.cancel(p);if(d||k.$$lastCommittedViewValue!==f){k.$$lastCommittedViewValue=f;k.$pristine&&(k.$dirty=!0,k.$pristine=!1,g.removeClass(e,Na),g.addClass(e,yb),t.$setDirty());var l=f;q(k.$parsers,function(a){l=a(l)});k.$modelValue===l||!w(k.$$invalidModelValue)&&
k.$$invalidModelValue==l||(k.$$runValidators(l,f),k.$modelValue=k.$valid?l:r,k.$$invalidModelValue=k.$valid?r:l,m(a,k.$modelValue),q(k.$viewChangeListeners,function(a){try{a()}catch(d){c(d)}}))}};this.$setViewValue=function(a,c,d){k.$viewValue=a;k.$options&&!k.$options.updateOnDefault||k.$$debounceViewValueCommit(c,d)};this.$$debounceViewValueCommit=function(a,c){var d=0,e=k.$options;e&&E(e.debounce)&&(e=e.debounce,Fa(e)?d=e:Fa(e[a])?d=e[a]:Fa(e["default"])&&(d=e["default"]));h.cancel(p);d?p=h(function(){k.$commitViewValue(c)},
d):k.$commitViewValue(c)};a.$watch(function(){var c=l(a);if(k.$modelValue!==c&&(w(k.$$invalidModelValue)||k.$$invalidModelValue!=c)){for(var d=k.$formatters,e=d.length,f=c;e--;)f=d[e](f);k.$$runValidators(c,f);k.$modelValue=k.$valid?c:r;k.$$invalidModelValue=k.$valid?r:c;k.$viewValue!==f&&(k.$viewValue=k.$$lastCommittedViewValue=f,k.$render())}return c})}],$d=function(){return{require:["ngModel","^?form","^?ngModelOptions"],controller:xf,link:{pre:function(a,c,d,e){e[2]&&(e[0].$options=e[2].$options);
var f=e[0],g=e[1]||xb;g.$addControl(f);a.$on("$destroy",function(){g.$removeControl(f)})},post:function(a,c,d,e){var f=e[0];if(f.$options&&f.$options.updateOn)c.on(f.$options.updateOn,function(c){a.$apply(function(){f.$$debounceViewValueCommit(c&&c.type)})});c.on("blur",function(c){a.$apply(function(){f.$setTouched()})})}}}},be=da({require:"ngModel",link:function(a,c,d,e){e.$viewChangeListeners.push(function(){a.$eval(d.ngChange)})}}),jc=function(){return{require:"?ngModel",link:function(a,c,d,e){e&&
(d.required=!0,e.$validators.required=function(a,c){return!d.required||!e.$isEmpty(c)},d.$observe("required",function(){e.$validate()}))}}},ic=function(){return{require:"?ngModel",link:function(a,c,d,e){if(e){var f,g=d.ngPattern||d.pattern;d.$observe("pattern",function(a){v(a)&&0<a.length&&(a=RegExp(a));if(a&&!a.test)throw G("ngPattern")("noregexp",g,a,ha(c));f=a||r;e.$validate()});e.$validators.pattern=function(a){return e.$isEmpty(a)||w(f)||f.test(a)}}}}},lc=function(){return{require:"?ngModel",
link:function(a,c,d,e){if(e){var f=0;d.$observe("maxlength",function(a){f=Y(a)||0;e.$validate()});e.$validators.maxlength=function(a){return e.$isEmpty(a)||a.length<=f}}}}},kc=function(){return{require:"?ngModel",link:function(a,c,d,e){if(e){var f=0;d.$observe("minlength",function(a){f=Y(a)||0;e.$validate()});e.$validators.minlength=function(a){return e.$isEmpty(a)||a.length>=f}}}}},ae=function(){return{require:"ngModel",link:function(a,c,d,e){var f=(a=/\/(.*)\//.exec(d.ngList))&&RegExp(a[1])||d.ngList||
",";e.$parsers.push(function(a){if(!w(a)){var c=[];a&&q(a.split(f),function(a){a&&c.push(aa(a))});return c}});e.$formatters.push(function(a){return L(a)?a.join(", "):r});e.$isEmpty=function(a){return!a||!a.length}}}},yf=/^(true|false|\d+)$/,ce=function(){return{priority:100,compile:function(a,c){return yf.test(c.ngValue)?function(a,c,f){f.$set("value",a.$eval(f.ngValue))}:function(a,c,f){a.$watch(f.ngValue,function(a){f.$set("value",a)})}}}},de=function(){return{controller:["$scope","$attrs",function(a,
c){var d=this;this.$options=a.$eval(c.ngModelOptions);this.$options.updateOn!==r?(this.$options.updateOnDefault=!1,this.$options.updateOn=aa(this.$options.updateOn.replace(vf,function(){d.$options.updateOnDefault=!0;return" "}))):this.$options.updateOnDefault=!0}]}},Dd=xa({compile:function(a){a.addClass("ng-binding");return function(a,d,e){d.data("$binding",e.ngBind);a.$watch(e.ngBind,function(a){d.text(a==r?"":a)})}}}),Fd=["$interpolate",function(a){return function(c,d,e){c=a(d.attr(e.$attr.ngBindTemplate));
d.addClass("ng-binding").data("$binding",c);e.$observe("ngBindTemplate",function(a){d.text(a)})}}],Ed=["$sce","$parse",function(a,c){return function(d,e,f){function g(){var a=h(d);g.$$unwatch=h.$$unwatch;return(a||"").toString()}e.addClass("ng-binding").data("$binding",f.ngBindHtml);var h=c(f.ngBindHtml);d.$watch(g,function(c){e.html(a.getTrustedHtml(h(d))||"")})}}],Gd=Ub("",!0),Id=Ub("Odd",0),Hd=Ub("Even",1),Jd=xa({compile:function(a,c){c.$set("ngCloak",r);a.removeClass("ng-cloak")}}),Kd=[function(){return{scope:!0,
controller:"@",priority:500}}],mc={};q("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(a){var c=pa("ng-"+a);mc[c]=["$parse",function(d){return{compile:function(e,f){var g=d(f[c]);return function(c,d){d.on(K(a),function(a){c.$apply(function(){g(c,{$event:a})})})}}}}]});var Nd=["$animate",function(a){return{transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(c,
d,e,f,g){var h,n,l;c.$watch(e.ngIf,function(c){c?n||g(function(c,f){n=f;c[c.length++]=U.createComment(" end ngIf: "+e.ngIf+" ");h={clone:c};a.enter(c,d.parent(),d)}):(l&&(l.remove(),l=null),n&&(n.$destroy(),n=null),h&&(l=Eb(h.clone),a.leave(l,function(){l=null}),h=null))})}}}],Od=["$http","$templateCache","$anchorScroll","$animate","$sce",function(a,c,d,e,f){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:Ra.noop,compile:function(g,h){var n=h.ngInclude||h.src,l=h.onload||
"",m=h.autoscroll;return function(g,h,q,s,I){var y=0,r,B,u,x=function(){B&&(B.remove(),B=null);r&&(r.$destroy(),r=null);u&&(e.leave(u,function(){B=null}),B=u,u=null)};g.$watch(f.parseAsResourceUrl(n),function(f){var n=function(){!E(m)||m&&!g.$eval(m)||d()},q=++y;f?(a.get(f,{cache:c}).success(function(a){if(q===y){var c=g.$new();s.template=a;a=I(c,function(a){x();e.enter(a,null,h,n)});r=c;u=a;r.$emit("$includeContentLoaded");g.$eval(l)}}).error(function(){q===y&&(x(),g.$emit("$includeContentError"))}),
g.$emit("$includeContentRequested")):(x(),s.template=null)})}}}}],ee=["$compile",function(a){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(c,d,e,f){d.html(f.template);a(d.contents())(c)}}}],Pd=xa({priority:450,compile:function(){return{pre:function(a,c,d){a.$eval(d.ngInit)}}}}),Qd=xa({terminal:!0,priority:1E3}),Rd=["$locale","$interpolate",function(a,c){var d=/{}/g;return{restrict:"EA",link:function(e,f,g){var h=g.count,n=g.$attr.when&&f.attr(g.$attr.when),l=g.offset||0,m=
e.$eval(n)||{},p={},k=c.startSymbol(),t=c.endSymbol(),s=/^when(Minus)?(.+)$/;q(g,function(a,c){s.test(c)&&(m[K(c.replace("when","").replace("Minus","-"))]=f.attr(g.$attr[c]))});q(m,function(a,e){p[e]=c(a.replace(d,k+h+"-"+l+t))});e.$watch(function(){var c=parseFloat(e.$eval(h));if(isNaN(c))return"";c in m||(c=a.pluralCat(c-l));return p[c](e)},function(a){f.text(a)})}}}],Sd=["$parse","$animate",function(a,c){var d=G("ngRepeat");return{transclude:"element",priority:1E3,terminal:!0,$$tlb:!0,link:function(e,
f,g,h,n){var l=g.ngRepeat,m=l.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?\s*$/),p,k,t,s,r,y,F={$id:Ja};if(!m)throw d("iexp",l);g=m[1];h=m[2];(m=m[3])?(p=a(m),k=function(a,c,d){y&&(F[y]=a);F[r]=c;F.$index=d;return p(e,F)}):(t=function(a,c){return Ja(c)},s=function(a){return a});m=g.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/);if(!m)throw d("iidexp",g);r=m[3]||m[1];y=m[2];var B={};e.$watchCollection(h,function(a){var e,g,h=f[0],m,p={},F,C,E,J,v,z,w,A=[],R=function(a,
c){a[r]=E;y&&(a[y]=C);a.$index=c;a.$first=0===c;a.$last=c===F-1;a.$middle=!(a.$first||a.$last);a.$odd=!(a.$even=0===(c&1))};if(db(a))z=a,v=k||t;else{v=k||s;z=[];for(g in a)a.hasOwnProperty(g)&&"$"!=g.charAt(0)&&z.push(g);z.sort()}F=z.length;g=A.length=z.length;for(e=0;e<g;e++)if(C=a===z?e:z[e],E=a[C],J=v(C,E,e),Ca(J,"`track by` id"),B.hasOwnProperty(J))w=B[J],delete B[J],p[J]=w,A[e]=w;else{if(p.hasOwnProperty(J))throw q(A,function(a){a&&a.scope&&(B[a.id]=a)}),d("dupes",l,J);A[e]={id:J};p[J]=!1}for(m in B)B.hasOwnProperty(m)&&
(w=B[m],g=Eb(w.clone),c.leave(g),q(g,function(a){a.$$NG_REMOVED=!0}),w.scope.$destroy());e=0;for(g=z.length;e<g;e++)if(C=a===z?e:z[e],E=a[C],w=A[e],A[e-1]&&(h=A[e-1].clone[A[e-1].clone.length-1]),w.scope){m=h;do m=m.nextSibling;while(m&&m.$$NG_REMOVED);w.clone[0]!=m&&c.move(Eb(w.clone),null,D(h));h=w.clone[w.clone.length-1];R(w.scope,e)}else n(function(a,d){w.scope=d;a[a.length++]=U.createComment(" end ngRepeat: "+l+" ");c.enter(a,null,D(h));h=a;w.clone=a;p[w.id]=w;R(w.scope,e)});B=p})}}}],Td=["$animate",
function(a){return function(c,d,e){c.$watch(e.ngShow,function(c){a[c?"removeClass":"addClass"](d,"ng-hide")})}}],Md=["$animate",function(a){return function(c,d,e){c.$watch(e.ngHide,function(c){a[c?"addClass":"removeClass"](d,"ng-hide")})}}],Ud=xa(function(a,c,d){a.$watch(d.ngStyle,function(a,d){d&&a!==d&&q(d,function(a,d){c.css(d,"")});a&&c.css(a)},!0)}),Vd=["$animate",function(a){return{restrict:"EA",require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(c,d,e,f){var g=
[],h=[],n=[],l=[];c.$watch(e.ngSwitch||e.on,function(d){var p,k;p=0;for(k=n.length;p<k;++p)n[p].remove();p=n.length=0;for(k=l.length;p<k;++p){var t=h[p];l[p].$destroy();n[p]=t;a.leave(t,function(){n.splice(p,1)})}h.length=0;l.length=0;if(g=f.cases["!"+d]||f.cases["?"])c.$eval(e.change),q(g,function(d){var e=c.$new();l.push(e);d.transclude(e,function(c){var e=d.element;h.push(c);a.enter(c,e.parent(),e)})})})}}}],Wd=xa({transclude:"element",priority:800,require:"^ngSwitch",link:function(a,c,d,e,f){e.cases["!"+
d.ngSwitchWhen]=e.cases["!"+d.ngSwitchWhen]||[];e.cases["!"+d.ngSwitchWhen].push({transclude:f,element:c})}}),Xd=xa({transclude:"element",priority:800,require:"^ngSwitch",link:function(a,c,d,e,f){e.cases["?"]=e.cases["?"]||[];e.cases["?"].push({transclude:f,element:c})}}),Zd=xa({link:function(a,c,d,e,f){if(!f)throw G("ngTransclude")("orphan",ha(c));f(function(a){c.empty();c.append(a)})}}),zd=["$templateCache",function(a){return{restrict:"E",terminal:!0,compile:function(c,d){"text/ng-template"==d.type&&
a.put(d.id,c[0].text)}}}],zf=G("ngOptions"),Yd=da({terminal:!0}),Ad=["$compile","$parse",function(a,c){var d=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,e={$setViewValue:A};return{restrict:"E",require:["select","?ngModel"],controller:["$element","$scope","$attrs",function(a,c,d){var n=this,l={},m=e,p;n.databound=d.ngModel;n.init=function(a,c,
d){m=a;p=d};n.addOption=function(c){Ca(c,'"option value"');l[c]=!0;m.$viewValue==c&&(a.val(c),p.parent()&&p.remove())};n.removeOption=function(a){this.hasOption(a)&&(delete l[a],m.$viewValue==a&&this.renderUnknownOption(a))};n.renderUnknownOption=function(c){c="? "+Ja(c)+" ?";p.val(c);a.prepend(p);a.val(c);p.prop("selected",!0)};n.hasOption=function(a){return l.hasOwnProperty(a)};c.$on("$destroy",function(){n.renderUnknownOption=A})}],link:function(e,g,h,n){function l(a,c,d,e){d.$render=function(){var a=
d.$viewValue;e.hasOption(a)?(u.parent()&&u.remove(),c.val(a),""===a&&y.prop("selected",!0)):w(a)&&y?c.val(""):e.renderUnknownOption(a)};c.on("change",function(){a.$apply(function(){u.parent()&&u.remove();d.$setViewValue(c.val())})})}function m(a,c,d){var e;d.$render=function(){var a=new Xa(d.$viewValue);q(c.find("option"),function(c){c.selected=E(a.get(c.value))})};a.$watch(function(){Aa(e,d.$viewValue)||(e=ka(d.$viewValue),d.$render())});c.on("change",function(){a.$apply(function(){var a=[];q(c.find("option"),
function(c){c.selected&&a.push(c.value)});d.$setViewValue(a)})})}function p(e,f,g){function h(){var a={"":[]},c=[""],d,k,r,s,w;s=g.$modelValue;w=y(e)||[];var C=n?Wb(w):w,D,v,A;v={};r=!1;var G,K;if(t)if(u&&L(s))for(r=new Xa([]),A=0;A<s.length;A++)v[m]=s[A],r.put(u(e,v),s[A]);else r=new Xa(s);for(A=0;D=C.length,A<D;A++){k=A;if(n){k=C[A];if("$"===k.charAt(0))continue;v[n]=k}v[m]=w[k];d=p(e,v)||"";(k=a[d])||(k=a[d]=[],c.push(d));t?d=E(r.remove(u?u(e,v):q(e,v))):(u?(d={},d[m]=s,d=u(e,d)===u(e,v)):d=s===
q(e,v),r=r||d);G=l(e,v);G=E(G)?G:"";k.push({id:u?u(e,v):n?C[A]:A,label:G,selected:d})}t||(z||null===s?a[""].unshift({id:"",label:"",selected:!r}):r||a[""].unshift({id:"?",label:"",selected:!0}));v=0;for(C=c.length;v<C;v++){d=c[v];k=a[d];x.length<=v?(s={element:B.clone().attr("label",d),label:k.label},w=[s],x.push(w),f.append(s.element)):(w=x[v],s=w[0],s.label!=d&&s.element.attr("label",s.label=d));G=null;A=0;for(D=k.length;A<D;A++)r=k[A],(d=w[A+1])?(G=d.element,d.label!==r.label&&G.text(d.label=r.label),
d.id!==r.id&&G.val(d.id=r.id),d.selected!==r.selected&&G.prop("selected",d.selected=r.selected)):(""===r.id&&z?K=z:(K=F.clone()).val(r.id).prop("selected",r.selected).text(r.label),w.push({element:K,label:r.label,id:r.id,selected:r.selected}),G?G.after(K):s.element.append(K),G=K);for(A++;w.length>A;)w.pop().element.remove()}for(;x.length>v;)x.pop()[0].element.remove()}var k;if(!(k=s.match(d)))throw zf("iexp",s,ha(f));var l=c(k[2]||k[1]),m=k[4]||k[6],n=k[5],p=c(k[3]||""),q=c(k[2]?k[1]:m),y=c(k[7]),
u=k[8]?c(k[8]):null,x=[[{element:f,label:""}]];z&&(a(z)(e),z.removeClass("ng-scope"),z.remove());f.empty();f.on("change",function(){e.$apply(function(){var a,c=y(e)||[],d={},h,k,l,p,s,w,v;if(t)for(k=[],p=0,w=x.length;p<w;p++)for(a=x[p],l=1,s=a.length;l<s;l++){if((h=a[l].element)[0].selected){h=h.val();n&&(d[n]=h);if(u)for(v=0;v<c.length&&(d[m]=c[v],u(e,d)!=h);v++);else d[m]=c[h];k.push(q(e,d))}}else{h=f.val();if("?"==h)k=r;else if(""===h)k=null;else if(u)for(v=0;v<c.length;v++){if(d[m]=c[v],u(e,d)==
h){k=q(e,d);break}}else d[m]=c[h],n&&(d[n]=h),k=q(e,d);1<x[0].length&&x[0][1].id!==h&&(x[0][1].selected=!1)}g.$setViewValue(k)})});g.$render=h;e.$watch(h)}if(n[1]){var k=n[0];n=n[1];var t=h.multiple,s=h.ngOptions,z=!1,y,F=D(U.createElement("option")),B=D(U.createElement("optgroup")),u=F.clone();h=0;for(var x=g.children(),v=x.length;h<v;h++)if(""===x[h].value){y=z=x.eq(h);break}k.init(n,z,u);t&&(n.$isEmpty=function(a){return!a||0===a.length});s?p(e,g,n):t?m(e,g,n):l(e,g,n,k)}}}}],Cd=["$interpolate",
function(a){var c={addOption:A,removeOption:A};return{restrict:"E",priority:100,compile:function(d,e){if(w(e.value)){var f=a(d.text(),!0);f||e.$set("value",d.text())}return function(a,d,e){var l=d.parent(),m=l.data("$selectController")||l.parent().data("$selectController");m&&m.databound?d.prop("selected",!1):m=c;f?a.$watch(f,function(a,c){e.$set("value",a);c!==a&&m.removeOption(c);m.addOption(a)}):m.addOption(e.value);d.on("$destroy",function(){m.removeOption(e.value)})}}}}],Bd=da({restrict:"E",
terminal:!1});M.angular.bootstrap?console.log("WARNING: Tried to load angular more than once."):(rd(),td(Ra),D(U).ready(function(){pd(U,ec)}))})(window,document);!window.angular.$$csp()&&window.angular.element(document).find("head").prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-animate){display:none !important;}ng\\:form{display:block;}</style>');
//# sourceMappingURL=angular.min.js.map

@ -0,0 +1,161 @@
var app = angular.module('onlineJudgeApp', [ 'ngRoute', 'appCtrls' ]);
// 让子页面里面可以动态加载script的标签
app.directive('loadScript', function() {
return {
restrict : 'EA',
terminal : true,
link : function(scope, element, attr) {
if (attr.ngSrc) {
var s = document.createElement('script');
s.src = attr.ngSrc;
document.body.appendChild(s);
}
}
};
});
// 转换日期显示样式的过滤器
app.filter("stringDateFormat", function($filter) {
return function(self, format) {
if (self != null) {
return $filter('date')(new Date(self), format);
}
return "";
};
});
// 编译文件内容为html元素的的过滤器
app.filter("formatToHtml", function($sce) {
return function(html, id) {
$("#" + id).html(html);
return "";
}
});
// session存储数据
app.factory('sessionDataBase', [ '$window', function($window) {
return { // 存储单个属性
set : function(key, value) {
$window.sessionStorage.setItem(key, value);
}, // 读取单个属性
get : function(key, defaultValue) {
return $window.sessionStorage.getItem(key) || defaultValue;
}, // 存储对象以JSON格式存储
setObject : function(key, value) {
$window.sessionStorage.setItem(key, angular.toJson(value));
}, // 读取对象
getObject : function(key) {
return angular.fromJson($window.sessionStorage.getItem(key));
},
remove : function(key) {
return $window.sessionStorage.removeItem(key);
},
clear : function() {
$window.sessionStorage.clear();
}
}
} ]);
// 定义一个 拦截器 ,稍等将会把它作为 Interceptors 的处理函数
app.factory('httpInterceptor', [ '$q', '$injector', '$rootScope',
'sessionDataBase',
function($q, $injector, $rootScope, sessionDataBase) {
var httpInterceptor = {
'responseError' : function(response) {
if (response.status == 301) {
alert("请登录");
sessionDataBase.remove("user");
$rootScope.userData = null;
}
return $q.reject(response);
},
'response' : function(response) {
return response;
},
'request' : function(config) {
return config;
},
'requestError' : function(config) {
return $q.reject(config);
}
}
return httpInterceptor;
} ]);
app
.config(function($httpProvider, $routeProvider) {
// 添加对应的 Interceptors
$httpProvider.interceptors.push("httpInterceptor");
if (!$httpProvider.defaults.headers.get) {
$httpProvider.defaults.headers.get = {};
}
$httpProvider.defaults.headers.common["X-Requested-With"] = 'XMLHttpRequest';
// 禁用IE对ajax的缓存
$httpProvider.defaults.headers.get['Cache-Control'] = 'no-cache';
$httpProvider.defaults.headers.get['Pragma'] = 'no-cache';
$routeProvider.when('/welcome', {
templateUrl : 'welcome.html'
}).when('/announcement/index', {
templateUrl : 'announcement/announcement.html'
}).when('/problem/index', {
templateUrl : 'problem/index.html'
}).when('/problem/detail', {
templateUrl : 'problem/detail.html'
}).when('/user/index', {
templateUrl : 'user/index.html'
}).when('/competition/index', {
templateUrl : 'competition/index.html'
}).when('/competition/answer', {
templateUrl : 'competition/answer.html'
}).when('/announcement/index', {
templateUrl : 'announcement/index.html'
}).when('/leaderboard/index', {
templateUrl : 'leaderboard/index.html'
}).otherwise({
redirectTo : '/welcome'
});
});
// 定义一个通用的分页service
app.service('$pageService', [ '$http', function($http) {
this.loadingData = function($scope, wantPageNumber, url) {
$http({
method : "get",
url : url,
params : {
pageShowCount : $scope.page.pageShowCount,
wantPageNumber : wantPageNumber
}
}).success(function(response) {
$scope.isLoadingData = false;
$scope.page.currentPage = response.currentPage;
$scope.page.totalCount = response.totalCount;
$scope.page.totalPage = response.totalPage;
$scope.page.datas = response.result;
$scope.isCanNext = false;
$scope.isCanPre = false;
if ($scope.page.totalPage > $scope.page.currentPage) {
$scope.isCanNext = true;
}
if ($scope.page.currentPage > 1) {
$scope.isCanPre = true;
}
}).error(function(response) {
});
}
this.changePage = function(isNext, $scope, url) {
var page = $scope.page.currentPage;
if (isNext) {
page++;
} else {
page--;
}
this.loadingData($scope, page, url)
};
} ]);

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,770 @@
var appCtrls = angular.module('appCtrls', []);
appCtrls
.controller(
'leaderboardCtr',
function($scope, $http) {
$http
.get("UserController/leaderboard")
.success(
function(response) {
$scope.haveDoneProblemTop50 = response.haveDoneProblemTop50;
$scope.rightProblemTop50 = response.rightProblemTop50;
$scope.sloveProblemTotalValueTop50 = response.sloveProblemTotalValueTop50;
});
});
appCtrls.controller('problemDetailCtr', function($scope, $http, $timeout,
sessionDataBase) {
$scope.problemDetailObj = sessionDataBase.getObject("problemDetailObj");
$scope.answerStatus = {};
$scope.answerStatus.disabled = false;
$scope.answerStatus.buttonText = "提交代码";
$scope.answerDialogShow = function() {
$scope.answerData = {};
$scope.answerData.codeLanguage = "java";
$scope.answerData.submitProblemId = $scope.problemDetailObj.problemId;
$scope.answerData.code = null;
$("#answerDialog").modal("show");
}
$scope.answerSubmit = function() {
$scope.answerStatus.disabled = true;
$scope.answerStatus.buttonText = "稍后才能再提交……";
$timeout(function() {
$scope.answerStatus.disabled = false;
$scope.answerStatus.buttonText = "提交代码";
}, 5000);
$http({
method : "post",
data : jQuery.param($scope.answerData),
url : "ProblemController/submitAnswer",
headers : {
"Content-Type" : "application/x-www-form-urlencoded"
}
}).success(function(data, status, headers, config) {
if (data.success) {
alert("提交成功,在个人信息中可以看到结果");
$("#answerDialog").modal("hide");
} else {
alert("提交失败:" + data.message);
}
}).error(function(response, status, headers, config) {
if (response.message != null) {
alert(response.message);
} else {
$scope.error = {};
$scope.error = response;
}
});
}
});
// 省略显示过滤器
appCtrls.filter("omitDisplay", function() {
return function(data, length) {
if (data.length > length) {
return "信息过多,请在详情中查看"
} else {
return data;
}
}
});
appCtrls
.controller(
'userCtr',
function($rootScope, $scope, $http, $pageService,
sessionDataBase) {
$scope.isUpdate = false;
$scope.updateButtonText = "修改信息";
$scope.isCanPre = false;
$scope.isCanNext = false;
$scope.page = {
currentPage : 1,
pageShowCount : 10,
datas : null,
totalCount : null,
totalPage : null
}
// 首次加载数据
$pageService.loadingData($scope, $scope.page.currentPage,
"SubmitRecordController/list");
$scope.changePage = function(isNext) {
$pageService.changePage(isNext, $scope,
"SubmitRecordController/list")
};
$scope.edit = function() {
$scope.editData = {};
$scope.isUpdate = !$scope.isUpdate;
if ($scope.isUpdate) {
$scope.updateButtonText = "关闭修改";
} else {
$scope.updateButtonText = "修改信息";
}
}
$scope.editSubmit = function() {
$http(
{
method : "post",
data : jQuery.param($scope.editData),
url : "UserController/updateSubmit",
headers : {
"Content-Type" : "application/x-www-form-urlencoded"
}
}).success(
function(data, status, headers, config) {
if (data.success) {
$rootScope.userData = data.user;
sessionDataBase.setObject("user",
$scope.userData);
$scope.isUpdate = false;
$scope.updateButtonText = "修改信息";
alert("修改成功");
} else {
alert(data.message);
}
}).error(
function(response, status, headers, config) {
if (response.message != null) {
alert(response.message);
} else {
$scope.error = {};
$scope.error = response;
}
});
}
$scope.sendEmail = function() {
$http.get("UserController/sendUpdateCodeEmail")
.success(function(response) {
if (response.success) {
alert("邮件发送成功,请尽快查看邮件中的验证码");
} else {
alert("系统错误错误,邮件发送失败。");
}
});
}
$scope.detail = function(index) {
var detailObj = $scope.page.datas[index];
$http
.get(
"SubmitRecordController/submitDetail?submitId="
+ detailObj.submitId
+ "&tableName="
+ detailObj.submitRecordTableName)
.success(
function(response) {
if (response.success) {
$scope.submitDetails = response.submitDetails;
$("#detailDialog")
.modal("show");
} else {
alert(response.message);
}
}).error(function(response) {
alert(response.message);
});
}
$scope.download = function(index) {
alert("请不要禁止弹出窗口,否则将无法下载两个文件");
var obj = $scope.submitDetails.items[index];
console.log("下载输入文件");
window
.open("SubmitRecordController/downloadFileByPath?fileType=in&filePath="
+ obj.inputFilePath);
console.log("下载输出文件");
window
.open("SubmitRecordController/downloadFileByPath?fileType=out&filePath="
+ obj.outputFilePath);
};
});
appCtrls.controller('indexCtr', function($rootScope, $scope, $http,
sessionDataBase) {
$rootScope.userData = sessionDataBase.getObject("user");
$scope.showLogin = function() {
$scope.loginData = {};
$("#loginDialog").modal("show");
};
$scope.changeVerificationCode = function() {
$http.get("UserController/changeVerificationCode").success(
function(response) {
$("#verificationCode").attr('src',
response.verificationCode);
});
};
$scope.showRegister = function() {
$scope.registerData = {};
$scope.changeVerificationCode();
$("#registerDialog").modal("show");
};
$scope.loginSubmit = function() {
$http({
method : "post",
data : jQuery.param($scope.loginData),
url : "UserController/login",
headers : {
"Content-Type" : "application/x-www-form-urlencoded"
}
}).success(function(data, status, headers, config) {
if (data.success) {
$rootScope.userData = data.user;
sessionDataBase.setObject("user", $scope.userData);
$("#loginDialog").modal("hide");
} else {
alert(data.message);
}
}).error(function(response, status, headers, config) {
if (response.message != null) {
alert(response.message);
} else {
$scope.error = {};
$scope.error = response;
}
});
};
$scope.registerSubmit = function() {
$http({
method : "post",
data : jQuery.param($scope.registerData),
url : "UserController/register",
headers : {
"Content-Type" : "application/x-www-form-urlencoded"
}
}).success(function(data, status, headers, config) {
if (data.success) {
alert("注册成功");
$("#registerDialog").modal("hide");
} else {
alert(data.message);
}
}).error(function(response, status, headers, config) {
if (response.message != null) {
alert(response.message);
} else {
$scope.error = {};
$scope.error = response;
}
});
};
$scope.loginOut = function() {
$http.get("UserController/logout");
sessionDataBase.remove("user");
$rootScope.userData = null;
}
$scope.showForget = function() {
$scope.forgetData = {};
$("#forgetDialog").modal("show");
};
$scope.sendForgetEmail = function() {
$http.get(
"UserController/sendForgetPasswordEmail/"
+ $scope.forgetData.account).success(
function(response) {
if (response.success) {
alert("邮件发送成功,请尽快查看邮件中的验证码");
} else {
alert(response.message);
}
}).error(function(response) {
alert(response.message);
});
};
$scope.forgetUpdate = function() {
$http({
method : "post",
data : jQuery.param($scope.forgetData),
url : "UserController/updatePasswordSubmit",
headers : {
"Content-Type" : "application/x-www-form-urlencoded"
}
}).success(function(data, status, headers, config) {
if (data.success) {
alert("修改成功");
$("#forgetDialog").modal("hide");
} else {
alert(data.message);
}
}).error(function(response, status, headers, config) {
if (response.message != null) {
alert(response.message);
} else {
$scope.error = {};
$scope.error = response;
}
});
};
});
appCtrls.controller('competitionCtr', function($scope, $http, $pageService,
$location, sessionDataBase) {
$scope.isCanPre = false;
$scope.isCanNext = false;
$scope.page = {
currentPage : 1,
pageShowCount : 5,
datas : null,
totalCount : null,
totalPage : null
}
// 首次加载数据
$pageService.loadingData($scope, $scope.page.currentPage,
"CompetitionController/list");
$scope.changePage = function(isNext) {
$pageService.changePage(isNext, $scope, "CompetitionController/list")
};
$scope.apply = function(index) {
$scope.applyObj = angular.copy($scope.page.datas[index]);
alert("验证申请中,请点击确定后,等待一下弹窗出现");
$http.get(
"CompetitionController/applyToken?id="
+ $scope.applyObj.competitionId).success(
function(response) {
if (response.success) {
$scope.applyObj.token = response.applyToken;
$("#applyDialog").modal("show");
} else {
alert(response.message);
}
}).error(function(response) {
alert(response.message);
});
}
$scope.applySubmit = function() {
$scope.applyObj.applicationPeopleCount = 1;
$http({
method : "post",
data : jQuery.param($scope.applyObj),
url : "CompetitionController/apply",
headers : {
"Content-Type" : "application/x-www-form-urlencoded"
}
}).success(function(data, status, headers, config) {
if (data.success) {
alert("申请成功");
$("#applyDialog").modal("hide");
} else {
alert(data.message);
}
}).error(function(response, status, headers, config) {
if (response.message != null) {
alert(response.message);
} else {
$scope.error = {};
$scope.error = response;
}
});
}
$scope.login = function(index) {
$scope.loginObj = angular.copy($scope.page.datas[index]);
alert("登录验证中,请点击确定后,等待一下弹窗出现");
$http.get(
"CompetitionController/loginToken?id="
+ $scope.loginObj.competitionId).success(
function(response) {
if (response.success) {
$scope.loginObj.token = response.loginToken;
$("#loginDialog").modal("show");
} else {
alert(response.message);
}
}).error(function(response) {
alert(response.message);
});
}
$scope.loginSubmit = function() {
$http({
method : "post",
data : jQuery.param($scope.loginObj),
url : "CompetitionController/login",
headers : {
"Content-Type" : "application/x-www-form-urlencoded"
}
}).success(function(data, status, headers, config) {
if (data.success) {
$("#loginDialog").modal("hide");
$scope.loginObj.password = null;
$scope.loginObj.token = null;
sessionDataBase.setObject("loginObj", $scope.loginObj);
$location.path("/competition/answer");
} else {
alert(data.message);
}
}).error(function(response, status, headers, config) {
if (response.message != null) {
alert(response.message);
} else {
$scope.error = {};
$scope.error = response;
}
});
}
$scope.checkTime = function(time) {
var now = new Date();
var time = new Date(time);
if (time > now) {
return true;
}
return false;
}
});
appCtrls
.controller(
'competitionAnswerCtr',
function($scope, $http, $location, sessionDataBase) {
$scope.isLoadingData = true;
$scope.loginObj = sessionDataBase.getObject("loginObj");
$scope.competitionData = sessionDataBase
.getObject("competitionData");
if ($scope.competitionData == null
|| $scope.loginObj.competitionId != $scope.competitionData.competitionId) {
$http
.get("CompetitionController/getCompetitionData")
.success(
function(response) {
$scope.isLoadingData = false;
if (response.success) {
$scope.competitionData = response;
sessionDataBase.setObject(
"competitionData",
$scope.competitionData);
} else {
alert(response.message);
}
}).error(function(response) {
$scope.isLoadingData = false;
alert(response.message);
});
} else {
$scope.isLoadingData = false;
}
$scope.detail = function(index) {
$scope.detailProblemObj = $scope.competitionData.competitionProblems[index];
}
$scope.answerDialogShow = function() {
$scope.answerData = {};
$scope.answerData.codeType = "java";
$scope.answerData.problemId = $scope.detailProblemObj.problemId;
$scope.answerData.code = null;
$("#competitionAnswerDialog").modal("show");
}
$scope.answerSubmit = function() {
$http(
{
method : "post",
data : jQuery.param($scope.answerData),
url : "CompetitionController/submitCompetitionProblemAnswer",
headers : {
"Content-Type" : "application/x-www-form-urlencoded"
}
})
.success(
function(data, status, headers, config) {
if (data.success) {
alert("提交成功");
$("#competitionAnswerDialog")
.modal("hide");
$scope.detailProblemObj.isHaveSubmit = true;
// 更新一下存储的数据,避免刷新后已经提交的状态就没了
sessionDataBase.setObject(
"competitionData",
$scope.competitionData);
} else {
alert("提交失败:" + data.message);
}
}).error(
function(response, status, headers,
config) {
if (response.message != null) {
alert(response.message);
} else {
$scope.error = {};
$scope.error = response;
}
});
}
$scope.logout = function() {
if (window.confirm('你确定要退出登录吗?')) {
$http.get("CompetitionController/logout");
sessionDataBase.remove("loginObj");
sessionDataBase.remove("competitionData");
$location.path("/competition/index");
}
}
});
// 编译文件内容为html元素的的过滤器
appCtrls.filter("imageRandom",
function() {
return function(data, width, height, index) {
var n = index % 4;
if (n >= 0 && n < 1) {
return "http://lorempixel.com/" + width + "/" + height
+ "/city/";
} else if (n >= 1 && n < 2) {
return "http://lorempixel.com/" + width + "/" + height
+ "/cats/";
} else if (n >= 2 && n < 3) {
return "http://lorempixel.com/" + width + "/" + height
+ "/food/";
} else {
return "http://lorempixel.com/" + width + "/" + height
+ "/nature/";
}
}
});
appCtrls.filter("problemTypeFilter", function() {
return function(problemTypeId, problemTypes) {
for ( var index in problemTypes) {
if (problemTypes[index].problemTypeId == problemTypeId) {
return problemTypes[index].problemTypeName;
}
}
return "";
};
});
appCtrls
.controller(
'problemCtr',
function($rootScope, $scope, $http, sessionDataBase) {
$scope.loadAllProblemType = function() {
$http
.get("ProblemTypeController/findAll")
.success(
function(response) {
$scope.allProblemType = response.allProblemType;
});
}
$scope.loadAllProblemType();
$scope.isCanPre = false;
$scope.isCanNext = false;
$scope.page = {
currentPage : 0,
wantPageNumber : 1,
pageShowCount : 10,
datas : null,
totalCount : null,
totalPage : null,
method : "list"
}
$scope.loadingData = function() {
$http({
method : "get",
url : "ProblemController/" + $scope.page.method,
params : $scope.page
})
.success(
function(response) {
$scope.page.currentPage = response.currentPage;
$scope.page.totalCount = response.totalCount;
$scope.page.totalPage = response.totalPage;
$scope.page.datas = response.result;
$scope.isCanNext = false;
$scope.isCanPre = false;
if ($scope.page.totalPage > $scope.page.currentPage) {
$scope.isCanNext = true;
}
if ($scope.page.currentPage > 1) {
$scope.isCanPre = true;
}
}).error(function(response) {
alert("数据加载失败");
});
}
$scope.loadingData();
$scope.changePage = function(isNext) {
if (isNext) {
$scope.page.wantPageNumber++;
} else {
$scope.page.wantPageNumber--;
}
this.loadingData();
};
$scope.search = function() {
// 重置搜索对象
$scope.page = {
currentPage : 0,
wantPageNumber : 1,
pageShowCount : 10,
datas : null,
totalCount : null,
totalPage : null,
method : "list"
}
$scope.loadingData();
}
$scope.searchById = function() {
// 重置搜索对象
$scope.page = {
currentPage : 0,
wantPageNumber : 1,
pageShowCount : 10,
datas : null,
totalCount : null,
totalPage : null,
method : "/search/" + $scope.searchId
}
$scope.loadingData();
}
$scope.searchByName = function() {
// 重置搜索对象
$scope.page = {
currentPage : 0,
wantPageNumber : 1,
pageShowCount : 10,
datas : null,
totalCount : null,
totalPage : null,
method : "/searchByName",
problemName : $scope.searchName
}
$scope.loadingData();
}
$scope.searchByValue = function() {
// 重置搜索对象
$scope.page = {
currentPage : 0,
wantPageNumber : 1,
pageShowCount : 10,
datas : null,
totalCount : null,
totalPage : null,
method : "/searchByValue",
problemValue : $scope.searchValue
}
$scope.loadingData();
}
$scope.searchByDifficulty = function() {
// 重置搜索对象
$scope.page = {
currentPage : 0,
wantPageNumber : 1,
pageShowCount : 10,
datas : null,
totalCount : null,
totalPage : null,
method : "/searchByDifficulty",
problemDifficulty : $scope.searchDifficulty
}
$scope.loadingData();
}
$scope.searchByType = function() {
// 重置搜索对象
$scope.page = {
currentPage : 0,
wantPageNumber : 1,
pageShowCount : 10,
datas : null,
totalCount : null,
totalPage : null,
method : "/searchByType",
problemTypeId : $scope.searchTypeId
}
$scope.loadingData();
}
$scope.jumpDetail = function(index) {
var problemDetailObj = $scope.page.datas[index];
problemDetailObj.typeName = null;
for ( var n in $scope.allProblemType) {
if ($scope.allProblemType[n].problemTypeId == problemDetailObj.problemTypeId) {
problemDetailObj.typeName = $scope.allProblemType[n].problemTypeName;
break;
}
}
sessionDataBase.setObject("problemDetailObj",
problemDetailObj);
return true;
}
});
appCtrls.controller('announcementCtr', function($scope, $http, $pageService) {
$scope.goBack = function() {
$('#menu-container .detail').fadeOut(1000, function() {
$('#menu-container .homepage').fadeIn(1000);
});
};
$scope.showDetail = function(index) {
$scope.currentDetailObj = $scope.page.datas[index];
$('#menu-container .homepage').fadeOut(1000, function() {
$('#menu-container .detail').fadeIn(1000);
});
};
$scope.isCanPre = false;
$scope.isCanNext = false;
$scope.page = {
currentPage : 1,
pageShowCount : 4,
datas : null,
totalCount : null,
totalPage : null
}
// 首次加载数据
$pageService.loadingData($scope, $scope.page.currentPage,
"AnnouncementController/list");
$scope.changePage = function(isNext) {
$pageService.changePage(isNext, $scope, "AnnouncementController/list")
};
});

@ -0,0 +1,171 @@
// Easy Responsive Tabs Plugin
// Author: Samson.Onna <Email : samson3d@gmail.com>
(function ($) {
$.fn.extend({
easyResponsiveTabs: function (options) {
//Set the default values, use comma to separate the settings, example:
var defaults = {
type: 'default', //default, vertical, accordion;
width: 'auto',
fit: true,
closed: false,
activate: function(){}
}
//Variables
var options = $.extend(defaults, options);
var opt = options, jtype = opt.type, jfit = opt.fit, jwidth = opt.width, vtabs = 'vertical', accord = 'accordion';
var hash = window.location.hash;
var historyApi = !!(window.history && history.replaceState);
//Events
$(this).bind('tabactivate', function(e, currentTab) {
if(typeof options.activate === 'function') {
options.activate.call(currentTab, e)
}
});
//Main function
this.each(function () {
var $respTabs = $(this);
var $respTabsList = $respTabs.find('ul.resp-tabs-list');
var respTabsId = $respTabs.attr('id');
$respTabs.find('ul.resp-tabs-list li').addClass('resp-tab-item');
$respTabs.css({
'display': 'block',
'width': jwidth
});
$respTabs.find('.resp-tabs-container > div').addClass('resp-tab-content');
jtab_options();
//Properties Function
function jtab_options() {
if (jtype == vtabs) {
$respTabs.addClass('resp-vtabs');
}
if (jfit == true) {
$respTabs.css({ width: '100%', margin: '0px' });
}
if (jtype == accord) {
$respTabs.addClass('resp-easy-accordion');
$respTabs.find('.resp-tabs-list').css('display', 'none');
}
}
//Assigning the h2 markup to accordion title
var $tabItemh2;
$respTabs.find('.resp-tab-content').before("<h2 class='resp-accordion' role='tab'><span class='resp-arrow'></span></h2>");
var itemCount = 0;
$respTabs.find('.resp-accordion').each(function () {
$tabItemh2 = $(this);
var $tabItem = $respTabs.find('.resp-tab-item:eq(' + itemCount + ')');
var $accItem = $respTabs.find('.resp-accordion:eq(' + itemCount + ')');
$accItem.append($tabItem.html());
$accItem.data($tabItem.data());
$tabItemh2.attr('aria-controls', 'tab_item-' + (itemCount));
itemCount++;
});
//Assigning the 'aria-controls' to Tab items
var count = 0,
$tabContent;
$respTabs.find('.resp-tab-item').each(function () {
$tabItem = $(this);
$tabItem.attr('aria-controls', 'tab_item-' + (count));
$tabItem.attr('role', 'tab');
//Assigning the 'aria-labelledby' attr to tab-content
var tabcount = 0;
$respTabs.find('.resp-tab-content').each(function () {
$tabContent = $(this);
$tabContent.attr('aria-labelledby', 'tab_item-' + (tabcount));
tabcount++;
});
count++;
});
// Show correct content area
var tabNum = 0;
if(hash!='') {
var matches = hash.match(new RegExp(respTabsId+"([0-9]+)"));
if (matches!==null && matches.length===2) {
tabNum = parseInt(matches[1],10)-1;
if (tabNum > count) {
tabNum = 0;
}
}
}
//Active correct tab
$($respTabs.find('.resp-tab-item')[tabNum]).addClass('resp-tab-active');
//keep closed if option = 'closed' or option is 'accordion' and the element is in accordion mode
if(options.closed !== true && !(options.closed === 'accordion' && !$respTabsList.is(':visible')) && !(options.closed === 'tabs' && $respTabsList.is(':visible'))) {
$($respTabs.find('.resp-accordion')[tabNum]).addClass('resp-tab-active');
$($respTabs.find('.resp-tab-content')[tabNum]).addClass('resp-tab-content-active').attr('style', 'display:block');
}
//assign proper classes for when tabs mode is activated before making a selection in accordion mode
else {
$($respTabs.find('.resp-tab-content')[tabNum]).addClass('resp-tab-content-active resp-accordion-closed')
}
//Tab Click action function
$respTabs.find("[role=tab]").each(function () {
var $currentTab = $(this);
$currentTab.click(function () {
var $currentTab = $(this);
var $tabAria = $currentTab.attr('aria-controls');
if ($currentTab.hasClass('resp-accordion') && $currentTab.hasClass('resp-tab-active')) {
$respTabs.find('.resp-tab-content-active').slideUp('', function () { $(this).addClass('resp-accordion-closed'); });
$currentTab.removeClass('resp-tab-active');
return false;
}
if (!$currentTab.hasClass('resp-tab-active') && $currentTab.hasClass('resp-accordion')) {
$respTabs.find('.resp-tab-active').removeClass('resp-tab-active');
$respTabs.find('.resp-tab-content-active').slideUp().removeClass('resp-tab-content-active resp-accordion-closed');
$respTabs.find("[aria-controls=" + $tabAria + "]").addClass('resp-tab-active');
$respTabs.find('.resp-tab-content[aria-labelledby = ' + $tabAria + ']').slideDown().addClass('resp-tab-content-active');
} else {
$respTabs.find('.resp-tab-active').removeClass('resp-tab-active');
$respTabs.find('.resp-tab-content-active').removeAttr('style').removeClass('resp-tab-content-active').removeClass('resp-accordion-closed');
$respTabs.find("[aria-controls=" + $tabAria + "]").addClass('resp-tab-active');
$respTabs.find('.resp-tab-content[aria-labelledby = ' + $tabAria + ']').addClass('resp-tab-content-active').attr('style', 'display:block');
}
//Trigger tab activation event
$currentTab.trigger('tabactivate', $currentTab);
//Update Browser History
if(historyApi) {
var currentHash = window.location.hash;
var newHash = respTabsId+(parseInt($tabAria.substring(9),10)+1).toString();
if (currentHash!="") {
var re = new RegExp(respTabsId+"[0-9]+");
if (currentHash.match(re)!=null) {
newHash = currentHash.replace(re,newHash);
}
else {
newHash = currentHash+"|"+newHash;
}
}
else {
newHash = '#'+newHash;
}
history.replaceState(null,null,newHash);
}
});
});
//Window resize function
$(window).resize(function () {
$respTabs.find('.resp-accordion-closed').removeAttr('style');
});
});
}
});
})(jQuery);

@ -0,0 +1,219 @@
/*!
* jquery.lightbox.js
* https://github.com/duncanmcdougall/Responsive-Lightbox
* Copyright 2013 Duncan McDougall and other contributors; @license Creative Commons Attribution 2.5
*
* Options:
* margin - int - default 50. Minimum margin around the image
* nav - bool - default true. enable navigation
* blur - bool - default true. Blur other content when open using css filter
* minSize - int - default 0. Min window width or height to open lightbox. Below threshold will open image in a new tab.
*
*/
(function ($) {
'use strict';
$.fn.lightbox = function (options) {
var opts = {
margin: 50,
nav: true,
blur: true,
minSize: 0
};
var plugin = {
items: [],
lightbox: null,
image: null,
current: null,
locked: false,
caption: null,
init: function (items) {
plugin.items = items;
plugin.selector = "lightbox-"+Math.random().toString().replace('.','');
if (!plugin.lightbox) {
$('body').append(
'<div id="lightbox" style="display:none;">'+
'<a href="#" class="lightbox-close lightbox-button"></a>' +
'<div class="lightbox-nav">'+
'<a href="#" class="lightbox-previous lightbox-button"></a>' +
'<a href="#" class="lightbox-next lightbox-button"></a>' +
'</div>' +
'<div href="#" class="lightbox-caption"><p></p></div>' +
'</div>'
);
plugin.lightbox = $("#lightbox");
plugin.caption = $('.lightbox-caption', plugin.lightbox);
}
if (plugin.items.length > 1 && opts.nav) {
$('.lightbox-nav', plugin.lightbox).show();
} else {
$('.lightbox-nav', plugin.lightbox).hide();
}
plugin.bindEvents();
},
loadImage: function () {
if(opts.blur) {
$("body").addClass("blurred");
}
$("img", plugin.lightbox).remove();
plugin.lightbox.fadeIn('fast').append('<span class="lightbox-loading"></span>');
var img = $('<img src="' + $(plugin.current).attr('href') + '" draggable="false">');
$(img).load(function () {
$('.lightbox-loading').remove();
plugin.lightbox.append(img);
plugin.image = $("img", plugin.lightbox).hide();
plugin.resizeImage();
plugin.setCaption();
});
},
setCaption: function () {
var caption = $(plugin.current).data('caption');
if(!!caption && caption.length > 0) {
plugin.caption.fadeIn();
$('p', plugin.caption).text(caption);
}else{
plugin.caption.hide();
}
},
resizeImage: function () {
var ratio, wHeight, wWidth, iHeight, iWidth;
wHeight = $(window).height() - opts.margin;
wWidth = $(window).outerWidth(true) - opts.margin;
plugin.image.width('').height('');
iHeight = plugin.image.height();
iWidth = plugin.image.width();
if (iWidth > wWidth) {
ratio = wWidth / iWidth;
iWidth = wWidth;
iHeight = Math.round(iHeight * ratio);
}
if (iHeight > wHeight) {
ratio = wHeight / iHeight;
iHeight = wHeight;
iWidth = Math.round(iWidth * ratio);
}
plugin.image.width(iWidth).height(iHeight).css({
'top': ($(window).height() - plugin.image.outerHeight()) / 2 + 'px',
'left': ($(window).width() - plugin.image.outerWidth()) / 2 + 'px'
}).show();
plugin.locked = false;
},
getCurrentIndex: function () {
return $.inArray(plugin.current, plugin.items);
},
next: function () {
if (plugin.locked) {
return false;
}
plugin.locked = true;
if (plugin.getCurrentIndex() >= plugin.items.length - 1) {
$(plugin.items[0]).click();
} else {
$(plugin.items[plugin.getCurrentIndex() + 1]).click();
}
},
previous: function () {
if (plugin.locked) {
return false;
}
plugin.locked = true;
if (plugin.getCurrentIndex() <= 0) {
$(plugin.items[plugin.items.length - 1]).click();
} else {
$(plugin.items[plugin.getCurrentIndex() - 1]).click();
}
},
bindEvents: function () {
$(plugin.items).click(function (e) {
if(!$("#lightbox").is(":visible") && ($(window).width() < opts.minSize || $(window).height() < opts.minSize)) {
$(this).attr("target", "_blank");
return;
}
var self = $(this)[0];
e.preventDefault();
plugin.current = self;
plugin.loadImage();
// Bind Keyboard Shortcuts
$(document).on('keydown', function (e) {
// Close lightbox with ESC
if (e.keyCode === 27) {
plugin.close();
}
// Go to next image pressing the right key
if (e.keyCode === 39) {
plugin.next();
}
// Go to previous image pressing the left key
if (e.keyCode === 37) {
plugin.previous();
}
});
});
// Add click state on overlay background only
plugin.lightbox.on('click', function (e) {
if (this === e.target) {
plugin.close();
}
});
// Previous click
$(plugin.lightbox).on('click', '.lightbox-previous', function () {
plugin.previous();
return false;
});
// Next click
$(plugin.lightbox).on('click', '.lightbox-next', function () {
plugin.next();
return false;
});
// Close click
$(plugin.lightbox).on('click', '.lightbox-close', function () {
plugin.close();
return false;
});
$(window).resize(function () {
if (!plugin.image) {
return;
}
plugin.resizeImage();
});
},
close: function () {
$(document).off('keydown'); // Unbind all key events each time the lightbox is closed
$(plugin.lightbox).fadeOut('fast');
$('body').removeClass('blurred');
}
};
$.extend(opts, options);
plugin.init(this);
};
})(jQuery);

File diff suppressed because one or more lines are too long

Binary file not shown.

@ -0,0 +1,59 @@
"use strict";
var menuDisabled = false;
jQuery(document).ready(function($){
/************** Menu Content Opening *********************/
$(".main_menu a").on('click',function(){
var id = $(this).attr('class');
id = id.split('-');
//$("#menu-container .content").hide();
//$("#menu-container #menu-"+id[1]).show();
//$("#menu-container .homepage").hide();
return false;
});
$(".main_menu a.templatemo_homeservice").click(function(){
$("#menu-container .portfolio").hide();
$('#menu-container .services').fadeOut(1000, function(){
$('#menu-container .homepage').fadeIn(1000);
});
return false;
});
$(".main_menu a.templatemo_page2").click(function( ){
$('#menu-container .homepage').fadeOut(1000, function(){
$('#menu-container .services').fadeIn(1000);
});
return false;
});
/************** Gallery Hover Effect *********************/
$(".overlay").hide();
$('.gallery-item').hover(
function() {
$(this).find('.overlay').addClass('animated fadeIn').show();
},
function() {
$(this).find('.overlay').removeClass('animated fadeIn').hide();
}
);
/************** LightBox *********************/
$(function(){
$('[data-rel="lightbox"]').lightbox();
});
$("a.menu-toggle-btn").click(function() {
$(".responsive_menu").stop(true,true).slideToggle();
return false;
});
$(".responsive_menu a").click(function(){
$('.responsive_menu').hide();
});
});

@ -0,0 +1,32 @@
$(document).ready(function() {
// 设备宽度
var q = document.getElementById("welcomeCanvas");
var w = document.body.clientWidth | document.documentElement.clientWidth;
var h = document.body.clientHeight | document.documentElement.clientHeight;
q.height = h - 95;
q.width = w;
var width = q.width;
var height = q.height;
var yPositions = Array(300).join(0).split('');
var ctx = q.getContext('2d');
var draw = function() {
ctx.fillStyle = 'rgba(0,0,0,.05)';
ctx.fillRect(0, 0, width, height);
ctx.fillStyle = 'green';/* 代码颜色 */
ctx.font = '10pt Georgia';
yPositions.map(function(y, index) {
text = String.fromCharCode(1e2 + Math.random() * 330);
x = (index * 10) + 10;
q.getContext('2d').fillText(text, x, y);
if (y > Math.random() * 1e4) {
yPositions[index] = 0;
} else {
yPositions[index] = y + 10;
}
});
};
RunMatrix();
function RunMatrix() {
Game_Interval = setInterval(draw, 30);
}
});

@ -0,0 +1,80 @@
.topLeft{
width: 20%;
height: 100px;
float: left;
background-color: antiquewhite;
position: relative;
float: left;
}
.topRight{
width: 80%;
height: 100px;
position: relative;
float: left;
}
.top{
width: 100%;
height: 100px;
position: relative;
}
.icon{
background: url(../images/search.png) no-repeat 5px center;
text-indent: 30px;
}
a:link
{
color:#000;
text-decoration:none;}
ul{
list-style:none;
}
.btopLeft{
margin-top: 20px;
height: 200px;
width: 120px;
margin-left: 20px;
float: left;
}
.bodyTop{
height: 600px;
float: left;
}
.btopRight{
height: 500px;
margin-left: 20px;
}
.bcenter{
height: 400px;
margin-left: 20px;
float: left;
}
.bcLeft{
height: 400px;
width: 300px;
float: left;
position: relative;
}
.bcRight{
height: 400px;
width: 300px ;
position:absolute;
left: 50%;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 428 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 474 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save