[
  {
    "path": ".gitignore",
    "content": "# Built application files\n*.apk\n*.ap_\n\n# Files for the ART/Dalvik VM\n*.dex\n\n# Java class files\n*.class\n\n# Generated files\nbin/\ngen/\nout/\n\n# Gradle files\n.gradle/\nbuild/\n\n# Local configuration file (sdk path, etc)\nlocal.properties\n\n# Proguard folder generated by Eclipse\nproguard/\n\n# Log Files\n*.log\n\n# Android Studio Navigation editor temp files\n.navigation/\n\n# Android Studio captures folder\ncaptures/\n\n# Intellij\n*.iml\n.idea/workspace.xml\n.idea/tasks.xml\n.idea/libraries\n\n# Keystore files\n*.jks\n\n# External native build folder generated in Android Studio 2.2 and later\n.externalNativeBuild"
  },
  {
    "path": ".idea/compiler.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"CompilerConfiguration\">\n    <resourceExtensions />\n    <wildcardResourcePatterns>\n      <entry name=\"!?*.java\" />\n      <entry name=\"!?*.form\" />\n      <entry name=\"!?*.class\" />\n      <entry name=\"!?*.groovy\" />\n      <entry name=\"!?*.scala\" />\n      <entry name=\"!?*.flex\" />\n      <entry name=\"!?*.kt\" />\n      <entry name=\"!?*.clj\" />\n      <entry name=\"!?*.aj\" />\n    </wildcardResourcePatterns>\n    <annotationProcessing>\n      <profile default=\"true\" name=\"Default\" enabled=\"false\">\n        <processorPath useClasspath=\"true\" />\n      </profile>\n    </annotationProcessing>\n  </component>\n</project>"
  },
  {
    "path": ".idea/copyright/profiles_settings.xml",
    "content": "<component name=\"CopyrightManager\">\n  <settings default=\"\" />\n</component>"
  },
  {
    "path": ".idea/gradle.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"GradleSettings\">\n    <option name=\"linkedExternalProjectsSettings\">\n      <GradleProjectSettings>\n        <option name=\"distributionType\" value=\"LOCAL\" />\n        <option name=\"externalProjectPath\" value=\"$PROJECT_DIR$\" />\n        <option name=\"gradleHome\" value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.14.1\" />\n        <option name=\"modules\">\n          <set>\n            <option value=\"$PROJECT_DIR$\" />\n            <option value=\"$PROJECT_DIR$/libcore\" />\n            <option value=\"$PROJECT_DIR$/libcore-ui\" />\n            <option value=\"$PROJECT_DIR$/testsample\" />\n          </set>\n        </option>\n        <option name=\"resolveModulePerSourceSet\" value=\"false\" />\n      </GradleProjectSettings>\n    </option>\n  </component>\n</project>"
  },
  {
    "path": ".idea/misc.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"EntryPointsManager\">\n    <entry_points version=\"2.0\" />\n  </component>\n  <component name=\"NullableNotNullManager\">\n    <option name=\"myDefaultNullable\" value=\"android.support.annotation.Nullable\" />\n    <option name=\"myDefaultNotNull\" value=\"android.support.annotation.NonNull\" />\n    <option name=\"myNullables\">\n      <value>\n        <list size=\"4\">\n          <item index=\"0\" class=\"java.lang.String\" itemvalue=\"org.jetbrains.annotations.Nullable\" />\n          <item index=\"1\" class=\"java.lang.String\" itemvalue=\"javax.annotation.Nullable\" />\n          <item index=\"2\" class=\"java.lang.String\" itemvalue=\"edu.umd.cs.findbugs.annotations.Nullable\" />\n          <item index=\"3\" class=\"java.lang.String\" itemvalue=\"android.support.annotation.Nullable\" />\n        </list>\n      </value>\n    </option>\n    <option name=\"myNotNulls\">\n      <value>\n        <list size=\"4\">\n          <item index=\"0\" class=\"java.lang.String\" itemvalue=\"org.jetbrains.annotations.NotNull\" />\n          <item index=\"1\" class=\"java.lang.String\" itemvalue=\"javax.annotation.Nonnull\" />\n          <item index=\"2\" class=\"java.lang.String\" itemvalue=\"edu.umd.cs.findbugs.annotations.NonNull\" />\n          <item index=\"3\" class=\"java.lang.String\" itemvalue=\"android.support.annotation.NonNull\" />\n        </list>\n      </value>\n    </option>\n  </component>\n  <component name=\"ProjectLevelVcsManager\" settingsEditedManually=\"false\">\n    <OptionsSetting value=\"true\" id=\"Add\" />\n    <OptionsSetting value=\"true\" id=\"Remove\" />\n    <OptionsSetting value=\"true\" id=\"Checkout\" />\n    <OptionsSetting value=\"true\" id=\"Update\" />\n    <OptionsSetting value=\"true\" id=\"Status\" />\n    <OptionsSetting value=\"true\" id=\"Edit\" />\n    <ConfirmationsSetting value=\"0\" id=\"Add\" />\n    <ConfirmationsSetting value=\"0\" id=\"Remove\" />\n  </component>\n  <component name=\"ProjectRootManager\" version=\"2\" languageLevel=\"JDK_1_7\" default=\"true\" assert-keyword=\"true\" jdk-15=\"true\" project-jdk-name=\"1.8\" project-jdk-type=\"JavaSDK\">\n    <output url=\"file://$PROJECT_DIR$/build/classes\" />\n  </component>\n  <component name=\"ProjectType\">\n    <option name=\"id\" value=\"Android\" />\n  </component>\n</project>"
  },
  {
    "path": ".idea/modules.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"ProjectModuleManager\">\n    <modules>\n      <module fileurl=\"file://$PROJECT_DIR$/Android_framework.iml\" filepath=\"$PROJECT_DIR$/Android_framework.iml\" />\n      <module fileurl=\"file://$PROJECT_DIR$/libcore/libcore.iml\" filepath=\"$PROJECT_DIR$/libcore/libcore.iml\" />\n      <module fileurl=\"file://$PROJECT_DIR$/libcore-ui/libcore-ui.iml\" filepath=\"$PROJECT_DIR$/libcore-ui/libcore-ui.iml\" />\n      <module fileurl=\"file://$PROJECT_DIR$/testsample/testsample.iml\" filepath=\"$PROJECT_DIR$/testsample/testsample.iml\" />\n    </modules>\n  </component>\n</project>"
  },
  {
    "path": ".idea/runConfigurations.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"RunConfigurationProducerService\">\n    <option name=\"ignoredProducers\">\n      <set>\n        <option value=\"org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer\" />\n        <option value=\"org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer\" />\n        <option value=\"org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer\" />\n      </set>\n    </option>\n  </component>\n</project>"
  },
  {
    "path": ".idea/vcs.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"VcsDirectoryMappings\">\n    <mapping directory=\"\" vcs=\"Git\" />\n  </component>\n</project>"
  },
  {
    "path": "LICENSE",
    "content": "Copyright (c) 2015, zhao_zepeng\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n  list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n  this list of conditions and the following disclaimer in the documentation\n  and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n"
  },
  {
    "path": "README.md",
    "content": "﻿# android_framework #\n<em>an android framework in order for rapid development</em>\n\n##1.开发环境##\n环境为*android studio* + *jdk1.7*<br/>\n![framework](./markdown_image/framework.png \"framework\")<br/>\n\n##2.框架结构##\n该框架分为三个部分：<br/>\n<strong> libcore </strong>层<br/>\n<strong> libcore-ui </strong>层<br/>\n<strong> testsample </strong>层<br/>\n第三层为测试代码，重点在第一和第二层...<br/>\n\n##3.框架详细概述##\n\n###第一层libcore###\n该层为基础核心代码层，该层的代码特点是封装了应用所应该使用的基础功能，好处是封装的功能仅仅提供简单的接口，使得应用只需要更改libcore的封装实现，而不用修改底层的代码，从而轻松实现功能的变更，功能列表如下所示\n\n<ol>\n<li>Application封装，使用了weakRefrence指向当前Activity的context，方便使用，还增加了应用crash，应用关闭等处理</li>\n<li>最基础的Activity和Fragment类，配合Application类和ActivityManager类进行Activity的集中管理</li>\n<li>ActivityManager类，使用栈来管理所有的activity</li>\n<li>BaseNetApi类，实现了网络请求，网络访问的底层使用的是volley框架。现在提供两种方案：第一种就是可更换的网络框架，为了可更换，就要对volley进行大程度的封装，所有子module不可直接使用volley相关类，以后网络框架更改，只需要修改这几个相关类即可，由于volley功能的复杂性，只能封装最基本的网络访问功能，tag和cache等功能由于不通用性，暂时不封装；</li>\n<li>BaseVolleyApi类，第二种就是纯粹的volley框架，不会更换网络访问框架，只需对其进行最基本的封装，所有功能类都可在子module中使用，所以会增大项目对volley框架的耦合性</li>\n<li>ImageLoader类，用来进行图片的加载，封装的是volley的imageloader功能，支持lrucache和sd卡二级存储功能</li>\n<li>log类，用来打印log，打印的日志信息非常完整</li>\n<li>Toast类，该类用来弹出toast，支持弹出toast的位置</li>\n<li>GuideManager类，用来显示指引蒙版，支持全屏展示和只在内容区域展示</li>\n<li>BaseDialog类，定义了一个应用dialog所应该具备的基础行为</li>\n<li>数据库相关类，将数据库类进行了非常便捷的封装，创建数据库应该继承自BaseDB类，为了该数据库的访问应该再创建一个helper类继承自BaseDBHelper，封装该数据库的所有操作，另外还需要对表名和列名进行了枚举的封装，这样使用该数据库直接使用该枚举类获取表名和表的相关列名。对数据库的版本升级也做了相应快捷的处理</li>\n<li>CacheManager类，这个类使用SharedPreference来存储基本对象，有临时和永久两种，临时存储将会在每次应用退出之后自动清空，永久存储则永久存储</li>\n<li>FileDownloadManager类，用来下载相关文件，为多线程断点续传式下载，支持开始，停止和删除操作</li>\n<li>Utils类：\n<ul>\n<li>CommonUtils，用来集中管理一些杂项函数，比如dp2px等</li>\n<li>FileUtils，用来管理文件的相关操作</li>\n<li>ImageUtils，用来处理图片的相关操作</li>\n</ul>\n</li>\n</ol>\n\n###第二层libcore-ui层###\n该层为基础核心扩展层，扩展libcore的层的代码，并且定义应用的基本样式，够统一样式，方便管理\n\n<ol>\n<li>扩展实现的Activity和Fragment类，BaseActivity类中定义了整个应用的基本简单样式（现在提供两种样式，顶部透明样式和底部透明样式），顶部bar的样式(顶部bar有自定义bar和系统控件toolbar)等，BaseActivityWithPopWindow类继承BaseActivity类，实现了底部的弹出框；Fragment类定义了fragment和activity之间的通信方式和topbar的交互，</li>\n<li>NetApi类，NetApi继承自BaseNetApi类，在原来的基础上扩展相关的功能，支持自定义继承自volley request的请求，额外的处理就只是在NetApi类中添加相应的函数</li>\n<li>VolleyApi类，用来对BaseVolleyApi类进行功能扩展</li>\n<li>PermanentCacheDB类，用来存储一些和应用生命周期相关的变量，写入数据库，永久保存</li>\n<li>WebFragment类，该fragment用来显示网页，可以单独作为一个fragment嵌入一个页面的任何地方</li>\n<li>WebActivity类，该activity用来展示网页，传入url即可显示网页，有进度条和刷新操作</li>\n<li>AppDialog类，该类继承自父类BaseDialog类，定义了基本的样式，实现了基础的行为</li>\n<li>DialogCreator类，该类用来生成基本样式的dialog</li>\n<li>LoadingDialog类，用来定义一个应用最基本的加载框</li>\n<li>基本实用的控件：\n<ul>\n<li>SimpleGridLayout类，自定义网格布局，自动换行，自定义attr</li>\n<li>FlowLayout类，自定义流式布局，支持方向选择，自动换行，自定义attr</li>\n</ul>\n</li>\n</ol>\n\n###第三层应用层###\n该层为模拟应用层，用来测试下层的代码。一个应用在使用了libcore层和libcore-ui层之后，可能还需要在封装一层或几层module，但是保证最基础的两层是应用所通用的module即可\n"
  },
  {
    "path": "README.md~",
    "content": "# android_framework #\n<em>an android framework in order for rapid development</em>\n\n##1.开发环境##\n环境为*android studio* + *jdk1.7*<br/>\n![framework](./markdown_image/framework.png \"framework\")<br/>\n\n##2.框架结构##\n该框架分为三个部分：<br/>\n<strong> libcore </strong>层<br/>\n<strong> libcore-ui </strong>层<br/>\n<strong> testsample </strong>层<br/>\n第三层为测试代码，重点在第一和第二层...<br/>\n\n##3.框架详细概述##\n\n###第一层libcore###\n该层为基础核心代码层，该层的代码特点是封装了应用所应该使用的基础功能，好处是封装的功能仅仅提供简单的接口，使得应用只需要更改libcore的封装实现，而不用修改底层的代码，从而轻松实现功能的变更，功能列表如下所示\n\n<ol>\n<li>Application封装，使用了weakRefrence指向当前Activity的context，方便使用，还增加了应用crash，应用关闭等处理</li>\n<li>最基础的Activity和Fragment类，配合Application类和ActivityManager类进行Activity的集中管理</li>\n<li>ActivityManager类，使用栈来管理所有的activity</li>\n<li>BaseNetApi类，实现了网络请求，网络访问的底层使用的是volley框架。现在提供两种方案：第一种就是可更换的网络框架，为了可更换，就要对volley进行大程度的封装，所有子module不可直接使用volley相关类，以后网络框架更改，只需要修改这几个相关类即可，由于volley功能的复杂性，只能封装最基本的网络访问功能，tag和cache等功能由于不通用性，暂时不封装；</li>\n<li>BaseVolleyApi类，第二种就是纯粹的volley框架，不会更换网络访问框架，只需对其进行最基本的封装，所有功能类都可在子module中使用，所以会增大项目对volley框架的耦合性</li>\n<li>ImageLoader类，用来进行图片的加载，封装的是volley的imageloader功能，支持lrucache和sd卡二级存储功能</li>\n<li>log类，用来打印log，打印的日志信息非常完整</li>\n<li>Toast类，该类用来弹出toast，支持弹出toast的位置</li>\n<li>GuideManager类，用来显示指引蒙版，支持全屏展示和只在内容区域展示</li>\n<li>BaseDialog类，定义了一个应用dialog所应该具备的基础行为</li>\n<li>数据库相关类，将数据库类进行了非常便捷的封装，创建数据库应该继承自BaseDB类，为了该数据库的访问应该再创建一个helper类继承自BaseDBHelper，封装该数据库的所有操作，另外还需要对表名和列名进行了枚举的封装，这样使用该数据库直接使用该枚举类获取表名和表的相关列名。对数据库的版本升级也做了相应快捷的处理</li>\n<li>CacheManager类，这个类使用SharedPreference来存储基本对象，有临时和永久两种，临时存储将会在每次应用退出之后自动清空，永久存储则永久存储</li>\n<li>FileDownloadManager类，用来下载相关文件，为多线程断点续传式下载，支持开始，停止和删除操作</li>\n<li>Utils类：\n<ul>\n<li>CommonUtils，用来集中管理一些杂项函数，比如dp2px等</li>\n<li>FileUtils，用来管理文件的相关操作</li>\n<li>ImageUtils，用来处理图片的相关操作</li>\n</ul>\n</li>\n</ol>\n\n###第二层libcore-ui层###\n该层为基础核心扩展层，扩展libcore的层的代码，并且定义应用的基本样式，够统一样式，方便管理\n\n<ol>\n<li>扩展实现的Activity和Fragment类，BaseActivity类中定义了整个应用的基本简单样式（现在提供两种样式，顶部透明样式和底部透明样式），顶部bar的样式(顶部bar有自定义bar和系统控件toolbar)等，BaseActivityWithPopWindow类继承BaseActivity类，实现了底部的弹出框；Fragment类定义了fragment和activity之间的通信方式和topbar的交互，</li>\n<li>NetApi类，NetApi继承自BaseNetApi类，在原来的基础上扩展相关的功能，支持自定义继承自volley request的请求，额外的处理就只是在NetApi类中添加相应的函数</li>\n<li>VolleyApi类，用来对BaseVolleyApi类进行功能扩展</li>\n<li>PermanentCacheDB类，用来存储一些和应用生命周期相关的变量，写入数据库，永久保存</li>\n<li>WebFragment类，该fragment用来显示网页，可以单独作为一个fragment嵌入一个页面的任何地方</li>\n<li>WebActivity类，该activity用来展示网页，传入url即可显示网页，有进度条和刷新操作</li>\n<li>AppDialog类，该类继承自父类BaseDialog类，定义了基本的样式，实现了基础的行为</li>\n<li>DialogCreator类，该类用来生成基本样式的dialog</li>\n<li>LoadingDialog类，用来定义一个应用最基本的加载框</li>\n<li>基本实用的控件：\n<ul>\n<li>AutomaticNewlineLinearLayout类是自动换行的linearLayout，自定义了attr</li>\n</ul>\n</li>\n</ol>\n\n###第三层应用层###\n该层为模拟应用层，用来测试下层的代码。一个应用在使用了libcore层和libcore-ui层之后，可能还需要在封装一层或几层module，但是保证最基础的两层是应用所通用的module即可\n"
  },
  {
    "path": "build.gradle",
    "content": "// Top-level build file where you can add configuration options common to all sub-projects/modules.\n\nbuildscript {\n    repositories {\n        jcenter()\n        mavenCentral()\n    }\n    dependencies {\n        classpath 'com.android.tools.build:gradle:2.3.0'\n\n        // NOTE: Do not place your application dependencies here; they belong\n        // in the individual module build.gradle files\n    }\n}\n\nallprojects {\n    repositories {\n        jcenter()\n        mavenCentral()\n    }\n}\n"
  },
  {
    "path": "gradle/wrapper/gradle-wrapper.properties",
    "content": "#Fri Mar 03 10:38:35 CST 2017\ndistributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\nzipStoreBase=GRADLE_USER_HOME\nzipStorePath=wrapper/dists\ndistributionUrl=https\\://services.gradle.org/distributions/gradle-3.3-all.zip\n"
  },
  {
    "path": "gradle.properties",
    "content": "# Project-wide Gradle settings.\n\n# IDE (e.g. Android Studio) users:\n# Gradle settings configured through the IDE *will override*\n# any settings specified in this file.\n\n# For more details on how to configure your build environment visit\n# http://www.gradle.org/docs/current/userguide/build_environment.html\n\n# Specifies the JVM arguments used for the daemon process.\n# The setting is particularly useful for tweaking memory settings.\n# Default value: -Xmx10248m -XX:MaxPermSize=256m\n# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8\n\n# When configured, Gradle will run in incubating parallel mode.\n# This option should only be used with decoupled projects. More details, visit\n# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects\n# org.gradle.parallel=true"
  },
  {
    "path": "gradlew",
    "content": "#!/usr/bin/env bash\n\n##############################################################################\n##\n##  Gradle start up script for UN*X\n##\n##############################################################################\n\n# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.\nDEFAULT_JVM_OPTS=\"\"\n\nAPP_NAME=\"Gradle\"\nAPP_BASE_NAME=`basename \"$0\"`\n\n# Use the maximum available, or set MAX_FD != -1 to use that value.\nMAX_FD=\"maximum\"\n\nwarn ( ) {\n    echo \"$*\"\n}\n\ndie ( ) {\n    echo\n    echo \"$*\"\n    echo\n    exit 1\n}\n\n# OS specific support (must be 'true' or 'false').\ncygwin=false\nmsys=false\ndarwin=false\ncase \"`uname`\" in\n  CYGWIN* )\n    cygwin=true\n    ;;\n  Darwin* )\n    darwin=true\n    ;;\n  MINGW* )\n    msys=true\n    ;;\nesac\n\n# For Cygwin, ensure paths are in UNIX format before anything is touched.\nif $cygwin ; then\n    [ -n \"$JAVA_HOME\" ] && JAVA_HOME=`cygpath --unix \"$JAVA_HOME\"`\nfi\n\n# Attempt to set APP_HOME\n# Resolve links: $0 may be a link\nPRG=\"$0\"\n# Need this for relative symlinks.\nwhile [ -h \"$PRG\" ] ; do\n    ls=`ls -ld \"$PRG\"`\n    link=`expr \"$ls\" : '.*-> \\(.*\\)$'`\n    if expr \"$link\" : '/.*' > /dev/null; then\n        PRG=\"$link\"\n    else\n        PRG=`dirname \"$PRG\"`\"/$link\"\n    fi\ndone\nSAVED=\"`pwd`\"\ncd \"`dirname \\\"$PRG\\\"`/\" >&-\nAPP_HOME=\"`pwd -P`\"\ncd \"$SAVED\" >&-\n\nCLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar\n\n# Determine the Java command to use to start the JVM.\nif [ -n \"$JAVA_HOME\" ] ; then\n    if [ -x \"$JAVA_HOME/jre/sh/java\" ] ; then\n        # IBM's JDK on AIX uses strange locations for the executables\n        JAVACMD=\"$JAVA_HOME/jre/sh/java\"\n    else\n        JAVACMD=\"$JAVA_HOME/bin/java\"\n    fi\n    if [ ! -x \"$JAVACMD\" ] ; then\n        die \"ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME\n\nPlease set the JAVA_HOME variable in your environment to match the\nlocation of your Java installation.\"\n    fi\nelse\n    JAVACMD=\"java\"\n    which java >/dev/null 2>&1 || die \"ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.\n\nPlease set the JAVA_HOME variable in your environment to match the\nlocation of your Java installation.\"\nfi\n\n# Increase the maximum file descriptors if we can.\nif [ \"$cygwin\" = \"false\" -a \"$darwin\" = \"false\" ] ; then\n    MAX_FD_LIMIT=`ulimit -H -n`\n    if [ $? -eq 0 ] ; then\n        if [ \"$MAX_FD\" = \"maximum\" -o \"$MAX_FD\" = \"max\" ] ; then\n            MAX_FD=\"$MAX_FD_LIMIT\"\n        fi\n        ulimit -n $MAX_FD\n        if [ $? -ne 0 ] ; then\n            warn \"Could not set maximum file descriptor limit: $MAX_FD\"\n        fi\n    else\n        warn \"Could not query maximum file descriptor limit: $MAX_FD_LIMIT\"\n    fi\nfi\n\n# For Darwin, add options to specify how the application appears in the dock\nif $darwin; then\n    GRADLE_OPTS=\"$GRADLE_OPTS \\\"-Xdock:name=$APP_NAME\\\" \\\"-Xdock:icon=$APP_HOME/media/gradle.icns\\\"\"\nfi\n\n# For Cygwin, switch paths to Windows format before running java\nif $cygwin ; then\n    APP_HOME=`cygpath --path --mixed \"$APP_HOME\"`\n    CLASSPATH=`cygpath --path --mixed \"$CLASSPATH\"`\n\n    # We build the pattern for arguments to be converted via cygpath\n    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`\n    SEP=\"\"\n    for dir in $ROOTDIRSRAW ; do\n        ROOTDIRS=\"$ROOTDIRS$SEP$dir\"\n        SEP=\"|\"\n    done\n    OURCYGPATTERN=\"(^($ROOTDIRS))\"\n    # Add a user-defined pattern to the cygpath arguments\n    if [ \"$GRADLE_CYGPATTERN\" != \"\" ] ; then\n        OURCYGPATTERN=\"$OURCYGPATTERN|($GRADLE_CYGPATTERN)\"\n    fi\n    # Now convert the arguments - kludge to limit ourselves to /bin/sh\n    i=0\n    for arg in \"$@\" ; do\n        CHECK=`echo \"$arg\"|egrep -c \"$OURCYGPATTERN\" -`\n        CHECK2=`echo \"$arg\"|egrep -c \"^-\"`                                 ### Determine if an option\n\n        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition\n            eval `echo args$i`=`cygpath --path --ignore --mixed \"$arg\"`\n        else\n            eval `echo args$i`=\"\\\"$arg\\\"\"\n        fi\n        i=$((i+1))\n    done\n    case $i in\n        (0) set -- ;;\n        (1) set -- \"$args0\" ;;\n        (2) set -- \"$args0\" \"$args1\" ;;\n        (3) set -- \"$args0\" \"$args1\" \"$args2\" ;;\n        (4) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" ;;\n        (5) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" ;;\n        (6) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" ;;\n        (7) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" ;;\n        (8) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" \"$args7\" ;;\n        (9) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" \"$args7\" \"$args8\" ;;\n    esac\nfi\n\n# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules\nfunction splitJvmOpts() {\n    JVM_OPTS=(\"$@\")\n}\neval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS\nJVM_OPTS[${#JVM_OPTS[*]}]=\"-Dorg.gradle.appname=$APP_BASE_NAME\"\n\nexec \"$JAVACMD\" \"${JVM_OPTS[@]}\" -classpath \"$CLASSPATH\" org.gradle.wrapper.GradleWrapperMain \"$@\"\n"
  },
  {
    "path": "gradlew.bat",
    "content": "@if \"%DEBUG%\" == \"\" @echo off\r\n@rem ##########################################################################\r\n@rem\r\n@rem  Gradle startup script for Windows\r\n@rem\r\n@rem ##########################################################################\r\n\r\n@rem Set local scope for the variables with windows NT shell\r\nif \"%OS%\"==\"Windows_NT\" setlocal\r\n\r\n@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.\r\nset DEFAULT_JVM_OPTS=\r\n\r\nset DIRNAME=%~dp0\r\nif \"%DIRNAME%\" == \"\" set DIRNAME=.\r\nset APP_BASE_NAME=%~n0\r\nset APP_HOME=%DIRNAME%\r\n\r\n@rem Find java.exe\r\nif defined JAVA_HOME goto findJavaFromJavaHome\r\n\r\nset JAVA_EXE=java.exe\r\n%JAVA_EXE% -version >NUL 2>&1\r\nif \"%ERRORLEVEL%\" == \"0\" goto init\r\n\r\necho.\r\necho ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.\r\necho.\r\necho Please set the JAVA_HOME variable in your environment to match the\r\necho location of your Java installation.\r\n\r\ngoto fail\r\n\r\n:findJavaFromJavaHome\r\nset JAVA_HOME=%JAVA_HOME:\"=%\r\nset JAVA_EXE=%JAVA_HOME%/bin/java.exe\r\n\r\nif exist \"%JAVA_EXE%\" goto init\r\n\r\necho.\r\necho ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%\r\necho.\r\necho Please set the JAVA_HOME variable in your environment to match the\r\necho location of your Java installation.\r\n\r\ngoto fail\r\n\r\n:init\r\n@rem Get command-line arguments, handling Windowz variants\r\n\r\nif not \"%OS%\" == \"Windows_NT\" goto win9xME_args\r\nif \"%@eval[2+2]\" == \"4\" goto 4NT_args\r\n\r\n:win9xME_args\r\n@rem Slurp the command line arguments.\r\nset CMD_LINE_ARGS=\r\nset _SKIP=2\r\n\r\n:win9xME_args_slurp\r\nif \"x%~1\" == \"x\" goto execute\r\n\r\nset CMD_LINE_ARGS=%*\r\ngoto execute\r\n\r\n:4NT_args\r\n@rem Get arguments from the 4NT Shell from JP Software\r\nset CMD_LINE_ARGS=%$\r\n\r\n:execute\r\n@rem Setup the command line\r\n\r\nset CLASSPATH=%APP_HOME%\\gradle\\wrapper\\gradle-wrapper.jar\r\n\r\n@rem Execute Gradle\r\n\"%JAVA_EXE%\" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% \"-Dorg.gradle.appname=%APP_BASE_NAME%\" -classpath \"%CLASSPATH%\" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%\r\n\r\n:end\r\n@rem End local scope for the variables with windows NT shell\r\nif \"%ERRORLEVEL%\"==\"0\" goto mainEnd\r\n\r\n:fail\r\nrem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of\r\nrem the _cmd.exe /c_ return code!\r\nif  not \"\" == \"%GRADLE_EXIT_CONSOLE%\" exit 1\r\nexit /b 1\r\n\r\n:mainEnd\r\nif \"%OS%\"==\"Windows_NT\" endlocal\r\n\r\n:omega\r\n"
  },
  {
    "path": "libcore/.gitignore",
    "content": "/build\n"
  },
  {
    "path": "libcore/build.gradle",
    "content": "apply plugin: 'com.android.library'\n\nandroid {\n    compileSdkVersion 25\n    buildToolsVersion '25.0.0'\n\n    defaultConfig {\n        minSdkVersion 11\n        targetSdkVersion 25\n        versionCode 1\n        versionName \"1.0\"\n    }\n    buildTypes {\n        release {\n            minifyEnabled false\n            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'\n        }\n    }\n}\n\ndependencies {\n    compile fileTree(dir: 'libs', include: ['*.jar'])\n    compile 'com.android.support:appcompat-v7:25.0.1'\n    compile 'com.mcxiaoke.volley:library:1.0.19'\n}\n"
  },
  {
    "path": "libcore/proguard-rules.pro",
    "content": "# Add project specific ProGuard rules here.\n# By default, the flags in this file are appended to flags specified\n# in /home/zzp/adt-bundle-linux-x86_64-20140702/sdk/tools/proguard/proguard-android.txt\n# You can edit the include path and order by changing the proguardFiles\n# directive in build.gradle.\n#\n# For more details, see\n#   http://developer.android.com/guide/developing/tools/proguard.html\n\n# Add any project specific keep options here:\n\n# If your project uses WebView with JS, uncomment the following\n# and specify the fully qualified class name to the JavaScript interface\n# class:\n#-keepclassmembers class fqcn.of.javascript.interface.for.webview {\n#   public *;\n#}\n"
  },
  {
    "path": "libcore/src/main/AndroidManifest.xml",
    "content": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n          package=\"com.android.libcore\">\n\n</manifest>\n"
  },
  {
    "path": "libcore/src/main/java/com/android/libcore/Toast/T.java",
    "content": "package com.android.libcore.Toast;\n\nimport android.view.Gravity;\nimport android.view.View;\nimport android.widget.Toast;\n\nimport com.android.libcore.application.RootApplication;\n\n/**\n * Description: Toast类<br/>\n * 如果需要设置gravity，请使用{@link #getInstance()}.{@link #setGravity(int)}方法进行设置<br/>\n * 如果需要额外设置{@link #xOffset}或者{@link #yOffset}请调用对应{@link #setxOffset(int)}和\n * {@link #setyOffset(int)}即可，用法和gravity一致\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-09\n */\npublic class T {\n\n    private volatile static T instance;\n    private int mGravity = -1;\n    private int xOffset = 0;\n    private int yOffset = 0;\n    private Toast mTemp;\n\n    public static T getInstance() {\n        if (instance == null){\n            synchronized (T.class){\n                if (instance == null){\n                    instance = new T();\n                }\n            }\n        }\n        return instance;\n    }\n\n    private T(){\n    }\n\n    /**\n     * 设置该toast的显示位置，只对该toast有效\n     */\n    public T setGravity(int mGravity) {\n        this.mGravity = mGravity;\n        return getInstance();\n    }\n\n    /**\n     * 请在{@link #setGravity(int)}调用之后调用，只对该toast有效\n     */\n    public T setxOffset(int xOffset) {\n        this.xOffset = xOffset;\n        return getInstance();\n    }\n\n    /**\n     * 请在{@link #setGravity(int)}调用之后调用，只对该toast有效\n     */\n    public T setyOffset(int yOffset) {\n        this.yOffset = yOffset;\n        return getInstance();\n    }\n\n    public void showShort(String message){\n        showShort(message, null);\n    }\n\n    /**\n     * 需要在toast中显示的v\n     */\n    public void showShort(String message, View v){\n        //防止一堆toast的显示堆积\n        if (mTemp != null)\n            mTemp.cancel();\n        mTemp = Toast.makeText(RootApplication.getInstance(), message, Toast.LENGTH_SHORT);\n        if (mGravity != -1)\n            mTemp.setGravity(mGravity, xOffset, yOffset);\n        if (v != null){\n            mTemp.setView(v);\n        }\n        mTemp.show();\n        reset();\n    }\n\n    public void showLong(String message){\n        showLong(message, null);\n    }\n\n    /**\n     * 需要在toast中显示的v\n     */\n    public void showLong(String message, View v){\n        //防止一堆toast的显示堆积\n        if (mTemp != null)\n            mTemp.cancel();\n        mTemp = Toast.makeText(RootApplication.getInstance(), message, Toast.LENGTH_LONG);\n        if (mGravity != -1)\n            mTemp.setGravity(mGravity, xOffset, yOffset);\n        if (v != null){\n            mTemp.setView(v);\n        }\n        mTemp.show();\n        reset();\n    }\n\n    private void reset(){\n        mGravity = -1;\n        xOffset = 0;\n        yOffset = 0;\n    }\n}\n"
  },
  {
    "path": "libcore/src/main/java/com/android/libcore/activity/ActivityManager.java",
    "content": "package com.android.libcore.activity;\n\nimport android.app.Activity;\nimport android.content.Context;\n\nimport com.android.libcore.application.RootApplication;\nimport com.android.libcore.log.L;\n\nimport java.util.Iterator;\nimport java.util.Stack;\n\n/**\n * Description: 该类用栈来管理所有该应用的activity，进栈退栈等\n * <ol>\n * <li>{@linkplain #finishActivity()} 关闭栈中第一个activity</li>\n * <li>{@linkplain #finishAllActivity(Class)} 关闭栈中所有该类名的activity</li>\n * <li>{@linkplain #finishAfterActivity(Class)} 关闭栈中该类名的activity之上的activity</li>\n * <li>{@linkplain #finishLastActivity(Class)} 关闭栈中第一个与该类名匹配的activity</li>\n * <li>{@linkplain #finishAllActivityAndClose()} 关闭应用退出</li>\n * </ol>\n *\n * <strong>注意所有的函数都要进行判空的操作，因为可能因为内存不足导致activity被回收而导致空指针的错误</strong>\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-07\n */\npublic final class ActivityManager {\n    private static volatile  ActivityManager instance = null;\n    private Stack<Activity> mStack = null;\n\n    private ActivityManager(){\n        mStack = new Stack<>();\n    }\n\n    public static ActivityManager getInstance(){\n        if (instance == null){\n            synchronized (ActivityManager.class){\n                if (instance == null)\n                    instance = new ActivityManager();\n            }\n        }\n        return instance;\n    }\n\n    /**\n     * 获取栈的信息\n     */\n    public String getStackInfo() {\n        StringBuilder sb = new StringBuilder();\n        for (Activity temp : mStack){\n            if (temp != null)\n                sb.append(temp.toString()).append(\"\\n\");\n        }\n        return sb.toString();\n    }\n\n    /**\n     * 将activity加入到栈中\n     * @param activity 需要加入到栈中的activity\n     */\n    public void addActivity(Activity activity){\n        mStack.push(activity);\n    }\n\n    /**\n     * 删除栈中activity\n     */\n    public void removeActivity(Activity activity){\n        mStack.remove(activity);\n    }\n\n    /**\n     * @return 栈顶的activity\n     */\n    public Activity getActivity(){\n        if (!mStack.isEmpty())\n            return mStack.peek();\n        L.i(\"Activity 栈为空！！！\");\n        return null;\n    }\n\n    /**\n     * 关闭并删除掉最上面一个的activity\n     */\n    public void finishActivity(){\n        if (!mStack.isEmpty()) {\n            Activity temp = mStack.pop();\n            if (temp != null)\n                temp.finish();\n            return;\n        }\n        L.e(\"Activity 栈为空！！！\");\n    }\n\n    /***\n     * 关闭并删除指定 activity\n     */\n    public void finishActivity(Activity activity){\n        if (mStack.isEmpty()) {\n            L.e(\"Activity 栈为空！！！\");\n            return ;\n        }\n        try {\n            mStack.remove(activity);\n        }catch (Exception e){\n            L.e(\"删除错误\", e, ActivityManager.class);\n        }finally {\n            if (activity != null)\n                activity.finish();\n        }\n    }\n\n    /**\n     * 删除并关闭栈中该class对应的所有的该activity\n     */\n    public void finishAllActivity(Class<?> clazz){\n        Iterator<Activity> iterator = mStack.iterator();\n        while (iterator.hasNext()){\n            Activity activity = iterator.next();\n            if (activity!=null && activity.getClass().equals(clazz)) {\n                //注意应该通过iterator操作stack，要不然回报ConcurrentModificationException\n                iterator.remove();\n                activity.finish();\n            }\n        }\n    }\n\n    /**\n     * 删除并关闭栈中该class对应的第一个该activity,从栈顶开始\n     */\n    public void finishLastActivity(Class<?> clazz){\n        Activity activity = null;\n        Iterator<Activity> iterator = mStack.iterator();\n        while (iterator.hasNext()){\n            Activity temp = iterator.next();\n            if (temp!=null && temp.getClass().equals(clazz))\n                activity = temp;\n        }\n        if (activity != null)\n            finishActivity(activity);\n    }\n\n    /**\n     * 删除栈上该activity之上的所有activity\n     */\n    public void finishAfterActivity(Activity activity){\n        if (activity!=null && mStack.search(activity) == -1){\n            L.e(\"在栈中找不到该activity\", ActivityManager.class);\n            return;\n        }\n        while (mStack.peek() != null){\n            Activity temp = mStack.pop();\n            if (temp!=null && temp.equals(activity)){\n                mStack.push(temp);\n                break;\n            }\n            if (temp!=null)\n                temp.finish();\n        }\n    }\n\n    /**\n     * 删除栈上该class之上的所有activity\n     */\n    public void finishAfterActivity(Class<?> clazz){\n        boolean flag = true;\n        Activity activity = null;\n        Iterator<Activity> iterator = mStack.iterator();\n        while (iterator.hasNext()){\n            activity = iterator.next();\n            if (activity!=null && activity.getClass().equals(clazz)) {\n                flag = false;\n                break;\n            }\n        }\n        if (flag) {\n            L.e(\"在栈中找不到该class\", ActivityManager.class);\n            return;\n        }\n        finishAfterActivity(activity);\n    }\n\n    /**\n     * 弹出关闭所有activity并关闭应用所有进程\n     */\n    public void finishAllActivityAndClose(){\n        while (mStack.size() > 0){\n            Activity temp = mStack.pop();\n            if (temp != null)\n                temp.finish();\n        }\n        //调用finish()之后不会立马调用onDestroy()\n        RootApplication.checkApplicationDestroy();\n        try {\n            android.app.ActivityManager activityManager = (android.app.ActivityManager)\n                    RootApplication.getInstance().getSystemService(Context.ACTIVITY_SERVICE);\n            activityManager.killBackgroundProcesses(RootApplication.getInstance().getPackageName());\n        }catch (SecurityException e){\n            L.e(\"请添加permission\", e);\n        }\n        System.exit(0);\n    }\n\n    /**\n     * 弹出关闭所有activity并保留应用后台进程\n     */\n    public void finishAllActivityWithoutClose(){\n        while (mStack.size() > 0){\n            Activity temp = mStack.pop();\n            if (temp != null)\n                temp.finish();\n        }\n        //调用finish()之后不会立马调用onDestroy()\n        RootApplication.checkApplicationDestroy();\n        System.exit(0);\n    }\n}\n"
  },
  {
    "path": "libcore/src/main/java/com/android/libcore/activity/RootActivity.java",
    "content": "package com.android.libcore.activity;\n\nimport android.app.Activity;\nimport android.content.BroadcastReceiver;\nimport android.content.Context;\nimport android.content.Intent;\nimport android.content.IntentFilter;\nimport android.os.Bundle;\nimport android.support.v4.content.LocalBroadcastManager;\nimport android.support.v7.app.AppCompatActivity;\n\nimport com.android.libcore.application.RootApplication;\n\n/**\n * Description: 所有基础{@linkplain Activity}的基类，所有的Activity应该\n * 继承自该基类，以便进行context的管理、页面的管理等<br/>\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-07\n */\npublic abstract class RootActivity extends AppCompatActivity{\n\n    /** 用来在页面之间进行广播的传递 */\n    private BroadcastReceiver mReceiver = null;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        RootApplication.setInstanceRef(this);\n        ActivityManager.getInstance().addActivity(this);\n    }\n\n    @Override\n    protected void onResume() {\n        super.onResume();\n        //也要在onresume函数里面进行设置，保证弱引用一直引用当前的可见页面\n        RootApplication.setInstanceRef(this);\n    }\n\n    /**\n     * 用来在注册广播之后进行广播的接收处理\n     */\n    protected void onReceive(Context context, Intent intent){}\n\n    /**\n     * 用来注册广播\n     * @param action 需要注册广播的action\n     */\n    public void registerReceiver(String action){\n        if (mReceiver == null) {\n            mReceiver = new BroadcastReceiver() {\n                @Override\n                public void onReceive(Context context, Intent intent) {\n                    RootActivity.this.onReceive(context, intent);\n                }\n            };\n        }\n\n        IntentFilter filter = new IntentFilter(action);\n        LocalBroadcastManager.getInstance(this).registerReceiver(mReceiver, filter);\n    }\n\n    /**\n     * 发送应用内部广播\n     */\n    protected final void sendLocalBroadcast(String action){\n        LocalBroadcastManager.getInstance(this).sendBroadcast(new Intent(action));\n    }\n\n    @Override\n    protected void onDestroy() {\n        super.onDestroy();\n        if (mReceiver != null)\n            LocalBroadcastManager.getInstance(this).unregisterReceiver(mReceiver);\n        ActivityManager.getInstance().removeActivity(this);\n        //每次在activity销毁的时候调用该函数来检测应用是否被销毁\n        RootApplication.checkApplicationDestroy();\n    }\n}\n"
  },
  {
    "path": "libcore/src/main/java/com/android/libcore/activity/RootFragment.java",
    "content": "package com.android.libcore.activity;\n\n\nimport android.content.BroadcastReceiver;\nimport android.content.Context;\nimport android.content.Intent;\nimport android.content.IntentFilter;\nimport android.os.Bundle;\nimport android.support.annotation.Nullable;\nimport android.support.v4.app.Fragment;\nimport android.view.View;\n\n/**\n * Description: 所有基础{@linkplain Fragment}的基类<br/>\n * <a href=http://blog.csdn.net/u012403246/article/details/46371643>从今天开始抛弃Fragment吧</a><br/>\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-08\n */\npublic abstract class RootFragment extends Fragment{\n    protected BroadcastReceiver mReceiver;\n    protected View mViewContainer;\n    private Boolean mIsNeedUnRegister = false;\n\n    @Override\n    public void onCreate(@Nullable Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        mReceiver = new BroadcastReceiver() {\n            @Override\n            public void onReceive(Context context, Intent intent) {\n                this.onReceive(context, intent);\n            }\n        };\n    }\n\n    protected void onReceive(Context context, Intent intent){}\n\n    protected void registerReceiver(String action){\n        IntentFilter filter = new IntentFilter(action);\n        getActivity().registerReceiver(mReceiver, filter);\n        mIsNeedUnRegister = true;\n    }\n\n    @Override\n    public void onDestroy() {\n        super.onDestroy();\n        if (mIsNeedUnRegister)\n            getActivity().unregisterReceiver(mReceiver);\n    }\n}\n"
  },
  {
    "path": "libcore/src/main/java/com/android/libcore/application/RootApplication.java",
    "content": "package com.android.libcore.application;\n\n\nimport android.app.AlarmManager;\nimport android.app.Application;\nimport android.app.PendingIntent;\nimport android.content.Context;\nimport android.content.Intent;\n\nimport com.android.libcore.cachemanager.CacheManager;\nimport com.android.libcore.activity.ActivityManager;\nimport com.android.libcore.utils.FileUtils;\n\nimport java.lang.ref.WeakReference;\nimport java.util.HashMap;\n\n/**\n * Description: {@linkplain Application}基类，不要忘记在manifest文件中设置application的\n * android:name，应用的application应该继承自该基类\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-07\n */\npublic class RootApplication extends Application{\n\n    /** 是否是调试模式，统一使用该全局的debug变量 */\n    public static final boolean DEBUG = true;\n\n    /** 用来保存当前该Application的context */\n    private static Context instance;\n    /** 用来保存最新打开页面的context */\n    private volatile static WeakReference<Context> instanceRef = null;\n    /** 用来存放一些在软件启动生命周期之内需要存放的变量和数据，但存放的数据量不宜过大，\n     * 如果需要存放过大的数据，请在使用完之后，立马清除，还有一点需要注意的是该maps可\n     * 能会因为应用在后台，手机内存不足而被回收，回收之后该maps会被清空!!*/\n    public static HashMap<String, Object> appMaps;\n\n    @Override\n    public void onCreate() {\n        super.onCreate();\n        instance = this;\n        appMaps = new HashMap<>();\n        //设置默认崩溃处理，如需使用，不注释即可\n//        Thread.setDefaultUncaughtExceptionHandler(new MyExceptionHandler());\n    }\n\n\n    /**\n     * 该函数用来返回一个context，一般情况下为当前activity的context，如果为空，\n     * 就会调用{@linkplain ActivityManager#getActivity()}方法去获取栈顶context,\n     * 但是如果activity没有调用 {@link #setInstanceRef(Context)}方法去设置context,\n     * 就会使用整个Application的context，相当于{@link #getApplicationContext()},\n     * 不推荐使用该方法，特别是耗时任务，因为会导致页面销毁时，任务无法回收，导致内存泄露和\n     * 其他异常\n     *\n     * @return context上下文，如果返回Null检测manifest文件是否设置了application的name\n     */\n    public static Context getInstance(){\n        if (instanceRef == null || instanceRef.get() == null){\n            synchronized (RootApplication.class) {\n                if (instanceRef == null || instanceRef.get() == null) {\n                    Context context = ActivityManager.getInstance().getActivity();\n                    if (context != null)\n                        instanceRef = new WeakReference<>(context);\n                    else {\n                        instanceRef = new WeakReference<>(instance);\n                    }\n                }\n            }\n        }\n        return instanceRef.get();\n    }\n\n    /**\n     * 将{@link #instanceRef}设置为最新页面的context\n     * @param context 最新页面的context\n     */\n    public static void setInstanceRef(Context context){\n        instanceRef = new WeakReference<>(context);\n    }\n\n    /**\n     * 检测应用是否退出，并且在应用退出的时候做相关的处理\n     */\n    public static void checkApplicationDestroy(){\n        //应用被关闭，删除需要删除的相关目录和文件\n        if (ActivityManager.getInstance().getActivity() == null){\n            CacheManager.removeTemporary();\n            FileUtils.clearExternalStorageTemp();\n        }\n    }\n\n    /**\n     * 处理崩溃异常，并且在崩溃异常之后重启<br/>\n     * <strong>Android对待所有传递给Context.startActivity()的 隐式intent好像它们至少包含\n     * \"android.intent.category.DEFAULT\"（对应CATEGORY_DEFAULT常量）。\n     * 因此，活动想要接收隐式intent必须要在intent过滤器中包含\"android.intent.category.DEFAULT\"</strong>\n     */\n    private class MyExceptionHandler implements Thread.UncaughtExceptionHandler {\n\n        @Override\n        public void uncaughtException(Thread thread, Throwable ex) {\n            //启动首页\n            Intent intent = new Intent();\n            intent.setAction(\"android.intent.action.MAIN\");\n            intent.addCategory(\"android.intent.category.LAUNCHER\");\n            intent.addCategory(\"com.android.framework.MAINPAGE\");\n            PendingIntent restartIntent = PendingIntent.getActivity(getInstance(), 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);\n            //退出程序\n            AlarmManager mgr = (AlarmManager) getSystemService(Context.ALARM_SERVICE);\n            mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 1000, restartIntent);\n\n            ActivityManager.getInstance().finishAllActivityWithoutClose();\n        }\n    }\n}\n"
  },
  {
    "path": "libcore/src/main/java/com/android/libcore/cachemanager/CacheManager.java",
    "content": "package com.android.libcore.cachemanager;\n\nimport android.content.Context;\nimport android.content.SharedPreferences;\nimport android.os.Build;\n\nimport com.android.libcore.application.RootApplication;\nimport com.android.libcore.log.L;\n\nimport java.util.ArrayList;\nimport java.util.LinkedHashSet;\nimport java.util.Set;\n\n/**\n * Description: 使用SharedPreferences来保存对象，SharedPreference可以使用两种存储方式存储：\n * <ul>\n *     <li>\n *         一种是存储进临时SharedPreference中，{@link #setTemporary(String, Object)}，读取使用\n *         {@link #getTemporary(String, Class, Object)} 来读取固定类型或者{@link #getTemporarySet(String, Class)}\n *         函数来读取特定类型的集合，这种类型的存储会在应用退出之后全部删除\n *     </li>\n *     <li>\n *         一种是存储进永久的SharedPreference中，{@link #setPermanent(String, Object)}，读取使用\n *         {@link #getPermanent(String, Class, Object)}来读取固定类型或者{@link #getPermanentSet(String, Class)}\n *         方法来读取特定类型集合，存储之后永久保存\n *     </li>\n * </ul>\n *\n * <strong>记住如果要保存一个不是基本类型的对象，那么该对象的类一定要继承自{@link ParseObject}虚类,\n * 并且该类要有空参构造函数，并且如果该实体类作为一个内部类，则需要定义为static，因为非静态内部类实例化\n * 一定要靠外部类的对象，会导致{@link InstantiationException}</strong>\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-23\n */\npublic class CacheManager {\n\n    /** 临时SharedPreference，当退出应用之后会主动删除 */\n    public static String TEMPORARY = \"temporary\";\n    /** 永久SharedPreference，退出应用不会主动删除 */\n    public static String PERMANENT = \"permanent\";\n\n    private static void setValue(SharedPreferences sp, String key, Object value){\n        SharedPreferences.Editor editor = sp.edit();\n        if (value instanceof Boolean){\n            editor.putBoolean(key, (Boolean) value);\n        }else if (value instanceof Float){\n            editor.putFloat(key, (Float) value);\n        }else if (value instanceof Integer){\n            editor.putInt(key, (Integer) value);\n        }else if (value instanceof Long){\n            editor.putLong(key, (Long) value);\n        }else if (value instanceof String){\n            editor.putString(key, (String) value);\n        }else if (value instanceof Set<?>){\n            if ((((Set<?>)value).toArray())[0] instanceof String){\n                if (Build.VERSION.SDK_INT < 11){\n                    L.e(CacheManager.class.getSimpleName() + \" 版本不支持String set\");\n                    return;\n                }\n                editor.putStringSet(key, (Set<String>) value);\n            }else{\n                //如果以不是string集合的方式存储进SharedPreference则将其以\"|\"分割线的模式分割成\n                //一个String子串存储，取时注意要以\"||\"分割成String集合进行对象的重组\n                String putValue = \"\";\n                Object[] objects = ((Set<?>)value).toArray();\n                for (Object object : objects){\n                    putValue += object.toString()+\"||\";\n                }\n                editor.putString(key, putValue);\n            }\n        }else{\n            editor.putString(key, value.toString());\n        }\n        editor.commit();\n    }\n\n    private static <T>T getValue(SharedPreferences sp, String key, Class<T> clazz, T defaultValue){\n        Object returnValue = null;\n        if (clazz == Boolean.class){\n            returnValue = sp.getBoolean(key, (Boolean) defaultValue);\n        }else if (clazz == Float.class){\n            returnValue = sp.getFloat(key, (Float) defaultValue);\n        }else if (clazz == Integer.class){\n            returnValue = sp.getInt(key, (Integer) defaultValue);\n        }else if (clazz == Long.class){\n            returnValue = sp.getLong(key, (Long) defaultValue);\n        }else if (clazz == String.class){\n            returnValue = sp.getString(key, (String) defaultValue);\n        }else{\n            if (ParseObject.class.isAssignableFrom(clazz)){\n                String value = sp.getString(key, null);\n                if (value != null){\n                    try {\n                        T temp = clazz.newInstance();\n                        ((ParseObject)temp).stringParseObject(value);\n                        return temp;\n                    } catch (Exception e){\n                        return defaultValue;\n                    }\n                }\n            }\n            return defaultValue;\n        }\n        if (returnValue == null)\n            return defaultValue;\n        return (T) returnValue;\n    }\n\n    private static <T>Set<T> getValueSet(SharedPreferences sp, String key, Class<T> clazz){\n        if (clazz == String.class){\n            if (Build.VERSION.SDK_INT < 11){\n                L.e(CacheManager.class.getSimpleName() + \" 版本不支持String set\");\n                return null;\n            }\n            return (Set<T>) sp.getStringSet(key, null);\n        }else{\n            if (ParseObject.class.isAssignableFrom(clazz)){\n                String value = sp.getString(key, null);\n                if (value != null) {\n                    //要用转义符\n                    String[] values = value.split(\"\\\\|\\\\|\");\n                    LinkedHashSet<T> lists = new LinkedHashSet<>();\n                    for (String string : values){\n                        try {\n                            T temp = null;\n                            temp = clazz.newInstance();\n                            ((ParseObject)temp).stringParseObject(string);\n                            lists.add(temp);\n                        } catch (Exception e){\n                            e.printStackTrace();\n                        }\n                    }\n                    return lists;\n                }\n            }\n            return null;\n        }\n    }\n\n    /**\n     * 设置临时变量\n     */\n    public static void setTemporary(String key, Object value){\n        SharedPreferences sp = RootApplication.getInstance().getSharedPreferences(TEMPORARY, Context.MODE_PRIVATE);\n        setValue(sp, key, value);\n    }\n\n    /**\n     * 获取临时变量\n     * @param key 键\n     * @param clazz 获取临时变量的类型\n     * @param defaultValue 当取出失败时返回的默认值\n     */\n    public static <T>T getTemporary(String key, Class<T> clazz, T defaultValue){\n        SharedPreferences sp = RootApplication.getInstance().getSharedPreferences(TEMPORARY, Context.MODE_PRIVATE);\n        return getValue(sp, key, clazz, defaultValue);\n    }\n\n    /**\n     * 返回指定对象的数据集合\n     */\n    public static <T>Set<T> getTemporarySet(String key, Class<T> clazz){\n        SharedPreferences sp = RootApplication.getInstance().getSharedPreferences(TEMPORARY, Context.MODE_PRIVATE);\n        return getValueSet(sp, key, clazz);\n    }\n\n    public static void setPermanent(String key, Object value){\n        SharedPreferences sp = RootApplication.getInstance().getSharedPreferences(PERMANENT, Context.MODE_PRIVATE);\n        setValue(sp, key, value);\n    }\n\n    public static <T>T getPermanent(String key, Class<T> clazz, T defaultValue){\n        SharedPreferences sp = RootApplication.getInstance().getSharedPreferences(PERMANENT, Context.MODE_PRIVATE);\n        return getValue(sp, key, clazz, defaultValue);\n    }\n\n    public static <T>Set<T> getPermanentSet(String key, Class<T> clazz){\n        SharedPreferences sp = RootApplication.getInstance().getSharedPreferences(PERMANENT, Context.MODE_PRIVATE);\n        return getValueSet(sp, key, clazz);\n    }\n\n    /** 清空临时SharedPreference */\n    public static void removeTemporary(){\n        L.i(\"application close remove temporary\");\n        SharedPreferences sp = RootApplication.getInstance().getSharedPreferences(TEMPORARY, Context.MODE_PRIVATE);\n        SharedPreferences.Editor editor = sp.edit();\n        editor.clear();\n        editor.commit();\n    }\n\n    /**\n     * 如果需要存储一个非String集合，那么集合里面的对象类必须继承该虚类，完成String到Object的转换\n     */\n    public static abstract class ParseObject{\n        public abstract void stringParseObject(String value);\n    }\n}\n"
  },
  {
    "path": "libcore/src/main/java/com/android/libcore/database/BaseDB.java",
    "content": "package com.android.libcore.database;\n\nimport android.content.ContentValues;\nimport android.database.Cursor;\nimport android.database.sqlite.SQLiteDatabase;\nimport android.database.sqlite.SQLiteOpenHelper;\n\nimport com.android.libcore.application.RootApplication;\nimport com.android.libcore.log.L;\n\nimport java.util.ArrayList;\nimport java.util.HashMap;\nimport java.util.Map;\n\n/**\n * Description: 基本数据库类，所有的数据库类都应该继承自该类<br/>\n * 应该注意的地方是：如果新版本修改了数据库，请在增加version版本号，并且在\n * {@link #onDBUpgrade(SQLiteDatabase, int, int)}函数里增加相应的版本升级工作<br/>\n *\n * 每次数据库的操作请加上事务，开始操作时请调用{@link #beginTransaction()}，如果操作成功调用\n * {@link #setTransactionSuccessful()}，操作完成调用{@link #endTransaction()}，还有一定\n * 要记住最后调用{@link #close()}方法关闭数据库，使用try-catch-finally结构操作<br/>\n *\n * <strong>注意：表的创建请在名字后面加上版本，如版本为1的cache表名为<em>cache_1</em></strong>\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-20\n */\npublic abstract class BaseDB {\n\n    /** 数据库锁 */\n    private final Byte[] lock = new Byte[0];\n    /** 打开数据库超时时间 */\n    private final int TIME_OUT = 30*1000;\n    /** 当前操作的表 */\n    private String mTable;\n\n    private DataBaseHelper mHelper;\n    protected SQLiteDatabase mDb;\n\n    public BaseDB(IBaseDBTable table, boolean writable){\n        this.mTable = table.getTableName()+\"_\"+getDBVersion();\n        mHelper = new DataBaseHelper();\n        if (writable)\n            mDb = mHelper.getWritableDatabase();\n        else\n            mDb = mHelper.getReadableDatabase();\n    }\n\n    /**\n     * 获取数据库的名字\n     */\n    protected abstract String getDBName();\n\n    /**\n     * 获取数据库的版本，注意该版本只增不减\n     */\n    protected abstract int getDBVersion();\n\n    /**\n     * 数据库的创建\n     */\n    protected abstract void onDBCreate(SQLiteDatabase db);\n\n    /**\n     * 如果应用程序版本号大于本地版本库，会产生升级动作，该函数只需要处理数据库表的变更即可，不需要进行名字的更改，\n     * 注意该函数使用的是逐步升级版本的操作，比如本地数据库版本为1，升级到3版本，会迭代先升级到2版本，再从2版本升\n     * 级到3版本，<strong>升级时的版本号仍然为旧版本号</strong>，所以该函数要详细写清楚每个版本之间的差异，\n     * 并且处理每个版本之间的升级任务，该升级操作会在数据库的第一个操作检测到数据库版本不一致时进行升级\n     */\n    protected abstract void onDBUpgrade(SQLiteDatabase db, int oldVersion, int newVersion);\n\n    /**\n     * 开始事务\n     */\n    public void beginTransaction(){\n        if (mDb != null && !mDb.inTransaction()){\n            try {\n                mDb.beginTransaction();\n            }catch (Exception e){\n                e.printStackTrace();\n            }\n        }\n    }\n\n    /**\n     * 事务成功\n     */\n    public void setTransactionSuccessful(){\n        if (mDb != null && mDb.inTransaction()){\n            try {\n                mDb.setTransactionSuccessful();\n            }catch (Exception e){\n                e.printStackTrace();\n            }\n        }\n    }\n\n    /**\n     * 结束事务\n     */\n    public void endTransaction(){\n        if (mDb != null && mDb.inTransaction()){\n            try {\n                mDb.endTransaction();\n            }catch (Exception e){\n                e.printStackTrace();\n            }\n        }\n    }\n\n    /**\n     * 关闭数据库\n     */\n    public void close(){\n        if (mDb != null && mDb.isOpen())\n            mDb.close();\n    }\n\n    /**\n     * 获取表中所有的条目\n     */\n    public int getCount(){\n        return getCount(null, null);\n    }\n\n    /**\n     * 获取表中符合该条件的表的条目数\n     */\n    public int getCount(String selection, String[] selectionArgs){\n        int count = 0;\n        Cursor cursor = null;\n        try {\n            cursor = mDb.query(mTable, new String[]{\"count(*)\"}, selection, selectionArgs, null, null, null);\n            if (cursor.moveToNext()){\n                count = cursor.getInt(0);\n            }\n        }catch (Exception e){\n            e.printStackTrace();\n        }finally {\n            if (cursor != null){\n                try {\n                    cursor.close();\n                }catch (Exception e1){\n                    e1.printStackTrace();\n                }\n            }\n        }\n        return count;\n    }\n\n    /**\n     * 增\n     */\n    public long insert(HashMap<String, String> map, boolean replace){\n        getCount();\n        long count = 0;\n        synchronized (lock){\n            try {\n                if (!replace)\n                    count = mDb.insert(mTable, null, parseHashMapToContentValues(map));\n                else\n                    count = mDb.replace(mTable, null, parseHashMapToContentValues(map));\n            }catch (Exception e){\n                e.printStackTrace();\n                count = -1;\n            }\n        }\n        return count;\n    }\n\n    /**\n     * 删\n     */\n    public long delete(String selection, String[] selectionArgs){\n        long count = 0;\n        synchronized (lock){\n            try {\n                count = mDb.delete(mTable, selection, selectionArgs);\n            }catch (Exception e){\n                e.printStackTrace();\n                count = -1;\n            }\n        }\n        return count;\n    }\n\n    /**\n     * 改<br/>\n     * 使用范例：如果需要将带\"shangh\"开头的城市的人数字段都变成0，函数就可以这么调用:\n     * update(hashmap({\"people\", \"0\"}), \"city like ?\", \"new String[]{\"shangh\"}\")\n     */\n    public long update(HashMap<String, String> maps, String whereClause, String[] whereArgs){\n        long count = 0;\n        synchronized (lock) {\n            try {\n                count = mDb.update(mTable, parseHashMapToContentValues(maps), whereClause, whereArgs);\n            }catch (Exception e){\n                e.printStackTrace();\n                count = -1;\n            }\n        }\n        return count;\n    }\n\n    /**\n     * 查\n     */\n    public ArrayList<HashMap<String, String>> query(){\n       return query(null, null);\n    }\n\n    /**\n     * 查\n     */\n    public ArrayList<HashMap<String, String>> query(String selection, String[] selectionArgs){\n        return query(selection, selectionArgs, null, null, null, null);\n    }\n\n    /**\n     * 查<br/>\n     * 使用范例:query(\"city like ? or city=?\", new String[]{\"shangh\", \"beijing\"}, \"district\", \"sum(people)>10\", \"GDP\", \"1000\")，\n     * 作用为查找城市中像\"shangh\"和等于beijing的城市，并且按照district排序，统计所有区总人数大于10万，并且区之间按照GDP排序，显示前1000条信息，该函数的\n     * 使用与正常的sql语句一样\n     */\n    public ArrayList<HashMap<String, String>> query(String selection, String[] selectionArgs,\n                                                    String groupBy, String having, String orderBy, String limit){\n        ArrayList<HashMap<String, String>> result = new ArrayList<>();\n        synchronized (lock){\n            try {\n                Cursor cursor = mDb.query(mTable, null, selection, selectionArgs, groupBy, having, orderBy, limit);\n                int length = cursor.getColumnCount();\n                while (cursor.moveToNext()){\n                    HashMap<String, String> value = new HashMap<>();\n                    for (int i=0; i<length; i++){\n                        value.put(cursor.getColumnName(i), cursor.getString(i));\n                    }\n                    result.add(value);\n                }\n                if (result.size() == 0)\n                    result = null;\n            }catch (Exception e){\n                e.printStackTrace();\n                result = null;\n            }\n        }\n        return result;\n    }\n\n    private ContentValues parseHashMapToContentValues(HashMap<String, String> map){\n        ContentValues values = new ContentValues();\n        for (Map.Entry<String, String> entry : map.entrySet()) {\n            values.put(entry.getKey(), entry.getValue());\n        }\n        return values;\n    }\n\n    /**\n     * 数据库封装类\n     */\n    private class DataBaseHelper extends SQLiteOpenHelper{\n\n        public DataBaseHelper() {\n            super(RootApplication.getInstance(), getDBName(), null, getDBVersion());\n        }\n\n        @Override\n        public SQLiteDatabase getReadableDatabase() {\n            SQLiteDatabase db = null;\n            synchronized (lock){\n                boolean retry = false;\n                long time = System.currentTimeMillis();\n                do {\n                    retry = false;\n                    try {\n                        db = super.getReadableDatabase();\n                    }catch (Exception e){\n                        L.e(e);\n                        retry = true;\n                        //休眠一个随机时间防止线程并发\n                        try {\n                            Thread.sleep((long) (3*1000+Math.random()*1000));\n                        }catch (InterruptedException e1){\n                            L.e(e1);\n                        }\n                    }\n                }while (retry && ((System.currentTimeMillis()-time)<TIME_OUT));\n            }\n            return db;\n        }\n\n        @Override\n        public SQLiteDatabase getWritableDatabase() {\n            SQLiteDatabase db = null;\n            synchronized (lock){\n                boolean retry = false;\n                long time = System.currentTimeMillis();\n                do {\n                    retry = false;\n                    try {\n                        db = super.getWritableDatabase();\n                    }catch (Exception e){\n                        L.e(e);\n                        retry = true;\n                        //休眠一个随机时间防止线程并发\n                        try {\n                            Thread.sleep((long) (3*1000+Math.random()*1000));\n                        }catch (InterruptedException e1){\n                            L.e(\"error in interrupt\", e1);\n                        }\n                    }\n                }while (retry && ((System.currentTimeMillis()-time)<TIME_OUT));\n            }\n            return db;\n        }\n\n        @Override\n        public void onCreate(SQLiteDatabase db) {\n            onDBCreate(db);\n        }\n\n        @Override\n        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {\n            if (oldVersion < newVersion){\n                //删除掉数据库中的异常新版本，防止升级出错\n                removeNewTables(db, oldVersion+1);\n                //升级版本\n                onDBUpgrade(db, oldVersion, oldVersion+1);\n                //等待升级任务完成之后再去修改版本号\n                renameOldTables(db, oldVersion, oldVersion+1);\n                oldVersion ++;\n                //递归的版本升级\n                onUpgrade(db, oldVersion, newVersion);\n                //最后应该将数据库中的旧表清除\n                if (oldVersion == newVersion)\n                    clearOldTables(db, newVersion);\n            }\n        }\n\n        /**\n         * 获取该数据库中的所有表\n         */\n        private ArrayList<String> getTables(SQLiteDatabase db){\n            ArrayList<String> tables = new ArrayList<>();\n            Cursor cursor = db.rawQuery(\"select * from sqlite_master where type = 'table'\", null);\n            while (cursor.moveToNext()){\n                String[] cols = cursor.getColumnNames();\n                for (int i = 0; i < cols.length; i++) {\n                    if (cols[i].equals(\"tbl_name\")){\n                        String name = cursor.getString(i);\n                        //排除sqlite_master表\n                        if (name.length() < 7 || (!name.substring(0, 7).equals(\"sqlite_\"))) {\n                            tables.add(name);\n                        }\n                    }\n                }\n            }\n            return tables;\n        }\n\n        /**\n         * 删除所有异常新版本库，保证当前数据的表都为旧版本\n         * @param version 需要删除的版本\n         */\n        private void removeNewTables(SQLiteDatabase db, int version){\n            ArrayList<String> tables = getTables(db);\n            String suffix = \"_\"+version;\n            for (String table : tables){\n                if (table.substring(table.length()-suffix.length()).equals(suffix)){\n                    db.rawQuery(\"drop table if exists \" + table, null);\n                }\n            }\n        }\n\n        /**\n         * 将旧版本的表名后面的版本号修改成新版本号\n         */\n        private void renameOldTables(SQLiteDatabase db, int oldVersion, int newVersion){\n            String oldSuffix = \"_\"+oldVersion;\n            String newSuffix = \"_\"+newVersion;\n            ArrayList<String> tables = getTables(db);\n            for (String table : tables){\n                if (table.substring(table.length()-oldSuffix.length()).equals(oldSuffix)){\n                    db.execSQL(\"alter table \" + table + \" rename to \" + table.replace(oldSuffix, newSuffix));\n                }\n            }\n        }\n\n        /**\n         * 清除所有的旧表\n         */\n        private void clearOldTables(SQLiteDatabase db, int newVersion){\n            ArrayList<String> tables = getTables(db);\n            String suffix = \"_\"+newVersion;\n            for (String table : tables){\n                //如果数据库中存在不是新版本的表，删除\n                if (!table.substring(table.length()-suffix.length()).equals(suffix)){\n                    db.rawQuery(\"drop table if exists \" + table, null);\n                }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "libcore/src/main/java/com/android/libcore/database/BaseDBHelper.java",
    "content": "package com.android.libcore.database;\n\nimport java.util.ArrayList;\nimport java.util.HashMap;\n\n/**\n * Description: 所有数据库操作的操作封装类，在此可以封装单次的插入操作，也可以封装大量数据的一次插入，\n * 其他类只能通过helper的子类进行数据库的操作，不能直接操作数据库，每一个数据库对应一个数据库helper，\n * 这样就能够保证数据库访问的统一性，以便以后的数据库修改，继承自该helper类之后也可增加方法去操作\n * {@link #mDb}\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-21\n */\npublic abstract class BaseDBHelper {\n    protected BaseDB mDb;\n    protected IBaseDBTable mTable;\n\n    /** 初始化插入数据库 */\n    protected abstract void initInsertDB();\n    /** 初始化删除数据库 */\n    protected abstract void initDeleteDB();\n    /** 初始化更改数据库 */\n    protected abstract void initUpdateDB();\n    /** 初始化查询数据库 */\n    protected abstract void initQueryDB();\n\n    /**\n     * 单次插入\n     * @param map 单次插入的一行数据\n     */\n    protected long insert(HashMap<String, String> map, boolean replace){\n        initInsertDB();\n        if (mDb == null)\n            return 0;\n        long count = -1;\n        try {\n            mDb.beginTransaction();\n            count = mDb.insert(map, replace);\n            mDb.setTransactionSuccessful();\n        }catch (Exception e){\n            e.printStackTrace();\n        }finally {\n            mDb.endTransaction();\n            mDb.close();\n        }\n        return count;\n    }\n\n    /**\n     * 大量数据的插入\n     * @param maps 需要插入的数据集\n     * @return 成功插入的数量\n     */\n    protected long insertAll(ArrayList<HashMap<String, String>> maps, boolean replace){\n        initInsertDB();\n        if (mDb == null)\n            return 0;\n        long count = 0;\n        try {\n            mDb.beginTransaction();\n            for (HashMap<String, String> map : maps) {\n                count ++;\n                mDb.insert(map, replace);\n            }\n            mDb.setTransactionSuccessful();\n        }catch (Exception e){\n            e.printStackTrace();\n        }finally {\n            mDb.endTransaction();\n            mDb.close();\n        }\n        return count;\n    }\n\n    /**\n     * 删除\n     */\n    protected long delete(String selection, String[] selectionArgs){\n        initDeleteDB();\n        if (mDb == null)\n            return 0;\n        long count = -1;\n        try {\n            mDb.beginTransaction();\n            count = mDb.delete(selection, selectionArgs);\n            mDb.setTransactionSuccessful();\n        }catch (Exception e){\n            e.printStackTrace();\n        }finally {\n            mDb.endTransaction();\n            mDb.close();\n        }\n        return count;\n    }\n\n    /**\n     * 修改\n     */\n    protected long update(HashMap<String, String> maps, String whereClause, String[] whereArgs){\n        initUpdateDB();\n        if (mDb == null)\n            return 0;\n        long count = -1;\n        try {\n            mDb.beginTransaction();\n            count = mDb.update(maps, whereClause, whereArgs);\n            mDb.setTransactionSuccessful();\n        }catch (Exception e){\n            e.printStackTrace();\n        }finally {\n            mDb.endTransaction();\n            mDb.close();\n        }\n        return count;\n    }\n\n    protected ArrayList<HashMap<String, String>> query(String selection, String[] selectionArgs,\n                                                                String groupBy, String having, String orderBy, String limit){\n        initQueryDB();\n        if (mDb == null)\n            return null;\n        ArrayList<HashMap<String, String>> result = null;\n        try {\n            mDb.beginTransaction();\n            result = mDb.query(selection, selectionArgs, groupBy, having, orderBy, limit);\n            mDb.setTransactionSuccessful();\n        }catch (Exception e){\n            e.printStackTrace();\n        }finally {\n            mDb.endTransaction();\n            mDb.close();\n        }\n        return result;\n    }\n}\n"
  },
  {
    "path": "libcore/src/main/java/com/android/libcore/database/IBaseDBTable.java",
    "content": "package com.android.libcore.database;\n\nimport java.util.ArrayList;\n\n/**\n * Description: 所有数据库DB类应该声明一个枚举类，用来封装该数据库中的所有表名，\n * 和表的相关列名，这样将表名和列名封装起来，外部使用封装之后的枚举进行操作\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-22\n */\npublic interface IBaseDBTable {\n    /**\n     * 用来返回表名\n     */\n    String getTableName();\n\n    /**\n     * 用来返回该表中所有的列名\n     */\n    ArrayList<String> getTableColumns();\n}\n"
  },
  {
    "path": "libcore/src/main/java/com/android/libcore/dialog/BaseDialog.java",
    "content": "package com.android.libcore.dialog;\n\nimport android.app.Dialog;\nimport android.content.Context;\nimport android.view.View;\n\nimport java.util.ArrayList;\n\n/**\n * Description: 最基础的dialog类，用来统一dialog的功能，该dialog可以添加多个按钮，按钮的顺序\n * 和添加按钮顺序一致，所以请按照需要显示的顺序要添加按钮\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-16\n */\npublic abstract class BaseDialog extends Dialog{\n    /** 用来标识确定按钮的回调id */\n    public static final int POSITIVE_LISTENER = 0;\n    /** 用来标识否定按钮的回调id */\n    public static final int NEGATIVE_LISTENER = 1;\n    /** 用来标识中间按钮的回调id */\n    public static final int NEUTRAL_LISTENER = 2;\n    /** 用来标示是否有title */\n    protected boolean mHasTitle = false;\n    /** 其他按钮的id */\n    protected ArrayList<Integer> mIds = new ArrayList<>();\n    protected ButtonClickListener mListener;\n\n    public BaseDialog(Context context, int theme) {\n        super(context, theme);\n        mIds.add(POSITIVE_LISTENER);\n        mIds.add(NEGATIVE_LISTENER);\n        mIds.add(NEUTRAL_LISTENER);\n    }\n\n    /**\n     * 检测按钮id是否合法\n     * @return 合法返回true\n     */\n    protected boolean checkIllegalId(int id){\n        return !mIds.contains(id);\n    }\n\n    /**\n     * 设置dialog的title\n     * @param title 标题的文字\n     */\n    public abstract BaseDialog setTitle(String title);\n\n    /**\n     * 设置dialog的title view\n     * @param title view\n     */\n    public abstract BaseDialog setTitle(View title);\n\n    /**\n     * 设置内容区域的文字\n     * @param message 内容的文字\n     */\n    public abstract BaseDialog setMessage(String message);\n\n    /**\n     * 内容区域的View\n     * @param message view\n     */\n    public abstract BaseDialog setMessage(View message);\n\n    /**\n     * 设置确定按钮的文字\n     * @param positive 文字\n     */\n    public abstract BaseDialog setPositiveButton(String positive);\n\n    /**\n     * 设置确定按钮的view\n     * @param positive view\n     */\n    public abstract BaseDialog setPositiveButton(View positive);\n\n    /**\n     * 设置取消按钮的文字\n     * @param negative 文字\n     */\n    public abstract BaseDialog setNegativeButton(String negative);\n\n    /**\n     * 设置取消按钮的view\n     * @param negative view\n     */\n    public abstract BaseDialog setNegativeButton(View negative);\n\n    /**\n     * 设置中性按钮的文字\n     * @param neutral 文字\n     */\n    public abstract BaseDialog setNeutralButton(String neutral);\n\n    /**\n     * 设置中性按钮的view\n     * @param neutral view\n     * @return\n     */\n    public abstract BaseDialog setNeutralButton(View neutral);\n\n    /**\n     * 增加一个按钮\n     * @param other 按钮的文字\n     * @param other_listener 按钮的点击回调id\n     */\n    public abstract BaseDialog addOtherButton(String other, int other_listener);\n\n    /**\n     * 增加一个按钮\n     * @param other 按钮的view\n     * @param other_listener 按钮的点击回调id\n     */\n    public abstract BaseDialog addOtherButton(View other, int other_listener);\n\n    /**\n     * 设置dialog的按钮点击回调\n     */\n    public BaseDialog setOnButtonClickListener(ButtonClickListener listener){\n        this.mListener = listener;\n        return this;\n    }\n\n    /**\n     * 设置dialog显示的位置\n     * @param gravity Gravity类的变量\n     */\n    public abstract BaseDialog setGravity(int gravity);\n\n    /**\n     * 设置dialog显示的具体位置，相对于原位置而言，比如：x为负数代表向左，正数代表向右\n     * @param x x坐标，0代表使用原位置\n     * @param y y坐标，0代表使用原位置\n     */\n    public abstract BaseDialog setPosition(int x, int y);\n\n    /**\n     * 设置宽度，不使用默认\n     * @param width 宽度\n     */\n    public abstract BaseDialog setWidth(int width);\n\n    /**\n     * 设置高度，不使用默认\n     * @param height 高度\n     */\n    public abstract BaseDialog setHeight(int height);\n\n    /**\n     * 设置透明度\n     * @param alpha 0~1\n     */\n    public abstract BaseDialog setAlpha(float alpha);\n\n    public interface ButtonClickListener{\n        void onButtonClick(int button_id);\n    }\n}\n"
  },
  {
    "path": "libcore/src/main/java/com/android/libcore/download/DownloadDB.java",
    "content": "package com.android.libcore.download;\n\nimport android.database.sqlite.SQLiteDatabase;\n\nimport com.android.libcore.database.BaseDB;\nimport com.android.libcore.database.IBaseDBTable;\nimport com.android.libcore.log.L;\n\nimport java.util.ArrayList;\n\n/**\n * Description: 保存下载信息的数据库\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-08-05\n */\npublic class DownloadDB extends BaseDB{\n\n    public DownloadDB(IBaseDBTable table, boolean writable) {\n        super(table, writable);\n    }\n\n    @Override\n    protected String getDBName() {\n        return \"download.db\";\n    }\n\n    @Override\n    protected int getDBVersion() {\n        return 1;\n    }\n\n    @Override\n    protected void onDBCreate(SQLiteDatabase db) {\n        try {\n            db.beginTransaction();\n            String sql;\n            sql = \"create table if not exists \"+TABLES.DOWNLOAD.getTableName()+\"_\" + getDBVersion() + \" (\";\n            sql += TABLES.DOWNLOAD.getTableColumns().get(0)+\" integer not null, \";\n            sql += TABLES.DOWNLOAD.getTableColumns().get(1)+\" varchar(4000) not null default '', \";\n            sql += TABLES.DOWNLOAD.getTableColumns().get(2)+\" varchar(50) not null default '0', \";\n            sql += TABLES.DOWNLOAD.getTableColumns().get(3)+\" varchar(50) not null default '0', \";\n            sql += TABLES.DOWNLOAD.getTableColumns().get(4)+\" varchar(50) not null default '0'\";\n            sql += \")\";\n            db.execSQL(sql);\n            db.setTransactionSuccessful();\n        } catch (Exception e) {\n            L.e(getClass().getSimpleName()+\" sql语句错误\", e);\n        } finally {\n            db.endTransaction();\n        }\n    }\n\n    @Override\n    protected void onDBUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {\n\n    }\n\n    /**\n     * 将该数据库中所有的表使用枚举封装\n     */\n    public enum TABLES implements IBaseDBTable {\n        DOWNLOAD(\"download\"){\n            @Override\n            public ArrayList<String> getTableColumns() {\n                ArrayList<String> columns = new ArrayList<>();\n                columns.add(\"id\");//id\n                columns.add(\"url\");//下载url\n                columns.add(\"start_pos\");//该线程开始位置\n                columns.add(\"end_pos\");//该线程结束位置\n                columns.add(\"complete_size\");//线程当前完成的数\n                return columns;\n            }\n        };\n        private String table_name;\n        TABLES(String table_name){\n            this.table_name = table_name;\n        }\n\n        @Override\n        public String getTableName() {\n            return table_name;\n        }\n\n        @Override\n        public ArrayList<String> getTableColumns() {\n            return null;\n        }\n    }\n}\n"
  },
  {
    "path": "libcore/src/main/java/com/android/libcore/download/DownloadDBHelper.java",
    "content": "package com.android.libcore.download;\n\nimport com.android.libcore.database.BaseDBHelper;\n\nimport java.util.ArrayList;\nimport java.util.HashMap;\n\n/**\n * Description: 下载数据库帮助类\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-08-05\n */\npublic class DownloadDBHelper extends BaseDBHelper{\n\n    /**\n     * 一次性插入大量数据\n     */\n    public void insertInfos(String url, ArrayList<FileDownloadManager.DownloadInfo> infos){\n        ArrayList<String> columns = DownloadDB.TABLES.DOWNLOAD.getTableColumns();\n        ArrayList<HashMap<String, String>> lists = new ArrayList<>();\n        for (FileDownloadManager.DownloadInfo info : infos){\n            HashMap<String, String> map = new HashMap<>();\n            map.put(columns.get(0), info.id+\"\");\n            map.put(columns.get(1), url);\n            map.put(columns.get(2), info.startPos+\"\");\n            map.put(columns.get(3), info.endPos+\"\");\n            map.put(columns.get(4), info.completeSize+\"\");\n            lists.add(map);\n        }\n        insertAll(lists, true);\n    }\n\n    /**\n     * 更新该线程下载的完成度\n     */\n    public void updateInfos(String url, ArrayList<FileDownloadManager.DownloadInfo> infos){\n        ArrayList<String> columns = DownloadDB.TABLES.DOWNLOAD.getTableColumns();\n        HashMap<String, String> maps = new HashMap<>();\n\n        initUpdateDB();\n        if (mDb == null)\n            return;\n        try {\n            mDb.beginTransaction();\n            for (FileDownloadManager.DownloadInfo info : infos){\n                maps.clear();\n                maps.put(columns.get(4), info.completeSize+\"\");\n                String whereClause = columns.get(0)+\"=? and \"+columns.get(1)+\"=?\";\n                String[] whereArgs = new String[]{info.id+\"\", url};\n                mDb.update(maps, whereClause, whereArgs);\n            }\n            mDb.setTransactionSuccessful();\n        }catch (Exception e){\n            e.printStackTrace();\n        }finally {\n            mDb.endTransaction();\n            mDb.close();\n        }\n    }\n\n    /**\n     *　获取该文件下载进度信息\n     */\n    public ArrayList<HashMap<String, String>> getInfo(String url){\n        ArrayList<String> columns = DownloadDB.TABLES.DOWNLOAD.getTableColumns();\n        String selection = columns.get(1)+\"=?\";\n        String[] selectionArgs = new String[]{url};\n        return query(selection, selectionArgs, null, null, null, null);\n    }\n\n    /**\n     * 删除该url的相关下载信息\n     */\n    public void deleteInfos(String url){\n        ArrayList<String> columns = DownloadDB.TABLES.DOWNLOAD.getTableColumns();\n        String selection = columns.get(1)+\"=?\";\n        String[] selectionArgs = new String[]{url};\n        delete(selection, selectionArgs);\n    }\n\n    @Override\n    protected void initInsertDB() {\n        mDb = new DownloadDB(DownloadDB.TABLES.DOWNLOAD, true);\n    }\n\n    @Override\n    protected void initDeleteDB() {\n        mDb = new DownloadDB(DownloadDB.TABLES.DOWNLOAD, true);\n    }\n\n    @Override\n    protected void initUpdateDB() {\n        mDb = new DownloadDB(DownloadDB.TABLES.DOWNLOAD, true);\n    }\n\n    @Override\n    protected void initQueryDB() {\n        mDb = new DownloadDB(DownloadDB.TABLES.DOWNLOAD, false);\n    }\n}\n"
  },
  {
    "path": "libcore/src/main/java/com/android/libcore/download/FileDownloadManager.java",
    "content": "package com.android.libcore.download;\n\nimport android.os.Handler;\nimport android.os.Message;\n\nimport com.android.libcore.Toast.T;\nimport com.android.libcore.log.L;\nimport com.android.libcore.utils.CommonUtils;\nimport com.android.libcore.utils.FileUtils;\n\nimport java.io.File;\nimport java.io.InputStream;\nimport java.io.RandomAccessFile;\nimport java.lang.ref.WeakReference;\nimport java.net.HttpURLConnection;\nimport java.net.URL;\nimport java.util.ArrayList;\nimport java.util.HashMap;\nimport java.util.concurrent.CountDownLatch;\n\n/**\n * Description: 单个文件下载，支持断点续传，相同url的被认为为同一个文件</br>\n * {@link #start()}开启下载</br>\n * {@link #stop()}停止下载</br>\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-08-05\n */\npublic class FileDownloadManager {\n\n    /** 开启线程 */\n    private static final int STATE_START_THREADS = -1;\n    /** 更新状态 */\n    private static final int STATE_UPDATE_PROGRESS = 0;\n    /** 下载状态，正在获取文件大小 */\n    public static final int STATE_GETSIZE = 1;\n    /** 下载状态，开始下载 */\n    public static final int STATE_STARTING = 2;\n    /** 下载状态，正在停止 */\n    public static final int STATE_STOPING = 3;\n    /** 下载状态，停止成功 */\n    public static final int STATE_STOPED = 4;\n    /** 下载状态，下载完成 */\n    public static final int STATE_FINISH = 5;\n    /** 下载状态，正在删除 */\n    public static final int STATE_DELETING = 6;\n    /** 下载状态，删除成功 */\n    public static final int STATE_DELETE = 7;\n    /** 下载状态，网络错误 */\n    public static final int STATE_NET_ERROR = 8;\n    /** 下载状态，服务器错误 */\n    public static final int STATE_SERVER_ERROR = 9;\n\n    /** 当前文件的下载状态，默认为停止成功，即为下载完成，且随时可以开始下载 */\n    private int currentState = STATE_STOPED;\n\n    /** 下载一个文件所开启的线程数量 */\n    private final int THREAD_NUM = 4;\n    /** 下载一个文件的所有线程信息 */\n    private ArrayList<DownloadInfo> infos;\n    /** 开始下载线程 */\n    private Thread startDownloadThread;\n    /** 结束下载线程 */\n    private Thread stopDownloadThread;\n    /** 删除下载线程 */\n    private Thread deleteDownloadThread;\n\n    /** 下载一个文件的线程队列 */\n    private ArrayList<DownloadThread> threads;\n\n    /** 更新下载信息，更新界面线程 */\n    private UpdateThread updateThread;\n    /** 数据库操作对象 */\n    private DownloadDBHelper helper;\n    /** 该文件下载名 */\n    private String fileName;\n    /** 该文件下载的url */\n    private String url;\n    /** 该文件下载路径，默认为SD卡file目录 */\n    private String path = FileUtils.getExternalStorageFilePath();\n    /** 该文件下载的文件大小 */\n    private long fileSize = 0;\n    /** 该文件下载的完成度 */\n    private long completeSize = 0;\n    /** 通知更新进度handler */\n    private ProgressChangeHandler progressChangeHandler;\n    /** 文件下载进度更新 */\n    private IDownloadProgressChangedListener listener;\n    /** 文件的下载状态，true表示正在下载 */\n    private boolean downloadState = false;\n    /** 文件是否下载完成 */\n    private boolean isDownloadFinish = false;\n    /** 下载线程是否结束标识 */\n    private CountDownLatch countDownLatch;\n\n    /**\n     * @param url　文件下载url\n     * @param fileName 文件名，默认将会下载到sd卡file目录下\n     */\n    public FileDownloadManager(String url, String fileName){\n        this(url, fileName, null);\n    }\n\n    /**\n     * @param url 文件下载url\n     * @param fileName 文件名\n     * @param path 文件下载路径，不需要带文件名\n     */\n    public FileDownloadManager(String url, String fileName, String path){\n        this.url = url;\n        if (path != null)\n            this.path = path;\n        if (!this.path.substring(this.path.length()-1).equals(\"/\")){\n            this.path += \"/\";\n        }\n\n        //保存该文件原路径\n        this.fileName = this.path + fileName;\n\n        //将文件名字先进行md5，最后等文件下载完成之后再更改文件名字\n        String md5 = CommonUtils.md5(fileName);\n        this.path += md5;\n\n        helper = new DownloadDBHelper();\n        infos = new ArrayList<>();\n        threads = new ArrayList<>();\n        progressChangeHandler = new ProgressChangeHandler(this);\n        checkFileFinish();\n    }\n\n    /**\n     * 检测该文件是否已经下载完成\n     */\n    private boolean checkFileFinish(){\n        if (isDownloadFinish || isFileDownloadFinish(helper.getInfo(url))){\n            isDownloadFinish = true;\n            progressChangeHandler.sendEmptyMessage(STATE_FINISH);\n            return true;\n        }\n        return false;\n    }\n\n    /**\n     * 开启下载\n     */\n    public void start(){\n        if (!CommonUtils.isNetworkAvailable()){\n            progressChangeHandler.sendEmptyMessage(STATE_NET_ERROR);\n            T.getInstance().showShort(\"网络错误\");\n            return;\n        }\n\n        if (checkFileFinish()){\n            T.getInstance().showShort(\"文件已下载完成\");\n            return;\n        }\n\n        if (downloadState){\n            T.getInstance().showShort(\"已经启动下载\");\n            return;\n        }\n\n        if (currentState == STATE_STOPING){\n            T.getInstance().showShort(\"文件还未停止成功\");\n            return;\n        }\n\n        if (currentState == STATE_DELETING){\n            T.getInstance().showShort(\"文件正在删除\");\n            return;\n        }\n\n        if (currentState == STATE_DELETE){\n            T.getInstance().showShort(\"文件已删除\");\n            return;\n        }\n\n        downloadState = true;\n\n        //开启下载任务\n        startDownload(helper.getInfo(url));\n    }\n\n    /**\n     * 停止下载\n     */\n    public void stop(){\n        downloadState = false;\n        //停止更新界面线程，一定要保证最多只有一个更新线程在执行\n        if (updateThread != null && updateThread.isAlive())\n            updateThread.canRun = false;\n\n        if (checkFileFinish()){\n            T.getInstance().showShort(\"文件已下载完成\");\n            return;\n        }\n\n        if (currentState == STATE_STOPING){\n            T.getInstance().showShort(\"正在停止，稍后...\");\n            return;\n        }\n\n        if (currentState == STATE_STOPED){\n            T.getInstance().showShort(\"已停止\");\n            return;\n        }\n\n        if (currentState == STATE_DELETING){\n            T.getInstance().showShort(\"文件正在删除\");\n            return;\n        }\n\n        if (currentState == STATE_DELETE){\n            T.getInstance().showShort(\"文件已删除\");\n            return;\n        }\n\n        stopDownload();\n    }\n\n    /**\n     * 删除该文件下载的相关所有信息，成功之后，该对象将自动置为null\n     */\n    public void delete(){\n        //停止下载线程\n        downloadState = false;\n        //停止更新界面线程，一定要保证最多只有一个更新线程在执行\n        if (updateThread != null && updateThread.isAlive())\n            updateThread.canRun = false;\n\n        if (currentState == STATE_DELETING){\n            T.getInstance().showShort(\"正在删除，稍后...\");\n            return;\n        }\n\n        if (currentState == STATE_DELETE){\n            T.getInstance().showShort(\"已删除\");\n            return;\n        }\n\n        if (currentState == STATE_STOPING){\n            T.getInstance().showShort(\"正在停止，稍后...\");\n            return;\n        }\n        deleteDownload();\n    }\n\n    private void startDownload(final ArrayList<HashMap<String, String>> maps){\n        startDownloadThread = new Thread(new Runnable() {\n            @Override\n            public void run() {\n                if (stopDownloadThread!=null && stopDownloadThread.isAlive()){\n                    L.e(\"正在停止，稍后...\");\n                    return;\n                }\n\n                if (deleteDownloadThread!=null && deleteDownloadThread.isAlive()){\n                    L.e(\"文件正在删除\");\n                    return;\n                }\n\n                //如果没有下载信息，则需要创建\n                if (infos==null || infos.size()==0) {\n                    if (maps == null || maps.size() == 0) {\n                        createDownloadInfos();\n                    } else {\n                        revertDownloadInfos(maps);\n                    }\n                }\n\n                //更新文件状态为正在下载\n                progressChangeHandler.sendEmptyMessage(STATE_STARTING);\n\n                //上次的线程完成之后才能开启新的下载线程开始下载\n                threads.clear();\n                for (DownloadInfo info : infos){\n                    DownloadThread thread = new DownloadThread(info);\n                    threads.add(thread);\n                }\n                L.i(\"准备开启下载线程\");\n                //初始化多线程标识\n                countDownLatch = new CountDownLatch(THREAD_NUM);\n\n                progressChangeHandler.sendEmptyMessage(STATE_START_THREADS);\n            }\n        });\n        startDownloadThread.start();\n    }\n\n    private void stopDownload(){\n        stopDownloadThread = new Thread(new Runnable() {\n            @Override\n            public void run() {\n                if (deleteDownloadThread!=null && deleteDownloadThread.isAlive()){\n                    L.e(\"文件正在删除\");\n                    return;\n                }\n\n                stopStartThread(STATE_STOPING);\n                stopDownloadThread(STATE_STOPING);\n\n                //确保开始线程和下载线程都已经执行完成之后才能将状态修改为停止成功\n                progressChangeHandler.sendEmptyMessage(STATE_STOPED);\n            }\n        });\n        stopDownloadThread.start();\n    }\n\n    private void deleteDownload(){\n        deleteDownloadThread = new Thread(new Runnable() {\n            @Override\n            public void run() {\n                if (stopDownloadThread!=null && stopDownloadThread.isAlive()){\n                    L.e(\"正在停止，稍后...\");\n                    return;\n                }\n\n                stopStartThread(STATE_DELETING);\n                stopDownloadThread(STATE_DELETING);\n\n                //确保开始线程，停止线程和下载线程都已经执行完成之后才能开始删除下载的相关信息\n                helper.deleteInfos(url);\n                File file = new File(path);\n                if (file.exists()){\n                    file.delete();\n                }else{\n                    L.w(\"FileDownloadManager deleteDownload file not exist\");\n                }\n                progressChangeHandler.sendEmptyMessage(STATE_DELETE);\n            }\n        });\n        deleteDownloadThread.start();\n    }\n\n    /**\n     * 停止开始线程\n     */\n    private void stopStartThread(int sendState){\n        boolean state;\n        do {\n            //如果开始线程还未停止，比如用户摁完开始下载之后快速摁停止下载或删除，\n            // 这时需要更新状态，直到开始线程完成\n            state = (startDownloadThread!=null&&startDownloadThread.isAlive());\n            L.i(\"开始线程还未结束\");\n            try {\n                Thread.sleep(100);\n            } catch (InterruptedException e) {\n                e.printStackTrace();\n            }\n            progressChangeHandler.sendEmptyMessage(sendState);\n        }while (state);\n    }\n\n    /**\n     * 停止下载线程\n     */\n    private void stopDownloadThread(int sendState){\n        boolean state;\n\n        //检测下载线程，确保下载线程要全部执行完成\n        state = threads.size()>0;\n        while(state){\n            state = countDownLatch.getCount()>0;\n            try {\n                Thread.sleep(100);\n            } catch (InterruptedException e) {\n                e.printStackTrace();\n            }\n            //还有线程在执行，所以状态还需要相应变更\n            progressChangeHandler.sendEmptyMessage(sendState);\n        }\n    }\n\n    /**\n     * 第一次下载文件，无下载记录，重新创建\n     */\n    private void createDownloadInfos(){\n        try {\n            //更新状态为正在获取文件大小\n            progressChangeHandler.sendEmptyMessage(STATE_GETSIZE);\n            URL url = new URL(FileDownloadManager.this.url);\n            HttpURLConnection conn = (HttpURLConnection) url.openConnection();\n            conn.setConnectTimeout(5 * 1000);\n            conn.setRequestMethod(\"GET\");\n            //添加这句话，要不然disconnect()会花费很多时间\n            conn.setRequestMethod(\"HEAD\");\n            conn.setAllowUserInteraction(true);\n            conn.connect();\n            if (conn.getResponseCode()==200) {\n                fileSize = conn.getContentLength();\n                File file = FileUtils.checkAndCreateFile(path);\n                // 本地访问文件\n                RandomAccessFile accessFile = new RandomAccessFile(file, \"rwd\");\n                accessFile.setLength(fileSize);\n                accessFile.close();\n            }\n            conn.disconnect();\n        } catch (Exception e) {\n            e.printStackTrace();\n            L.e(\"获取文件长度发生错误\", e);\n            return;\n        }\n\n        //开始计算每个线程下载的字节范围\n        long startPos = 0;\n        //最后一个线程所下载的字节数一定要小于等于前面的线程保证文件完整性\n        long perSize = (long) Math.ceil((fileSize*1.0) / (THREAD_NUM*1.0));\n        for (int i=0; i<THREAD_NUM; i++){\n            DownloadInfo info = new DownloadInfo();\n            info.id = i;\n            info.startPos = startPos;\n            startPos += perSize;\n            startPos -= 1;\n            if (startPos >= fileSize)\n                startPos = fileSize-1;\n            info.endPos = startPos;\n            info.completeSize = 0;\n            //下一个任务的开始位置要+1\n            startPos ++;\n            infos.add(info);\n        }\n        helper.insertInfos(url, infos);\n    }\n\n    /**\n     * 恢复以前的下载信息\n     */\n    private void revertDownloadInfos(ArrayList<HashMap<String, String>> maps){\n        ArrayList<String> columns = DownloadDB.TABLES.DOWNLOAD.getTableColumns();\n        for (HashMap<String, String> map : maps){\n            DownloadInfo info = new DownloadInfo();\n            info.id = Integer.parseInt(map.get(columns.get(0)));\n            info.startPos = Long.parseLong(map.get(columns.get(2)));\n            info.endPos = Long.parseLong(map.get(columns.get(3)));\n            info.completeSize = Long.parseLong(map.get(columns.get(4)));\n            completeSize += info.completeSize;\n            fileSize = fileSize>info.endPos ? fileSize:info.endPos;\n            infos.add(info);\n        }\n    }\n\n    /**\n     * 获取该文件的总下载字节数\n     */\n    private long getCompleteSize(){\n        completeSize = 0;\n        for (DownloadThread thread : threads)\n            completeSize += thread.getCompleteSize();\n        return completeSize;\n    }\n\n    /**\n     * 检测该文件是否下载完成\n     */\n    private boolean isFileDownloadFinish(ArrayList<HashMap<String, String>> maps){\n        boolean result = true;\n        if (maps==null || maps.size() == 0){\n            return false;\n        }\n        ArrayList<String> columns = DownloadDB.TABLES.DOWNLOAD.getTableColumns();\n        for (HashMap<String, String> map : maps){\n            //如果完成字节数不足end-start，代表该线程未完成，所以需要继续下载\n            if (Long.parseLong(map.get(columns.get(4))) <\n                    (Long.parseLong(map.get(columns.get(3)))- Long.parseLong(map.get(columns.get(2))))){\n                result = false;\n                break;\n            }\n        }\n        return result;\n    }\n\n    public void setListener(IDownloadProgressChangedListener listener){\n        this.listener = listener;\n    }\n\n    /**\n     * 下载进度更新接口\n     */\n    public interface IDownloadProgressChangedListener{\n        void onProgressChanged(long completeSize, long totalSize);\n        void onStateChanged(int state);\n    }\n\n    /**\n     * 开启更新界面线程和开启下载线程\n     */\n    private void startThreads(){\n        //准备开启线程\n        updateThread = new UpdateThread();\n        updateThread.start();\n        for (Thread thread : threads)\n            thread.start();\n    }\n\n    /**\n     * 下载完成之后的处理工作\n     */\n    private void finishDownload(){\n        downloadState = false;\n        isDownloadFinish = true;\n        progressChangeHandler.sendEmptyMessage(STATE_FINISH);\n        if (updateThread!=null && updateThread.isAlive())\n            updateThread.canRun = false;\n\n        File file = new File(path);\n        File newFile = new File(fileName);\n        if (file.exists()){\n            file.renameTo(newFile);\n        }\n        helper.deleteInfos(url);\n    }\n\n    private static class ProgressChangeHandler extends Handler{\n        private WeakReference<FileDownloadManager> activityWeakReference;\n\n        public ProgressChangeHandler(FileDownloadManager manager){\n            activityWeakReference = new WeakReference<>(manager);\n        }\n\n        @Override\n        public void handleMessage(Message msg) {\n            if (msg.what == STATE_START_THREADS){\n                L.i(\"开启线程\");\n                activityWeakReference.get().currentState = STATE_START_THREADS;\n                activityWeakReference.get().startThreads();\n            }\n            //下载进度更新\n            else if (msg.what == STATE_UPDATE_PROGRESS) {\n                if (activityWeakReference.get().getCompleteSize() >= activityWeakReference.get().fileSize) {\n                    activityWeakReference.get().finishDownload();\n                    T.getInstance().showShort(\"下载完成\");\n                }\n                if (activityWeakReference.get().listener != null)\n                    activityWeakReference.get().listener.onProgressChanged\n                            (activityWeakReference.get().getCompleteSize(), activityWeakReference.get().fileSize);\n            }\n            //下载状态更新\n            else {\n                L.i(\"state\"+msg.what);\n                if (activityWeakReference.get().currentState != msg.what){\n                    //如果在下载过程中网络发生错误，或者服务器发生错误，就不再更新后面的停止状态\n                    if ((activityWeakReference.get().currentState == STATE_NET_ERROR\n                            || activityWeakReference.get().currentState == STATE_SERVER_ERROR)\n                            && (msg.what==STATE_STOPING || msg.what==STATE_STOPED)){\n                        return;\n                    }\n                    activityWeakReference.get().currentState = msg.what;\n                    if (activityWeakReference.get().listener != null){\n                        activityWeakReference.get().listener.onStateChanged(activityWeakReference.get().currentState);\n                    }\n                }\n            }\n        }\n    }\n\n    /**\n     * 单独一个线程下载的信息\n     */\n    public class DownloadInfo {\n        public int id;\n        public long startPos;\n        public long endPos;\n        public volatile long completeSize;\n    }\n\n    /**\n     * 下载线程\n     */\n    private class DownloadThread extends Thread{\n        private DownloadInfo info;\n        HttpURLConnection connection = null;\n        RandomAccessFile randomAccessFile = null;\n        InputStream is = null;\n\n        public DownloadThread(DownloadInfo info){\n            this.info = info;\n        }\n\n        public long getCompleteSize(){\n            return info.completeSize;\n        }\n\n        public void initConnection() throws Exception{\n            URL url = new URL(FileDownloadManager.this.url);\n            connection = (HttpURLConnection) url.openConnection();\n            connection.setConnectTimeout(2000);\n            connection.setReadTimeout(5000);\n            connection.setRequestMethod(\"GET\");\n            connection.setAllowUserInteraction(true);\n\n            // 设置范围，格式为Range：bytes x-y;\n            connection.setRequestProperty(\"Range\", \"bytes=\" + (info.startPos + info.completeSize) + \"-\" + info.endPos);\n        }\n\n        @Override\n        public void run() {\n            try {\n                initConnection();\n                randomAccessFile = new RandomAccessFile(path, \"rwd\");\n                // 将要下载的字节写到上次写的末尾\n                randomAccessFile.seek(info.startPos + info.completeSize);\n                //偶尔发现，下载的资源有时候403 FileNotFoundException，这种情况重新连接一次，不成功就Log出错误日志\n                try {\n                    is = connection.getInputStream();\n                }catch (Exception e){\n                    //重新连接\n                    initConnection();\n                    try {\n                        is = connection.getInputStream();\n                    }catch (Exception ee){\n                        L.e(\"无法连接\"+info.startPos+\"~\"+info.endPos+\"处资源\", ee);\n                        return;\n                    }\n                }\n                byte[] buffer = new byte[1024 * 8];\n                int length;\n                while (((length = is.read(buffer)) != -1) && downloadState) {\n                    randomAccessFile.write(buffer, 0, length);\n                    info.completeSize += length;\n                }\n                L.i(\"结束下载线程\");\n            } catch (Exception e) {\n                e.printStackTrace();\n            } finally {\n                countDownLatch.countDown();\n                try {\n                    //android 4.x disconnect或者close会耗费很长的时间，解决了很长时间，暂未找到方法，有的联系我\n                    is.close();\n                    randomAccessFile.close();\n                    connection.disconnect();\n                } catch (Exception e) {\n                    e.printStackTrace();\n                }\n            }\n        }\n    }\n\n    /**\n     * 更新数据库和界面线程\n     */\n    private class UpdateThread extends Thread{\n\n        public boolean canRun = true;\n        private long lastCompleteSize = 0;\n        /** 重试时间3s */\n        private final int RETRYCOUNT = 3;\n        private int retry;\n\n        @Override\n        public void run() {\n            retry = RETRYCOUNT;\n            try {\n                while (canRun) {\n                    // 更新数据库中的下载信息\n                    helper.updateInfos(url, infos);\n\n                    L.i(\"lastCompleteSize  \" + lastCompleteSize);\n                    L.i(\"更新界面  \" + getCompleteSize() + \"   fileSize\" + fileSize);\n                    //由于网络不稳定，或者是服务器不稳定导致的无法返回数据\n                    if (lastCompleteSize == getCompleteSize()){\n                        retry--;\n                        if (retry <= 0){\n                            //停止下载线程，并提示用户重试\n                            FileDownloadManager.this.stop();\n                            //有网络的情况下为服务器错误\n                            if (CommonUtils.isNetworkAvailable()){\n                                L.e(\"服务器错误，请重试\");\n                                progressChangeHandler.sendEmptyMessage(STATE_SERVER_ERROR);\n                            }else{\n                                L.e(\"网络错误，请连接网络后重试\");\n                                progressChangeHandler.sendEmptyMessage(STATE_NET_ERROR);\n                            }\n                        }\n                    }else{\n                        retry = RETRYCOUNT;\n                    }\n\n                    lastCompleteSize = getCompleteSize();\n                    //更新界面\n                    progressChangeHandler.sendEmptyMessage(STATE_UPDATE_PROGRESS);\n                    //每隔１秒操作数据库和更新界面，防止频繁的更新\n                    try {\n                        Thread.sleep(1000);\n                    } catch (InterruptedException e) {\n                        e.printStackTrace();\n                    }\n                }\n            }catch (Exception e){\n                e.printStackTrace();\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "libcore/src/main/java/com/android/libcore/guide/GuideManager.java",
    "content": "package com.android.libcore.guide;\n\nimport android.app.Activity;\nimport android.view.InflateException;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\n\nimport com.android.libcore.application.RootApplication;\nimport com.android.libcore.log.L;\n\nimport java.util.ArrayList;\n\n/**\n * Description: 蒙版管理器，用来管理页面的蒙版<br/>\n * 使用{@link #initMask(Integer...)}传入资源layout的id，调用{@link #showMaskFullScreen()}\n * 或者{@link #showMaskInContent()}显示蒙版，使用完蒙版之后需要调用{@link #clearMask()}清空蒙版，要不然会影响下次的使用<br/>\n * <strong>注意传入的layout文件中请在需要点击消失的地方加入一个id为<em>click_to_disappear</em>的View即可</strong>\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-15\n */\npublic class GuideManager {\n    private static volatile GuideManager instance = null;\n    private ArrayList<View> mViews;\n    private int mCurrentShowId;\n    private View.OnClickListener mListener;\n    private boolean mIsShowFullScreen = true;\n\n    private GuideManager() {\n    }\n\n    public static GuideManager getInstance() {\n        if (instance == null) {\n            synchronized (GuideManager.class) {\n                if (instance == null) {\n                    instance = new GuideManager();\n                }\n            }\n        }\n        return instance;\n    }\n\n    /**\n     * 初始化监听器\n     */\n    private void initListener() {\n        mListener = new View.OnClickListener() {\n            @Override\n            public void onClick(View v) {\n                showNextMask();\n            }\n        };\n    }\n\n    /**\n     * 此函数用来传入蒙版的id，蒙版的显示顺序将会和参数的顺序一致\n     *\n     * @param layoutIds 需要展示蒙版的资源id，按照显示顺序传递即可\n     */\n    public void initMask(Integer... layoutIds) {\n        if (layoutIds.length <= 0)\n            throw new IllegalArgumentException(\"参数不能为空\");\n        LayoutInflater inflater = LayoutInflater.from(RootApplication.getInstance());\n        try {\n            //该处需要去根据名字找到该view的id\n            int btnId = RootApplication.getInstance().getResources().getIdentifier(\"click_to_disappear\", \"id\",\n                    RootApplication.getInstance().getPackageName());\n            if (btnId == 0) {\n                L.e(\"请先定义id为click_to_disappear的view\");\n                return;\n            }\n            mViews = new ArrayList<>();\n            mCurrentShowId = 0;\n            initListener();\n            for (int layoutId : layoutIds) {\n                //虽然layoutId不在该子module里面定义，但是依然能够inflate\n                View view = inflater.inflate(layoutId, null);\n                View btn = view.findViewById(btnId);\n                if (btn == null) {\n                    L.e(\"layout id为\" + layoutId + \"的布局中没有定义click_to_disappear的view\");\n                    return;\n                }\n                btn.setOnClickListener(mListener);\n                view.setOnClickListener(new View.OnClickListener() {\n                    @Override\n                    public void onClick(View v) {\n                        //用来屏蔽其他view的点击事件\n                    }\n                });\n                mViews.add(view);\n            }\n        } catch (InflateException e) {\n            L.e(\"传入layout id 有误\", e);\n            mViews = null;\n        }\n    }\n\n    /**\n     * 使用完蒙版之后记得清空蒙版\n     */\n    public void clearMask() {\n        mViews = null;\n        mListener = null;\n        instance = null;\n    }\n\n    /**\n     * 全屏展示蒙版，此蒙版将会覆盖top bar\n     */\n    public void showMaskFullScreen() {\n        if (mViews == null) {\n            L.e(\"请先初始化该蒙版\");\n            return;\n        }\n        mIsShowFullScreen = true;\n        mCurrentShowId = 0;\n        //将其添加在主体界面的上部,覆盖主体窗口\n        ((ViewGroup) (((Activity) (RootApplication.getInstance())).getWindow().getDecorView())).addView(mViews.get\n                (mCurrentShowId), new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));\n    }\n\n    /**\n     * 在内容区域内显示蒙版，不会覆盖top bar\n     */\n    public void showMaskInContent() {\n        if (mViews == null) {\n            L.e(\"请先初始化该蒙版\");\n            return;\n        }\n        mIsShowFullScreen = false;\n        mCurrentShowId = 0;\n\n        //获取activity_base_layout.xml里面的base_content的id\n        int base_content = RootApplication.getInstance().getResources().getIdentifier(\"base_content\", \"id\",\n                RootApplication.getInstance().getPackageName());\n\n        //将其添加在主体界面的上部,覆盖主体窗口\n        ((ViewGroup) (((((Activity) (RootApplication.getInstance())).getWindow().getDecorView())).findViewById(base_content)))\n                .addView(mViews.get(mCurrentShowId), new ViewGroup.LayoutParams(-1, -1));\n    }\n\n    /**\n     * 手动调用来显示下一个蒙版\n     */\n    public boolean showNextMask(){\n        //如果当前没有显示任何模板，返回false标识不处理\n        if (mViews ==null || mViews.size()==0 || mCurrentShowId >= mViews.size()){\n            return false;\n        }\n        if (mIsShowFullScreen){\n            //将上一次的蒙版去除\n            ((ViewGroup) (((Activity) (RootApplication.getInstance())).getWindow().getDecorView())).removeView(mViews.get(mCurrentShowId));\n\n            mCurrentShowId++;\n            if (mCurrentShowId < mViews.size()) {\n                ((ViewGroup) (((Activity) (RootApplication.getInstance())).getWindow().getDecorView()))\n                        .addView(mViews.get(mCurrentShowId), new ViewGroup.LayoutParams(ViewGroup\n                                .LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));\n            }\n        }else{\n            //获取activity_base_layout.xml里面的content\n            int base_content = RootApplication.getInstance().getResources().getIdentifier(\"base_content\", \"id\",\n                    RootApplication.getInstance().getPackageName());\n            //将上一次的蒙版去除\n            ((ViewGroup) (((((Activity) (RootApplication.getInstance())).getWindow().getDecorView())).findViewById\n                    (base_content))).removeView(mViews.get(mCurrentShowId));\n\n            mCurrentShowId++;\n            if (mCurrentShowId < mViews.size()) {\n                ((ViewGroup) (((((Activity) (RootApplication.getInstance())).getWindow().getDecorView())).findViewById\n                        (base_content))).addView(mViews.get(mCurrentShowId), new ViewGroup.LayoutParams(ViewGroup.LayoutParams\n                        .MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));\n            }\n        }\n        return true;\n    }\n}\n"
  },
  {
    "path": "libcore/src/main/java/com/android/libcore/log/L.java",
    "content": "package com.android.libcore.log;\n\nimport android.text.TextUtils;\nimport android.util.Log;\n\nimport com.android.libcore.application.RootApplication;\n\nimport java.util.Locale;\n\n/**\n * Description: log打印类\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-07\n */\npublic final class L {\n    private static boolean LOG_ENABLE = true;\n    public static String LOG_TAG = \"LOG_TAG\";\n\n    private L(){}\n\n    static {\n        //一个进程只会调用一次static block，所以使用静态块的方式获取进程名\n        LOG_ENABLE = RootApplication.DEBUG;\n        LOG_TAG = \"[PID:\"+ android.os.Process.myPid() +\"]\";\n    }\n\n    /**\n     * 打印基本信息\n     * @param args 需要打印出来的额外信息，每次换行\n     */\n    public static void i(String message, Object... args){\n        log(Log.INFO, message, null, args);\n    }\n\n    /**\n     * 打印警告\n     * @param args 需要打印出来的额外信息，每次换行\n     */\n    public static void w(String message, Object... args){\n        log(Log.WARN, message, null, args);\n    }\n\n    /***\n     * 打印异常\n     * @param throwable 需要打印的异常信息\n     */\n    public static void e(Throwable throwable){\n        log(Log.ERROR, null, throwable);\n    }\n\n    /***\n     * 打印异常\n     */\n    public static void e(String message, Object... args){\n        log(Log.ERROR, message, null, args);\n    }\n\n    /***\n     * 打印异常\n     * @param throwable 需要打印的异常信息\n     * @param args 需要打印出来的额外信息，每次换行\n     */\n    public static void e(String message, Throwable throwable, Object... args){\n        log(Log.ERROR, message, throwable, args);\n    }\n\n    private static void log(int priority, String message, Throwable throwable, Object... args){\n        if (!LOG_ENABLE)\n            return;\n        StringBuilder log = new StringBuilder();\n\n        //获取调用者类，函数信息和行数信息\n        StackTraceElement[] trace = new Throwable().fillInStackTrace().getStackTrace();\n        String caller = \"<unknown>\";\n        for (int i = 2; i < trace.length; i++) {\n            Class<?> clazz = trace[i].getClass();\n            if (!clazz.equals(L.class)) {\n                String callingClass = trace[i].getClassName();\n                callingClass = callingClass.substring(callingClass.lastIndexOf('.') + 1);\n                callingClass = callingClass.substring(callingClass.lastIndexOf('$') + 1);\n                caller = callingClass + \".\" + trace[i].getMethodName()\n                        + \"(line:\" + trace[i].getLineNumber() +\")\";\n                break;\n            }\n        }\n\n        //将message附加到日志上\n        if (!TextUtils.isEmpty(message))\n            log.append(String.format(Locale.US, \"[TID:%d] %s: %s\",\n                    Thread.currentThread().getId(), caller, message)).append(\"\\n\");\n\n        //附加异常信息\n        if (throwable != null)\n            log.append(Log.getStackTraceString(throwable)).append(\"\\n\");\n\n        //附加额外信息\n        for (Object object: args)\n            log.append(object.toString()).append(\"\\n\");\n\n        //打印日志\n        Log.println(priority, LOG_TAG, log.toString());\n    }\n}\n"
  },
  {
    "path": "libcore/src/main/java/com/android/libcore/net/NetError.java",
    "content": "package com.android.libcore.net;\n\nimport com.android.volley.VolleyError;\n\n/**\n * Description: 网络访问错误error\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-09-15\n */\npublic class NetError extends Exception{\n    public int errorCode;\n    public String errorMessage;\n\n    /**\n     * 将volley的错误信息转换成通用的信息\n     */\n    public void transferVolleyError(VolleyError error){\n        if (error.networkResponse != null)\n            this.errorCode = error.networkResponse.statusCode;\n        this.errorMessage = error.toString();\n    }\n}\n"
  },
  {
    "path": "libcore/src/main/java/com/android/libcore/net/imageloader/ImageLoader.java",
    "content": "package com.android.libcore.net.imageloader;\n\nimport android.graphics.Bitmap;\nimport android.widget.ImageView;\n\nimport com.android.libcore.application.RootApplication;\nimport com.android.libcore.log.L;\nimport com.android.libcore.net.NetError;\nimport com.android.volley.RequestQueue;\nimport com.android.volley.VolleyError;\nimport com.android.volley.toolbox.Volley;\n\nimport java.lang.reflect.Field;\n\n/**\n * Description: 图片加载类\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-10-21\n */\npublic class ImageLoader {\n    /** 最大的图片缓存大小 */\n    private final int MAXDISKCACHEBYTES = 10 * 1024 *1024;\n    private static volatile ImageLoader instance;\n    private com.android.volley.toolbox.ImageLoader mImageLoader;\n\n    private ImageLoader(){\n        RequestQueue requestQueue = Volley.newRequestQueue(RootApplication.getInstance(), MAXDISKCACHEBYTES);\n        VolleyLruCache lruCache = new VolleyLruCache();\n        mImageLoader = new com.android.volley.toolbox.ImageLoader(requestQueue, lruCache);\n    }\n\n    public static ImageLoader getInstance(){\n        if (instance == null){\n            synchronized (ImageLoader.class){\n                if (instance == null)\n                    instance = new ImageLoader();\n            }\n        }\n        return instance;\n    }\n\n    /** 通过反射获取imageview的大小 */\n    private int getImageViewFieldValue(Object object, String fieldName) {\n        int value = 0;\n        try {\n            Field field = ImageView.class.getDeclaredField(fieldName);\n            field.setAccessible(true);\n            int fieldValue = (Integer) field.get(object);\n            if (fieldValue > 0 && fieldValue < Integer.MAX_VALUE) {\n                value = fieldValue;\n            }\n        } catch (Exception e) {\n            L.e(e);\n        }\n        return value;\n    }\n\n    /**\n     * 加载图片\n     * @param url 图片url\n     * @param imageView 需要加载图片的视图\n     */\n    public void loadImage(String url, final ImageView imageView){\n        loadImage(url, imageView, null);\n    }\n\n    /**\n     * 只带回调的图片加载\n     * @param url 图片url\n     * @param listener 图片加载回调\n     */\n    public void loadImage(String url, final OnLoadCallBack listener){\n        loadImage(url, 0, 0, listener);\n    }\n\n    /**\n     * 带回调的加载图片\n     * @param url 图片url\n     * @param width 需要加载的图片宽\n     * @param height 需要加载的图片高\n     * @param listener 加载图片完成回调\n     */\n    public void loadImage(String url, int width, int height, final OnLoadCallBack listener){\n        loadImage(url, width, height, null, listener);\n    }\n\n    /**\n     * 带回调的加载图片\n     * @param url 图片url\n     * @param imageView 需要加载图片的视图\n     * @param listener 加载图片的回调\n     */\n    public void loadImage(String url, final ImageView imageView, final OnLoadCallBack listener){\n        int width = getImageViewFieldValue(imageView, \"mMaxWidth\");\n        int height = getImageViewFieldValue(imageView, \"mMaxHeight\");\n\n        loadImage(url, width, height, imageView, listener);\n    }\n\n    /**\n     * 加载图片\n     * @param url 图片url\n     * @param width　图片加载的图片宽\n     * @param height　图片加载的图片高\n     * @param imageView　需要加载图片的视图\n     */\n    public void loadImage(String url, int width, int height, final ImageView imageView){\n        loadImage(url, width, height, imageView, null);\n    }\n\n    /**\n     * 加载图片\n     * @param url 图片url\n     * @param imageView 需要加载图片的视图\n     * @param width 需要加载视图的宽\n     * @param height 需要加载视图的高\n     * @param listener 加载图片回调\n     */\n    public void loadImage(String url, int width, int height, final ImageView imageView, final OnLoadCallBack listener){\n        mImageLoader.get(url, new com.android.volley.toolbox.ImageLoader.ImageListener() {\n            @Override\n            public void onResponse(com.android.volley.toolbox.ImageLoader.ImageContainer response, boolean isImmediate) {\n                if (imageView != null)\n                    imageView.setImageBitmap(response.getBitmap());\n                if (listener != null)\n                    listener.onLoadSuccess(response.getBitmap(), response.getRequestUrl());\n            }\n\n            @Override\n            public void onErrorResponse(VolleyError error) {\n                if (listener != null) {\n                    NetError netError = new NetError();\n                    netError.transferVolleyError(error);\n                    listener.onLoadFail(netError);\n                }\n            }\n        }, width, height);\n    }\n\n    /**\n     * 加载图片\n     * @param url 图片url\n     * @param imageView 需要加载该图片的url\n     * @param defaultImageResId 加载图片时的默认资源id\n     * @param errorImageResId 加载图片失败时显示的图片资源id\n     */\n    public void loadImage(String url, final ImageView imageView, int defaultImageResId, int errorImageResId){\n        int width = getImageViewFieldValue(imageView, \"mMaxWidth\");\n        int height = getImageViewFieldValue(imageView, \"mMaxHeight\");\n\n        loadImage(url,width, height, imageView, defaultImageResId, errorImageResId);\n    }\n\n    /**\n     * 加载图片\n     * @param url 图片url\n     * @param imageView 需要加载该图片的url\n     * @param defaultImageResId 加载图片时的默认资源id\n     * @param errorImageResId 加载图片失败时显示的图片资源id\n     * @param width 加载图片的宽度\n     * @param height 加载图片的高度\n     */\n    public void loadImage(String url, int width, int height, final ImageView imageView,\n                          int defaultImageResId, int errorImageResId){\n        com.android.volley.toolbox.ImageLoader.ImageListener listener =\n                com.android.volley.toolbox.ImageLoader.getImageListener(imageView,\n                        defaultImageResId, errorImageResId);\n        mImageLoader.get(url, listener, width, height);\n    }\n\n    /**\n     * 加载图片回调\n     */\n    public interface OnLoadCallBack {\n        void onLoadSuccess(Bitmap bitmap, String url);\n        void onLoadFail(NetError error);\n    }\n}\n"
  },
  {
    "path": "libcore/src/main/java/com/android/libcore/net/imageloader/VolleyLruCache.java",
    "content": "package com.android.libcore.net.imageloader;\n\nimport android.graphics.Bitmap;\nimport android.support.v4.util.LruCache;\n\nimport com.android.volley.toolbox.ImageLoader;\n\n/**\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-10-20\n */\npublic class VolleyLruCache extends LruCache<String, Bitmap> implements ImageLoader.ImageCache{\n\n    private static int getCacheSize(){\n        return (int)(Runtime.getRuntime().maxMemory()/1024/8);\n    }\n\n    public VolleyLruCache() {\n        this(getCacheSize());\n    }\n\n    private VolleyLruCache(int size){\n        super(size);\n    }\n\n    @Override\n    public Bitmap getBitmap(String url) {\n        return get(url);\n    }\n\n    @Override\n    public void putBitmap(String url, Bitmap bitmap) {\n        put(url, bitmap);\n    }\n}\n"
  },
  {
    "path": "libcore/src/main/java/com/android/libcore/net/netapi/BaseNetApi.java",
    "content": "package com.android.libcore.net.netapi;\n\nimport android.app.Activity;\nimport android.content.Context;\n\nimport com.android.libcore.application.RootApplication;\nimport com.android.libcore.log.L;\nimport com.android.libcore.net.NetError;\nimport com.android.volley.AuthFailureError;\nimport com.android.volley.Request;\nimport com.android.volley.RequestQueue;\nimport com.android.volley.Response;\nimport com.android.volley.VolleyError;\nimport com.android.volley.toolbox.ImageRequest;\nimport com.android.volley.toolbox.JsonArrayRequest;\nimport com.android.volley.toolbox.JsonObjectRequest;\nimport com.android.volley.toolbox.StringRequest;\nimport com.android.volley.toolbox.Volley;\n\nimport org.json.JSONArray;\nimport org.json.JSONObject;\n\nimport java.lang.reflect.Constructor;\nimport java.util.Map;\n\n/**\n * Description: 所有网络访问基础类，使用了volley框架，并且进行了简单的基础\n * 封装，<Strong>所有进行网络访问的地方都使用该封装类</Strong>，方便以后更换网络访问框架，\n * 只需修改libcore，libcore-ui层相关类即可，这也是封装的唯一目的<br/>\n *\n * 不能在libcore，libcore-ui层的相关类之外直接使用volley框架内容\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-08\n */\npublic abstract class BaseNetApi {\n    /** 网络访问requestQueue */\n    private RequestQueue requestQueue;\n    private Context mContext;\n\n    private RequestQueue getRequestQueue(int maxDiskCacheBytes){\n        if (requestQueue == null)\n            requestQueue = Volley.newRequestQueue(mContext, maxDiskCacheBytes);\n        return requestQueue;\n    }\n\n    protected RequestQueue getRequestQueue(){\n        return getRequestQueue(-1);\n    }\n\n    /**\n     * 回调接口\n     */\n    public interface OnNetCallback<T>{\n        void onSuccess(T result);\n        void onFail(NetError error);\n    }\n\n    private boolean checkIfExtendsRequest(Class clazz){\n        while (clazz.getSuperclass() != null){\n            clazz = clazz.getSuperclass();\n            if (clazz == Request.class)\n                return true;\n        }\n        return false;\n    }\n\n    /**\n     * 网络请求\n     */\n    protected <T> void makeRequest(final Context context, Class<? extends Request> clazz,\n                                   String url, final Map<String, String> params, final OnNetCallback<T> callback){\n        //网络请求\n        Request request = null;\n        //失败回调\n        Response.ErrorListener errorListener = null;\n        //成功回调\n        Response.Listener listener = null;\n        //判空\n        if (callback != null) {\n            errorListener = new Response.ErrorListener() {\n                @Override\n                public void onErrorResponse(VolleyError error) {\n                    if (context instanceof Activity && (((Activity)(context)).isFinishing())) {\n                        L.i(\"activity finish, not callback\");\n                        return ;\n                    }\n                    NetError netError = new NetError();\n                    netError.transferVolleyError(error);\n                    callback.onFail(netError);\n                }\n            };\n            listener = new Response.Listener<T>() {\n                @Override\n                public void onResponse(T response) {\n                    if (context instanceof Activity && (((Activity)(context)).isFinishing())) {\n                        L.i(\"activity finish, not callback\");\n                        return ;\n                    }\n                    callback.onSuccess(response);\n                }\n            };\n        }\n\n        //启动网络请求\n        if (clazz == ImageRequest.class){\n            throw new IllegalArgumentException(\"please use imageloader\");\n        }else {\n            try {\n                Constructor constructor = clazz.getConstructor(Integer.class, String.class, Response.Listener.class,\n                        Response.ErrorListener.class, Map.class);\n                int method = Request.Method.GET;\n                if (params != null)\n                    method = Request.Method.POST;\n                request = (Request) constructor.newInstance(method, url, listener, errorListener, params);\n            } catch (Exception e) {\n                L.e(\"error reflect\", e);\n                return;\n            }\n        }\n\n        //自定义超时时间，重试次数\n//        request.setRetryPolicy(new DefaultRetryPolicy());\n        getRequestQueue().add(request);\n    }\n\n    /**\n     * 对{@linkplain StringRequest}的封装类\n     */\n    private static class StringRequestImpl extends StringRequest{\n        private Map<String, String> params;\n\n        public StringRequestImpl(Integer method, String url, Response.Listener<String> listener,\n                                 Response.ErrorListener errorListener, Map<String, String> params) {\n            super(method, url, listener, errorListener);\n            this.params = params;\n        }\n\n        @Override\n        protected Map<String, String> getParams() throws AuthFailureError {\n            return params;\n        }\n    }\n\n    /**\n     * 对{@linkplain JsonObjectRequest}的封装类\n     */\n    private static class JsonObjectRequestImpl extends JsonObjectRequest{\n        private Map<String, String> params;\n\n        public JsonObjectRequestImpl(Integer method, String url, Response.Listener<JSONObject> listener,\n                                 Response.ErrorListener errorListener, Map<String, String> params) {\n            super(method, url, new JSONObject(params), listener, errorListener);\n            this.params = params;\n        }\n\n        @Override\n        protected Map<String, String> getParams() throws AuthFailureError {\n            return params;\n        }\n    }\n\n    /**\n     * 对{@linkplain JsonArrayRequest}的封装类\n     */\n    private static class JsonArrayRequestImpl extends JsonArrayRequest{\n        private Map<String, String> params;\n\n        public JsonArrayRequestImpl(Integer method, String url, Response.Listener<JSONArray> listener,\n                                 Response.ErrorListener errorListener, Map<String, String> params) {\n            super(method, url, new JSONObject(params), listener, errorListener);\n            this.params = params;\n        }\n\n        @Override\n        protected Map<String, String> getParams() throws AuthFailureError {\n            return params;\n        }\n    }\n\n    /**\n     * string 请求\n     * @param context 相关上下文\n     * @param url　网络访问url\n     * @param params 网络请求参数\n     * @param callback　网络请求回调\n     */\n    public void stringRequest(Context context, String url, Map<String, String> params, OnNetCallback<String> callback){\n        mContext = context;\n        makeRequest(context, StringRequestImpl.class, url, params, callback);\n    }\n\n    /**\n     * jsonObject 请求\n     * @param context 相关上下文\n     * @param url　网络访问url\n     * @param params 网络请求参数\n     * @param callback　网络请求回调\n     */\n    public void jsonObjectRequest(Context context, String url, Map<String, String> params, OnNetCallback<JSONObject> callback){\n        mContext = context;\n        makeRequest(context, JsonObjectRequestImpl.class, url, params, callback);\n    }\n\n    /**\n     * jsonArray 请求\n     * @param context 相关上下文\n     * @param url　网络访问url\n     * @param params 网络请求参数\n     * @param callback　网络请求回调\n     */\n    public void jsonArrayRequest(Context context, String url, Map<String, String> params, OnNetCallback<JSONArray> callback){\n        mContext = context;\n        makeRequest(context, JsonArrayRequestImpl.class, url, params, callback);\n    }\n}\n"
  },
  {
    "path": "libcore/src/main/java/com/android/libcore/utils/CommonUtils.java",
    "content": "package com.android.libcore.utils;\n\nimport android.app.Activity;\nimport android.app.ActivityManager;\nimport android.content.ContentResolver;\nimport android.content.ContentUris;\nimport android.content.Context;\nimport android.database.Cursor;\nimport android.graphics.Bitmap;\nimport android.net.ConnectivityManager;\nimport android.net.NetworkInfo;\nimport android.net.Uri;\nimport android.os.Build;\nimport android.os.Environment;\nimport android.provider.DocumentsContract;\nimport android.provider.MediaStore;\nimport android.util.DisplayMetrics;\nimport android.view.KeyCharacterMap;\nimport android.view.KeyEvent;\nimport android.view.ViewConfiguration;\n\nimport com.android.libcore.application.RootApplication;\nimport com.android.libcore.log.L;\n\nimport java.io.UnsupportedEncodingException;\nimport java.security.MessageDigest;\nimport java.security.NoSuchAlgorithmException;\n\n/**\n * Description: 基础工具类，该类的所有函数如下所示(所有添加到该类的函数都应该在这标识出来，以防重复)\n * <ol>\n *     <li>{@link #dp2px(float)}用来将dp转换为px</li>\n *     <li>{@link #px2dp(float)}用来将px转换为dp</li>\n *     <li>{@link #getScreenWidth()}获取手机屏幕宽度</li>\n *     <li>{@link #getScreenHeight()}获取手机屏幕高度（有些手机会除去navigation bar高度）</li>\n *     <li>{@link #isNetworkAvailable()}用来判断网络是否可用</li>\n *     <li>{@link #isNetworkWifi()}用来判断网络是否是wifi</li>\n *     <li>{@link #hasNavigationBar()}判断手机是否会有navigation bar</li>\n *     <li>{@link #md5(String)}用来对字符串进行md5加密</li>\n *     <li>{@link #pathToUri(String)}手机图片路径path转uri</li>\n *     <li>{@link #uriToPath(Uri)}手机图片uri转路径path</li>\n * </ol>\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-14\n */\npublic class CommonUtils {\n\n    public static int dp2px(float dp){\n        final float scale = RootApplication.getInstance().getResources().getDisplayMetrics().density;\n        return (int) (dp * scale + 0.5f);\n    }\n\n    public static int px2dp(float px) {\n        final float scale = RootApplication.getInstance().getResources().getDisplayMetrics().density;\n        return (int) (px / scale + 0.5f);\n    }\n\n    public static int getScreenWidth(){\n        DisplayMetrics dm = new DisplayMetrics();\n        ((Activity)RootApplication.getInstance()).getWindow().getWindowManager().getDefaultDisplay().getMetrics(dm);\n        return dm.widthPixels;\n    }\n\n    public static int getScreenHeight(){\n        DisplayMetrics dm = new DisplayMetrics();\n        ((Activity)RootApplication.getInstance()).getWindow().getWindowManager().getDefaultDisplay().getMetrics(dm);\n        return dm.heightPixels;\n    }\n\n    /**\n     * 判断当前网络是是否可用\n     */\n    public static boolean isNetworkAvailable(){\n        ConnectivityManager cm = (ConnectivityManager) RootApplication.getInstance().getSystemService(Context.CONNECTIVITY_SERVICE);\n        NetworkInfo info = cm.getActiveNetworkInfo();\n        return info!=null && info.isAvailable();\n    }\n\n    /**\n     * 判断当前的网络是否是wifi\n     */\n    public static boolean isNetworkWifi(){\n        if (!isNetworkAvailable()){\n            L.e(\"当前网络可用，请先调用isNetworkAvailable()函数\");\n        }\n        ConnectivityManager cm = (ConnectivityManager) RootApplication.getInstance().getSystemService(Context.CONNECTIVITY_SERVICE);\n        NetworkInfo info = cm.getActiveNetworkInfo();\n        if (info.getType() == ConnectivityManager.TYPE_WIFI)\n            return true;\n        return false;\n    }\n\n    /**\n     * 检查手机是否会有虚拟底部navigation bar\n     */\n    public static boolean hasNavigationBar(){\n        boolean hasBackKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_BACK);\n        boolean hasHomeKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_HOME);\n\n        if(hasBackKey && hasHomeKey) {\n            return false;\n        }\n        return true;\n    }\n\n    /**\n     * md5加密\n     */\n    public static String md5(String string) {\n        byte[] hash;\n        try {\n            hash = MessageDigest.getInstance(\"MD5\").digest(string.getBytes(\"UTF-8\"));\n        } catch (NoSuchAlgorithmException e) {\n            throw new RuntimeException(\"Huh, MD5 should be supported?\", e);\n        } catch (UnsupportedEncodingException e) {\n            throw new RuntimeException(\"Huh, UTF-8 should be supported?\", e);\n        }\n\n        StringBuilder hex = new StringBuilder(hash.length * 2);\n        for (byte b : hash) {\n            if ((b & 0xFF) < 0x10) hex.append(\"0\");\n            hex.append(Integer.toHexString(b & 0xFF));\n        }\n        return hex.toString();\n    }\n\n    /**\n     * 用来将uri转变成path，兼容19版本以上\n     * 原文地址http://stackoverflow.com/questions/19834842/android-gallery-on-kitkat-returns-different-uri-for-intent-action-get-content\n     * @param uri The Uri to query.\n     */\n    public static String uriToPath(final Uri uri) {\n\n        final boolean isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT;\n        // DocumentProvider\n        if (isKitKat && DocumentsContract.isDocumentUri(RootApplication.getInstance(), uri)) {\n            // ExternalStorageProvider\n            if (isExternalStorageDocument(uri)) {\n                final String docId = DocumentsContract.getDocumentId(uri);\n                final String[] split = docId.split(\":\");\n                final String type = split[0];\n\n                if (\"primary\".equalsIgnoreCase(type)) {\n                    return Environment.getExternalStorageDirectory() + \"/\" + split[1];\n                }\n            }\n            // DownloadsProvider\n            else if (isDownloadsDocument(uri)) {\n\n                final String id = DocumentsContract.getDocumentId(uri);\n                final Uri contentUri = ContentUris.withAppendedId(\n                        Uri.parse(\"content://downloads/public_downloads\"), Long.valueOf(id));\n\n                return getDataColumn(RootApplication.getInstance(), contentUri, null, null);\n            }\n            // MediaProvider\n            else if (isMediaDocument(uri)) {\n                final String docId = DocumentsContract.getDocumentId(uri);\n                final String[] split = docId.split(\":\");\n                final String type = split[0];\n\n                Uri contentUri = null;\n                if (\"image\".equals(type)) {\n                    contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;\n                } else if (\"video\".equals(type)) {\n                    contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;\n                } else if (\"audio\".equals(type)) {\n                    contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;\n                }\n\n                final String selection = \"_id=?\";\n                final String[] selectionArgs = new String[] {\n                        split[1]\n                };\n                return getDataColumn(RootApplication.getInstance(), contentUri, selection, selectionArgs);\n            }\n        }\n        // MediaStore (and general)\n        else if (\"content\".equalsIgnoreCase(uri.getScheme())) {\n\n            // Return the remote address\n            if (isGooglePhotosUri(uri))\n                return uri.getLastPathSegment();\n\n            return getDataColumn(RootApplication.getInstance(), uri, null, null);\n        }\n        // File\n        else if (\"file\".equalsIgnoreCase(uri.getScheme())) {\n            return uri.getPath();\n        }\n        return null;\n    }\n\n    /**\n     * Get the value of the data column for this Uri. This is useful for\n     * MediaStore Uris, and other file-based ContentProviders.\n     *\n     * @param context The context.\n     * @param uri The Uri to query.\n     * @param selection (Optional) Filter used in the query.\n     * @param selectionArgs (Optional) Selection arguments used in the query.\n     * @return The value of the _data column, which is typically a file path.\n     */\n    public static String getDataColumn(Context context, Uri uri, String selection,\n                                       String[] selectionArgs) {\n\n        Cursor cursor = null;\n        final String column = \"_data\";\n        final String[] projection = {\n                column\n        };\n\n        try {\n            cursor = context.getContentResolver().query(uri, projection, selection, selectionArgs,\n                    null);\n            if (cursor != null && cursor.moveToFirst()) {\n                final int index = cursor.getColumnIndexOrThrow(column);\n                return cursor.getString(index);\n            }\n        } finally {\n            if (cursor != null)\n                cursor.close();\n        }\n        return null;\n    }\n\n\n    /**\n     * @param uri The Uri to check.\n     * @return Whether the Uri authority is ExternalStorageProvider.\n     */\n    public static boolean isExternalStorageDocument(Uri uri) {\n        return \"com.android.externalstorage.documents\".equals(uri.getAuthority());\n    }\n\n    /**\n     * @param uri The Uri to check.\n     * @return Whether the Uri authority is DownloadsProvider.\n     */\n    public static boolean isDownloadsDocument(Uri uri) {\n        return \"com.android.providers.downloads.documents\".equals(uri.getAuthority());\n    }\n\n    /**\n     * @param uri The Uri to check.\n     * @return Whether the Uri authority is MediaProvider.\n     */\n    public static boolean isMediaDocument(Uri uri) {\n        return \"com.android.providers.media.documents\".equals(uri.getAuthority());\n    }\n\n    /**\n     * @param uri The Uri to check.\n     * @return Whether the Uri authority is Google Photos.\n     */\n    public static boolean isGooglePhotosUri(Uri uri) {\n        return \"com.google.android.apps.photos.content\".equals(uri.getAuthority());\n    }\n\n    /**\n     * 手机图片path转uri\n     */\n    public static Uri pathToUri(String path){\n        Uri uri = null;\n        if (path != null) {\n            path = Uri.decode(path);\n            ContentResolver cr = RootApplication.getInstance().getContentResolver();\n            StringBuffer buff = new StringBuffer();\n            buff.append(\"(\").append(MediaStore.Images.ImageColumns.DATA)\n                    .append(\"=\").append(\"'\" + path + \"'\").append(\")\");\n            Cursor cur = cr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,\n                    new String[] { MediaStore.Images.ImageColumns._ID },\n                    buff.toString(), null, null);\n            int index = 0;\n            for (cur.moveToFirst(); !cur.isAfterLast(); cur.moveToNext()) {\n                index = cur.getColumnIndex(MediaStore.Images.ImageColumns._ID);\n                index = cur.getInt(index);\n            }\n            if (index == 0) {\n            } else {\n                Uri uri_temp = Uri.parse(\"content://media/external/images/media/\" + index);\n                if (uri_temp != null) {\n                    uri = uri_temp;\n                }\n            }\n        }\n        return uri;\n    }\n\n    /**\n     * 获取进程名\n     */\n    public static String getCurrentProcessName(Context context){\n        String currentProcessName = \"\";\n        int pid = android.os.Process.myPid();\n        ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);\n        for (ActivityManager.RunningAppProcessInfo processInfo : manager.getRunningAppProcesses())\n        {\n            if (processInfo.pid == pid)\n            {\n                currentProcessName = processInfo.processName;\n                break;\n            }\n        }\n        return currentProcessName;\n    }\n\n    /**\n     * 制造崩溃\n     */\n    public static int makeCrash(){\n        int a[] = new int[2];\n        return a[3];\n    }\n}\n"
  },
  {
    "path": "libcore/src/main/java/com/android/libcore/utils/FileUtils.java",
    "content": "package com.android.libcore.utils;\n\nimport android.os.Environment;\nimport android.text.format.Formatter;\n\nimport com.android.libcore.application.RootApplication;\nimport com.android.libcore.log.L;\n\nimport java.io.File;\nimport java.io.FileInputStream;\nimport java.io.FileNotFoundException;\nimport java.io.FileOutputStream;\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.io.OutputStream;\n\n/**\n * Description: 文件相关的操作，如果需要在SD卡主目录下建立子目录，请在{@link ExternalStorageType}\n * 枚举下建立相同的变量，带上目录名字即可，<strong>所有创建之后的目录末尾自带\"/\"文件分隔符</strong><br/>\n * <strong>image,voice,video目录下会有.nomedia文件来屏蔽系统扫描</strong>\n *\n * <ul>\n *     <li>{@link #checkAndCreateFile(String)}根据path创建文件</li>\n *     <li>{@link #checkAndCreateChildDirectory(String)}根据path创建子目录,自动会在末尾添加\"/\"文件分隔符</li>\n *\n *     <li>{@link #getExternalStoragePath()}获取SD卡根目录，不要在此进行操作以防污染主目录</li>\n *     <li>{@link #getExternalStorageTempPath()}获取SD卡主目录下缓存目录</li>\n *     <li>{@link #createFileInImageDirectory(String)}在temp目录下创建文件并返回</li>\n *     <li>{@link #clearExternalStorageTemp()}应用退出之后删除temp目录</li>\n *     <li>{@link #getExternalStorageFilePath()} 获取SD卡主目录下文件目录</li>\n *     <li>{@link #createFileInFileDirectory(String)} 在file目录下创建文件并返回</li>\n *     <li>{@link #getExternalStorageImagePath()}获取SD卡主目录下图片目录</li>\n *     <li>{@link #createFileInImageDirectory(String)}在image目录下创建文件并返回</li>\n *     <li>{@link #getExternalStorageVoicePath()}获取SD卡主目录下声音目录</li>\n *     <li>{@link #createFileInVoiceDirectory(String)}在voice目录下创建文件并返回</li>\n *     <li>{@link #getExternalStorageVideoPath()}获取SD卡主目录下视频目录</li>\n *     <li>{@link #createFileInVideoDirectory(String)}在video目录下创建文件并返回</li>\n *     <li>{@link #getExternalStorageHtmlPath()}获取SD卡主目录下网页目录</li>\n *     <li>{@link #createFileInHtmlDirectory(String)}在html目录下创建文件并返回</li>\n *\n *     <li>{@link #getFileOrDirectorySize(String)}获取目录或者文件的大小，单位KB</li>\n * </ul>\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-22\n */\npublic class FileUtils {\n    /** 外部SD卡根目录下的文件夹名 */\n    private static final String EXTERNAL_STORAGE_PATH = \"/FrameWork\";\n    /** 当temp目录大小超过该值的时候，清空该目录，单位为KB */\n    private static final long K_BYTES_TO_DELETE = 10 * 1024;\n\n    /**\n     * 检测并且创建文件\n     */\n    public static File checkAndCreateFile(String path){\n        File file = new File(path);\n        if (!file.exists())\n            try {\n                file.createNewFile();\n            }catch (IOException e){\n                e.printStackTrace();\n            }\n        return file;\n    }\n\n    /**\n     * 创建主目录下子目录，自动会在末尾添加\"/\"文件分隔符\n     */\n    public static String checkAndCreateChildDirectory(String path){\n        File file = new File(path);\n        if (!file.exists())\n            file.mkdirs();\n        if (!file.exists())\n            return null;\n        return path+\"/\";\n    }\n\n    /**\n     * 外部{@link #EXTERNAL_STORAGE_PATH}目录或者/data/data/com.android.framework/files/目录（如果SD卡不可用）,\n     * 末尾自带\"/\"符号\n     */\n    public static String getExternalStoragePath(){\n        String path = null;\n        //需要检测外部SD卡的挂载状态\n        if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {\n            path = checkAndCreateChildDirectory(Environment.getExternalStorageDirectory().getPath() + EXTERNAL_STORAGE_PATH);\n        }\n        if (path == null){\n            //如果外部SD卡不可用，使用\"/data/data/com.android.framework/files/\"目录\n            path = RootApplication.getInstance().getFilesDir().getPath();\n        }\n        if (!path.subSequence(path.length()-1, path.length()).equals(\"/\"))\n            path += \"/\";\n        return path;\n    }\n\n    /**\n     * 所有在外部存储目录下的子目录都需要在此定义文件夹名\n     */\n    public enum ExternalStorageType{\n        TEMP(\"temp\"),FILE(\"file\"),IMAGE(\"image\"),VOICE(\"voice\"),VIDEO(\"video\"),HTML(\"html\");\n\n        private String typeName;\n        ExternalStorageType(String typeName){\n            this.typeName = typeName;\n        }\n\n        public String getFilePath(String parentPath) {\n            String path = parentPath;\n            if (!(parentPath.charAt(parentPath.length()-1)=='/')){\n                path += \"/\";\n            }\n            return path+typeName;\n        }\n    }\n\n    /**\n     * 获取外部临时文件目录，过大会自动删除\n     */\n    public static String getExternalStorageTempPath(){\n        ExternalStorageType type = ExternalStorageType.TEMP;\n        return checkAndCreateChildDirectory(type.getFilePath(getExternalStoragePath()));\n    }\n\n    /**\n     * 在外部{@link #getExternalStorageTempPath()}目录下创建文件，\n     */\n    public static File createFileInTempDirectory(String filename){\n        return checkAndCreateFile(getExternalStorageTempPath() + filename);\n    }\n\n    /**\n     * 删除外部临时文件目录\n     */\n    public static void clearExternalStorageTemp(){\n        L.i(\"application close clear temp directory\");\n        if (getFileOrDirectorySize(getExternalStorageTempPath()) >= K_BYTES_TO_DELETE) {\n            File file = new File(getExternalStorageTempPath());\n            File[] files = file.listFiles();\n            for (File temp : files)\n                temp.delete();\n        }\n    }\n\n    /**\n     * 获取外部文件目录，过大会自动删除\n     */\n    public static String getExternalStorageFilePath(){\n        ExternalStorageType type = ExternalStorageType.FILE;\n        return checkAndCreateChildDirectory(type.getFilePath(getExternalStoragePath()));\n    }\n\n    /**\n     * 在外部{@link #getExternalStorageFilePath()}目录下创建文件，\n     */\n    public static File createFileInFileDirectory(String filename){\n        return checkAndCreateFile(getExternalStorageTempPath() + filename);\n    }\n\n    /**\n     * 获取外部图片文件目录，在该目录下会创建.nomedia文件防止系统扫描\n     */\n    public static String getExternalStorageImagePath(){\n        ExternalStorageType type = ExternalStorageType.IMAGE;\n        String path = type.getFilePath(getExternalStoragePath());\n        String result = checkAndCreateChildDirectory(path);\n        checkAndCreateNoMedia(path);\n        return result;\n    }\n\n    /**\n     * 在外部{@link #getExternalStorageImagePath()}目录下创建文件，\n     */\n    public static File createFileInImageDirectory(String filename){\n        return checkAndCreateFile(getExternalStorageImagePath() + filename);\n    }\n\n    /**\n     * 获取外部声音文件目录，在该目录下会创建.nomedia文件防止系统扫描\n     */\n    public static String getExternalStorageVoicePath(){\n        ExternalStorageType type = ExternalStorageType.VOICE;\n        String path = type.getFilePath(getExternalStoragePath());\n        String result = checkAndCreateChildDirectory(path);\n        checkAndCreateNoMedia(path);\n        return result;\n    }\n\n    /**\n     * 在外部{@link #getExternalStorageVoicePath()}目录下创建文件，\n     */\n    public static File createFileInVoiceDirectory(String filename){\n        return checkAndCreateFile(getExternalStorageVoicePath() + filename);\n    }\n\n    /**\n     * 获取外部视频文件目录，在该目录下会创建.nomedia文件防止系统扫描\n     */\n    public static String getExternalStorageVideoPath(){\n        ExternalStorageType type = ExternalStorageType.VIDEO;\n        String path = type.getFilePath(getExternalStoragePath());\n        String result = checkAndCreateChildDirectory(path);\n        checkAndCreateNoMedia(path);\n        return result;\n    }\n\n    /**\n     * 在外部{@link #getExternalStorageVoicePath()}目录下创建文件，\n     */\n    public static File createFileInVideoDirectory(String filename){\n        return checkAndCreateFile(getExternalStorageVideoPath() + filename);\n    }\n\n    /**\n     * 获取外部网页文件目录\n     */\n    public static String getExternalStorageHtmlPath(){\n        ExternalStorageType type = ExternalStorageType.HTML;\n        return checkAndCreateChildDirectory(type.getFilePath(getExternalStoragePath()));\n    }\n\n    /**\n     * 在外部{@link #getExternalStorageHtmlPath()}目录下创建文件，\n     */\n    public static File createFileInHtmlDirectory(String filename){\n        return checkAndCreateFile(getExternalStorageHtmlPath() + filename);\n    }\n\n    /**\n     * 获取文件或者目录大小，单位为B\n     */\n    public static long getFileOrDirectorySize(String path){\n        long size = 0;\n        if (path == null)\n            return size;\n        File file = new File(path);\n        if (!file.exists())\n            return size;\n        if (file.isDirectory()){\n            File[] files = file.listFiles();\n            if (files != null) {\n                for (File temp : files) {\n                    size += getFileOrDirectorySize(temp.getAbsolutePath());\n                }\n            }\n        }else{\n            size = getFileSize(file);\n        }\n\n        return size;\n    }\n\n    /**\n     * 文件拷贝\n     * @param src 源文件\n     * @param des 目标文件\n     */\n    public static void copyFile(File src, File des){\n        try {\n            int byteRead = 0;\n            InputStream inputStream = new FileInputStream(src);\n            if (!des.exists())\n                des.createNewFile();\n            OutputStream outputStream = new FileOutputStream(des);\n            byte[] buffer = new byte[1024];\n            while ( (byteRead = inputStream.read(buffer)) != -1) {\n                outputStream.write(buffer, 0, byteRead);\n            }\n            inputStream.close();\n            outputStream.flush();\n            outputStream.close();\n        } catch (FileNotFoundException e) {\n            e.printStackTrace();\n        } catch (IOException e) {\n            e.printStackTrace();\n        }\n    }\n\n    /**\n     * 检测该目录下是否有nomedia文件，如果没有就创建\n     */\n    private static void checkAndCreateNoMedia(String path){\n        checkAndCreateFile(path + \"/.nomedia\");\n    }\n\n    /**\n     * @return 返回文件大小，单位为byte\n     */\n    private static long getFileSize(File file){\n        long size = 0;\n        if (file.exists()){\n            try {\n                FileInputStream fis = new FileInputStream(file);\n                size = fis.available();\n            }catch (Exception e){\n                e.printStackTrace();\n            }\n        }\n        return size;\n    }\n}\n"
  },
  {
    "path": "libcore/src/main/java/com/android/libcore/utils/ImageUtils.java",
    "content": "package com.android.libcore.utils;\n\nimport android.app.Activity;\nimport android.graphics.Bitmap;\nimport android.graphics.BitmapFactory;\nimport android.graphics.Canvas;\nimport android.graphics.Matrix;\nimport android.graphics.Paint;\nimport android.graphics.Picture;\nimport android.graphics.PorterDuff;\nimport android.graphics.PorterDuffXfermode;\nimport android.graphics.Rect;\nimport android.graphics.RectF;\nimport android.media.ExifInterface;\nimport android.os.Handler;\nimport android.os.Message;\nimport android.view.View;\nimport android.webkit.WebView;\n\nimport com.android.libcore.Toast.T;\nimport com.android.libcore.application.RootApplication;\nimport com.android.libcore.log.L;\n\nimport java.io.ByteArrayOutputStream;\nimport java.io.File;\nimport java.io.FileNotFoundException;\nimport java.io.FileOutputStream;\nimport java.io.IOException;\n\n/**\n * Description: 图片相关处理类\n *\n * <ol>\n *     <li>{@link #centerSquareScaleBitmap(Bitmap, int)}截取图片的正中部分</li>\n *     <li>{@link #toRoundCorner(Bitmap, int)}将图片截成圆角的方法</li>\n *     <li>{@link #saveBitmap(Bitmap, String, Runnable)}保存图片到制定路径下</li>\n *     <li>{@link #screenShot(Activity)}截取手机当前屏幕</li>\n *     <li>{@link #viewShot(View)}截取view的整个显示内容</li>\n *     <li>{@link #compressBitmap(String, int, int)}等比例压缩图片至指定大小</li>\n *     <li>{@link #resizeBitmap(Bitmap, int, int)}不等比例缩放bitmap至指定长宽</li>\n *     <li>{@link #getPictureDegree(String)}获取图片的旋转角度</li>\n *     <li>{@link #rotateBitmap(Bitmap, int)}旋转图片至指定角度</li>\n * </ol>\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-31\n */\npublic class ImageUtils {\n    /**\n     * @param bitmap      原图\n     * @param edgeLength  希望得到的正方形部分的边长\n     * @return  截取正中部分后的位图。\n     */\n    public static Bitmap centerSquareScaleBitmap(Bitmap bitmap, int edgeLength){\n        if(null == bitmap || edgeLength <= 0){\n            return  null;\n        }\n        Bitmap result = bitmap;\n        int widthOrg = bitmap.getWidth();\n        int heightOrg = bitmap.getHeight();\n        //从图中截取正中间的正方形部分。\n        int xTopLeft = (widthOrg - edgeLength) / 2;\n        int yTopLeft = (heightOrg - edgeLength) / 2;\n        if(xTopLeft==0 && yTopLeft==0)\n            return result;\n        try{\n            result = Bitmap.createBitmap(bitmap, xTopLeft, yTopLeft, edgeLength, edgeLength);\n        }\n        catch(OutOfMemoryError e){\n            return result;\n        }\n        return result;\n    }\n\n    /**\n     * 获取圆角位图的方法\n     * @param bitmap 需要转化成圆角的位图\n     * @param pixels 圆角的度数，数值越大，圆角越大\n     * @return 处理后的圆角位图\n     */\n    public static Bitmap toRoundCorner(Bitmap bitmap, int pixels) {\n        try {\n            Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);\n            Canvas canvas = new Canvas(output);\n            final int color = 0xff424242;\n            final Paint paint = new Paint();\n            final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());\n            final RectF rectF = new RectF(rect);\n            final float roundPx = pixels;\n            paint.setAntiAlias(true);\n            canvas.drawARGB(0, 0, 0, 0);\n            paint.setColor(color);\n            canvas.drawRoundRect(rectF, roundPx, roundPx, paint);\n            paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));\n            canvas.drawBitmap(bitmap, rect, rect, paint);\n            return output;\n        }catch (OutOfMemoryError e){\n            e.printStackTrace();\n            return null;\n        }\n    }\n\n    /**\n     * 截屏，只能截取当前屏幕显示的区域，不包含status bar\n     */\n    public static Bitmap screenShot(Activity activity){\n        View view = activity.getWindow().getDecorView();\n        view.setDrawingCacheEnabled(true);\n        view.buildDrawingCache();\n        Bitmap b1 = view.getDrawingCache();\n        // 获取状态栏高度\n        Rect frame = new Rect();\n        activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);\n        int statusBarHeight = frame.top;\n        // 获取屏幕长和高\n        int width = CommonUtils.getScreenWidth();\n        int height = CommonUtils.getScreenHeight();\n        // 去掉标题栏\n        Bitmap b = Bitmap.createBitmap(b1, 0, statusBarHeight, width, height - statusBarHeight);\n        view.destroyDrawingCache();\n        return b;\n    }\n\n    /**\n     * view截图，webview和scrollview(scrollview需要传入子view)之类的view能够截取整个长度的bitmap，\n     * 如果webview内容很多，view.draw(Canvas)方法会很耗时，在子进程中操作会有额外的问题，所以会暂时阻塞\n     * UI主线程，求方法~\n     */\n    public static Bitmap viewShot(final View view){\n        if (view == null)\n            return null;\n        view.setDrawingCacheEnabled(true);\n        view.buildDrawingCache();\n//        if (view.getMeasuredWidth()<=0 || view.getMeasuredHeight()<=0) {\n            int measureSpec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);\n            view.measure(measureSpec, measureSpec);\n//        }\n\n        if (view.getMeasuredWidth()<=0 || view.getMeasuredHeight()<=0) {\n            L.e(\"ImageUtils.viewShot size error\");\n            return null;\n        }\n        Bitmap bm;\n        try {\n            bm = Bitmap.createBitmap(view.getMeasuredWidth(), view.getMeasuredHeight(), Bitmap.Config.ARGB_8888);\n        }catch (OutOfMemoryError e){\n            System.gc();\n            try {\n                bm = Bitmap.createBitmap(view.getMeasuredWidth(), view.getMeasuredHeight(), Bitmap.Config.ARGB_8888);\n            }catch (OutOfMemoryError ee){\n                L.e(\"ImageUtils.viewShot error\", ee);\n                return null;\n            }\n        }\n        Canvas bigCanvas = new Canvas(bm);\n        Paint paint = new Paint();\n        int iHeight = bm.getHeight();\n        bigCanvas.drawBitmap(bm, 0, iHeight, paint);\n        view.draw(bigCanvas);\n        return bm;\n    }\n\n    /**\n     * 保存bitmap到指定路径下\n     * @param finish 保存完之后的回调，不在主线程执行\n     */\n    public static void saveBitmap(final Bitmap bitmap, final String filePath, final Runnable finish) {\n        if (bitmap == null){\n            L.w(\"bitmap is null\");\n            return;\n        }\n        new Thread(new Runnable() {\n            @Override\n            public void run() {\n                try {\n                    File file = new File(filePath);\n                    if (!file.exists())\n                        file.createNewFile();\n                    else {\n                        file.delete();\n                        file.createNewFile();\n                    }\n                    //使用FileOutputStream防止OOM\n                    FileOutputStream fos = new FileOutputStream(file);\n                    bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);\n                    fos.flush();\n                    fos.close();\n                } catch (FileNotFoundException e) {\n                    e.printStackTrace();\n                } catch (IOException e) {\n                    e.printStackTrace();\n                }\n                if (finish != null)\n                    finish.run();\n            }\n        }).start();\n    }\n\n    /**\n     * 等比例压缩图片至合适大小，width=0表示加载原图\n     */\n    public static Bitmap compressBitmap(String filePath, int width, int height){\n        Bitmap bitmap;\n        BitmapFactory.Options options = new BitmapFactory.Options();\n        //返回原图\n        if (width ==0 || height ==0){\n            //do nothing\n        }else{\n            options.inJustDecodeBounds = true;\n            BitmapFactory.decodeFile(filePath, options);\n            int widthScale = (int)((float) options.outWidth / (float) width);\n            int heightScale = (int)((float) options.outHeight / (float) height);\n            //选择缩放比例较大的那个\n            int scale = (widthScale > heightScale ? widthScale : heightScale);\n            if (scale < 1)\n                scale = 1;\n            options.inSampleSize = scale;\n        }\n        options.inJustDecodeBounds = false;\n        try {\n            bitmap = BitmapFactory.decodeFile(filePath, options);\n        }catch (OutOfMemoryError e){\n            System.gc();\n            try {\n                bitmap = BitmapFactory.decodeFile(filePath, options);\n            }catch (OutOfMemoryError ee){\n                L.e(\"ImageUtils compressBitmap error\", ee);\n                return null;\n            }\n        }\n        return bitmap;\n    }\n\n    /**\n     * 不等比例缩放bitmap至指定长宽\n     */\n    public static Bitmap resizeBitmap(Bitmap srcBitmap, int w, int h) {\n        if (srcBitmap == null) {\n            return null;\n        }\n        int width = srcBitmap.getWidth();\n        int height = srcBitmap.getHeight();\n\n        float scaleWidth = ((float) w) / width;\n        float scaleHeight = ((float) h) / height;\n\n        Matrix matrix = new Matrix();\n        matrix.postScale(scaleWidth, scaleHeight);\n\n        return Bitmap.createBitmap(srcBitmap, 0, 0, width, height, matrix, true);\n    }\n\n    /**\n     * 获取图片的旋转角度\n     */\n    public static int getPictureDegree(String path) {\n        int degree = 0;\n        try {\n            ExifInterface exifInterface = new ExifInterface(path);\n            int orientation = exifInterface.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL);\n            switch (orientation) {\n                case ExifInterface.ORIENTATION_ROTATE_90:\n                    degree = 90;\n                    break;\n                case ExifInterface.ORIENTATION_ROTATE_180:\n                    degree = 180;\n                    break;\n                case ExifInterface.ORIENTATION_ROTATE_270:\n                    degree = 270;\n                    break;\n                default:\n                    degree = 0;\n            }\n        } catch (IOException e) {\n            e.printStackTrace();\n        }\n        return degree;\n    }\n\n    /**\n     * 旋转图片\n     * @param bitmap 原始图片\n     * @param degrees 原始图片的角度\n     */\n    public static Bitmap rotateBitmap(Bitmap bitmap, int degrees){\n        if (degrees == 0 || null == bitmap) {\n            return bitmap;\n        }\n        Matrix matrix = new Matrix();\n        matrix.setRotate(degrees, bitmap.getWidth() / 2, bitmap.getHeight() / 2);\n        Bitmap bmp = null;\n        try {\n            bmp = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);\n        }catch (OutOfMemoryError error){\n            L.e(\"ImageUtils rotateBitmap error\", error);\n        }\n        return bmp;\n    }\n\n    /**\n     * 检测一个文件是否为图片\n     * @param filePath　该文件路径\n     */\n    public static boolean isFileImage(String filePath){\n        return filePath.endsWith(\".png\") || filePath.endsWith(\".PNG\")\n                || filePath.endsWith(\".jpg\") || filePath.endsWith(\".JPG\")\n                || filePath.endsWith(\".jpeg\") || filePath.endsWith(\".JPEG\")\n                || filePath.endsWith(\".bmp\") || filePath.endsWith(\".BMP\");\n    }\n}\n"
  },
  {
    "path": "libcore/src/main/java/com/android/libcore/volley/BaseVolleyApi.java",
    "content": "package com.android.libcore.volley;\n\n\nimport com.android.libcore.application.RootApplication;\nimport com.android.volley.RequestQueue;\nimport com.android.volley.toolbox.ImageLoader;\nimport com.android.volley.toolbox.Volley;\n\n/**\n * Description: 封装的volley的请求\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-09-16\n */\npublic abstract class BaseVolleyApi {\n    private static RequestQueue requestQueue;\n    private static ImageLoader imageLoader;\n\n    public static RequestQueue getRequestQueue() {\n        if (requestQueue == null) {\n            synchronized (BaseVolleyApi.class){\n                if (requestQueue == null)\n                    requestQueue = Volley.newRequestQueue(RootApplication.getInstance());\n            }\n        }\n        return requestQueue;\n    }\n\n    public static ImageLoader getImageLoader() {\n        if (imageLoader == null) {\n            synchronized (BaseVolleyApi.class) {\n                if (imageLoader == null){\n                    VolleyLruCache cache = new VolleyLruCache();\n                    imageLoader = new ImageLoader(getRequestQueue(), cache);\n                }\n            }\n        }\n        return imageLoader;\n    }\n}\n"
  },
  {
    "path": "libcore/src/main/java/com/android/libcore/volley/VolleyLruCache.java",
    "content": "package com.android.libcore.volley;\n\nimport android.graphics.Bitmap;\nimport android.support.v4.util.LruCache;\n\nimport com.android.volley.toolbox.ImageLoader;\n\n/**\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-10-20\n */\npublic class VolleyLruCache extends LruCache<String, Bitmap> implements ImageLoader.ImageCache{\n\n    private static int getCacheSize(){\n        return (int)(Runtime.getRuntime().maxMemory()/1024/8);\n    }\n\n    public VolleyLruCache() {\n        this(getCacheSize());\n    }\n\n    private VolleyLruCache(int size){\n        super(size);\n    }\n\n    @Override\n    public Bitmap getBitmap(String url) {\n        return get(url);\n    }\n\n    @Override\n    public void putBitmap(String url, Bitmap bitmap) {\n        put(url, bitmap);\n    }\n}\n"
  },
  {
    "path": "libcore/src/main/res/values/strings.xml",
    "content": "<resources>\n</resources>\n"
  },
  {
    "path": "libcore-ui/.gitignore",
    "content": "/build\n"
  },
  {
    "path": "libcore-ui/build.gradle",
    "content": "apply plugin: 'com.android.library'\n\nandroid {\n    compileSdkVersion 25\n    buildToolsVersion '25.0.0'\n\n    defaultConfig {\n        minSdkVersion 11\n        targetSdkVersion 25\n        versionCode 1\n        versionName \"1.0\"\n    }\n    buildTypes {\n        release {\n            minifyEnabled false\n            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'\n        }\n    }\n}\n\ndependencies {\n    compile fileTree(dir: 'libs', include: ['*.jar'])\n    compile 'com.android.support:appcompat-v7:25.0.1'\n    compile project(':libcore')\n}\n"
  },
  {
    "path": "libcore-ui/proguard-rules.pro",
    "content": "# Add project specific ProGuard rules here.\n# By default, the flags in this file are appended to flags specified\n# in /home/zzp/adt-bundle-linux-x86_64-20140702/sdk/tools/proguard/proguard-android.txt\n# You can edit the include path and order by changing the proguardFiles\n# directive in build.gradle.\n#\n# For more details, see\n#   http://developer.android.com/guide/developing/tools/proguard.html\n\n# Add any project specific keep options here:\n\n# If your project uses WebView with JS, uncomment the following\n# and specify the fully qualified class name to the JavaScript interface\n# class:\n#-keepclassmembers class fqcn.of.javascript.interface.for.webview {\n#   public *;\n#}\n"
  },
  {
    "path": "libcore-ui/src/main/AndroidManifest.xml",
    "content": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n          package=\"com.android.libcore_ui\">\n\n    <application>\n        <activity android:name=\".web.webactivity.WebActivity\"\n            android:hardwareAccelerated=\"true\"\n            android:configChanges=\"orientation|screenSize\">\n            <!--<intent-filter>\n                <data  android:scheme=\"http\" />\n                <action android:name=\"android.intent.action.VIEW\" />\n                <category android:name=\"android.intent.category.BROWSABLE\" />\n                <category android:name=\"android.intent.category.DEFAULT\" />\n            </intent-filter>-->\n        </activity>\n    </application>\n</manifest>\n"
  },
  {
    "path": "libcore-ui/src/main/java/com/android/libcore_ui/activity/BaseActivity.java",
    "content": "package com.android.libcore_ui.activity;\n\nimport android.content.pm.PackageManager;\nimport android.os.Build;\nimport android.os.Bundle;\nimport android.os.Message;\nimport android.support.v4.content.ContextCompat;\nimport android.support.v7.app.ActionBar;\nimport android.support.v7.widget.Toolbar;\nimport android.text.TextUtils;\nimport android.view.LayoutInflater;\nimport android.view.Menu;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.FrameLayout;\nimport android.widget.TextView;\n\nimport com.android.libcore.activity.RootActivity;\nimport com.android.libcore.log.L;\nimport com.android.libcore.utils.CommonUtils;\nimport com.android.libcore_ui.R;\n\n/**\n * Description: 继承自{@link RootActivity}的基础activity，在这里进行页面界面的统一<br/><br/>\n *\n * 使用{@link #setContentView(int)}，{@link #setContentView(View)}和\n * {@link #setContentView(View, ViewGroup.LayoutParams)}来设置内容区域布局<br/><br/>\n *\n * 使用{@link #setOriginalContentView(int)}，{@link #setOriginalContentView(View)}和\n * {@link #setOriginalContentView(View, ViewGroup.LayoutParams)}来设置整体布局<br/><br/>\n *\n * 应用整体样式现在有status bar透明和底部navigation bar透明两种样式<br/>\n * 应用可以使用默认action bar样式，自定义top bar样式有ViewGroup和toolbar两种样式<br/><br/>\n *\n *\n * <ol>\n * <li>{@linkplain #mReceiver}用来在组件之间进行广播的接收</li>\n * <li>{@linkplain #setTitle(String)}用来设置页面标题</li>\n * <li>{@linkplain #addOptionsMenu(View)}用来在自定义top bar的情况下在右侧添加一个按钮</li>\n * <li>{@linkplain #onCreateOptionsMenu(Menu)}用来在使用toolbar的情况下操作toolbar</li>\n * <li>{@linkplain #addNavigationOnBottom(ViewGroup)}将一个和NavigationBar的高度一样的空白的view添加到viewGroup中</li>\n * <li>{@linkplain #onHandleMessageFromFragment(Message)}用来处理fragment传递过来的消息</li>\n * </ol>\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-08\n */\npublic abstract class BaseActivity extends RootActivity{\n\n    /** 填充19版本以上SDK　status bar */\n    protected View v_status_bar;\n    /** 头部top bar容器 */\n    protected FrameLayout fl_top_bar;\n    /** 头部top bar */\n    protected View top_bar;\n    /** 默认action bar */\n    protected ActionBar actionBar;\n    /** 内容区域 */\n    protected FrameLayout base_content;\n\n    /** 底部navigation是否透明，如果使用的是Activity_translucent_navigation_bar style，\n     * 变量则会变成true，调用addBlankOnBottom(View view)函数可以将一个空白的view添加到\n     * 底部用以填充透明的navigation bar，防止覆盖内容区域 */\n    protected boolean isNavigationTransparent;\n    private int mThemeID = 0;\n\n    /**应用如果使用NoActionBar主题，则默认为使用toolbar，反之则使用系统actionbar */\n    protected boolean useToolbar = true;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        mThemeID = getApplicationInfo().theme;\n        //如果系统的主题为Activity_translucent_navigation_bar，但是手机没有navigation bar，\n        // 则将其设置回status bar主题，setTheme()调用一定要在onCreate()之前\n        if (!CommonUtils.hasNavigationBar()\n                && mThemeID==R.style.Activity_translucent_navigation_bar) {\n            setTheme(R.style.Activity_translucent_status_bar);\n            mThemeID = R.style.Activity_translucent_status_bar;\n        }\n        super.onCreate(savedInstanceState);\n        initLayout();\n    }\n\n    /**\n     * 初始化布局\n     */\n    protected void initLayout(){\n        setOriginalContentView(R.layout.activity_base_layout);\n        base_content = (FrameLayout) findViewById(R.id.base_content);\n\n        defineStyle();\n\n        //如果系统没有指定action bar，则选用自定义action bar\n        if (getSupportActionBar()==null)\n            chooseTopBar();\n        else{\n            useToolbar = false;\n            actionBar = getSupportActionBar();\n        }\n    }\n\n    /**\n     * 定义应用的基本样式\n     */\n    protected void defineStyle(){\n        //SDK19版本以上才支持样式选择\n        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT  &&\n            (mThemeID==R.style.Activity_translucent_status_bar ||\n                    mThemeID==R.style.Activity_translucent_navigation_bar)){\n\n            v_status_bar = findViewById(R.id.v_status_bar);\n            int id = getResources().getIdentifier(\"status_bar_height\", \"dimen\", \"android\");\n            v_status_bar.getLayoutParams().height = getResources().getDimensionPixelOffset(id);\n\n            //21版本以下使用windowTranslucentStatus，使用自定义view填充status bar\n            if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {\n                v_status_bar.setBackgroundColor(ContextCompat.getColor(this, R.color.bar_color));\n                v_status_bar.setVisibility(View.VISIBLE);\n            }\n            //21版本和以上，特殊处理\n            else{\n                if (mThemeID==R.style.Activity_translucent_navigation_bar){\n                    v_status_bar.setBackgroundColor(ContextCompat.getColor(this, R.color.bar_color));\n                    v_status_bar.setVisibility(View.VISIBLE);\n                }\n            }\n\n            if (CommonUtils.hasNavigationBar()) {\n                isNavigationTransparent = (mThemeID == R.style.Activity_translucent_navigation_bar);\n            }\n        }\n    }\n\n    /**\n     * 选择应用top bar方式\n     */\n    protected void chooseTopBar(){\n        fl_top_bar = (FrameLayout) findViewById(R.id.fl_top_bar);\n        //添加top bar，现在有两种样式的top bar可以使用：一种是自定的viewGroup\n        if (!useToolbar) {\n            top_bar = View.inflate(this, R.layout.activity_top_bar_layout, null);\n            View rl_back = top_bar.findViewById(R.id.rl_back);\n            rl_back.setOnClickListener(new View.OnClickListener() {\n                @Override\n                public void onClick(View v) {\n                    finish();\n                }\n            });\n            TextView tv_title = (TextView) top_bar.findViewById(R.id.tv_title);\n            // 通过 android::label 设置的标题\n            if (!TextUtils.isEmpty(getTitle()))\n                tv_title.setText(getTitle());\n        }\n        //一种是使用系统控件toolbar\n        else{\n            top_bar = View.inflate(this, R.layout.activity_top_toolbar_layout, null);\n            Toolbar toolbar = (Toolbar) top_bar;\n            setSupportActionBar(toolbar);\n            toolbar.setTitleTextAppearance(this, R.style.toolbar_title_appearance);\n            toolbar.setTitleTextColor(ContextCompat.getColor(this, R.color.white));\n            toolbar.setNavigationIcon(R.mipmap.ic_arrow_back);\n            toolbar.setNavigationOnClickListener(new View.OnClickListener() {\n                @Override\n                public void onClick(View v) {\n                    finish();\n                }\n            });\n            // 通过 android::label 设置的标题\n            if (!TextUtils.isEmpty(getTitle()))\n                toolbar.setTitle(getTitle());\n        }\n        fl_top_bar.addView(top_bar);\n    }\n\n    /**\n     * 设置内容区域布局\n     */\n    @Override\n    public void setContentView(int layoutResID) {\n        LayoutInflater inflater = LayoutInflater.from(this);\n        View v = inflater.inflate(layoutResID, null);\n        base_content.addView(v);\n    }\n\n    /**\n     * 省去类型转换\n     */\n    protected <T extends View> T $(int id){\n        return (T) super.findViewById(id);\n    }\n\n    /**\n     * 设置内容区域布局\n     */\n    @Override\n    public void setContentView(View view) {\n        base_content.addView(view);\n    }\n\n    /**\n     * 设置内容区域布局\n     */\n    @Override\n    public void setContentView(View view, ViewGroup.LayoutParams params) {\n        base_content.addView(view, params);\n    }\n\n    /**\n     * 设置整体布局\n     */\n    protected void setOriginalContentView(int layoutResID){\n        super.setContentView(layoutResID);\n    }\n\n    /**\n     * 设置整体布局\n     */\n    protected void setOriginalContentView(View view){\n        super.setContentView(view);\n    }\n\n    /**\n     * 设置整体布局\n     */\n    protected void setOriginalContentView(View view, ViewGroup.LayoutParams params){\n        super.setContentView(view, params);\n    }\n\n    /**\n     * 设置标题\n     */\n    protected void setTitle(String title){\n        if (!useToolbar) {\n            if (actionBar == null)\n                ((TextView) top_bar.findViewById(R.id.tv_title)).setText(title);\n            else\n                actionBar.setTitle(title);\n        }else{\n            ((Toolbar) top_bar).setTitle(title);\n        }\n    }\n\n    /**\n     * 将view添加进top bar右侧的相关区域中，适用于不使用toolbar样式\n     */\n    protected void addOptionsMenu(View view){\n        if (useToolbar || actionBar!=null){\n            L.e(\"该样式无法使用addOptionsMenuView，请使用onCreateOptionsMenu\");\n        }else{\n            ((ViewGroup) top_bar.findViewById(R.id.rl_top_extra_content)).addView(view);\n        }\n    }\n\n    @Override\n    public boolean onCreateOptionsMenu(Menu menu) {\n        if (useToolbar || actionBar!=null) {\n            return super.onCreateOptionsMenu(menu);\n        }else{\n            L.e(\"该样式无法使用onCreateOptionsMenu，请使用addOptionsMenu\");\n            return false;\n        }\n    }\n\n    /**\n     * 将一个空白和navigation bar高度一致的view添加进传入的参数view中，保证传进来的view要在正确的位置\n     */\n    public void addNavigationOnBottom(ViewGroup view){\n        if (CommonUtils.hasNavigationBar() && isNavigationTransparent) {\n            int id = getResources().getIdentifier(\"navigation_bar_height\", \"dimen\", \"android\");\n            View navigationView = new View(this);\n            ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(\n                    ViewGroup.LayoutParams.MATCH_PARENT, getResources().getDimensionPixelOffset(id));\n            navigationView.setLayoutParams(params);\n            navigationView.setBackgroundColor(ContextCompat.getColor(this, R.color.transparent));\n            view.addView(navigationView);\n        }\n    }\n\n    /**\n     * 是否使用toolbar样式\n     */\n    public boolean isUseToolbar() {\n        return useToolbar;\n    }\n\n    /**\n     * 处理来自fragment的消息\n     */\n    protected void onHandleMessageFromFragment(Message msg){}\n}\n"
  },
  {
    "path": "libcore-ui/src/main/java/com/android/libcore_ui/activity/BaseActivityWithPopWindow.java",
    "content": "package com.android.libcore_ui.activity;\n\nimport android.animation.ObjectAnimator;\nimport android.animation.ValueAnimator;\nimport android.os.Build;\nimport android.os.Bundle;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.FrameLayout;\nimport android.widget.LinearLayout;\nimport android.widget.RelativeLayout;\nimport android.widget.ScrollView;\n\nimport com.android.libcore.utils.CommonUtils;\nimport com.android.libcore_ui.R;\nimport com.android.libcore_ui.activity.widget.BottomBarGroupLinearLayout;\n\nimport java.util.ArrayList;\nimport java.util.Iterator;\nimport java.util.LinkedHashMap;\nimport java.util.Map;\n\n/**\n * Description: 自带底部弹出框的{@link BaseActivity}\n *\n * 自定义底部弹出框规则:\n * <ul>\n * <li>{@link #addItemToBottomPopWindow(int, int, String)}方法用来在底部弹出的框内加上选项，用组id，\n * 元素id，和元素名称来标识，显示的顺序和添加的顺序一致，如果需要在中间插入一个组元素，则初始化添加的时候调用\n * {@link #addItemToBottomPopWindow(int, int, String)}函数的时候，groupId传一个新值，itemId传递一个小于0\n * 的数值即可，先占一个空位，方便以后来对该groupId位置的元素进行操作</li>\n * <li>{@link #removeItemFromBottomPopWindow(int, int)}方法用来删除在底部添加的按钮选项</li>\n * <li>{@link #showBottomPopWindow()}方法用来显示底部popwindow，调用之前确保已经调用\n * {@link #addItemToBottomPopWindow(int, int, String)}方法</li>\n * <li>{@link #onItemClickCallback(int, int)}方法由子类继承用来处理底部弹出框的点击回调</li>\n * </ul>\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-11-05\n */\npublic class BaseActivityWithPopWindow extends BaseActivity{\n\n    /** 全屏的半透明显示 */\n    protected View ll_full_screen;\n    /** 底部popWindow */\n    protected ScrollView sv_bottom_content;\n    protected LinearLayout ll_bottom_content;\n    /** 填充19版本以上SDK　navigation bar */\n    protected View v_navigation_bar;\n    /** 底部弹出框数据集合 */\n    protected LinkedHashMap<Integer, ArrayList<ItemHolder>> bottomItems;\n\n    protected LayoutInflater inflater;\n    protected ObjectAnimator popAnimation;\n    protected ObjectAnimator reverseAnimation;\n\n    /** 底部弹出框的默认高度 */\n    protected int scrollViewMeasureHeight;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n    }\n\n    @Override\n    protected void initLayout() {\n        setOriginalContentView(R.layout.activity_base_layout_with_popwindow);\n        base_content = (FrameLayout) findViewById(R.id.base_content);\n\n        bottomItems = new LinkedHashMap<>();\n        inflater = LayoutInflater.from(this);\n\n        sv_bottom_content = (ScrollView) findViewById(R.id.sv_bottom_content);\n        ll_bottom_content = (LinearLayout) findViewById(R.id.ll_bottom_content);\n        ll_full_screen = findViewById(R.id.ll_full_screen);\n        ll_full_screen.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View v) {\n                doReverseAnimation();\n            }\n        });\n\n        defineStyle();\n\n        //如果系统没有指定action bar，则选用自定义action bar\n        if (getSupportActionBar()==null)\n            chooseTopBar();\n        else{\n            useToolbar = false;\n            actionBar = getSupportActionBar();\n        }\n    }\n\n    @Override\n    protected void defineStyle() {\n        super.defineStyle();\n        //SDK19版本以上并且导航栏透明\n        if (Build.VERSION.SDK_INT >= 19 &&\n                (getApplicationInfo().theme==R.style.Activity_translucent_status_bar ||\n                getApplicationInfo().theme==R.style.Activity_translucent_navigation_bar)\n                && isNavigationTransparent){\n            v_navigation_bar = findViewById(R.id.v_navigation_bar);\n            v_navigation_bar.setVisibility(View.VISIBLE);\n            int id = getResources().getIdentifier(\"navigation_bar_height\", \"dimen\", \"android\");\n            v_navigation_bar.getLayoutParams().height = getResources().getDimensionPixelOffset(id);\n        }\n    }\n\n    /**\n     * 通过添加item到底部bar来创建一系列的选项\n     * @param groupId 该item的组id，不同的组id在不同的区域内,请使用大于0的数字来表示\n     * @param itemId 该item的item id，用来标示该item，组内的两个item不能有相同的item id,要不然回调无法识别\n     * @param name 用来显示该item的名字\n     */\n    protected void addItemToBottomPopWindow(int groupId, int itemId, String name){\n        ArrayList<ItemHolder> temp;\n        if (bottomItems.containsKey(groupId)) {\n            if (itemId < 0){\n                throw new IllegalArgumentException(\"groupId can be found,so itemId must bigger than 0 or equal 0\");\n            }\n            temp = bottomItems.get(groupId);\n            ItemHolder holder = new ItemHolder();\n            holder.itemId = itemId;\n            holder.name = name;\n            temp.add(holder);\n        }\n        else {\n            temp = new ArrayList<>();\n            if (itemId >= 0) {\n                ItemHolder holder = new ItemHolder();\n                holder.itemId = itemId;\n                holder.name = name;\n                temp.add(holder);\n            }\n            bottomItems.put(groupId, temp);\n        }\n        buildBottomPopWindow();\n    }\n\n    /**\n     * 将item从底部bar中删除\n     */\n    protected void removeItemFromBottomPopWindow(int groupId, int itemId){\n        if (bottomItems.containsKey(groupId)){\n            ArrayList<ItemHolder> temp = bottomItems.get(groupId);\n            for (ItemHolder holder : temp){\n                if (holder.itemId == itemId){\n                    temp.remove(holder);\n                    buildBottomPopWindow();\n                    return;\n                }\n            }\n            throw new IllegalArgumentException(\"can't find this itemId in this groupId\");\n        }else{\n            throw new IllegalArgumentException(\"can't find this groupId\");\n        }\n    }\n\n    /**\n     * 通过{@link #bottomItems}建立底部弹出框\n     */\n    private void buildBottomPopWindow(){\n        if (bottomItems.size() <= 0)\n            return;\n        //现将底部弹出框的所有选项去除\n        ll_bottom_content.removeAllViews();\n        popAnimation = null;\n        reverseAnimation = null;\n        final Iterator iterator = bottomItems.entrySet().iterator();\n        while (iterator.hasNext()){\n            Map.Entry<Integer, ArrayList<ItemHolder>> entry = (Map.Entry<Integer, ArrayList<ItemHolder>>) iterator.next();\n            Integer groupId = entry.getKey();\n            ArrayList<ItemHolder> holder = entry.getValue();\n            //如果该groupId的items不为0，代表需要将该group显示出来\n            if (holder.size() >= 0){\n                BottomBarGroupLinearLayout group = (BottomBarGroupLinearLayout) inflater.inflate(R.layout.bottom_group_layout, null);\n                group.setmGroupId(groupId);\n                group.setCallback(new BottomBarGroupLinearLayout.GroupItemClickCallback() {\n                    @Override\n                    public void callback(int groupId, int itemId) {\n                        onItemClickCallback(groupId, itemId);\n                    }\n                });\n                for (ItemHolder temp : holder){\n                    group.addItemToGroup(temp.itemId, temp.name);\n                }\n                LinearLayout.LayoutParams params = new LinearLayout.LayoutParams\n                        (ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);\n                int margin = CommonUtils.dp2px(10);\n                params.setMargins(margin, 0, margin, margin);\n                ll_bottom_content.addView(group, params);\n            }\n        }\n        //每次组建完底部弹出框之后，就开始计算他的高度\n        int width = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);\n        sv_bottom_content.measure(width, width);\n        scrollViewMeasureHeight = sv_bottom_content.getMeasuredHeight();\n    }\n\n    @Override\n    public void onBackPressed() {\n        if (sv_bottom_content.getVisibility() == View.VISIBLE){\n            doReverseAnimation();\n        }else {\n            super.onBackPressed();\n        }\n    }\n\n    /**\n     * 点击底部弹出框的回调\n     */\n    protected void onItemClickCallback(int groupId, int itemId){\n        doReverseAnimation();\n    }\n\n    /**\n     * 执行反向动画将其隐藏\n     */\n    private void doReverseAnimation(){\n        if (Build.VERSION.SDK_INT < 11) {\n            sv_bottom_content.setVisibility(View.GONE);\n            ll_full_screen.setVisibility(View.GONE);\n        }else{\n            //如果弹出动画还在执行，则直接将弹出动画的值置为最终值，代表该动画结束，接着直接进行收进动画\n            popAnimation.end();\n            //避免用户连续快速点击造成短时间内执行两次收进动画，此处进行判断\n            if (reverseAnimation != null && reverseAnimation.isRunning()){\n                return;\n            }\n            if (reverseAnimation == null) {\n                reverseAnimation = ObjectAnimator.ofInt(sv_bottom_content, \"bottomMargin\", 0, -scrollViewMeasureHeight);\n                reverseAnimation.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {\n                    @Override\n                    public void onAnimationUpdate(ValueAnimator animation) {\n                        int value = (Integer) animation.getAnimatedValue();\n                        RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) sv_bottom_content.getLayoutParams();\n                        params.bottomMargin = value;\n                        sv_bottom_content.setLayoutParams(params);\n                        ((View) (sv_bottom_content.getParent())).invalidate();\n                        if (value <= -scrollViewMeasureHeight){\n                            sv_bottom_content.setVisibility(View.GONE);\n                        }\n\n                        ll_full_screen.setAlpha((float) (((scrollViewMeasureHeight + value) * 1.0) / (scrollViewMeasureHeight * 1.0)));\n                        if (ll_full_screen.getAlpha()<=0){\n                            ll_full_screen.setVisibility(View.GONE);\n                        }\n                    }\n                });\n                reverseAnimation.setDuration(500);\n            }\n            reverseAnimation.start();\n        }\n    }\n\n    /**\n     * 用来显示该popwindow，保证在调用该方法之前已经调用{@link #addItemToBottomPopWindow(int, int, String)}方法\n     */\n    protected void showBottomPopWindow(){\n        if (Build.VERSION.SDK_INT >= 11) {\n            //如果上次的动画还在执行，直接停止\n            if (reverseAnimation != null){\n                reverseAnimation.end();\n            }\n            sv_bottom_content.setVisibility(View.VISIBLE);\n            ll_full_screen.setVisibility(View.VISIBLE);\n            //需要滚动到顶部\n            sv_bottom_content.scrollTo(0, 0);\n            if (popAnimation == null) {\n                popAnimation = ObjectAnimator.ofInt(sv_bottom_content, \"bottomMargin\", -scrollViewMeasureHeight, 0);\n                popAnimation.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {\n                    @Override\n                    public void onAnimationUpdate(ValueAnimator animation) {\n                        int value = (Integer) animation.getAnimatedValue();\n                        RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) sv_bottom_content.getLayoutParams();\n                        params.bottomMargin = value;\n                        sv_bottom_content.setLayoutParams(params);\n                        ((View) (sv_bottom_content.getParent())).invalidate();\n\n                        ll_full_screen.setAlpha((float) (((scrollViewMeasureHeight + value) * 1.0) / (scrollViewMeasureHeight * 1.0)));\n                    }\n                });\n                popAnimation.setDuration(500);\n            }\n            popAnimation.start();\n        }else{\n            ll_full_screen.setVisibility(View.VISIBLE);\n            sv_bottom_content.setVisibility(View.VISIBLE);\n            //需要滚动到顶部\n            sv_bottom_content.scrollTo(0, 0);\n        }\n    }\n\n\n    /**\n     * 底部item的数据集合\n     */\n    private class ItemHolder{\n        private int itemId;\n        private String name;\n    }\n}\n"
  },
  {
    "path": "libcore-ui/src/main/java/com/android/libcore_ui/activity/BaseFragment.java",
    "content": "package com.android.libcore_ui.activity;\n\nimport android.app.Activity;\nimport android.os.Bundle;\nimport android.os.Message;\nimport android.support.annotation.Nullable;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\n\nimport com.android.libcore.activity.RootFragment;\n\n/**\n * Description: 基础fragment\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-27\n */\npublic abstract class BaseFragment extends RootFragment{\n\n    /** fragment所依附的activity */\n    protected BaseActivity activity;\n    /** 整个activity的头部bar，如果某些activity需要改变bar样式，修改该view的子view即可 */\n    public View top_bar;\n\n    @Override\n    public void onAttach(Activity activity) {\n        super.onAttach(activity);\n        if (activity instanceof BaseActivity) {\n            this.activity = (BaseActivity) activity;\n            top_bar = ((BaseActivity)activity).top_bar;\n        }\n    }\n\n    @Override\n    public void onCreate(@Nullable Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n    }\n\n    @Nullable\n    @Override\n    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {\n        mViewContainer = setContentView(inflater, container);\n        initView();\n        initData();\n        return mViewContainer;\n    }\n\n    protected abstract View setContentView(LayoutInflater inflater, @Nullable ViewGroup container);\n\n    protected abstract void initView();\n    protected abstract void initData();\n\n    /**\n     * 根据id值获取view\n     */\n    protected View findViewById(int id){\n        return mViewContainer.findViewById(id);\n    }\n\n    /**\n     * 设置该activity页面的标题\n     */\n    protected void setTitle(String title){\n        activity.setTitle(title);\n    }\n\n    /**\n     * 用来fragment和activity之间的通信\n     * @param msg fragment发送给activity的消息\n     */\n    protected void sendMessageToActivity(Message msg){\n        //通过intent传递的数据量最好不要超过1M,而使用msg.obg变量则可以使用堆中的剩余存储\n        activity.onHandleMessageFromFragment(msg);\n    }\n}\n"
  },
  {
    "path": "libcore-ui/src/main/java/com/android/libcore_ui/activity/widget/BottomBarGroupLinearLayout.java",
    "content": "package com.android.libcore_ui.activity.widget;\n\nimport android.content.Context;\nimport android.util.AttributeSet;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.widget.LinearLayout;\nimport android.widget.TextView;\n\nimport com.android.libcore_ui.R;\n\n/**\n * Description: 专用控件，底部弹出框的容器，该控件不是常用控件\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-14\n */\npublic class BottomBarGroupLinearLayout extends LinearLayout{\n    private int mGroupId;\n    private boolean mHasSetGroupId = false;\n    private LayoutInflater mInflater;\n    private GroupItemClickCallback mCallback;\n\n    public BottomBarGroupLinearLayout(Context context) {\n        super(context);\n    }\n\n    public BottomBarGroupLinearLayout(Context context, AttributeSet attrs) {\n        super(context, attrs);\n    }\n\n    /** 设置该项的groupId */\n    public void setmGroupId(int mGroupId){\n        this.mGroupId = mGroupId;\n        mHasSetGroupId = true;\n        mInflater = LayoutInflater.from(getContext());\n    }\n\n    public void addItemToGroup(int itemId, String name){\n        if (!mHasSetGroupId){\n            throw new IllegalArgumentException(\"set mGroupId first\");\n        }\n        View view = mInflater.inflate(R.layout.bottom_item_layout, null);\n        TextView tv_item_name = (TextView) view.findViewById(R.id.tv_item_name);\n        tv_item_name.setText(name);\n\n        //设置textview的弧角\n        if (getChildCount() == 0){\n            tv_item_name.setBackgroundResource(R.drawable.bottom_button_all_selector);\n        }else{\n            tv_item_name.setBackgroundResource(R.drawable.bottom_button_bottom_selector);\n            if (getChildCount() == 1){\n                getChildAt(getChildCount() - 1).findViewById(R.id.tv_item_name).setBackgroundResource(R.drawable.bottom_button_top_selector);\n            }\n            else{\n                getChildAt(getChildCount() - 1).findViewById(R.id.tv_item_name).setBackgroundResource(R.drawable.bottom_button_middle_selector);\n            }\n        }\n\n        view.setTag(itemId);\n        this.addView(view);\n        view.setOnClickListener(new OnClickListener() {\n            @Override\n            public void onClick(View v) {\n                mCallback.callback(mGroupId, (Integer) v.getTag());\n            }\n        });\n\n        //将最后一个view的底部分割线去除\n        for (int i=0; i<getChildCount(); i++){\n            getChildAt(i).findViewById(R.id.v_line).setVisibility(View.VISIBLE);\n        }\n        getChildAt(getChildCount()-1).findViewById(R.id.v_line).setVisibility(View.GONE);\n    }\n\n    public void setCallback(GroupItemClickCallback callback){\n        this.mCallback = callback;\n    }\n\n    /**\n     * 点击item之后的回调\n     */\n    public interface GroupItemClickCallback{\n        public void callback(int groupId, int ItemId);\n    }\n}\n"
  },
  {
    "path": "libcore-ui/src/main/java/com/android/libcore_ui/application/BaseApplication.java",
    "content": "package com.android.libcore_ui.application;\n\nimport com.android.libcore.application.RootApplication;\n\n/**\n * Description:\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-09\n */\npublic class BaseApplication extends RootApplication{\n}\n"
  },
  {
    "path": "libcore-ui/src/main/java/com/android/libcore_ui/dialog/AppDialog.java",
    "content": "package com.android.libcore_ui.dialog;\n\nimport android.content.Context;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.view.Window;\nimport android.view.WindowManager;\nimport android.widget.LinearLayout;\nimport android.widget.RelativeLayout;\nimport android.widget.TextView;\n\nimport com.android.libcore.dialog.BaseDialog;\nimport com.android.libcore_ui.R;\n\n/**\n * Description: 扩展dialog类，用来统一dialog的样式和实线dialog的功能，请在此处定义好一个应用\n * 的dialog样式，并且保证一个应用的都使用该dialog\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-16\n */\npublic class AppDialog extends BaseDialog implements View.OnClickListener{\n\n    /** 标题 */\n    private RelativeLayout rl_title;\n    private TextView tv_title;\n\n    /** 内容 */\n    private RelativeLayout rl_message;\n    private TextView tv_message;\n\n    /** 底部按钮 */\n    private LinearLayout ll_bottom_button;\n\n    private LayoutInflater inflater;\n\n    public AppDialog(Context context) {\n        super(context, R.style.theme_dialog);\n        inflater = LayoutInflater.from(getContext());\n        //仿QQ的dialog样式\n        setContentView(R.layout.dialog_base_layout);\n        rl_title = (RelativeLayout) findViewById(R.id.rl_title);\n        tv_title = (TextView) findViewById(R.id.tv_title);\n        rl_message = (RelativeLayout) findViewById(R.id.rl_message);\n        tv_message = (TextView) findViewById(R.id.tv_message);\n        ll_bottom_button = (LinearLayout) findViewById(R.id.ll_bottom_button);\n    }\n\n    @Override\n    public BaseDialog setTitle(String title) {\n        mHasTitle = true;\n        tv_title.setText(title);\n        return this;\n    }\n\n    @Override\n    public BaseDialog setTitle(View title) {\n        mHasTitle = true;\n        rl_title.removeView(tv_title);\n        RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams\n                (ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);\n        params.addRule(RelativeLayout.CENTER_IN_PARENT);\n        rl_title.addView(title, params);\n        return this;\n    }\n\n    @Override\n    public BaseDialog setMessage(String message) {\n        tv_message.setText(message);\n        return this;\n    }\n\n    @Override\n    public BaseDialog setMessage(View message) {\n        rl_message.removeView(tv_message);\n        RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams\n                (ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);\n        params.addRule(RelativeLayout.CENTER_IN_PARENT);\n        rl_message.addView(message, params);\n        return this;\n    }\n\n    private LinearLayout generateLayout(String text){\n        LinearLayout layout = (LinearLayout) inflater.inflate(R.layout.dialog_item_button_layout, null);\n        View v_line = layout.findViewById(R.id.v_line);\n        TextView tv_text = (TextView) layout.findViewById(R.id.tv_text);\n        tv_text.setText(text);\n        if (ll_bottom_button.getChildCount() == 0){\n            layout.removeView(v_line);\n            tv_text.setBackgroundResource(R.drawable.dialog_button_bottom_selector);\n        }\n        else if (ll_bottom_button.getChildCount() == 1){\n            tv_text.setBackgroundResource(R.drawable.dialog_button_bottomright_selector);\n        }\n        else{\n            tv_text.setBackgroundResource(R.drawable.dialog_button_bottomright_selector);\n        }\n        reBuildCircle();\n        LinearLayout.LayoutParams params =\n                new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);\n        params.weight = 1;\n        layout.setLayoutParams(params);\n        layout.setOnClickListener(this);\n        return layout;\n    }\n\n    private void reBuildCircle(){\n        //因为textview是math_parent，并且该textview的背景颜色不为空，所以覆盖掉父控件的圆弧，所以只能动态设置\n        //textview的圆弧\n        if (ll_bottom_button.getChildCount() == 1){\n            View v = ll_bottom_button.getChildAt(0).findViewById(R.id.tv_text);\n            if (v != null)\n                v.setBackgroundResource(R.drawable.dialog_button_bottomleft_selector);\n        }\n        //如果大于等于2个，需要将上一个变成没有圆弧并且自己变成右圆弧\n        else if(ll_bottom_button.getChildCount() > 1){\n            View v = ll_bottom_button.getChildAt(ll_bottom_button.getChildCount() - 1);\n            v = v.findViewById(R.id.tv_text);\n            if (v != null)\n                v.setBackgroundResource(R.drawable.dialog_button_middle_selector);\n        }\n    }\n\n    @Override\n    public BaseDialog setPositiveButton(String positive) {\n        LinearLayout layout = generateLayout(positive);\n        layout.setTag(POSITIVE_LISTENER);\n        ll_bottom_button.addView(layout);\n        return this;\n    }\n\n    @Override\n    public BaseDialog setPositiveButton(View positive) {\n        View layout = positive;\n        //超过一个view,应该加上一条分割线\n        if (ll_bottom_button.getChildCount() > 0){\n            layout = inflater.inflate(R.layout.dialog_item_button_layout, null);\n            ((ViewGroup)layout).removeViewAt(1);\n            ((ViewGroup)layout).addView(positive);\n        }\n        LinearLayout.LayoutParams params =\n                new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);\n        params.weight = 1;\n        layout.setTag(POSITIVE_LISTENER);\n        layout.setOnClickListener(this);\n\n        ll_bottom_button.addView(layout, params);\n        return this;\n    }\n\n    @Override\n    public BaseDialog setNegativeButton(String negative) {\n        LinearLayout layout = generateLayout(negative);\n        layout.setTag(NEGATIVE_LISTENER);\n        ll_bottom_button.addView(layout);\n        return this;\n    }\n\n    @Override\n    public BaseDialog setNegativeButton(View negative) {\n        View layout = negative;\n        //超过一个view,应该加上一条分割线\n        if (ll_bottom_button.getChildCount() > 0){\n            layout = inflater.inflate(R.layout.dialog_item_button_layout, null);\n            ((ViewGroup)layout).removeViewAt(1);\n            ((ViewGroup)layout).addView(negative);\n        }\n        LinearLayout.LayoutParams params =\n                new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);\n        params.weight = 1;\n        layout.setTag(NEGATIVE_LISTENER);\n        layout.setOnClickListener(this);\n\n        ll_bottom_button.addView(layout, params);\n        return this;\n    }\n\n    @Override\n    public BaseDialog setNeutralButton(String neutral) {\n        LinearLayout layout = generateLayout(neutral);\n        layout.setTag(NEUTRAL_LISTENER);\n        ll_bottom_button.addView(layout);\n        return this;\n    }\n\n    @Override\n    public BaseDialog setNeutralButton(View neutral) {\n        View layout = neutral;\n        //超过一个view,应该加上一条分割线\n        if (ll_bottom_button.getChildCount() > 0){\n            layout = inflater.inflate(R.layout.dialog_item_button_layout, null);\n            ((ViewGroup)layout).removeViewAt(1);\n            ((ViewGroup)layout).addView(neutral);\n        }\n        LinearLayout.LayoutParams params =\n                new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);\n        params.weight = 1;\n        layout.setTag(NEUTRAL_LISTENER);\n        layout.setOnClickListener(this);\n\n        ll_bottom_button.addView(layout, params);\n        return this;\n    }\n\n    @Override\n    public BaseDialog addOtherButton(String other, int other_listener) {\n        if (!checkIllegalId(other_listener)){\n            throw new IllegalArgumentException(\"按钮id重复\");\n        }\n        LinearLayout layout = generateLayout(other);\n        layout.setTag(other_listener);\n        mIds.add(other_listener);\n        ll_bottom_button.addView(layout);\n        return this;\n    }\n\n    @Override\n    public BaseDialog addOtherButton(View other, int other_listener) {\n        if (!checkIllegalId(other_listener)){\n            throw new IllegalArgumentException(\"按钮id重复\");\n        }\n        reBuildCircle();\n        View layout = other;\n        layout = inflater.inflate(R.layout.dialog_item_button_layout, null);\n        //超过一个view,应该加上一条分割线\n        if (ll_bottom_button.getChildCount() == 0){\n            ((ViewGroup)layout).removeViewAt(0);\n        }\n        ((ViewGroup)layout).removeViewAt(1);\n        ((ViewGroup)layout).addView(other, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);\n        LinearLayout.LayoutParams params =\n                new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);\n        params.weight = 1;\n        other.setTag(other_listener);\n        other.setOnClickListener(this);\n        layout.setTag(other_listener);\n        layout.setOnClickListener(this);\n        ll_bottom_button.addView(layout, params);\n        return this;\n    }\n\n    @Override\n    public BaseDialog setGravity(int gravity) {\n        Window window = this.getWindow();\n        WindowManager.LayoutParams params = window.getAttributes();\n        params.gravity = gravity;\n        window.setAttributes(params);\n        return this;\n    }\n\n    @Override\n    public BaseDialog setPosition(int x, int y) {\n        Window window = this.getWindow();\n        WindowManager.LayoutParams params = window.getAttributes();\n        window.setAttributes(params);\n        return this;\n    }\n\n    @Override\n    public BaseDialog setWidth(int width) {\n        Window window = this.getWindow();\n        WindowManager.LayoutParams params = window.getAttributes();\n        params.width = width;\n        window.setAttributes(params);\n        return this;\n    }\n\n    @Override\n    public BaseDialog setHeight(int height) {\n        Window window = this.getWindow();\n        WindowManager.LayoutParams params = window.getAttributes();\n        params.height = height;\n        window.setAttributes(params);\n        return this;\n    }\n\n    @Override\n    public BaseDialog setAlpha(float alpha) {\n        Window window = this.getWindow();\n        WindowManager.LayoutParams params = window.getAttributes();\n        params.alpha = alpha;\n        window.setAttributes(params);\n        return null;\n    }\n\n    @Override\n    public void show() {\n        if (!mHasTitle)\n            rl_title.setVisibility(View.GONE);\n        super.show();\n    }\n\n    @Override\n    public void onClick(View v) {\n        this.dismiss();\n        mListener.onButtonClick((Integer) v.getTag());\n    }\n}\n"
  },
  {
    "path": "libcore-ui/src/main/java/com/android/libcore_ui/dialog/DialogCreator.java",
    "content": "package com.android.libcore_ui.dialog;\n\nimport android.view.View;\n\nimport com.android.libcore_ui.application.BaseApplication;\n\nimport java.util.ArrayList;\n\n/**\n * Description: dialog的生成类，用来获取所需要基本常用的dialog\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-16\n */\npublic class DialogCreator {\n\n    /**\n     * 创建dialog函数\n     * @param title 只能为string和view\n     * @param message 只能为string和view\n     * @param positive 只能为string和view\n     */\n    public static AppDialog createDialog(Object title, Object message, Object positive){\n        return createDialog(title, message, positive, null);\n    }\n\n    /**\n     * 创建dialog函数\n     * @param title 只能为string和view\n     * @param message 只能为string和view\n     * @param positive 只能为string和view\n     * @param negative 只能为string和view\n     */\n    public static AppDialog createDialog(Object title, Object message, Object positive, Object negative){\n        return createDialog(title, message, positive, negative, null);\n    }\n\n    /**\n     * 创建dialog函数\n     * @param title 只能为string和view\n     * @param message 只能为string和view\n     * @param positive 只能为string和view\n     * @param negative 只能为string和view\n     * @param neutral 只能为string和view\n     */\n    public static AppDialog createDialog(Object title, Object message, Object positive, Object negative, Object neutral){\n        return createDialog(title, message, positive, negative, neutral, null);\n    }\n\n    /**\n     * 创建dialog函数\n     * @param title 只能为string和view\n     * @param message 只能为string和view\n     * @param positive 只能为string和view\n     * @param negative 只能为string和view\n     * @param neutral 只能为string和view\n     * @param others 需要另外加上按钮的数据集合\n     */\n    public static AppDialog createDialog(Object title, Object message, Object positive, Object negative, Object neutral,\n                                      ArrayList<OtherButton> others){\n        AppDialog dialog = new AppDialog(BaseApplication.getInstance());\n        if (title != null) {\n            if (title instanceof String) {\n                dialog.setTitle((String) title);\n            } else if (title instanceof View) {\n                dialog.setTitle((View) title);\n            } else {\n                throw new IllegalArgumentException(\"title 只能为string和view\");\n            }\n        }\n\n        if (message != null) {\n            if (message instanceof String) {\n                dialog.setMessage((String) message);\n            } else if (message instanceof View) {\n                dialog.setMessage((View) message);\n            } else {\n                throw new IllegalArgumentException(\"message 只能为string和view\");\n            }\n        }\n\n        if(positive != null) {\n            if (positive instanceof String) {\n                dialog.setPositiveButton((String) positive);\n            } else if (positive instanceof View) {\n                dialog.setPositiveButton((View) positive);\n            } else {\n                throw new IllegalArgumentException(\"positive 只能为string和view\");\n            }\n        }\n\n        if (negative != null) {\n            if (negative instanceof String) {\n                dialog.setNegativeButton((String) negative);\n            } else if (negative instanceof View) {\n                dialog.setNegativeButton((View) negative);\n            } else {\n                throw new IllegalArgumentException(\"negative 只能为string和view\");\n            }\n        }\n\n        if (neutral != null) {\n            if (neutral instanceof String) {\n                dialog.setNeutralButton((String) neutral);\n            } else if (neutral instanceof View) {\n                dialog.setNeutralButton((View) neutral);\n            } else {\n                throw new IllegalArgumentException(\"neutral 只能为string和view\");\n            }\n        }\n\n        if (others!=null && others.size() > 0){\n            for (OtherButton temp : others){\n                if (temp.other instanceof String){\n                    dialog.addOtherButton((String)temp.other, temp.id);\n                }else{\n                    dialog.addOtherButton((View)temp.other, temp.id);\n                }\n            }\n        }\n        return dialog;\n    }\n\n    /**\n     * 另外需要添加按钮的数据集合\n     */\n    public static class OtherButton{\n        Object other;\n        Integer id;\n\n        /** 该类只提供该两种构造函数 */\n        public OtherButton(String text, Integer id){\n            other = text;\n            this.id = id;\n        }\n        public OtherButton(View view, Integer id){\n            other = view;\n            this.id = id;\n        }\n    }\n}\n"
  },
  {
    "path": "libcore-ui/src/main/java/com/android/libcore_ui/dialog/LoadingDialog.java",
    "content": "package com.android.libcore_ui.dialog;\n\nimport android.app.Dialog;\nimport android.content.Context;\nimport android.widget.TextView;\n\nimport com.android.libcore_ui.R;\n\n/**\n * Description: 默认应用加载框，可自定义\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-11-03\n */\npublic class LoadingDialog extends Dialog{\n    private TextView tv_loading_text;\n\n    public LoadingDialog(Context context) {\n        this(context, 0);\n    }\n\n    public LoadingDialog(Context context, int themeResId) {\n        super(context, R.style.theme_dialog);\n        setContentView(R.layout.loading_dialog_layout);\n        tv_loading_text = (TextView) findViewById(R.id.tv_loading_text);\n    }\n\n    public void setLoadingText(String text){\n        tv_loading_text.setText(text);\n    }\n}\n"
  },
  {
    "path": "libcore-ui/src/main/java/com/android/libcore_ui/net/NetApi.java",
    "content": "package com.android.libcore_ui.net;\n\nimport android.content.Context;\n\nimport com.android.libcore.net.netapi.BaseNetApi;\nimport com.android.libcore_ui.net.request.XMLRequest;\n\nimport org.xmlpull.v1.XmlPullParser;\n\nimport java.util.Map;\n\n/**\n * Description: 对基础netapi类的完善，可以在request包下添加自定义的request，并且\n * 在这个类里添加相应的函数\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-09-15\n */\npublic class NetApi extends BaseNetApi{\n    private volatile static NetApi instance;\n\n    public static NetApi getInstance(){\n        if (instance == null){\n            synchronized (NetApi.class){\n                if (instance == null){\n                    instance = new NetApi();\n                }\n            }\n        }\n        return instance;\n    }\n\n    public void xmlRequest(Context context, String url, Map<String, String> params, OnNetCallback<XmlPullParser> callback){\n        makeRequest(context, XMLRequest.class, url, params, callback);\n    }\n}\n"
  },
  {
    "path": "libcore-ui/src/main/java/com/android/libcore_ui/net/request/XMLRequest.java",
    "content": "package com.android.libcore_ui.net.request;\n\nimport com.android.volley.AuthFailureError;\nimport com.android.volley.NetworkResponse;\nimport com.android.volley.ParseError;\nimport com.android.volley.Request;\nimport com.android.volley.Response;\nimport com.android.volley.toolbox.HttpHeaderParser;\n\nimport org.xmlpull.v1.XmlPullParser;\nimport org.xmlpull.v1.XmlPullParserException;\nimport org.xmlpull.v1.XmlPullParserFactory;\n\nimport java.io.StringReader;\nimport java.io.UnsupportedEncodingException;\nimport java.util.Map;\n\n/**\n * Description: xml请求\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-09-16\n */\npublic class XMLRequest extends Request<XmlPullParser>{\n    private Response.Listener<XmlPullParser> mListener;\n    private Map<String, String> params;\n\n    public XMLRequest(int method, String url, Response.Listener<XmlPullParser> listener,\n                         Response.ErrorListener errorListener, Map<String, String> params) {\n        super(method, url, errorListener);\n        mListener = listener;\n        this.params = params;\n    }\n\n    @Override\n    protected Map<String, String> getParams() throws AuthFailureError {\n        return params;\n    }\n\n    @Override\n    protected void onFinish() {\n        super.onFinish();\n        mListener = null;\n    }\n\n    @Override\n    protected void deliverResponse(XmlPullParser response) {\n        if (mListener != null) {\n            mListener.onResponse(response);\n        }\n    }\n\n    @Override\n    protected Response<XmlPullParser> parseNetworkResponse(NetworkResponse response) {\n        try {\n            String xmlString = new String(response.data, HttpHeaderParser.parseCharset(response.headers));\n            XmlPullParserFactory factory = XmlPullParserFactory.newInstance();\n            XmlPullParser xmlPullParser = factory.newPullParser();\n            xmlPullParser.setInput(new StringReader(xmlString));\n            return Response.success(xmlPullParser, HttpHeaderParser.parseCacheHeaders(response));\n        } catch (UnsupportedEncodingException e) {\n            return Response.error(new ParseError(e));\n        } catch (XmlPullParserException e) {\n            return Response.error(new ParseError(e));\n        }\n    }\n}\n"
  },
  {
    "path": "libcore-ui/src/main/java/com/android/libcore_ui/permanentdbcache/PermanentCacheDB.java",
    "content": "package com.android.libcore_ui.permanentdbcache;\n\nimport android.database.sqlite.SQLiteDatabase;\n\nimport com.android.libcore.database.BaseDB;\nimport com.android.libcore.database.IBaseDBTable;\nimport com.android.libcore.log.L;\n\nimport java.util.ArrayList;\n\n/**\n * Description: 缓存{@link PermanentCacheDBHelper}的数据库表\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-20\n */\npublic class PermanentCacheDB extends BaseDB{\n\n    public PermanentCacheDB(IBaseDBTable table, boolean writable) {\n        super(table, writable);\n    }\n\n    @Override\n    protected String getDBName() {\n        return \"permanentCache.db\";\n    }\n\n    @Override\n    protected int getDBVersion() {\n        return 1;\n    }\n\n    @Override\n    protected void onDBCreate(SQLiteDatabase db) {\n        try {\n            db.beginTransaction();\n            String sql;\n            sql = \"create table if not exists \"+ TABLES.CACHE.getTableName() +\"_\" + getDBVersion() + \" (\";\n            sql += TABLES.CACHE.getTableColumns().get(0)+\" varchar(40) not null primary key default '', \";\n            sql += TABLES.CACHE.getTableColumns().get(1)+\" varchar(4000) not null default ''\";\n            sql += \")\";\n            db.execSQL(sql);\n            db.setTransactionSuccessful();\n        } catch (Exception e) {\n            L.e(\"sql语句错误\", e);\n        } finally {\n            db.endTransaction();\n        }\n    }\n\n    @Override\n    protected void onDBUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {\n        switch (newVersion){\n            case 2:\n                break;\n            default:\n                break;\n        }\n    }\n\n    /**\n     * 将该数据库中所有的表使用枚举封装\n     */\n    public enum TABLES implements IBaseDBTable {\n        CACHE(\"cache\"){\n            @Override\n            public ArrayList<String> getTableColumns() {\n                ArrayList<String> columns = new ArrayList<>();\n                columns.add(\"key\");//键\n                columns.add(\"value\");//值\n                return columns;\n            }\n        };\n        private String table_name;\n        TABLES(String table_name){\n            this.table_name = table_name;\n        }\n\n        @Override\n        public String getTableName() {\n            return table_name;\n        }\n\n        @Override\n        public ArrayList<String> getTableColumns() {\n            return null;\n        }\n    }\n}\n"
  },
  {
    "path": "libcore-ui/src/main/java/com/android/libcore_ui/permanentdbcache/PermanentCacheDBHelper.java",
    "content": "package com.android.libcore_ui.permanentdbcache;\n\nimport com.android.libcore.database.BaseDBHelper;\n\nimport java.util.ArrayList;\nimport java.util.HashMap;\n\n/**\n * Description: 用来封装{@link PermanentCacheDB}的相关存取操作，存储的值会<strong>永久</strong>的\n * 存储在数据库中，所以该db只能用来存放和应用周期相关的信息\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-20\n */\npublic class PermanentCacheDBHelper extends BaseDBHelper{\n    private volatile static PermanentCacheDBHelper instance;\n\n    public static PermanentCacheDBHelper getInstance(){\n        if (instance == null){\n            synchronized (PermanentCacheDBHelper.class){\n                if (instance == null){\n                    instance = new PermanentCacheDBHelper();\n                }\n            }\n        }\n        return instance;\n    }\n\n    private PermanentCacheDBHelper(){\n        mTable = PermanentCacheDB.TABLES.CACHE;\n    }\n\n    /**\n     * 设置键值，操作少，所以在UI线程\n     * @return 删除成功返回true\n     */\n    public boolean set(String key, String value){\n        ArrayList<String> columns = mTable.getTableColumns();\n        HashMap<String, String> map = new HashMap<>();\n        map.put(columns.get(0), key);\n        map.put(columns.get(1), value);\n        return insert(map, true) > 0;\n    }\n\n    /**\n     * 删除键，操作少，所以在UI线程\n     * @return 删除成功返回true\n     */\n    public boolean del(String key){\n        String selection = mTable.getTableColumns().get(0)+\"=?\";\n        String[] selectionArgs = new String[]{key};\n        return delete(selection, selectionArgs) > 0;\n    }\n\n    /**\n     * 清空该表的所有数据\n     */\n    public boolean clear(){\n        return delete(\"1=1\", null) > 0;\n    }\n\n    /**\n     * 根据键获取值，操作少，所以在UI线程\n     * @return value\n     */\n    public String get(String key){\n        String selection = mTable.getTableColumns().get(0)+\"=?\";\n        String[] selectionArgs = new String[]{key};\n        ArrayList<HashMap<String, String>> result = query(selection, selectionArgs, null, null, null, null);\n        if (result != null){\n            return result.get(0).get(mTable.getTableColumns().get(1));\n        }\n        return null;\n    }\n\n    @Override\n    protected void initInsertDB() {\n        mDb = new PermanentCacheDB(mTable, true);\n    }\n\n    @Override\n    protected void initDeleteDB() {\n        mDb = new PermanentCacheDB(mTable, true);\n    }\n\n    @Override\n    protected void initUpdateDB() {\n        mDb = null;\n    }\n\n    @Override\n    protected void initQueryDB() {\n        mDb = new PermanentCacheDB(mTable, false);\n    }\n}\n"
  },
  {
    "path": "libcore-ui/src/main/java/com/android/libcore_ui/volley/VolleyApi.java",
    "content": "package com.android.libcore_ui.volley;\n\nimport com.android.libcore.volley.BaseVolleyApi;\n\n/**\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-09-16\n */\npublic class VolleyApi extends BaseVolleyApi{\n}\n"
  },
  {
    "path": "libcore-ui/src/main/java/com/android/libcore_ui/volley/request/XMLRequest.java",
    "content": "package com.android.libcore_ui.volley.request;\n\nimport com.android.volley.NetworkResponse;\nimport com.android.volley.ParseError;\nimport com.android.volley.Request;\nimport com.android.volley.Response;\nimport com.android.volley.toolbox.HttpHeaderParser;\n\nimport org.xmlpull.v1.XmlPullParser;\nimport org.xmlpull.v1.XmlPullParserException;\nimport org.xmlpull.v1.XmlPullParserFactory;\n\nimport java.io.StringReader;\nimport java.io.UnsupportedEncodingException;\n\n/**\n * Description: xml请求\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-09-16\n */\npublic class XMLRequest extends Request<XmlPullParser>{\n    private Response.Listener<XmlPullParser> mListener;\n\n    public XMLRequest(int method, String url, Response.Listener<XmlPullParser> listener,\n                      Response.ErrorListener errorListener) {\n        super(method, url, errorListener);\n        mListener = listener;\n    }\n\n    @Override\n    protected void onFinish() {\n        super.onFinish();\n        mListener = null;\n    }\n\n    @Override\n    protected void deliverResponse(XmlPullParser response) {\n        if (mListener != null) {\n            mListener.onResponse(response);\n        }\n    }\n\n    @Override\n    protected Response<XmlPullParser> parseNetworkResponse(NetworkResponse response) {\n        try {\n            String xmlString = new String(response.data, HttpHeaderParser.parseCharset(response.headers));\n            XmlPullParserFactory factory = XmlPullParserFactory.newInstance();\n            XmlPullParser xmlPullParser = factory.newPullParser();\n            xmlPullParser.setInput(new StringReader(xmlString));\n            return Response.success(xmlPullParser, HttpHeaderParser.parseCacheHeaders(response));\n        } catch (UnsupportedEncodingException e) {\n            return Response.error(new ParseError(e));\n        } catch (XmlPullParserException e) {\n            return Response.error(new ParseError(e));\n        }\n    }\n}\n"
  },
  {
    "path": "libcore-ui/src/main/java/com/android/libcore_ui/web/WebFragment.java",
    "content": "package com.android.libcore_ui.web;\n\nimport android.annotation.SuppressLint;\nimport android.app.Dialog;\nimport android.graphics.Bitmap;\nimport android.os.Bundle;\nimport android.support.annotation.Nullable;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.webkit.JsPromptResult;\nimport android.webkit.JsResult;\nimport android.webkit.WebChromeClient;\nimport android.webkit.WebSettings;\nimport android.webkit.WebView;\nimport android.webkit.WebViewClient;\nimport android.widget.EditText;\nimport android.widget.TextView;\n\nimport com.android.libcore.Toast.T;\nimport com.android.libcore.dialog.BaseDialog;\nimport com.android.libcore_ui.R;\nimport com.android.libcore_ui.activity.BaseFragment;\nimport com.android.libcore_ui.dialog.DialogCreator;\n\nimport java.lang.reflect.Method;\n\n/**\n * Description: 最基本的webFragment，可以作为fragment嵌入activity的任何部分\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-08-03\n */\npublic class WebFragment extends BaseFragment{\n    public static final String EXTRA_URL = \"extra_url\";\n\n    protected WebView webView;\n    protected FrameworkWebViewClient webViewClient = new FrameworkWebViewClient();\n    protected FrameworkChromeClient chromeClient = new FrameworkChromeClient();\n\n    protected String url;\n\n    protected WebCallback callback;\n    @Override\n    protected View setContentView(LayoutInflater inflater, @Nullable ViewGroup container) {\n        return new WebView(activity);\n    }\n\n    @SuppressLint(\"SetJavaScriptEnabled\")\n    @Override\n    protected void initView() {\n        webView = (WebView) mViewContainer;\n        webView.setWebViewClient(webViewClient);\n        webView.setWebChromeClient(chromeClient);\n\n        WebSettings settings = webView.getSettings();\n        //设置网页大小自适应\n        settings.setUseWideViewPort(true);\n        settings.setLoadWithOverviewMode(true);\n        //支持js\n        settings.setJavaScriptEnabled(true);\n    }\n\n    @Override\n    protected void initData() {\n        Bundle data = getArguments();\n        if (data != null)\n            url = data.getString(EXTRA_URL);\n        if (url != null)\n            webView.loadUrl(url);\n    }\n\n    public WebView getWebView(){\n        return webView;\n    }\n\n    /**\n     * 加载url\n     */\n    public void loadUrl(String url){\n        webView.loadUrl(url);\n    }\n\n    /**\n     * 能否返回上一个页面\n     */\n    public boolean canGoBack(){\n        return webView.canGoBack();\n    }\n\n    /**\n     * 返回上一个页面\n     */\n    public void goBack(){\n        webView.goBack();\n    }\n\n    /**\n     * 刷新webview\n     */\n    public void refresh(){\n        webView.reload();\n    }\n\n    /**\n     * 停止加载\n     */\n    public void stopLoading(){\n        webView.stopLoading();\n    }\n\n    /** 是否是内部url，不需要跳转url */\n    protected boolean handleUrlBeforeLoad(String url){\n        return false;\n    }\n    protected void onPageStarted(WebView view, String url, Bitmap favicon){}\n    protected void onPageFinished(WebView view, String url){}\n\n    private class FrameworkWebViewClient extends WebViewClient {\n\n        @Override\n        public boolean shouldOverrideUrlLoading(WebView view, String url) {\n            if (!handleUrlBeforeLoad(url))\n                view.loadUrl(url);\n            return true;\n        }\n\n        @Override\n        public void onPageStarted(WebView view, String url, Bitmap favicon) {\n            if (callback != null)\n                callback.onPageStarted(url, favicon);\n            WebFragment.this.onPageStarted(view, url, favicon);\n        }\n\n        @Override\n        public void onPageFinished(WebView view, String url) {\n            if (callback != null)\n                callback.onPageFinished(url);\n            WebFragment.this.onPageFinished(view, url);\n        }\n\n        @Override\n        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {\n            T.getInstance().showShort(\"errorCode:\" + errorCode + \" description:\" + description + \" failingUrl:\" + failingUrl);\n            super.onReceivedError(view, errorCode, description, failingUrl);\n        }\n\n\n    }\n\n    protected void onProgressChanged(WebView view, int newProgress){}\n    protected void onReceivedIcon(WebView view, Bitmap icon){}\n    protected void onReceivedTitle(WebView view, String title){}\n\n    private class FrameworkChromeClient extends WebChromeClient {\n\n        @Override\n        public void onProgressChanged(WebView view, int newProgress) {\n            if (callback != null)\n                callback.onProgressChanged(newProgress);\n            WebFragment.this.onProgressChanged(view, newProgress);\n        }\n\n        @Override\n        public void onReceivedIcon(WebView view, Bitmap icon) {\n            if (callback != null)\n                callback.onReceivedIcon(icon);\n            WebFragment.this.onReceivedIcon(view, icon);\n        }\n\n        @Override\n        public void onReceivedTitle(WebView view, String title) {\n            if (callback != null)\n                callback.onReceivedTitle(title);\n            WebFragment.this.onReceivedTitle(view, title);\n        }\n\n        //js警告框\n        @Override\n        public boolean onJsAlert(WebView view, String url, String message, JsResult result) {\n            T.getInstance().showShort(message);\n            result.confirm();\n            return true;\n        }\n\n        //确认框\n        @Override\n        public boolean onJsConfirm(WebView view, String url, String message, final JsResult result) {\n            DialogCreator.createDialog(null, message, getString(R.string.confirm), getString(R.string.cancel))\n                    .setOnButtonClickListener(new BaseDialog.ButtonClickListener() {\n                        @Override\n                        public void onButtonClick(int button_id) {\n                            if (button_id == 0){\n                                result.confirm();\n                            }else{\n                                result.cancel();\n                            }\n                        }\n                    })\n                    .show();\n            return true;\n        }\n\n        //提示框\n        @Override\n        public boolean onJsPrompt(WebView view, String url, String message, String defaultValue, final JsPromptResult result) {\n            final View v = View.inflate(getActivity(), R.layout.dialog_js_prompt_message_layout, null);\n            ((TextView)(v.findViewById(R.id.tv_message))).setText(message);\n            ((EditText)(v.findViewById(R.id.et_content))).setText(defaultValue);\n            Dialog dialog = DialogCreator.createDialog(null, v, getString(R.string.confirm), getString(R.string.cancel))\n                    .setOnButtonClickListener(new BaseDialog.ButtonClickListener() {\n                        @Override\n                        public void onButtonClick(int button_id) {\n                            if (button_id == 0) {\n                                result.confirm(((EditText) (v.findViewById(R.id.et_content))).getText().toString());\n                            } else {\n                                result.cancel();\n                            }\n                        }\n                    });\n            dialog.setCanceledOnTouchOutside(false);\n            dialog.show();\n            return true;\n        }\n    }\n\n    @Override\n    public void onResume() {\n        super.onResume();\n        invokeMethod(\"onResume\");\n        webView.resumeTimers();\n    }\n\n    @Override\n    public void onPause() {\n        super.onPause();\n        //当页面不可见时，停止内核所有的动作，省电，省流量等\n        invokeMethod(\"onPause\");\n        //不仅仅针对当前的webview而是全局的全应用程序的webview，它会暂停所有webview的layout，parsing，javascript timer，降低CPU功耗。\n        webView.pauseTimers();\n    }\n\n    protected void invokeMethod(String method){\n        try {\n            Method m = WebView.class.getMethod(method);\n            m.setAccessible(true);\n            m.invoke(webView);\n        }catch (Exception e){\n            e.printStackTrace();\n        }\n    }\n\n    /**\n     * 设置回调\n     */\n    public void setCallback(WebCallback callback) {\n        this.callback = callback;\n    }\n\n    /** web页的回调 */\n    public static class WebCallback{\n        public void onPageStarted(String url, Bitmap favicon){}\n        public void onPageFinished(String url){}\n        public void onProgressChanged(int progress){}\n        public void onReceivedIcon(Bitmap icon){}\n        public void onReceivedTitle(String title){}\n    }\n}\n"
  },
  {
    "path": "libcore-ui/src/main/java/com/android/libcore_ui/web/webactivity/WebActivity.java",
    "content": "package com.android.libcore_ui.web.webactivity;\n\nimport android.content.res.Configuration;\nimport android.graphics.Bitmap;\nimport android.graphics.drawable.BitmapDrawable;\nimport android.os.Bundle;\nimport android.os.Message;\nimport android.support.v4.app.FragmentManager;\nimport android.support.v4.app.FragmentTransaction;\nimport android.support.v4.view.MenuItemCompat;\nimport android.view.Menu;\nimport android.view.MenuItem;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.ImageView;\nimport android.widget.ProgressBar;\nimport android.widget.RelativeLayout;\n\nimport com.android.libcore.utils.CommonUtils;\nimport com.android.libcore_ui.R;\nimport com.android.libcore_ui.activity.BaseActivity;\nimport com.android.libcore_ui.web.WebFragment;\n\nimport java.util.ArrayList;\n\n/**\n * Description: 应用基础的网页浏览activity\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-27\n */\npublic class WebActivity extends BaseActivity{\n\n    public static final String EXTRA_URL = \"extra_url\";\n    private WebActivityFragment webView;\n    private ProgressBar pb_bar;\n    private ImageView refresh;\n    private boolean isLoading = false;\n    /** 因为onReceivedTitle方法在goBack时不会调用，所以用一个list存储title */\n    private ArrayList<String> titles = new ArrayList<>();\n\n    @Override\n    public void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        initView();\n        initData();\n    }\n\n    protected void initView() {\n        setContentView(R.layout.activity_web_layout);\n        webView = new WebActivityFragment();\n        pb_bar = (ProgressBar) findViewById(R.id.pb_bar);\n        FragmentManager fm = getSupportFragmentManager();\n        FragmentTransaction ft = fm.beginTransaction();\n        ft.add(R.id.fl_content, webView);\n        ft.commit();\n\n        refresh = new ImageView(this);\n        RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(CommonUtils.dp2px(30), CommonUtils.dp2px(30));\n        params.setMargins(0, 0, CommonUtils.dp2px(10), 0);\n        params.addRule(RelativeLayout.CENTER_IN_PARENT);\n        refresh.setLayoutParams(params);\n        if (!isUseToolbar())\n            addOptionsMenu(refresh);\n        refresh.setBackgroundResource(R.mipmap.ic_refresh);\n        refresh.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View v) {\n                if (isLoading)\n                    webView.stopLoading();\n                else\n                    webView.refresh();\n            }\n        });\n    }\n\n    @Override\n    public void onConfigurationChanged(Configuration newConfig) {\n        super.onConfigurationChanged(newConfig);\n        if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE){\n            ((ViewGroup) findViewById(R.id.fl_bottom_blank)).removeAllViews();\n        }else{\n            addNavigationOnBottom((ViewGroup) findViewById(R.id.fl_bottom_blank));\n        }\n    }\n\n    protected void initData() {\n        Bundle bundle = new Bundle();\n        String url = getIntent().getStringExtra(EXTRA_URL);\n        bundle.putString(WebFragment.EXTRA_URL, url);\n        webView.setArguments(bundle);\n        addNavigationOnBottom((ViewGroup) findViewById(R.id.fl_bottom_blank));\n    }\n\n    @Override\n    public boolean onCreateOptionsMenu(Menu menu) {\n        if (isUseToolbar()){\n            getMenuInflater().inflate(R.menu.menu_webactivity_refresh, menu);\n            MenuItem item = menu.findItem(R.id.menu_refresh);\n            View view = MenuItemCompat.getActionView(item);\n            ((ViewGroup) view).addView(refresh);\n            return true;\n        }\n        else\n            return super.onCreateOptionsMenu(menu);\n    }\n\n    @Override\n    public void onBackPressed() {\n        if (webView.canGoBack())\n            webView.goBack();\n        else\n            super.onBackPressed();\n    }\n\n    @Override\n    protected void onHandleMessageFromFragment(Message msg) {\n        if (msg.what == 1){\n            isLoading = true;\n            refresh.setBackgroundResource(R.mipmap.ic_refresh_close);\n        }else if (msg.what == 2){\n            isLoading = false;\n            refresh.setBackgroundResource(R.mipmap.ic_refresh);\n        }else if (msg.what == 3){\n            int newProgress = (int) msg.obj;\n            if (newProgress == 100)\n                pb_bar.setVisibility(View.GONE);\n            else\n                pb_bar.setVisibility(View.VISIBLE);\n            pb_bar.setProgress(newProgress);\n        }else if (msg.what == 4){\n            Bitmap icon = (Bitmap) msg.obj;\n            BitmapDrawable drawable = new BitmapDrawable(getResources(), icon);\n            drawable.setBounds(0, 0, CommonUtils.dp2px(20), CommonUtils.dp2px(20));\n//            setTitle.setCompoundDrawables(drawable, null, null, null);\n        }else if (msg.what == 5){\n            String title = (String) msg.obj;\n            titles.add(\" \"+title);\n            setTitle(\" \" + title);\n        }\n    }\n}\n"
  },
  {
    "path": "libcore-ui/src/main/java/com/android/libcore_ui/web/webactivity/WebActivityFragment.java",
    "content": "package com.android.libcore_ui.web.webactivity;\n\nimport android.content.Intent;\nimport android.content.pm.PackageManager;\nimport android.content.pm.ResolveInfo;\nimport android.graphics.Bitmap;\nimport android.net.Uri;\nimport android.os.Build;\nimport android.os.Message;\nimport android.webkit.WebSettings;\nimport android.webkit.WebView;\n\nimport com.android.libcore_ui.R;\nimport com.android.libcore_ui.web.WebFragment;\n\nimport java.util.List;\n\n/**\n * Description: 用于在{@link WebActivity}中显示的webfragment\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-27\n */\npublic class WebActivityFragment extends WebFragment {\n\n    @Override\n    protected void initView() {\n        super.initView();\n        WebSettings settings = webView.getSettings();\n        //支持缩放\n        settings.setBuiltInZoomControls(true);\n        settings.setSupportZoom(true);\n        //隐藏缩放栏\n        if (Build.VERSION.SDK_INT >= 11)\n            settings.setDisplayZoomControls(false);\n    }\n\n    @Override\n    protected boolean handleUrlBeforeLoad(String url) {\n        try {\n            PackageManager pm = getActivity().getPackageManager();\n            // 以下固定写法\n            final Intent intent = new Intent();\n            intent.setAction(Intent.ACTION_VIEW);\n            intent.setData(Uri.parse(url));\n            List<ResolveInfo> infos = pm.queryIntentActivities(intent, PackageManager.GET_RESOLVED_FILTER);\n            //如果除了浏览器之外还有应用能够打开该链接，则打开一个选择器\n            if (infos.size() >= 2) {\n                startActivity(intent);\n            }\n        } catch (Exception e) {\n            // 防止没有安装的情况\n            e.printStackTrace();\n        }\n        return false;\n    }\n\n    @Override\n    protected void onPageStarted(WebView view, String url, Bitmap favicon) {\n        Message msg = Message.obtain();\n        msg.what = 1;\n        sendMessageToActivity(msg);\n    }\n\n    @Override\n    protected void onPageFinished(WebView view, String url) {\n        Message msg = Message.obtain();\n        msg.what = 2;\n        sendMessageToActivity(msg);\n    }\n\n    @Override\n    protected void onProgressChanged(WebView view, int newProgress) {\n        Message msg = Message.obtain();\n        msg.what = 3;\n        msg.obj = newProgress;\n        sendMessageToActivity(msg);\n    }\n\n    @Override\n    protected void onReceivedIcon(WebView view, Bitmap icon) {\n        Message msg = Message.obtain();\n        msg.what = 4;\n        msg.obj = icon;\n        sendMessageToActivity(msg);\n    }\n\n    @Override\n    protected void onReceivedTitle(WebView view, String title) {\n        Message msg = Message.obtain();\n        msg.what = 5;\n        msg.obj = title;\n        sendMessageToActivity(msg);\n    }\n}\n"
  },
  {
    "path": "libcore-ui/src/main/java/com/android/libcore_ui/widget/FlowLayout.java",
    "content": "package com.android.libcore_ui.widget;\n\nimport android.content.Context;\nimport android.content.res.TypedArray;\nimport android.util.AttributeSet;\nimport android.view.Gravity;\nimport android.view.View;\nimport android.view.ViewGroup;\n\nimport com.android.libcore_ui.R;\n\n/**\n * Description: 流式布局\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-11-14\n */\npublic class FlowLayout extends ViewGroup{\n    public static final int VERTICAL = 0;\n    public static final int HORIZONTAL = 1;\n    private final int CENTER = 1;\n    private final int TOP = 2;\n    private final int BOTTOM =3;\n    private final int LEFT = 4;\n    private final int RIGHT = 5;\n\n    //默认间隙\n    private int mVerticalSpacing = 10;\n    private int mHorizontalSpacing = 10;\n    //布局方向\n    private int orientation = HORIZONTAL;\n    //子view放置gravity\n    private int childGravity = 1;\n\n    public FlowLayout(Context context) {\n        this(context, null);\n    }\n\n    public FlowLayout(Context context, AttributeSet attrs) {\n        this(context, attrs, 0);\n    }\n\n    public FlowLayout(Context context, AttributeSet attrs, int defStyleAttr) {\n        super(context, attrs, defStyleAttr);\n        getAttrValue(attrs);\n    }\n\n    private void getAttrValue(AttributeSet attrs){\n        TypedArray typedArray = getContext().obtainStyledAttributes(attrs, R.styleable.FlowLayout);\n\n        mVerticalSpacing = typedArray.getDimensionPixelSize(R.styleable.FlowLayout_verticalSpacing, 10);\n        mHorizontalSpacing = typedArray.getDimensionPixelSize(R.styleable.FlowLayout_horizontalSpacing, 10);\n        orientation = typedArray.getInt(R.styleable.FlowLayout_orientation, HORIZONTAL);\n\n        int gravity = typedArray.getInt(R.styleable.FlowLayout_childGravity, Gravity.TOP);\n        if (orientation == HORIZONTAL) {\n            gravity = gravity & Gravity.VERTICAL_GRAVITY_MASK;\n            if (gravity == Gravity.TOP)\n                childGravity = TOP;\n            else if (gravity == Gravity.BOTTOM)\n                childGravity = BOTTOM;\n            else\n                childGravity = CENTER;\n        }else{\n            gravity = gravity & Gravity.HORIZONTAL_GRAVITY_MASK;\n            if (gravity == Gravity.LEFT)\n                childGravity = LEFT;\n            else if (gravity == Gravity.RIGHT)\n                childGravity = RIGHT;\n            else\n                childGravity = CENTER;\n        }\n\n        typedArray.recycle();\n    }\n\n    @Override\n    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {\n        if (getChildCount() <= 0){\n            super.onMeasure(widthMeasureSpec, heightMeasureSpec);\n            return;\n        }\n\n        int paddingTop = getPaddingTop();\n        int paddingLeft = getPaddingLeft();\n        int paddingRight = getPaddingRight();\n        int paddingBottom = getPaddingBottom();\n\n        int width;\n        int height;\n\n        int childWidth;\n        int childHeight;\n\n        //该行最大子view大小\n        int maxChildSize = 0;\n        //剩余大小\n        int lastSize;\n\n        //水平布局，宽度固定，高度变化\n        if (orientation == HORIZONTAL) {\n            width = MeasureSpec.getSize(widthMeasureSpec);\n            height = 0;\n            lastSize = width - paddingLeft - paddingRight;\n\n            //如果第一个子view的大小已经超过容器大小\n            if (lastSize < getChildAt(0).getLayoutParams().width)\n                throw new ChildSizeTooLongException(\"the 0 child's width too long\");\n        }\n        //垂直布局，高度固定，宽度变化\n        else{\n            width = 0;\n            height = MeasureSpec.getSize(heightMeasureSpec);\n            lastSize = height - paddingTop - paddingBottom;\n\n            //如果第一个子view的大小已经超过容器大小\n            if (lastSize < getChildAt(0).getLayoutParams().height)\n                throw new ChildSizeTooLongException(\"the 0 child's height too long\");\n        }\n\n        //每行的第一个item的序号\n        int firstItemOfLine = 0;\n\n        //x,y坐标\n        int x = paddingLeft;\n        int y = paddingTop;\n\n        int childSpec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED);\n        for (int i = 0; i < getChildCount(); i++) {\n            View child = getChildAt(i);\n\n            LayoutParams lp = (LayoutParams) child.getLayoutParams();\n            childHeight = lp.height;\n            childWidth = lp.width;\n\n            if (childHeight <= 0 || childWidth <= 0) {\n                child.measure(childSpec, childSpec);\n                childWidth = child.getMeasuredWidth();\n                childHeight = child.getMeasuredHeight();\n            }\n            child.measure(MeasureSpec.makeMeasureSpec(childWidth, MeasureSpec.EXACTLY),\n                    MeasureSpec.makeMeasureSpec(childHeight, MeasureSpec.EXACTLY));\n\n            if (orientation == HORIZONTAL) {\n                lastSize = lastSize - childWidth - mHorizontalSpacing;\n            }else{\n                lastSize = lastSize - childHeight - mVerticalSpacing;\n            }\n\n            //需要换行\n            if (lastSize < 0) {\n                if (orientation == HORIZONTAL) {\n                    //根据gravity将上一行的子view放置在正确的位置上\n                    for (int j=firstItemOfLine; j<i; j++){\n                        View lineChild = getChildAt(j);\n                        LayoutParams childLayoutParams = (LayoutParams) lineChild.getLayoutParams();\n                        if (childGravity == TOP){\n                            //默认，无需处理\n                        }else if (childGravity == BOTTOM){\n                            childLayoutParams.y += maxChildSize - lineChild.getMeasuredHeight();\n                        }else if (childGravity == CENTER){\n                            childLayoutParams.y += (maxChildSize - lineChild.getMeasuredHeight())/2;\n                        }\n                    }\n\n                    //将大小重置\n                    lastSize = width - paddingLeft - paddingRight - childWidth;\n\n                    //换行之后该行的第一个view大小超过整体父view大小\n                    if (lastSize < 0)\n                        throw new ChildSizeTooLongException(\"the \" + i + \" child's width too long\");\n\n                    //高换行\n                    height += maxChildSize + mVerticalSpacing;\n                    //换行之后的第一行坐标\n                    x = paddingLeft;\n                    y += maxChildSize + mVerticalSpacing;\n                    //将最大高度值置为这第一个view的高度\n                    maxChildSize = childHeight;\n                }else{\n                    //根据gravity将上一行的子view放置在正确的位置上\n                    for (int j=firstItemOfLine; j<i; j++){\n                        View lineChild = getChildAt(j);\n                        LayoutParams childLayoutParams = (LayoutParams) lineChild.getLayoutParams();\n                        if (childGravity == LEFT){\n                            //默认，无需处理\n                        }else if (childGravity == RIGHT){\n                            childLayoutParams.x += maxChildSize - lineChild.getMeasuredWidth();\n                        }else if (childGravity == CENTER){\n                            childLayoutParams.x += (maxChildSize - lineChild.getMeasuredWidth())/2;\n                        }\n                    }\n\n                    //将大小重置\n                    lastSize = height - paddingTop - paddingBottom - childHeight;\n\n                    //换行之后该行的第一个view大小超过整体父view大小\n                    if (lastSize < 0)\n                        throw new ChildSizeTooLongException(\"the \" + i + \" child's height too long\");\n\n                    //宽换列\n                    width += maxChildSize + mHorizontalSpacing;\n                    //换列之后的第一列坐标\n                    x += maxChildSize + mHorizontalSpacing;\n                    y = paddingTop;\n                    //将最大宽度值置为这第一个view的宽度\n                    maxChildSize = childWidth;\n                }\n\n                //换行之后的第一个item序号\n                firstItemOfLine= i;\n            }\n            //不需要换行\n            else {\n                if (orientation == HORIZONTAL) {\n                    //计算出这一行子view中高度最大的view\n                    maxChildSize = maxChildSize > childHeight ? maxChildSize : childHeight;\n                }else{\n                    //计算出这一列子view中宽度最大的view\n                    maxChildSize = maxChildSize > childWidth ? maxChildSize : childWidth;\n                }\n            }\n            lp.setXY(x, y);\n            if (orientation == HORIZONTAL) {\n                x += childWidth + mHorizontalSpacing;\n            }else{\n                y += childHeight + mVerticalSpacing;\n            }\n        }\n        if (orientation == HORIZONTAL) {\n            height += maxChildSize;\n            height += + paddingBottom + paddingTop;\n            //不要忘记最后一行\n            for (int i=firstItemOfLine; i<getChildCount(); i++){\n                View lineChild = getChildAt(i);\n                LayoutParams childLayoutParams = (LayoutParams) lineChild.getLayoutParams();\n                if (childGravity == TOP){\n                    //默认，无需处理\n                }else if (childGravity == BOTTOM){\n                    childLayoutParams.y += maxChildSize - lineChild.getMeasuredHeight();\n                }else if (childGravity == CENTER){\n                    childLayoutParams.y += (maxChildSize - lineChild.getMeasuredHeight())/2;\n                }\n            }\n        }else{\n            width += maxChildSize;\n            width += paddingLeft + paddingRight;\n            //不要忘记最后一列\n            for (int i=firstItemOfLine; i<getChildCount(); i++){\n                View lineChild = getChildAt(i);\n                LayoutParams childLayoutParams = (LayoutParams) lineChild.getLayoutParams();\n                if (childGravity == LEFT){\n                    //默认，无需处理\n                }else if (childGravity == RIGHT){\n                    childLayoutParams.x += maxChildSize - lineChild.getMeasuredWidth();\n                }else if (childGravity == CENTER){\n                    childLayoutParams.x += (maxChildSize - lineChild.getMeasuredWidth())/2;\n                }\n            }\n        }\n        setMeasuredDimension(resolveSize(width, widthMeasureSpec), resolveSize(height, heightMeasureSpec));\n    }\n\n    @Override\n    protected void onLayout(boolean changed, int l, int t, int r, int b) {\n        final int count = getChildCount();\n        for (int i = 0; i < count; i++) {\n            View child = getChildAt(i);\n            LayoutParams lp = (LayoutParams) child.getLayoutParams();\n            child.layout(lp.x, lp.y, lp.x + child.getMeasuredWidth(), lp.y + child.getMeasuredHeight());\n        }\n    }\n\n    /**\n     * 设置布局方向\n     * @param orientation {@link #HORIZONTAL}or{@link #VERTICAL}\n     */\n    public void setOrientation(int orientation){\n        if (orientation!=HORIZONTAL && orientation!=VERTICAL)\n            throw new IllegalArgumentException(\"orientation error\");\n        this.orientation = orientation;\n        invalidate();\n    }\n\n    public int getOrientation(){\n        return orientation;\n    }\n\n    @Override\n    protected boolean checkLayoutParams(ViewGroup.LayoutParams p) {\n        return p instanceof LayoutParams;\n    }\n\n    @Override\n    protected LayoutParams generateDefaultLayoutParams() {\n        return new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);\n    }\n\n    @Override\n    public LayoutParams generateLayoutParams(AttributeSet attributeSet) {\n        return new LayoutParams(getContext(), attributeSet);\n    }\n\n    @Override\n    protected LayoutParams generateLayoutParams(ViewGroup.LayoutParams p) {\n        return new LayoutParams(p);\n    }\n\n    public static class LayoutParams extends ViewGroup.LayoutParams{\n        public int x;\n        public int y;\n\n        public LayoutParams(ViewGroup.LayoutParams source) {\n            super(source);\n        }\n\n        public LayoutParams(Context c, AttributeSet attrs) {\n            super(c, attrs);\n        }\n\n        public LayoutParams(int width, int height) {\n            super(width, height);\n        }\n\n        public void setXY(int x, int y){\n            this.x = x;\n            this.y = y;\n        }\n    }\n\n    public static class ChildSizeTooLongException extends RuntimeException{\n        public ChildSizeTooLongException(String message){\n            super(message);\n        }\n    }\n}\n"
  },
  {
    "path": "libcore-ui/src/main/java/com/android/libcore_ui/widget/SimpleGridLayout.java",
    "content": "package com.android.libcore_ui.widget;\n\nimport android.content.Context;\nimport android.content.res.TypedArray;\nimport android.util.AttributeSet;\nimport android.view.ViewGroup;\n\nimport com.android.libcore_ui.R;\n\n\n/**\n * Description: 自定义的网格布局，每个子view的高度和宽度一致，布局以第一个子view的高度为基础\n * 进行父控件的高度测量，以第一个子view的宽度进行所有view的位置控制\n *\n * @author  zzp\n * @since  2015-07-02\n */\npublic class SimpleGridLayout extends ViewGroup{\n\n    private int NUM_PER_LINE = 3;\n    private int mVerticalSpacing = 10;\n\n    public SimpleGridLayout(Context context) {\n        super(context);\n    }\n\n    public SimpleGridLayout(Context context, AttributeSet attrs) {\n        super(context, attrs);\n        TypedArray array = context.obtainStyledAttributes(attrs, R.styleable.SimpleGridLayout);\n        //默认为3行\n        NUM_PER_LINE = array.getInteger(R.styleable.SimpleGridLayout_columns, 3);\n        if (NUM_PER_LINE <= 1)\n            throw new IllegalArgumentException(\"columns must greater than 1\");\n        mVerticalSpacing = array.getDimensionPixelSize(R.styleable.SimpleGridLayout_verticalItemSpacing, 10);\n        array.recycle();\n    }\n\n    @Override\n    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {\n        if (getChildCount() == 0) {\n            super.onMeasure(widthMeasureSpec, heightMeasureSpec);\n            return;\n        }\n\n        int paddingTop = getPaddingTop();\n        int paddingBottom = getPaddingBottom();\n\n        int childHeight = (getChildAt(0).getLayoutParams()).height;\n        int childWidth = (getChildAt(0).getLayoutParams()).width;\n\n        if (childHeight <= 0 || childWidth <= 0){\n            getChildAt(0).measure(MeasureSpec.UNSPECIFIED, MeasureSpec.UNSPECIFIED);\n            childHeight = getChildAt(0).getMeasuredHeight();\n            childWidth = getChildAt(0).getMeasuredHeight();\n        }\n\n        int lines = (int)Math.ceil(((getChildCount()*1.0) / (NUM_PER_LINE *1.0)));\n        int height = lines * (mVerticalSpacing + childHeight) + paddingBottom + paddingTop - mVerticalSpacing;\n        heightMeasureSpec = MeasureSpec.makeMeasureSpec(height, MeasureSpec.getMode(heightMeasureSpec));\n        setMeasuredDimension(widthMeasureSpec, heightMeasureSpec);\n\n        for (int i=0; i<getChildCount(); i++){\n            int childWidthMeasureSpec = MeasureSpec.makeMeasureSpec(childWidth, MeasureSpec.EXACTLY);\n            int childHeightMeasureSpec = MeasureSpec.makeMeasureSpec(childHeight, MeasureSpec.EXACTLY);\n            getChildAt(i).measure(childWidthMeasureSpec, childHeightMeasureSpec);\n        }\n    }\n\n    @Override\n    protected void onLayout(boolean changed, int l, int t, int r, int b) {\n        if (getChildCount() == 0) {\n            return;\n        }\n\n        int paddingTop = getPaddingTop();\n        int paddingLeft = getPaddingLeft();\n        int paddingRight = getPaddingRight();\n\n        l += paddingLeft;\n        r -= paddingRight;\n\n        int childHeight = (getChildAt(0).getLayoutParams()).height;\n        if (childHeight <= 0){\n            childHeight = getChildAt(0).getMeasuredHeight();\n        }\n        int childWidth = (getChildAt(0).getLayoutParams()).width;\n        if (childWidth <= 0){\n            childWidth = getChildAt(0).getMeasuredWidth();\n        }\n\n        for (int i=0; i<getChildCount(); i++){\n            int position = i% NUM_PER_LINE;\n            int xPos = (position)*((((r-l)-childWidth*NUM_PER_LINE)/(NUM_PER_LINE -1))+childWidth);\n            int yPos= (i/NUM_PER_LINE)*(childHeight+ mVerticalSpacing)+paddingTop;\n            getChildAt(i).layout(xPos, yPos, xPos+childWidth, yPos+childHeight);\n        }\n    }\n}\n"
  },
  {
    "path": "libcore-ui/src/main/res/drawable/base_dialog_shape.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shape xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <stroke android:width=\"1px\" android:color=\"@color/half_black_transparent\"/>\n    <solid android:color=\"@color/white\"/>\n    <corners android:radius=\"10dp\"/>\n</shape>"
  },
  {
    "path": "libcore-ui/src/main/res/drawable/bg_edittext.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\" >\r\n    <item android:state_focused=\"true\"  android:drawable=\"@drawable/bg_edittext_focus\"/>\r\n\t<item android:state_window_focused=\"false\"\tandroid:drawable=\"@drawable/bg_edittext_not_focus\"/>\r\n</selector>\r\n"
  },
  {
    "path": "libcore-ui/src/main/res/drawable/bg_edittext_focus.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<shape xmlns:android=\"http://schemas.android.com/apk/res/android\" >\r\n    <solid android:color=\"#FFFFFF\" />   \r\n    <corners android:radius=\"3dip\"/>  \r\n    <stroke    \r\n        android:width=\"1dip\"    \r\n        android:color=\"#cccccc\" />   \r\n\r\n</shape>\r\n"
  },
  {
    "path": "libcore-ui/src/main/res/drawable/bg_edittext_not_focus.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<shape xmlns:android=\"http://schemas.android.com/apk/res/android\" >\r\n<solid android:color=\"#FFFFFF\" />   \r\n    <corners android:radius=\"3dip\"/>  \r\n    <stroke    \r\n        android:width=\"1dip\"    \r\n        android:color=\"#dddddd\"  />\r\n\r\n</shape>\r\n"
  },
  {
    "path": "libcore-ui/src/main/res/drawable/bg_loading_dialog.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shape xmlns:android=\"http://schemas.android.com/apk/res/android\"\n       android:shape=\"rectangle\" >\n    <solid android:color=\"#626262\" />\n    <padding\n        android:right=\"3dp\"\n        android:left=\"3dp\" />\n    <corners android:radius=\"2dp\" />\n</shape>"
  },
  {
    "path": "libcore-ui/src/main/res/drawable/bg_progress_bar.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<layer-list xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <item android:id=\"@android:id/background\">\n        <shape>\n            <solid android:color=\"@color/transparent\"/>\n            <corners android:radius=\"10dp\"/>\n        </shape>\n    </item>\n <!--   <item android:id=\"@android:id/secondaryProgress\">\n        <clip android:clipOrientation=\"vertical\">\n            <shape>\n                <corners android:radius=\"5dip\" />\n                <gradient\n                    android:startColor=\"#80ffd300\"\n                    android:centerColor=\"#80ffb600\"\n                    android:centerY=\"0.75\"\n                    android:endColor=\"#a0ffcb00\"\n                    android:angle=\"270\"\n                    />\n            </shape>\n        </clip>\n    </item>-->\n    <item android:id=\"@android:id/progress\">\n        <clip>\n            <shape>\n                <solid android:color=\"#FF8080\" />\n                <corners android:radius=\"10dp\"/>\n            </shape>\n        </clip>\n    </item>\n</layer-list>"
  },
  {
    "path": "libcore-ui/src/main/res/drawable/bottom_button_all_selector.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <!-- 使用了shape就不能再使用drawable，要不然会被覆盖 -->\n    <item android:state_pressed=\"true\">\n        <shape>\n            <solid android:color=\"@color/light_gray\"/>\n            <corners android:radius=\"10dp\"/>\n        </shape>\n    </item>\n    <item>\n        <shape>\n            <solid android:color=\"@color/white\"/>\n            <corners android:radius=\"10dp\"/>\n        </shape>\n    </item>\n</selector>"
  },
  {
    "path": "libcore-ui/src/main/res/drawable/bottom_button_bottom_selector.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <!-- 使用了shape就不能再使用drawable，要不然会被覆盖 -->\n    <item android:state_pressed=\"true\">\n        <shape>\n            <solid android:color=\"@color/light_gray\"/>\n            <corners android:bottomRightRadius=\"10dp\" android:bottomLeftRadius=\"10dp\"/>\n        </shape>\n    </item>\n    <item>\n        <shape>\n            <solid android:color=\"@color/white\"/>\n            <corners android:bottomRightRadius=\"10dp\" android:bottomLeftRadius=\"10dp\"/>\n        </shape>\n    </item>\n</selector>"
  },
  {
    "path": "libcore-ui/src/main/res/drawable/bottom_button_middle_selector.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <!-- 使用了shape就不能再使用drawable，要不然会被覆盖 -->\n    <item android:state_pressed=\"true\">\n        <shape>\n            <solid android:color=\"@color/light_gray\"/>\n        </shape>\n    </item>\n    <item>\n        <shape>\n            <solid android:color=\"@color/white\"/>\n        </shape>\n    </item>\n</selector>"
  },
  {
    "path": "libcore-ui/src/main/res/drawable/bottom_button_shape.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shape xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <stroke android:width=\"1px\" android:color=\"@color/half_black_transparent\"/>\n    <solid android:color=\"@color/light_white\"/>\n    <corners android:radius=\"10dp\"/>\n</shape>"
  },
  {
    "path": "libcore-ui/src/main/res/drawable/bottom_button_top_selector.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <!-- 使用了shape就不能再使用drawable，要不然会被覆盖 -->\n    <item android:state_pressed=\"true\">\n        <shape>\n            <solid android:color=\"@color/light_gray\"/>\n            <corners android:topLeftRadius=\"10dp\" android:topRightRadius=\"10dp\"/>\n        </shape>\n    </item>\n    <item>\n        <shape>\n            <solid android:color=\"@color/white\"/>\n            <corners android:topLeftRadius=\"10dp\" android:topRightRadius=\"10dp\"/>\n        </shape>\n    </item>\n</selector>"
  },
  {
    "path": "libcore-ui/src/main/res/drawable/dialog_button_bottom_selector.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <!-- 使用了shape就不能再使用drawable，要不然会被覆盖 -->\n    <item android:state_pressed=\"true\">\n        <shape>\n            <corners android:bottomLeftRadius=\"10dp\" android:bottomRightRadius=\"10dp\"/>\n            <solid android:color=\"@color/light_gray\"/>\n        </shape>\n    </item>\n    <item>\n        <shape>\n            <corners android:bottomLeftRadius=\"10dp\" android:bottomRightRadius=\"10dp\"/>\n            <solid android:color=\"@color/white\"/>\n        </shape>\n    </item>\n</selector>"
  },
  {
    "path": "libcore-ui/src/main/res/drawable/dialog_button_bottomleft_selector.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <!-- 使用了shape就不能再使用drawable，要不然会被覆盖 -->\n    <item android:state_pressed=\"true\">\n        <shape>\n            <corners android:bottomLeftRadius=\"10dp\"/>\n            <solid android:color=\"@color/light_gray\"/>\n        </shape>\n    </item>\n    <item>\n        <shape>\n            <corners android:bottomLeftRadius=\"10dp\"/>\n            <solid android:color=\"@color/white\"/>\n        </shape>\n    </item>\n</selector>"
  },
  {
    "path": "libcore-ui/src/main/res/drawable/dialog_button_bottomright_selector.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <!-- 使用了shape就不能再使用drawable，要不然会被覆盖 -->\n    <item android:state_pressed=\"true\">\n        <shape>\n            <corners android:bottomRightRadius=\"10dp\"/>\n            <solid android:color=\"@color/light_gray\"/>\n        </shape>\n    </item>\n    <item>\n        <shape>\n            <corners android:bottomRightRadius=\"10dp\"/>\n            <solid android:color=\"@color/white\"/>\n        </shape>\n    </item>\n</selector>"
  },
  {
    "path": "libcore-ui/src/main/res/drawable/dialog_button_middle_selector.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <!-- 使用了shape就不能再使用drawable，要不然会被覆盖 -->\n    <item android:state_pressed=\"true\">\n        <shape>\n            <solid android:color=\"@color/light_gray\"/>\n        </shape>\n    </item>\n    <item>\n        <shape>\n            <solid android:color=\"@color/white\"/>\n        </shape>\n    </item>\n</selector>"
  },
  {
    "path": "libcore-ui/src/main/res/layout/activity_base_layout.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n              android:layout_width=\"match_parent\"\n              android:layout_height=\"match_parent\"\n              android:orientation=\"vertical\">\n    <View\n        android:id=\"@+id/v_status_bar\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:visibility=\"gone\"/>\n    <RelativeLayout\n        android:layout_width=\"match_parent\"\n        android:layout_weight=\"1\"\n        android:layout_height=\"0dp\">\n        <LinearLayout\n            android:orientation=\"vertical\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"match_parent\">\n            <!-- 顶部bar -->\n            <FrameLayout\n                android:id=\"@+id/fl_top_bar\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\">\n            </FrameLayout>\n            <!-- 内容区域 -->\n            <FrameLayout\n                android:id=\"@+id/base_content\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"match_parent\">\n            </FrameLayout>\n        </LinearLayout>\n    </RelativeLayout>\n</LinearLayout>"
  },
  {
    "path": "libcore-ui/src/main/res/layout/activity_base_layout_with_popwindow.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n              android:layout_width=\"match_parent\"\n              android:layout_height=\"match_parent\"\n              android:orientation=\"vertical\">\n    <View\n        android:id=\"@+id/v_status_bar\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:visibility=\"gone\"/>\n    <RelativeLayout\n        android:layout_width=\"match_parent\"\n        android:layout_weight=\"1\"\n        android:layout_height=\"0dp\">\n        <LinearLayout\n            android:orientation=\"vertical\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"match_parent\">\n            <!-- 顶部bar -->\n            <FrameLayout\n                android:id=\"@+id/fl_top_bar\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\">\n            </FrameLayout>\n            <!-- 内容区域 -->\n            <FrameLayout\n                android:id=\"@+id/base_content\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"match_parent\">\n            </FrameLayout>\n        </LinearLayout>\n        <View\n            android:id=\"@+id/ll_full_screen\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"match_parent\"\n            android:background=\"#88000000\"\n            android:focusable=\"true\"\n            android:alpha=\"0\"\n            android:visibility=\"gone\">\n        </View>\n        <!-- 底部弹出popWindow -->\n        <ScrollView\n            android:id=\"@+id/sv_bottom_content\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_alignParentBottom=\"true\"\n            android:scrollbars=\"none\"\n            android:visibility=\"gone\">\n\n            <LinearLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:orientation=\"vertical\">\n                <LinearLayout\n                    android:id=\"@+id/ll_bottom_content\"\n                    android:layout_width=\"match_parent\"\n                    android:layout_height=\"wrap_content\"\n                    android:orientation=\"vertical\">\n                </LinearLayout>\n                <View\n                    android:id=\"@+id/v_navigation_bar\"\n                    android:layout_width=\"match_parent\"\n                    android:layout_height=\"wrap_content\"\n                    android:background=\"@color/transparent\"\n                    android:visibility=\"gone\"/>\n            </LinearLayout>\n        </ScrollView>\n    </RelativeLayout>\n</LinearLayout>"
  },
  {
    "path": "libcore-ui/src/main/res/layout/activity_top_bar_layout.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- 所有activity的顶部bar样式，如果需要改变高度，颜色或者图标，请在此进行更改  -->\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:orientation=\"horizontal\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"50dp\"\n    android:background=\"@color/bar_color\"\n    android:id=\"@+id/ll_top_content\">\n\n    <LinearLayout\n        android:layout_weight=\"1\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"50dp\">\n\n        <!-- 返回按钮 -->\n        <RelativeLayout\n            android:id=\"@+id/rl_back\"\n            android:layout_width=\"50dp\"\n            android:layout_height=\"50dp\">\n            <ImageView\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerInParent=\"true\"\n                android:src=\"@mipmap/ic_arrow_back\"/>\n        </RelativeLayout>\n\n        <View\n            android:layout_marginTop=\"5dp\"\n            android:layout_marginBottom=\"5dp\"\n            android:layout_width=\"1px\"\n            android:layout_height=\"match_parent\"\n            android:background=\"@color/black\"/>\n\n        <!-- 该页面标题 -->\n        <TextView\n            android:id=\"@+id/tv_title\"\n            android:textSize=\"18sp\"\n            android:textColor=\"@color/white\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center_vertical\"\n            android:singleLine=\"true\"\n            android:layout_marginLeft=\"10dp\"/>\n    </LinearLayout>\n\n    <!-- 右侧需要添加的内容区域 -->\n    <RelativeLayout\n        android:id=\"@+id/rl_top_extra_content\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"match_parent\">\n    </RelativeLayout>\n\n</LinearLayout>"
  },
  {
    "path": "libcore-ui/src/main/res/layout/activity_top_toolbar_layout.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<android.support.v7.widget.Toolbar\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:id=\"@+id/toolbar\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"?attr/actionBarSize\"\n    android:background=\"@color/bar_color\">\n\n</android.support.v7.widget.Toolbar>"
  },
  {
    "path": "libcore-ui/src/main/res/layout/activity_web_layout.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:orientation=\"vertical\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\">\n\n    <RelativeLayout\n        android:orientation=\"vertical\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:layout_weight=\"1\">\n\n        <FrameLayout\n            android:id=\"@+id/fl_content\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\">\n        </FrameLayout>\n\n        <ProgressBar\n            android:id=\"@+id/pb_bar\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"3dp\"\n            style=\"?android:progressBarStyleHorizontal\"\n            android:progressDrawable=\"@drawable/bg_progress_bar\"/>\n    </RelativeLayout>\n\n    <FrameLayout\n        android:id=\"@+id/fl_bottom_blank\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\">\n    </FrameLayout>\n\n</LinearLayout>"
  },
  {
    "path": "libcore-ui/src/main/res/layout/bottom_group_layout.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<com.android.libcore_ui.activity.widget.BottomBarGroupLinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:orientation=\"vertical\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:background=\"@drawable/bottom_button_shape\">\n\n</com.android.libcore_ui.activity.widget.BottomBarGroupLinearLayout>"
  },
  {
    "path": "libcore-ui/src/main/res/layout/bottom_item_layout.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:orientation=\"vertical\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\">\n\n    <TextView\n        android:id=\"@+id/tv_item_name\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"40dp\"\n        android:gravity=\"center_vertical|center_horizontal\"\n        android:textSize=\"20sp\"\n        android:textColor=\"@color/light_blue\"\n        android:background=\"@drawable/bottom_button_middle_selector\"/>\n\n    <View\n        android:id=\"@+id/v_line\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"1px\"\n        android:background=\"@color/half_black_transparent\"/>\n</LinearLayout>"
  },
  {
    "path": "libcore-ui/src/main/res/layout/bottom_popwindow_layout.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:id=\"@+id/sv_bottom_content\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:visibility=\"gone\"\n    android:scrollbars=\"none\">\n\n    <LinearLayout\n        android:id=\"@+id/ll_bottom_content\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"vertical\">\n    </LinearLayout>\n</ScrollView>"
  },
  {
    "path": "libcore-ui/src/main/res/layout/dialog_base_layout.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:orientation=\"vertical\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@drawable/base_dialog_shape\">\n\n    <!-- 标题 -->\n    <RelativeLayout\n        android:id=\"@+id/rl_title\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"50dp\"\n        android:padding=\"10dp\">\n        <TextView\n            android:id=\"@+id/tv_title\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_centerInParent=\"true\"\n            android:gravity=\"center\"\n            android:textColor=\"@color/text_normal\"\n            android:textSize=\"20sp\"/>\n    </RelativeLayout>\n\n    <!-- 内容 -->\n    <RelativeLayout\n        android:id=\"@+id/rl_message\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:padding=\"10dp\">\n        <TextView\n            android:id=\"@+id/tv_message\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:textColor=\"@color/text_normal\"\n            android:layout_centerInParent=\"true\"\n            android:textSize=\"16sp\"/>\n    </RelativeLayout>\n\n    <View\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"1px\"\n        android:layout_marginTop=\"10dp\"\n        android:background=\"@color/gray\"/>\n\n    <!-- 底部按钮，要加上padding属性，不然底部button会超出几个像素，原因不明，知道的联系我 -->\n    <LinearLayout\n        android:id=\"@+id/ll_bottom_button\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"50dp\"\n        android:paddingLeft=\"1dp\"\n        android:paddingRight=\"1dp\"\n        android:orientation=\"horizontal\">\n    </LinearLayout>\n</LinearLayout>"
  },
  {
    "path": "libcore-ui/src/main/res/layout/dialog_item_button_layout.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:orientation=\"horizontal\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"50dp\"\n    android:layout_weight=\"1\">\n    <View\n        android:id=\"@+id/v_line\"\n        android:layout_width=\"1px\"\n        android:layout_height=\"match_parent\"\n        android:background=\"@color/gray\"/>\n\n    <!-- 不要问我为什么要加上1dp marginBottom，要不然和添加view的底部按钮对不齐 -->\n    <TextView\n        android:id=\"@+id/tv_text\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:textSize=\"20sp\"\n        android:textColor=\"@color/light_blue\"\n        android:layout_marginBottom=\"1dp\"\n        android:gravity=\"center\"\n        android:text=\"确定\"/>\n</LinearLayout>"
  },
  {
    "path": "libcore-ui/src/main/res/layout/dialog_js_prompt_message_layout.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:orientation=\"vertical\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\">\n\n    <TextView\n        android:id=\"@+id/tv_message\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:textColor=\"@color/text_normal\"\n        android:layout_gravity=\"center_horizontal\"\n        android:textSize=\"16sp\"/>\n\n    <EditText\n        android:id=\"@+id/et_content\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginTop=\"5dp\"\n        android:padding=\"5dp\"\n        android:lines=\"1\"\n        android:background=\"@drawable/bg_edittext\"/>\n\n</LinearLayout>"
  },
  {
    "path": "libcore-ui/src/main/res/layout/loading_dialog_layout.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"wrap_content\"\n    android:gravity=\"center\"\n    android:minWidth=\"160dp\"\n    android:orientation=\"vertical\"\n    android:background=\"@drawable/bg_loading_dialog\"\n    android:padding=\"8dp\">\n    <ProgressBar\n        style=\"?android:attr/progressBarStyleLarge\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\" />\n\n    <LinearLayout \n\t\tandroid:layout_width=\"wrap_content\" \n\t\tandroid:layout_height=\"wrap_content\" \n\t\tandroid:layout_marginTop=\"5.0dip\">\n\n        <TextView\n            android:id=\"@+id/tv_loading_text\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"正在加载···\"\n            android:textColor=\"#ffff\"\n            android:textSize=\"15sp\" />\n    </LinearLayout>\n</LinearLayout>"
  },
  {
    "path": "libcore-ui/src/main/res/layout/menu_refresh_layout.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n              android:orientation=\"vertical\"\n              android:layout_width=\"match_parent\"\n              android:layout_height=\"match_parent\">\n\n</RelativeLayout>"
  },
  {
    "path": "libcore-ui/src/main/res/menu/menu_webactivity_refresh.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\">\n    <item android:id=\"@+id/menu_refresh\"\n        android:title=\"@string/refresh\"\n        app:actionLayout=\"@layout/menu_refresh_layout\"\n        app:showAsAction=\"always\"/>\n\n</menu>"
  },
  {
    "path": "libcore-ui/src/main/res/values/attrs.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <declare-styleable name=\"SimpleGridLayout\">\n        <attr name=\"columns\" format=\"integer\"/>\n        <attr name=\"verticalItemSpacing\" format=\"dimension\"/>\n    </declare-styleable>\n    <declare-styleable name=\"FlowLayout\">\n        <attr name=\"orientation\" format=\"enum\">\n            <enum name=\"vertical\" value=\"0\"/>\n            <enum name=\"horizontal\" value=\"1\"/>\n        </attr>\n        <attr name=\"childGravity\">\n            <flag name=\"top\" value=\"0x30\"/>\n            <flag name=\"bottom\" value=\"0x50\"/>\n            <flag name=\"left\" value=\"0x03\"/>\n            <flag name=\"right\" value=\"0x05\"/>\n            <flag name=\"center\" value=\"0x11\"/>\n        </attr>\n        <attr name=\"verticalSpacing\" format=\"dimension\"/>\n        <attr name=\"horizontalSpacing\" format=\"dimension\"/>\n    </declare-styleable>\n</resources>"
  },
  {
    "path": "libcore-ui/src/main/res/values/colors.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <color name=\"transparent\">#00000000</color>\n    <color name=\"black\">#000000</color>\n    <color name=\"half_black_transparent\">#88000000</color>\n    <color name=\"white\">#ffffff</color>\n    <color name=\"half_white_transparent\">#88ffffff</color>\n    <color name=\"light_white\">#bbffffff</color>\n    <color name=\"light_blue\">#ff2888f4</color>\n    <color name=\"bar_color\">#ff33b5e5</color>\n    <color name=\"navigation_bar_color\">#44000000</color>\n    <color name=\"text_normal\">#353535</color>\n    <color name=\"gray\">#808080</color>\n    <color name=\"light_gray\">#d2d2d2</color>\n</resources>"
  },
  {
    "path": "libcore-ui/src/main/res/values/strings.xml",
    "content": "<resources>\n    <string name=\"loading_process\">正在加载</string>\n    <string name=\"confirm\">确定</string>\n    <string name=\"cancel\">取消</string>\n    <string name=\"refresh\">刷新</string>\n    <string name=\"choose_application\">选择打开应用</string>\n</resources>\n"
  },
  {
    "path": "libcore-ui/src/main/res/values/styles.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <style name=\"theme_dialog\" parent=\"Theme.AppCompat.Dialog\">\n        <item name=\"android:windowFullscreen\">true</item>\n        <item name=\"android:windowFrame\">@null</item><!-- 边框 -->\n        <item name=\"android:windowIsFloating\">true</item><!-- 是否浮现在activity之上 -->\n        <item name=\"android:windowIsTranslucent\">false</item><!-- 半透明 -->\n        <item name=\"android:windowNoTitle\">true</item><!-- 无标题 -->\n        <item name=\"android:windowBackground\">@color/transparent</item><!-- 自己想要的背景 -->\n        <item name=\"android:backgroundDimEnabled\">true</item><!-- 模糊 -->\n    </style>\n    <style name=\"Activity_translucent_status_bar\" parent=\"Theme.AppCompat.Light.NoActionBar\">\n    </style>\n    <style name=\"Activity_translucent_navigation_bar\" parent=\"Theme.AppCompat.Light.NoActionBar\">\n    </style>\n    <style name=\"toolbar_title_appearance\">\n        <item name=\"android:textSize\">18sp</item>\n        <item name=\"android:textColor\">@color/white</item>\n        <item name=\"android:textStyle\">normal</item>\n    </style>\n</resources>"
  },
  {
    "path": "libcore-ui/src/main/res/values-v19/styles.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <style name=\"Activity_translucent_status_bar\" parent=\"@style/Theme.AppCompat.Light.NoActionBar\">\n        <item name=\"android:windowTranslucentStatus\">true</item>\n    </style>\n    <style name=\"Activity_translucent_navigation_bar\" parent=\"@style/Theme.AppCompat.Light.NoActionBar\">\n        <item name=\"android:windowTranslucentStatus\">true</item>\n        <item name=\"android:windowTranslucentNavigation\">true</item>\n    </style>\n</resources>"
  },
  {
    "path": "libcore-ui/src/main/res/values-v21/styles.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <style name=\"Activity_translucent_status_bar\" parent=\"@style/Theme.AppCompat.Light.NoActionBar\">\n        <item name=\"android:colorPrimaryDark\">@color/bar_color</item>\n    </style>\n    <style name=\"Activity_translucent_navigation_bar\" parent=\"@style/Theme.AppCompat.Light.NoActionBar\">\n        <item name=\"android:windowTranslucentStatus\">true</item>\n        <item name=\"android:windowTranslucentNavigation\">true</item>\n    </style>\n</resources>"
  },
  {
    "path": "libcore-ui/src/main/res/values-v23/styles.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n</resources>"
  },
  {
    "path": "settings.gradle",
    "content": "include ':libcore', ':libcore-ui', ':testsample'\n"
  },
  {
    "path": "testsample/.gitignore",
    "content": "/build\n"
  },
  {
    "path": "testsample/build.gradle",
    "content": "apply plugin: 'com.android.application'\n\nandroid {\n    compileSdkVersion 25\n    buildToolsVersion '25.0.0'\n\n    defaultConfig {\n        applicationId \"com.android.framework\"\n        minSdkVersion 11\n        targetSdkVersion 25\n        versionCode 1\n        versionName \"1.0\"\n    }\n    buildTypes {\n        release {\n            minifyEnabled false\n            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'\n        }\n    }\n}\n\ndependencies {\n    compile fileTree(dir: 'libs', include: ['*.jar'])\n    compile 'com.android.support:appcompat-v7:25.0.1'\n    compile project(':libcore-ui')\n}\n"
  },
  {
    "path": "testsample/proguard-rules.pro",
    "content": "# Add project specific ProGuard rules here.\n# By default, the flags in this file are appended to flags specified\n# in /home/zzp/adt-bundle-linux-x86_64-20140702/sdk/tools/proguard/proguard-android.txt\n# You can edit the include path and order by changing the proguardFiles\n# directive in build.gradle.\n#\n# For more details, see\n#   http://developer.android.com/guide/developing/tools/proguard.html\n\n# Add any project specific keep options here:\n\n# If your project uses WebView with JS, uncomment the following\n# and specify the fully qualified class name to the JavaScript interface\n# class:\n#-keepclassmembers class fqcn.of.javascript.interface.for.webview {\n#   public *;\n#}\n"
  },
  {
    "path": "testsample/src/main/AndroidManifest.xml",
    "content": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n          package=\"com.android.framework\">\n\n    <uses-permission android:name=\"android.permission.INTERNET\" />\n    <uses-permission android:name=\"android.permission.KILL_BACKGROUND_PROCESSES\"/>\n    <uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\"/>\n    <uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>\n    <uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>\n\n    <supports-screens\n        android:smallScreens=\"true\"\n        android:normalScreens=\"true\"\n        android:largeScreens=\"true\"\n        android:resizeable=\"true\"\n        android:anyDensity=\"true\" />\n\n    <application\n        android:name=\"com.android.libcore_ui.application.BaseApplication\"\n        android:allowBackup=\"true\"\n        android:label=\"@string/app_name\"\n        android:icon=\"@mipmap/app_icon\"\n        android:theme=\"@style/Activity_translucent_navigation_bar\">\n        <!-- AppTheme 系统默认主题 -->\n        <!--Theme.AppCompat.Light.NoActionBar 最原始主题-->\n        <!--Activity_translucent_status_bar 状态栏透明风格-->\n        <!--Activity_translucent_navigation_bar 状态栏和导航栏透明风格-->\n\n        <!-- The Application and the first Activity share the same name\n        specified in the android:label field of the <activity> item -->\n        <activity android:name=\"com.android.sample.HomeTestActivity\"\n            android:screenOrientation=\"portrait\">\n            <intent-filter >\n                <action android:name=\"android.intent.action.MAIN\" />\n                <category android:name=\"android.intent.category.LAUNCHER\" />\n                <!-- 以下两个category用来标识在应用崩溃之后应该启动的activity，记住一定要加上\n                android.intent.category.DEFAULT，因为默认带该category，要不然无法响应-->\n                <category android:name=\"com.android.framework.MAINPAGE\"/>\n                <category android:name=\"android.intent.category.DEFAULT\"/>\n            </intent-filter>\n        </activity>\n\n        <activity android:name=\"com.android.sample.test_activity.ActivityTestHomePage\"\n            android:label=\"@string/activity_test_activity_homepage\"\n            android:screenOrientation=\"portrait\"\n            android:uiOptions=\"splitActionBarWhenNarrow\">\n        </activity>\n\n        <activity android:name=\"com.android.sample.test_activity.ActivityA\"\n            android:label=\"@string/activity_test_activity_A\"\n            android:screenOrientation=\"portrait\"\n            android:launchMode=\"singleInstance\">\n         <!--   <intent-filter>\n                <action android:name=\"android.intent.action.VIEW\"/>\n                <category android:name=\"android.intent.category.DEFAULT\"/>\n                <category android:name=\"android.intent.category.BROWSABLE\"/>\n                <data android:scheme=\"http\"/>\n            </intent-filter>-->\n        </activity>\n        \n        <activity android:name=\"com.android.sample.test_activity.ActivityB\"\n            android:label=\"@string/activity_test_activity_B\"\n            android:screenOrientation=\"portrait\">\n        </activity>\n        <activity android:name=\"com.android.sample.test_guide.GuideActivity\"\n            android:label=\"@string/activity_test_guide\"\n            android:screenOrientation=\"portrait\">\n        </activity>\n        <activity android:name=\"com.android.sample.test_dialog.DialogActivity\"\n            android:label=\"@string/activity_test_dialog\"\n            android:screenOrientation=\"portrait\">\n        </activity>\n        <activity android:name=\"com.android.sample.test_db.DBActivity\"\n            android:label=\"@string/activity_test_db\"\n            android:screenOrientation=\"portrait\">\n        </activity>\n        <activity android:name=\"com.android.sample.test_cache.CacheActivity\"\n            android:label=\"@string/activity_test_cache\"\n            android:screenOrientation=\"portrait\">\n        </activity>\n        <activity android:name=\"com.android.sample.test_webview.WebViewActivity\"\n                  android:label=\"@string/activity_test_webview\"\n                  android:screenOrientation=\"portrait\">\n        </activity>\n        <activity android:name=\"com.android.sample.test_download.DownloadActivity\"\n                  android:label=\"@string/activity_test_download\"\n                  android:screenOrientation=\"portrait\">\n        </activity>\n        <activity android:name=\"com.android.sample.test_utils.UtilsActivity\"\n                  android:label=\"@string/activity_test_utils\"\n                  android:screenOrientation=\"portrait\">\n        </activity>\n        <activity android:name=\"com.android.sample.test_utils.FileActivity\"\n                  android:label=\"@string/activity_test_file_utils\"\n                  android:screenOrientation=\"portrait\">\n        </activity>\n        <activity android:name=\"com.android.sample.test_utils.ImageActivity\"\n            android:label=\"@string/activity_test_image_utils\"\n            android:screenOrientation=\"portrait\"/>\n        <activity android:name=\"com.android.sample.test_utils.CommonActivity\"\n            android:label=\"@string/activity_test_common_utils\"\n            android:screenOrientation=\"portrait\"/>\n        <activity android:name=\"com.android.sample.test_netapi.NetActivity\"\n                  android:label=\"@string/activity_test_net\"\n                  android:screenOrientation=\"portrait\"/>\n        <activity android:name=\"com.android.sample.test_volley.VolleyActivity\"\n                  android:label=\"@string/activity_test_volley\"\n                  android:screenOrientation=\"portrait\"/>\n        <activity android:name=\"com.android.sample.test_imageloader.ImageActivity\"\n                  android:label=\"@string/activity_test_imageloader\"\n                  android:screenOrientation=\"portrait\"/>\n        <activity android:name=\"com.android.sample.test_widget.GridLayoutActivity\"\n                  android:label=\"@string/activity_test_gridLinearLayout\"\n                  android:screenOrientation=\"portrait\"/>\n        <activity android:name=\"com.android.sample.test_widget.FlowLayoutActivity\"\n                  android:label=\"@string/activity_test_flow_layout\"\n                  android:screenOrientation=\"portrait\"/>\n        <activity android:name=\"com.android.sample.test_widget.WidgetActivity\"\n            android:label=\"@string/activity_test_widget\"\n            android:screenOrientation=\"portrait\"/>\n    </application>\n\n</manifest>\n"
  },
  {
    "path": "testsample/src/main/assets/1.html",
    "content": "<html><head>\n</head>\n<body  >\n\n\n<input type=\"button\" value=\"promt\" onclick=\"alert(window.prompt('title1','text1'));\">\n\n\n</body></html>"
  },
  {
    "path": "testsample/src/main/assets/baidu.html",
    "content": "<!DOCTYPE html>\n<!-- saved from url=(0022)https://www.baidu.com/ -->\n<html xmlns=\"http://www.w3.org/1999/xhtml\"><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">                   <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\"><meta content=\"always\" name=\"referrer\"><title>百度一下，你就知道 </title><style id=\"style_super_inline\">body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td{margin:0;padding:0}html{color:#000;overflow-y:scroll;overflow:-moz-scrollbars-vertical}body,button,input,select,textarea{font-size:12px;font-family:arial, 'Hiragino Sans GB', 'Microsoft Yahei', '微软雅黑', '宋体', \\5b8b\\4f53, Tahoma, Arial, Helvetica, STHeiti}h1,h2,h3,h4,h5,h6{font-size:100%}em{font-style:normal}small{font-size:12px}ul,ol{list-style:none}a{text-decoration:none}a:hover{text-decoration:underline}legend{color:#000}fieldset,img{border:0}button,input,select,textarea{font-size:100%}table{border-collapse:collapse;border-spacing:0}img{-ms-interpolation-mode:bicubic}textarea{resize:vertical}.left{float:left}.right{float:right}.overflow{overflow:hidden}.hide{display:none}.block{display:block}.inline{display:inline}.error{color:#F00;font-size:12px}label,button{cursor:pointer}.clearfix:after{content:'\\20';display:block;height:0;clear:both}.clearfix{zoom:1}.clear{clear:both;height:0;line-height:0;font-size:0;visibility:hidden;overflow:hidden}.wordwrap{word-break:break-all;word-wrap:break-word}pre.wordwrap{white-space:pre-wrap}body{text-align:center}body,form,#s_fm{position:relative}td{text-align:left}img{border:0}.s-upfunc-menus{position:absolute;left:0;top:0;z-index:100;height:32px;padding-right:15px}.s-upfunc-menus .s-icons{float:left}.s-upfunc-menus .s-icons a{position:relative;height:34px;line-height:34px;margin-right:19px;color:#555;text-decoration:underline;outline:none;display:inline-block;text-shadow:none}.s-upfunc-menus .s-icons .hide-icon{display:none}.s-skin-hasbg .s-upfunc-menus .s-icons a{color:#fff}#u_sp{color:#999;padding:14px 8px 5px 0;text-align:right;position:absolute;width:100%;z-index:1;right:0;width:800px}#u_sp .s-icons{display:inline-block;zoom:1;*display:inline;width:auto;height:20px;line-height:20px;vertical-align:top;padding-left:3px}#u_sp .s-icons-noweather{left:10px !important}#u_sp .s-icon{cursor:pointer;display:none !important}#u_sp .s-icons .hide-icon{display:none}#u_sp .s-icons .title{cursor:pointer}#u_sp .s-icon,#u_sp .s-icons em{display:inline-block;width:19px;height:20px;float:left}#u_sp .s-icons .s-icon-treasure{background-position:-362px -613px}#u_sp .s-icons .s-icon-lite{background-position:-324px -614px}#u_sp .s-icons .s-icon-skin{background-position:-400px -614px}#u_sp .s-icons .s-icon-feedback{width:22px;background-position:-60px -613px}#u_sp .s-icons .s-icon-msg{background-position:-435px -613px}#u_sp .s-icons .s-icon-line{width:4px;margin-right:0;background-position:-90px -613px;float:none;vertical-align:bottom}#u_sp .s-icons .s-icon-feedback:hover{background-position:-179px -613px}#u_sp .s-icons a{color:#333;text-decoration:underline;margin-right:13px;outline:none;display:inline-block;position:relative}#u_sp a.last{margin-right:0}#u_sp a:hover{text-decoration:underline}#u_sp .s-set-page{display:inline-block}.s-user-name-top,.s-user-name-set{display:inline-block;overflow:hidden;height:20px;vertical-align:top;margin-left:-7px;text-align:left}.s-user-name-top{margin-right:5px;padding:0 14px 0 0;max-width:100px;_width:60px;_padding-right:1px;position:relative}.s-user-setting-top{margin-right:5px;padding:0 14px 0 0;position:relative}.s-user-name-top .user-name{display:inline-block;max-width:100px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-o-text-overflow:ellipsis;margin-right:2px;_width:54px;text-decoration:underline}.s-user-name-top{position:relative}.s-user-setting-top{vertical-align:top}.s-user-setting-top .setting-text{text-decoration:underline;display:inline-block}.s-user-setting-top .user-arrow,.s-user-name-top .user-arrow{display:inline-block;width:10px;height:10px;position:absolute;top:10px;right:7px;background:url(https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superplus/img/spis7_f80cc562.png) no-repeat -709px -621px}a.s-user-name-set{padding:1px 1px 0 7px;_padding-top:3px;margin-right:8px}.s-user-name-top:hover{text-decoration:none}.user-photo{display:inline-block;width:30px;height:30px;vertical-align:top;margin-top:-6px;border:2px solid #FFF}#u_sp .user-photo img{width:30px;height:30px;outline:none}#head_wrapper{width:680px;margin:0 auto;padding-top:36px}.s-lite-version #m{padding-top:125px}#head_wrapper .s-p-top,#head_wrapper .s-word-top{padding-top:10px;margin-top:-10px;overflow:hidden}#head_wrapper  .s-p-top{margin-top:1px}#head_wrapper .s-word-top{margin-top:-1px;margin-bottom:11px}#head_wrapper .s-p-top img{margin:-10px 0 -15px 0}#s_lm_wrap{margin:12px 0 15px 0;height:20px;text-align:center}#lm{color:#666;height:15px;line-height:16px;padding:7px 0}#lm a{text-decoration:underline;color:#666}#lm a:active{color:#F60}#nv{margin:0 0 5px;_margin-bottom:4px;padding:2px 0 0;text-align:left;text-indent:50px}#nv a,#nv b{margin-left:19px}#nv a,#nv b,.btn,#lk{font-size:14px}.s_form{text-align:left;padding-left:50px;z-index:300;height:43px}#mCon{background:url(https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superplus/img/spis7_f80cc562.png)  no-repeat -709px -621px}#kw{width:521px;height:20px;padding:9px 7px;padding:11px 7px 7px\\9;font:16px arial;border:1px solid #d8d8d8;border-bottom:1px solid #ccc;vertical-align:top;outline:none}.s-skin-hasbg .self-btn{background:url(https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superplus/img/spis7_f80cc562.png) no-repeat  #fff}.btn{color:white;background-color:#38f;width:102px;height:38px;font-size:16px;border:0}.s-title-img .btn{cursor:pointer;width:102px;height:38px;line-height:38px;padding:0;border:0;background-color:#38f;font-size:16px;color:white}.s-skin-hasbg .btn{width:104px;height:40px;line-height:40px;padding:0;padding-top:2px\\9;border:0;background-position:-464px -42px;background-color:#e6e6e6;cursor:pointer;color:black !important;font-size:16px}.s-title-img .nobg_btn_bg:hover{padding:0;background-color:#2e85ff;border:1px solid #2e85ff;color:white}.s-title-img .s-skin-hasbg .nobg_btn_bg:hover{padding:0;background-color:#2e85ff;border:0;color:white}.btn_h{padding:0;background-color:#2a7beb !important;color:white;outline:none}.s-skin-hasbg .s-title-img .btn_h{background-position:-136px -43px;background-color:#e6e6e6 !important}#kw{margin:0}.s-title-img .nobg_s_fm_focus{border-top:1px solid #38f !important;border-left:1px solid #38f !important;border-bottom:1px solid #38f !important}.nobg_s_fm_hover{border-top:1px solid #999 !important;border-left:1px solid #999 !important;border-bottom:1px solid #b3b3b3 !important}.s-skin-hasbg .s-title-img .nobg_s_fm_focus{border:0 !important}.s-skin-hasbg .nobg_s_fm_hover{border:0 !important}.btn_wr{position:absolute;left:536px;top:0;*top:1px;margin:0 3px 0 0}.s-skin-hasbg .btn_wr{background-position:-287px -41px;width:104px;height:40px;display:inline-block;border:0 !important}.s_btn_wr{width:102px;height:38px;border:1px solid #38f;border-bottom:1px solid #2e7ae5;background-color:#38f}.s_btn_wr:hover{border-bottom:1px solid #2771d9}.s_btn_wr_h{border-left:1px solid #2875df;border-right:1px solid #2875df;border-top:1px solid #2469c8}#lk{margin:33px 0}#lk span{font:14px \"\\5b8b\\4f53\"}#lh{margin:16px 0 5px;word-spacing:3px}#mCon{position:absolute;right:5px;top:13px;height:15px;line-height:15px;width:28px;cursor:pointer;padding:0 8px 0 0;background-position:-684px -615px}#mCon span{color:#333;cursor:default;display:block}#mCon .hw{text-decoration:underline;cursor:pointer}#mMenu{width:56px;border:1px solid #9B9B9B;list-style:none;position:absolute;right:-9px;top:30px;display:none;background:#fff;box-shadow:1px 1px 2px #ccc;-moz-box-shadow:1px 1px 2px #ccc;-webkit-box-shadow:1px 1px 2px #ccc;filter:progid:DXImageTransform.Microsoft.Shadow(Strength=2, Direction=135, Color=\"#cccccc\")\\9}#mMenu a,#mMenu a:visited{color:#00C;width:100%;height:100%;display:block;line-height:22px;text-indent:6px;text-decoration:none;filter:none\\9}#mMenu a:hover{background:#ebebeb}\n#mMenu .ln{height:1px;background:#ebebeb;overflow:hidden;font-size:1px;line-height:1px;margin-top:-1px}#cp,#cp a{color:#77c}#tb_mr{color:#00C;cursor:pointer;position:relative;z-index:200}#tb_mr b{font-weight:normal}#nv a,#tb_mr b{text-decoration:underline}#nv a{color:#00C}#hwr_div,#loading{z-index:3000}.bd_bear_home{display:none}#mHolder{display:none}#mHolder .c-icon{right:0;top:0;position:absolute;float:right;width:15px;height:15px}.main{display:none}#s_feed{display:none}.s-ps-sug{border:1px solid #CCC !important;box-shadow:1px 1px 3px #ededed;-webkit-box-shadow:1px 1px 3px #ededed;-moz-box-shadow:1px 1px 3px #ededed;-o-box-shadow:1px 1px 3px #ededed;position:absolute;top:32px;left:0}.s-ps-sug table{width:100%;background:#fff;cursor:default}.s-ps-sug td{color:#000;font:14px arial;height:25px;line-height:25px;padding:0 8px}.s-ps-sug td b{color:#000}.s-ps-sug .mo{background:#ebebeb;cursor:pointer}.s-ps-sug .ml{background:#fff}.s-ps-sug td.sug_storage{color:#7A77C8}.s-ps-sug td.sug_storage b{color:#7A77C8}.s-ps-sug .sug_del{font-size:12px;color:#666;text-decoration:underline;float:right;cursor:pointer;display:none}.s-ps-sug .sug_del{font-size:12px;color:#666;text-decoration:underline;float:right;cursor:pointer;display:none}.s-ps-sug .mo .sug_del{display:block}.s-ps-sug .sug_ala{border-bottom:1px solid #e6e6e6}.s-ps-sug td h3{line-height:14px;margin:6px 0 4px 0;font-size:12px;font-weight:normal;color:#7B7B7B;padding-left:20px;background:url(img/sug_bd.png) no-repeat left center}.s-ps-sug td p{font-size:14px;font-weight:bold;padding-left:20px}.s-ps-sug td p span{font-size:12px;font-weight:normal;color:#7B7B7B}#s_user_center{font-weight:normal;background-position:right -223px\\9}#s_user_center_menu{right:131px}.s-ps-islite #nv{padding-top:22px;line-height:16px;height:16px;margin-bottom:13px}#form .bdsug .bdsug-direct{width:auto;padding:0;border-bottom:1px solid #f1f1f1}#head_wrapper .bdsug .bdsug-direct p{color:#00c;font-weight:bold;line-height:34px;padding:0 8px;margin-top:0;cursor:pointer;white-space:nowrap;overflow:hidden}#head_wrapper .bdsug .bdsug-direct p img{width:16px;height:16px;margin:7px 6px 9px 0;vertical-align:middle}#head_wrapper .bdsug .bdsug-direct p span{margin-left:8px}#head_wrapper .bdsug .bdsug-direct p i{font-size:12px;line-height:100%;font-style:normal;font-weight:normal;color:#fff;background-color:#2b99ff;display:inline;text-align:center;padding:1px 5px;*padding:2px 5px 0 5px;margin-left:8px;overflow:hidden}#s_tab,#wrapper_wrapper,#u,#result_logo{display:none}body,button,input,select,textarea,#s_main{font-family:arial, '宋体', 'Hiragino Sans GB', 'Microsoft Yahei', '微软雅黑',  \\5b8b\\4f53, Tahoma, Arial, Helvetica, STHeiti !important}.s-top-wrap{width:100%;height:34px;position:absolute;left:0;top:0;z-index:301;border-bottom:1px solid #ebebeb;font-family:arial, '宋体', 'Hiragino Sans GB', 'Microsoft Yahei', '微软雅黑', \\5b8b\\4f53, Tahoma, Arial, Helvetica, STHeiti}#s_mod_weather{font-family:arial, '宋体', 'Hiragino Sans GB', 'Microsoft Yahei', '微软雅黑', \\5b8b\\4f53, Tahoma, Arial, Helvetica, STHeiti}.s-center-box{_height:0;_width:910px;_font-size:0}.s-center-bg{display:none}.s-skin-hasbg .s-center-bg{display:block;position:absolute;top:0;left:0;z-index:-1;width:100%;height:34px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000,endColorstr=#99000000)}.s-skin-hasbg .s-top-wrap{border:none;background:none;background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0.65)),to(rgba(0,0,0,0.65)));background-image:-moz-linear-gradient(rgba(0,0,0,0.65) 0,rgba(0,0,0,0.65) 100%);background-image:-ms-linear-gradient(rgba(0,0,0,0.65) 0,rgba(0,0,0,0.65) 100%);background-image:-o-linear-gradient(rgba(0,0,0,0.65) 0,rgba(0,0,0,0.65) 100%);background-image:linear-gradient(rgba(0,0,0,0.65) 0,rgba(0,0,0,0.65) 100%)}#u_spnav{position:static;width:100%;min-width:1000px;height:34px;text-align:right;position:relative}#u_spnav .nav-adjudt{height:34px;width:815px;width:430px;float:right;text-align:right;padding-right:96px}#u_spnav .mnav{float:right;color:#333;line-height:35px;height:34px;margin-left:20px;font-size:13px;font-weight:bold;text-decoration:underline}#u_spnav .setting-text{_display:block;_line-height:31px}.s-user-name-top .user-name{height:31px !important}.s-skin-hasbg #u_spnav .mnav{color:#fff}#u_spnav .s_bri{display:inline-block;position:absolute;top:5px;right:10px;width:60px;height:22px;float:left;color:white;background:#38f;line-height:23px;font-size:13px;text-align:center;overflow:hidden;border-bottom:1px solid #38f;margin-left:19px;margin-right:2px}.s-skin-hasbg #u_spnav .s_bri{top:0;height:33px;line-height:35px}.has-background .show-city .show-city-name,.has-background .show-icon-temp{color:#fff !important}#u_spnav .s_bdbri{width:85px;min-height:100px;border-left:1px solid #e7e7e7;position:absolute;background-color:#f9f9f9;overflow:hidden;z-index:2;right:0;top:0}#u_spnav .s_briscrollwrapperContainer{position:relative}#u_spnav .s_briscrollwrapper{overflow:hidden}#u_spnav .s_bdbriscroll-ctrl-scroll{position:absolute;top:10px;right:1px;width:8px;border-top:1px solid #e4e4e4;border-left:1px solid #e4e4e4;cursor:default;-webkit-user-select:none;-moz-user-select:none}#u_spnav .s_bdbriscroll-ctrl-scroll .s_bdbriscroll-axis{width:8px;left:0;z-index:0;position:absolute;background:#f2f2f2}#u_spnav .s_bdbriscroll-ctrl-scroll .s_bdbriscroll-slider{overflow:hidden;width:7px;height:14px;position:absolute;left:0;z-index:10;display:none;background:#d9d9d9;margin-top:-1px;margin-left:-1px;border-right:1px solid #cecece;border-bottom:1px solid #cecece;cursor:default}#u_spnav .s_bdbriimgtitle{color:#333;text-align:center;width:66px;height:30px;line-height:35px;padding-bottom:10px;margin:0 auto;border-bottom:#f0f0f0 1px solid;font-size:13px;cursor:default}#u_spnav .s_bdbriwrapper a{display:block;text-align:center;width:66px;height:76px;margin:0 auto;border-bottom:#f0f0f0 1px solid;color:#666;text-decoration:none;overflow:hidden}#u_spnav .s_bdbriwrapper a:hover{text-decoration:underline}#u_spnav .s-user-name-top{margin-right:46px;padding:0;height:31px;font-weight:normal}#u_spnav .s_bdbriwrapper a img{width:36px;height:36px;display:block;margin:10px auto 5px;cursor:pointer}#u_spnav .s_bdbriwrapper .s_bdbrievenmore{margin-top:15px;height:30px;width:85px;overflow:hidden}.s-mod-weather .show-pollution em{margin-right:7px}.s-skin-hasbg .s-mod-weather .show-vertical{color:#fff}.s-mod-weather .show-vertical{color:#333}.s-mod-weather .weather-mod .polution-level-0 .show-polution-name,.s-mod-weather .weather-mod .polution-level-0 .show-polution-num{color:#38f !important}.s-mod-weather .weather-mod .polution-level-10 .show-polution-name,.s-mod-weather .weather-mod .polution-level-10 .show-polution-num,.s-mod-weather .weather-mod .polution-level-20 .show-polution-num,.s-mod-weather .weather-mod .polution-level-20 .show-polution-name{color:#badc00 !important}\n.s-mod-weather .weather-mod .polution-level-30 .show-polution-name,.s-mod-weather .weather-mod .polution-level-30 .show-polution-num{color:#fea700 !important}.s-mod-weather .weather-mod .polution-level-40 .show-polution-name,.s-mod-weather .weather-mod .polution-level-40 .show-polution-num{color:#ff7e00 !important}.s-mod-weather .weather-mod .polution-level-50 .show-polution-name,.s-mod-weather .weather-mod .polution-level-50 .show-polution-num{color:#f03b32 !important}.nav-adjudt .s-mod-msg .msg-area{background-color:#f7f7f7}.s-mod-msg{top:34px !important}.s-mod-treasure{top:34px !important}#u_sp{position:static;float:left;width:200px;width:auto;right:none;left:140px;top:0;height:34px;padding:0;text-align:left;font-size:13px !important}#u_sp .s-user-set-top{margin:0;font-weight:normal;position:absolute;top:0;_top:2px;right:96px}#u_sp .s-icons{float:left;width:220px;height:34px;line-height:35px}.s-word-top a,.s-word-top b{display:none}.s-word-top{padding-top:8px;height:0}.s-user-name-top .user-name{_height:23px}.s-user-set-menu{top:28px !important}.has-background .bdpfmenu{box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none;-o-box-shadow:none}.bdpfmenu{top:34px !important}#head_wrapper .s-p-top{text-align:center;padding-top:42px}.city-wather{float:left}.s_form{height:auto}.s-skin-hasbg #u_sp a span{color:#fff}.s-mod-weather .show-vertical{font-size:15px;line-height:18px;margin-left:7px}#prefpanel{background:#fafafa;display:none;opacity:0;position:fixed;_position:absolute;top:-359px;z-index:500;width:100%;min-width:960px;border-bottom:1px solid #ebebeb;*left:0 !important;text-align:left}#prefpanel form{_width:850px}</style><link rel=\"stylesheet\" id=\"s_superplus_css_lnk\" type=\"text/css\" href=\"./baidu_files/super_min_de974358.css\"><link href=\"./baidu_files/nav_min_22274039.css\" type=\"text/css\" rel=\"stylesheet\"><script>\n\nwindow.sysTime=1438133636;\n_xmanCard = {\n\tasynJs : [],\n\tasynLoad : function(id){\n\t\t_xmanCard.asynJs.push(id);\n\t}\n};\n</script><script>(function(){var hashMatch=document.location.href.match(/#+(.*wd=[^&]+)/);if(hashMatch&&hashMatch[0]&&hashMatch[1]){var css='body {display: none}',head=document.head||document.getElementsByTagName('head')[0],style=document.createElement('style');if(style.styleSheet){style.styleSheet.cssText = css;}else{style.appendChild(document.createTextNode(css));}head.appendChild(style);location.href=\"//\"+location.host+\"/s?\"+hashMatch[1];}})();</script><noscript>&lt;meta http-equiv=refresh content=\"0; url=http://www.baidu.com/baidu.html?from=noscript\"&gt;</noscript><style type=\"text/css\" media=\"screen\">#swfEveryCookie {visibility:hidden}</style><link rel=\"stylesheet\" href=\"./baidu_files/nav_min_22274039.css\"><link rel=\"stylesheet\" href=\"https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superplus/css/mt_min_301a440a.css\"><link rel=\"stylesheet\" href=\"https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superui/css/ubase_83c8f0ba.css\"><link rel=\"stylesheet\" href=\"https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superplus/css/nsguide_29acf749.css\"><link rel=\"stylesheet\" href=\"https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superplus/css/super_ext_ba8e050a.css\"><style>.activity-skin-lottery .sui-dialog-tipstext strong{color:#009944;padding:0 5px;}.activity-skin-lottery .sui-dialog-subcontent{padding-left:0px;padding-right:0px;text-justify:inter-ideograph;text-align:center}.activity-skin-lottery .sui-dialog-subcontent a{text-decoration: underline;}</style><link rel=\"stylesheet\" href=\"https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/navplus/css/nav_c15cdd3d.css\"><link rel=\"stylesheet\" href=\"https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superplus/css/guidetip_495aff91.css\"></head><body class=\"\" style=\"height: auto;\"><div data-for=\"result\" id=\"swfEveryCookieWrap\" style=\"width: 0px; height: 0px; overflow: hidden;\"><object type=\"application/x-shockwave-flash\" id=\"sharedObjectBIDUPSID\" name=\"sharedObjectBIDUPSID\" data=\"https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/plugins/env_beb83b45.swf\" width=\"0\" height=\"0\"><param name=\"swliveconnect\" value=\"true\"><param name=\"allowScriptAccess\" value=\"always\"><param name=\"flashvars\" value=\"callback=ec_swf_ready_callback\"></object></div><div data-for=\"result\" style=\"height:0;width:0;overflow:hidden;\" id=\"swfsocketdiv\"><object width=\"1px\" height=\"1px\" id=\"socketswf\" name=\"socketswf\" data=\"https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/baiduia/JSocket_9a52fc3e.swf?0.05\" type=\"application/x-shockwave-flash\"><param name=\"allowscriptaccess\" value=\"always\"><param name=\"quality\" value=\"high\"><param name=\"name\" value=\"socketswf\"><param name=\"wmode\" value=\"transparent\"><param name=\"bgcolor\" value=\"#ffffff\"><param name=\"allowScriptAccess\" value=\"always\"></object></div><div id=\"s_is_index_css\" style=\"display:none;\"><style id=\"css_newi\">#form .bdsug{top:39px}.bdsug{display:none;position:absolute;width:535px;background:#fff;border:1px solid #ccc!important;_overflow:hidden;box-shadow:1px 1px 3px #ededed;-webkit-box-shadow:1px 1px 3px #ededed;-moz-box-shadow:1px 1px 3px #ededed;-o-box-shadow:1px 1px 3px #ededed}.bdsug li{width:519px;color:#000;font:14px arial;line-height:25px;padding:0 8px;position:relative;cursor:default}.bdsug li.bdsug-s{background:#f0f0f0}.bdsug-store span,.bdsug-store b{color:#7a77c8}.bdsug-store-del{font-size:12px;color:#666;text-decoration:underline;position:absolute;right:8px;top:0;cursor:pointer;display:none}.bdsug-s .bdsug-store-del{display:inline-block}.bdsug-ala{display:inline-block;border-bottom:1px solid #e6e6e6}.bdsug-ala h3{line-height:14px;background:url(//www.baidu.com/img/sug_bd.png?v=09816787.png) no-repeat left center;margin:6px 0 4px 0;font-size:12px;font-weight:normal;color:#7b7b7b;padding-left:20px}.bdsug-ala p{font-size:14px;font-weight:bold;padding-left:20px}#m .bdsug .bdsug-direct p{color:#00c;font-weight:bold;line-height:34px;padding:0 8px;margin-top:0;cursor:pointer;white-space:nowrap;overflow:hidden}#m .bdsug .bdsug-direct p img{width:16px;height:16px;margin:7px 6px 9px 0;vertical-align:middle}#m .bdsug .bdsug-direct p span{margin-left:8px}#form .bdsug .bdsug-direct{width:auto;padding:0;border-bottom:1px solid #f1f1f1}#form .bdsug .bdsug-direct p i{font-size:12px;line-height:100%;font-style:normal;font-weight:normal;color:#fff;background-color:#2b99ff;display:inline;text-align:center;padding:1px 5px;*padding:2px 5px 0 5px;margin-left:8px;overflow:hidden}.bdsug .bdsug-pcDirect{color:#000;font-size:14px;line-height:30px;height:30px;background-color:#f8f8f8}.bdsug .bdsug-pc-direct-tip{position:absolute;right:15px;top:8px;width:55px;height:15px;display:block;background:url(https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/global/img/pc_direct_ffda303e.png) no-repeat 0 0}.bdsug li.bdsug-pcDirect-s{background-color:#f0f0f0}.bdsug .bdsug-pcDirect-is{color:#000;font-size:14px;line-height:22px;background-color:#f5f5f5}.bdsug .bdsug-pc-direct-tip-is{position:absolute;right:15px;top:3px;width:55px;height:15px;display:block;background:url(https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/global/img/pc_direct_ffda303e.png) no-repeat 0 0}.bdsug li.bdsug-pcDirect-is-s{background-color:#f0f0f0}.bdsug .bdsug-pcDirect-s .bdsug-pc-direct-tip,.bdsug .bdsug-pcDirect-is-s .bdsug-pc-direct-tip-is{background-position:0 -15px}.bdpfmenu,.usermenu{border:1px solid #d1d1d1;position:absolute;width:105px;top:36px;z-index:302;box-shadow:1px 1px 5px #d1d1d1;-webkit-box-shadow:1px 1px 5px #d1d1d1;-moz-box-shadow:1px 1px 5px #d1d1d1;-o-box-shadow:1px 1px 5px #d1d1d1}.bdpfmenu{font-size:12px;background-color:#fff}.bdpfmenu a,.usermenu a{display:block;text-align:left;margin:0!important;padding:0 9px;line-height:26px;text-decoration:none}.briiconsbg{background-repeat:no-repeat;background-size:300px 18px;background-image:url(https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/home/img/icons_c3b33b92.png);background-image:url(https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/home/img/icons_0a1fc6ac.gif)\\9}.bdpfmenu a:link,.bdpfmenu a:visited,#u .usermenu a:link,#u .usermenu a:visited{background:white;color:#333}.bdpfmenu a:hover,.bdpfmenu a:active,#u .usermenu a:hover,#u .usermenu a:active{background:#38f;text-decoration:none;color:white}.bdpfmenu{width:70px}#wrapper .bdnuarrow{width:0;height:0;font-size:0;line-height:0;display:block;position:absolute;top:-10px;left:50%;margin-left:-5px}#wrapper .bdnuarrow em,#wrapper .bdnuarrow i{width:0;height:0;font-size:0;line-height:0;display:block;position:absolute;border:5px solid transparent;border-style:dashed dashed solid dashed}#wrapper .bdnuarrow em{border-bottom-color:#d8d8d8;top:-1px}#wrapper .bdnuarrow i{border-bottom-color:#fff;top:0}#gxszHead .prefpanelclose{cursor:pointer;width:16px;height:16px;float:right;margin-top:7px;background-position:-248px 0}#gxszHead .prefpanelclose:hover{background-position:-264px 0}.bd_bear_home,.bd_bear_home_weaker{display:none}.s-skin-hasbg .bd_bear_home_show{margin-right:2px}.s-manhattan-index .bd_bear_home_show,.s-manhattan-index .s-skin-hasbg .bd_bear_home_show{margin-right:-2px}{margin-right:-2px}.bd_bear_home_show{display:block;width:64px;height:84px;position:absolute;right:-52px;top:34px;z-index:1}.bd_bear_home_bear_head{display:block;width:100%;height:100%;background:url(https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/home/img/xiaodu_home_sleep_9d1f08a9.png) no-repeat}.bd_bear_home_bear_head:hover,.bds_bear_home_tip_show .bd_bear_home_bear_head{background:url(https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/home/img/xiaodu_home_active_e48feb84.png) no-repeat right 0}.bd_bear_home_show:hover,.bds_bear_home_tip_show{right:-73px;width:85px;height:96px}.bd_bear_home_guide,.bd_bear_home_guide:hover{right:-52px;width:64px;height:84px}.bd_bear_home_guide .bd_bear_home_bear_head,.bd_bear_home_guide .bd_bear_home_bear_head:hover{background:url(https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/home/img/xiaodu_home_sleep_9d1f08a9.png) no-repeat}.bd_bear_home_tip{position:absolute;background:#fff;width:130px;border:1px solid #e3e3e3;left:35px;bottom:110px}.bd_bear_home_tip:hover{text-decoration:none}.bd_bear_home_tip_arrow{display:block;position:absolute;width:0;height:0;background:#000;bottom:-5px;left:-1px}.bd_bear_home_tip_arrow:before,.bd_bear_home_tip_arrow:after{display:block;content:'';border:3px dashed transparent;border-top:3px solid #fff;border-left:3px solid #fff;position:absolute;left:1px;bottom:0;z-index:1}.bd_bear_home_tip_arrow:after{border-width:4px;border-top:3.5px solid #e3e3e3;border-left:3.5px solid #e3e3e3;left:0;bottom:-3px;z-index:0}.bd_bear_home_tip_close{display:block;position:absolute;right:5px;top:3px;width:10px;height:10px;cursor:pointer}.bd_bear_home_tip_close:before,.bd_bear_home_tip_close:after{position:absolute;top:5px;right:-2px;display:block;width:11px;height:1px;overflow:hidden;background:#666;content:'';-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.bd_bear_home_tip_close:after{-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.bd_bear_home_tip_content{display:block;margin:5px 15px 5px 10px;overflow:hidden;font:12px/18px 'Microsoft Yahei';color:#666;text-align:left}.bd_bear_home_tip_content a{color:#0079f5}.bd_bear_home_show .bd_bear_home_guide_cursor{z-index:1;background:url(//www.baidu.com/aladdin/xiaodu/images/pointer.png) no-repeat;width:17px;height:22px;position:absolute;bottom:-26px;left:34px}@media screen and (min-width:1440px){.main .bd_bear_home_tip{bottom:auto;top:30px;left:120px}.main .bd_bear_home_tip_arrow{left:-8px;bottom:auto;top:2px}.main .bd_bear_home_tip_arrow:before{border-left:3px dashed transparent;border-right:3px solid #fff;left:2px;bottom:-4px}.main .bd_bear_home_tip_arrow:after{border-width:4px;border-left:4px dashed transparent;border-right:4px solid #e3e3e3;left:0;bottom:-5px}}.bd_bear_home_nocard{position:fixed;bottom:0;right:60px}.bd_bear_home_nocard .bd_bear_home_bear_head{background:url(https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/home/img/xiaodu_home_nocard_sleep_743f0c4f.png);transition:background .3s ease-in}.bd_bear_home_nocard .bd_bear_home_bear_head:hover,.bd_bear_home_nocard .bds_bear_home_tip_show .bd_bear_home_bear_head{background:url(https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/home/img/xiaodu_home_nocard_active_55cedcef.png)}.bd_bear_home_nocard .bd_bear_home_show{width:75px;height:90px;position:relative;top:0;right:0}.bd_bear_home_nocard .bd_bear_home_show:hover,.bd_bear_home_nocard .bds_bear_home_tip_show{right:0;width:75px;height:90px}.bd_bear_home_nocard .bd_bear_home_tip{left:-40px;bottom:100px}.bd_bear_home_nocard .bd_bear_home_tip_arrow{left:60px;bottom:0}.bd_bear_home_nocard .bd_bear_home_tip_arrow:before{border:5px dashed transparent;border-top:5px solid #fff;top:0;bottom:auto}.bd_bear_home_nocard .bd_bear_home_tip_arrow:after{border:6px dashed transparent;border-top:6px solid #e3e3e3;top:0;bottom:auto}.bd_bear_home_nocard .bd_bear_home_guide .bd_bear_home_bear_head,.bd_bear_home_nocard .bd_bear_home_guide .bd_bear_home_bear_head:hover{background:url(https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/home/img/xiaodu_home_nocard_sleep_743f0c4f.png)}</style></div><textarea id=\"s_is_result_css\" style=\"display:none;\">&lt;style data-for=\"result\"  id=\"css_newi_result\"&gt;body{color:#333;background:#fff;padding:6px 0 0;margin:0;position:relative;min-width:900px}body,th,td,.p1,.p2{font-family:arial}p,form,ol,ul,li,dl,dt,dd,h3{margin:0;padding:0;list-style:none}input{padding-top:0;padding-bottom:0;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}table,img{border:0}td{font-size:9pt;line-height:18px}em{font-style:normal;color:#c00}a em{text-decoration:underline}cite{font-style:normal;color:#008000}.m,a.m{color:#666}a.m:visited{color:#606}.g,a.g{color:#008000}.c{color:#77c}.f14{font-size:14px}.f10{font-size:10.5pt}.f16{font-size:16px}.f13{font-size:13px}.bg{background-image:url(https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/global/img/icons_45de3f02.png);background-repeat:no-repeat;_background-image:url(https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/global/img/icons_15f748ea.gif);background-repeat:no-repeat}.bg_tuiguang_browser{width:16px;height:16px;background-position:-600px 0;display:inline-block;vertical-align:text-bottom;font-style:normal;overflow:hidden;margin-right:5px}.bg_tuiguang_browser_big{width:56px;height:56px;position:absolute;left:10px;top:10px;background-position:-600px -24px}.bg_tuiguang_weishi{width:56px;height:56px;position:absolute;left:10px;top:10px;background-position:-672px -24px}#u,#head,#tool,#search,#foot{font-size:12px}.logo{width:117px;height:38px;cursor:pointer}.p1{line-height:120%;margin-left:-12pt}.p2{width:100%;line-height:120%;margin-left:-12pt}#wrapper{_zoom:1}#container{word-break:break-all;word-wrap:break-word}.container_s{width:1002px}.container_l{width:1222px}#content_left{width:636px;float:left;padding-left:35px}#content_right{border-left:1px solid #e1e1e1;float:right}.container_s #content_right{width:271px}.container_l #content_right{width:434px}.content_none{padding-left:35px}#u{color:#999;white-space:nowrap;position:absolute;right:10px;top:4px;z-index:299}#u a{color:#00c;margin:0 5px}#u .reg{margin:0}#u .last{margin-right:0}#u .un{font-weight:bold;margin-right:5px}#u ul{width:100%;background:#fff;border:1px solid #9b9b9b}#u li{height:25px}#u li a{width:100%;height:25px;line-height:25px;display:block;text-align:left;text-decoration:none;text-indent:6px;margin:0;filter:none\\9}#u li a:hover{background:#ebebeb}#u li.nl{border-top:1px solid #ebebeb}#user{display:inline-block}#user_center{position:relative;display:inline-block}#user_center .user_center_btn{margin-right:5px}.userMenu{width:64px;position:absolute;right:7px;_right:2px;top:15px;top:14px\\9;*top:15px;padding-top:4px;display:none;*background:#fff}#head{padding-left:35px;margin-bottom:20px;width:900px}.fm{clear:both;position:relative;z-index:297}.nv a,.nv b,.btn,#page,#more{font-size:14px}.s_nav{height:45px}.s_nav .s_logo{margin-right:20px;float:left}.s_nav .s_logo img{border:0;display:block}.s_tab{line-height:18px;padding:20px 0 0;float:left}.s_nav a{color:#00c;font-size:14px}.s_nav b{font-size:14px}.s_ipt_wr{width:536px;height:30px;display:inline-block;margin-right:5px;background-position:0 -96px;border:1px solid #b6b6b6;border-color:#7b7b7b #b6b6b6 #b6b6b6 #7b7b7b;vertical-align:top}.s_ipt{width:523px;height:22px;font:16px/18px arial;line-height:22px\\9;margin:5px 0 0 7px;padding:0;background:#fff;border:0;outline:0;-webkit-appearance:none}.s_btn{width:95px;height:32px;padding-top:2px\\9;font-size:14px;padding:0;background-color:#ddd;background-position:0 -48px;border:0;cursor:pointer}.s_btn_h{background-position:-240px -48px}.s_btn_wr{width:97px;height:34px;display:inline-block;background-position:-120px -48px;*position:relative;z-index:0;vertical-align:top}.sethf{padding:0;margin:0;font-size:14px}.set_h{display:none;behavior:url(#default#homepage)}.set_f{display:none}.shouji{margin-left:19px}.shouji a{text-decoration:none}#head .bdsug{top:33px}#search form{position:relative}#search form .bdsug{bottom:33px}.bdsug{display:none;position:absolute;z-index:1;width:538px;background:#fff;border:1px solid #ccc;_overflow:hidden;box-shadow:1px 1px 3px #ededed;-webkit-box-shadow:1px 1px 3px #ededed;-moz-box-shadow:1px 1px 3px #ededed;-o-box-shadow:1px 1px 3px #ededed}.bdsug.bdsugbg ul{background:url(https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/home/img/sugbg_6a9201c2.png) 100% 100% no-repeat;background-size:100px 110px;background-image:url(https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/home/img/sugbg_d24a0811.gif)\\9}.bdsug li{width:522px;color:#000;font:14px arial;line-height:22px;padding:0 8px;position:relative;cursor:default}.bdsug li.bdsug-s{background:#f0f0f0}.bdsug-store span,.bdsug-store b{color:#7a77c8}.bdsug-store-del{font-size:12px;color:#666;text-decoration:underline;position:absolute;right:8px;top:0;cursor:pointer;display:none}.bdsug-s .bdsug-store-del{display:inline-block}.bdsug-ala{display:inline-block;border-bottom:1px solid #e6e6e6}.bdsug-ala h3{line-height:14px;background:url(//www.baidu.com/img/sug_bd.png) no-repeat left center;margin:8px 0 5px 0;font-size:12px;font-weight:normal;color:#7b7b7b;padding-left:20px}.bdsug-ala p{font-size:14px;font-weight:bold;padding-left:20px}.bdsug .bdsug-direct{width:auto;padding:0;border-bottom:1px solid #f1f1f1}.bdsug .bdsug-direct p{color:#00c;font-weight:bold;line-height:34px;padding:0 8px;cursor:pointer;white-space:nowrap;overflow:hidden}.bdsug .bdsug-direct p img{width:16px;height:16px;margin:7px 6px 9px 0;vertical-align:middle}.bdsug .bdsug-direct p span{margin-left:8px}.bdsug .bdsug-direct p i{font-size:12px;line-height:100%;font-style:normal;font-weight:normal;color:#fff;background-color:#2b99ff;display:inline;text-align:center;padding:1px 5px;*padding:2px 5px 0 5px;margin-left:8px;overflow:hidden}.bdsug .bdsug-pcDirect{color:#000;font-size:14px;line-height:30px;height:30px;background-color:#f8f8f8}.bdsug .bdsug-pc-direct-tip{position:absolute;right:15px;top:8px;width:55px;height:15px;display:block;background:url(https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/global/img/pc_direct_ffda303e.png) no-repeat 0 0}.bdsug li.bdsug-pcDirect-s{background-color:#f0f0f0}.bdsug .bdsug-pcDirect-is{color:#000;font-size:14px;line-height:22px;background-color:#f8f8f8}.bdsug .bdsug-pc-direct-tip-is{position:absolute;right:15px;top:3px;width:55px;height:15px;display:block;background:url(https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/global/img/pc_direct_ffda303e.png) no-repeat 0 0}.bdsug li.bdsug-pcDirect-is-s{background-color:#f0f0f0}.bdsug .bdsug-pcDirect-s .bdsug-pc-direct-tip,.bdsug .bdsug-pcDirect-is-s .bdsug-pc-direct-tip-is{background-position:0 -15px}.bdsug .bdsug-newicon{color:#929292;opacity:.7;font-size:12px;display:inline-block;line-height:22px;letter-spacing:2px}.bdsug .bdsug-s .bdsug-newicon{opacity:1}#tb_mr{color:#00c;cursor:pointer;position:relative;z-index:298}#tb_mr b{font-weight:normal;text-decoration:underline}#tb_mr small{font-size:11px}#page{font:14px arial;white-space:nowrap;padding-left:35px}#page a,#page strong{display:inline-block;vertical-align:text-bottom;height:66px;text-align:center;line-height:34px;text-decoration:none;overflow:hidden;margin-right:9px;background:white}#page a{cursor:pointer}#page a:hover{background:0}#page .n:hover,#page a:hover .pc{background:#f2f8ff;border:1px solid #38f}#page .n{height:34px;padding:0 18px;border:1px solid #e1e2e3}#page span{display:block}#page .pc{width:34px;height:34px;border:1px solid #e1e2e3;cursor:pointer}#page .fk{width:24px;height:24px;margin-bottom:6px;margin-left:6px;cursor:pointer}#page strong .fk,#page strong .pc{cursor:auto}#page .fk .c-icon-bear-pn{top:-3px;position:relative}#page .fkd .c-icon-bear-pn{top:3px;position:relative}#page .fk_cur .c-icon-bear-p{top:-2px;position:relative}#page strong .pc{border:0;width:36px;height:36px;line-height:36px}#page .nums{display:inline-block;vertical-align:text-bottom;height:36px;line-height:36px;margin-left:10px}#rs{width:900px;background:#fff;padding:8px 0;margin:20px 0 0 15px}#rs td{width:5%}#rs th{font-size:14px;font-weight:normal;line-height:19px;white-space:nowrap;text-align:left;vertical-align:top}#rs .tt{font-weight:bold;padding:0 10px 0 20px}#rs_top{font-size:14px;margin-bottom:22px}#rs_top a{margin-right:18px}#container .rs{margin:30px 0 20px 0;padding:5px 0 15px 0;font-size:14px;width:540px;padding-left:121px;position:relative;background-color:#fafafa}#container .noback{background-color:#fff}#content_left .rs{margin-left:-121px}#container .rs table{width:540px}#container .rs td{width:5px}#container .rs th{font-size:14px;font-weight:normal;white-space:nowrap;text-align:left;vertical-align:top;width:175px;line-height:22px}#container .rs .tt{font-weight:bold;padding:0 10px 0 20px;padding:0;line-height:30px;font-size:16px}#container .rs a{margin:0;height:24px;width:173px;display:inline-block;line-height:25px;border:1px solid #ebebeb;text-align:center;vertical-align:middle;overflow:hidden;outline:0;color:#333;background-color:#fff;text-decoration:none}#container .rs a:hover{border-color:#388bff}.c-tip-con .c-tip-menu-b ul{width:100px}.c-tip-con .c-tip-menu-b ul{text-align:center}.c-tip-con .c-tip-menu-b li a{display:block;text-decoration:none;cursor:pointer;background-color:#fff;padding:3px 0;color:#666}.c-tip-con .c-tip-menu-b li a:hover{display:block;background-color:#ebebeb}#search{width:900px;padding:35px 0 16px 35px}#search .s_help{position:relative;top:10px}#foot{height:20px;line-height:20px;color:#77c;background:#e6e6e6;text-align:center}#foot span{color:#666}.site_tip{font-size:12px;margin-bottom:20px}.site_tip_icon{width:56px;height:56px;background:url(//www.baidu.com/aladdin/img/tools/tools-3.png) -288px 0 no-repeat}.to_zhidao,.to_tieba,.to_zhidao_bottom{font-size:16px;line-height:24px;margin:20px 0 0 35px}.to_tieba .c-icon-tieba{float:left}.f{line-height:115%;*line-height:120%;font-size:100%;width:33.7em;word-break:break-all;word-wrap:break-word}.h{margin-left:8px;width:100%}.r{word-break:break-all;cursor:hand;width:238px}.t{font-weight:normal;font-size:medium;margin-bottom:1px}.pl{padding-left:3px;height:8px;padding-right:2px;font-size:14px}.mo,a.mo:link,a.mo:visited{color:#666;font-size:100%;line-height:10px}.htb{margin-bottom:5px}.jc a{color:#c00}a font[size=\"3\"] font,font[size=\"3\"] a font{text-decoration:underline}div.blog,div.bbs{color:#707070;padding-top:2px;font-size:13px}.result{width:33.7em;table-layout:fixed}.result-op .f{word-wrap:normal}.nums{font-size:12px;color:#999}.tools{position:absolute;top:10px;white-space:nowrap}#mHolder{width:62px;position:relative;z-index:296;top:-18px;margin-left:9px;margin-right:-12px;display:none}#mCon{height:18px;position:absolute;top:3px;top:6px\\9;cursor:pointer;line-height:18px}.wrapper_l #mCon{right:7px}#mCon span{color:#00c;cursor:default;display:block}#mCon .hw{text-decoration:underline;cursor:pointer;display:inline-block}#mCon .pinyin{display:inline-block}#mCon .c-icon-chevron-unfold2{margin-left:5px}#mMenu{width:56px;border:1px solid #9b9b9b;position:absolute;right:7px;top:23px;display:none;background:#fff}#mMenu a{width:100%;height:100%;color:#00c;display:block;line-height:22px;text-indent:6px;text-decoration:none;filter:none\\9}#mMenu a:hover{background:#ebebeb}#mMenu .ln{height:1px;background:#ebebeb;overflow:hidden;font-size:1px;line-height:1px;margin-top:-1px}.op_LAMP{background:url(\"/cache/global/img/aladdinIcon-1.0.gif\") no-repeat 0 2px;color:#77C;display:inline-block;font-size:13px;height:12px;*height:14px;width:16px;text-decoration:none;zoom:1}.EC_mr15{margin-left:0}.pd15{padding-left:0}.map_1{width:30em;font-size:80%;line-height:145%}.map_2{width:25em;font-size:80%;line-height:145%}.favurl{background-repeat:no-repeat;background-position:0 1px;padding-left:20px}.dan_tip{font-size:12px;margin-top:4px}.dan_tip a{color:#b95b07}#more,#u ul,#mMenu,.msg_holder{box-shadow:1px 1px 2px #ccc;-moz-box-shadow:1px 1px 2px #ccc;-webkit-box-shadow:1px 1px 2px #ccc;filter:progid:DXImageTransform.Microsoft.Shadow(Strength=2,Direction=135,Color=\"#cccccc\")\\9}.hit_top{line-height:18px;margin:0 15px 10px 0;width:516px}.hit_top .c-icon-bear{height:18px;margin-right:4px}#rs_top_new,.hit_top_new{width:538px;font-size:13px;line-height:1.54;word-wrap:break-word;word-break:break-all;margin:0 0 14px 0}.zhannei-si{margin:0 0 10px 121px}.zhannei-si-none{margin:10px 0 -10px 121px}.zhannei-search{margin:10px 0 0 121px;color:#999;font-size:14px}.f a font[size=\"3\"] font,.f font[size=\"-1\"] a font{text-decoration:underline}h3 a font{text-decoration:underline}.c-title{font-weight:normal;font-size:16px}.c-title-size{font-size:16px}.c-abstract{font-size:13px}.c-abstract-size{font-size:13px}.c-showurl{color:#008000;font-size:13px}.c-showurl-color{color:#008000}.c-cache-color{color:#666}.c-lightblue{color:#77C}.c-highlight-color{color:#C00}.c-clearfix:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}.c-clearfix{zoom:1}.c-wrap{word-break:break-all;word-wrap:break-word}.c-icons-outer{overflow:hidden;display:inline-block;vertical-align:bottom;*vertical-align:-1px;_vertical-align:bottom}.c-icons-inner{margin-left:-4px}.c-container table.result,.c-container table.result-op{width:100%}.c-container td.f{font-size:13px;line-height:1.54;width:auto}.c-container .vd_newest_main{width:auto}.c-customicon{display:inline-block;width:16px;height:16px;vertical-align:text-bottom;font-style:normal;overflow:hidden}.c-tip-icon i{display:inline-block;cursor:pointer}.c-tip-con{position:absolute;z-index:1;top:22px;left:-35px;background:#fff;border:1px solid #dcdcdc;border:1px solid rgba(0,0,0,0.2);-webkit-transition:opacity .218s;transition:opacity .218s;-webkit-box-shadow:0 2px 4px rgba(0,0,0,0.2);box-shadow:0 2px 4px rgba(0,0,0,0.2);padding:5px 0 5px 0;display:none;font-size:12px;line-height:20px}.c-tip-arrow{width:0;height:0;font-size:0;line-height:0;display:block;position:absolute;top:-16px}.c-tip-arrow-down{top:auto;bottom:0}.c-tip-arrow em,.c-tip-arrow ins{width:0;height:0;font-size:0;line-height:0;display:block;position:absolute;border:8px solid transparent;border-style:dashed dashed solid dashed}.c-tip-arrow em{border-bottom-color:#d8d8d8}.c-tip-arrow ins{border-bottom-color:#fff;top:2px}.c-tip-arrow-down em,.c-tip-arrow-down ins{border-style:solid dashed dashed dashed;border-color:transparent}.c-tip-arrow-down em{border-top-color:#d8d8d8}.c-tip-arrow-down ins{border-top-color:#fff;top:-2px}.c-tip-con h3{font-size:12px}.c-tip-con .c-tip-title{margin:0 10px;display:inline-block;width:239px}.c-tip-con .c-tip-info{color:#666;margin:0 10px 1px 10px;width:239px}.c-tip-con .c-tip-cer{width:354px;color:#666;margin:0 10px 1px 10px}.c-tip-con .c-tip-title{width:auto;_width:354px}.c-tip-con .c-tip-item-i{padding:3px 0 3px 20px;line-height:14px}.c-tip-con .c-tip-item-i .c-tip-item-icon{margin-left:-20px}.c-tip-con .c-tip-menu ul{width:74px}.c-tip-con .c-tip-menu ul{text-align:center}.c-tip-con .c-tip-menu li a{display:block;text-decoration:none;cursor:pointer;background-color:#fff;padding:3px 0;color:#0000d0}.c-tip-con .c-tip-menu li a:hover{display:block;background-color:#ebebeb}.c-tip-con .c-tip-notice{width:239px;padding:0 10px}.c-tip-con .c-tip-notice .c-tip-notice-succ{color:#4cbd37}.c-tip-con .c-tip-notice .c-tip-notice-fail{color:#f13f40}.c-tip-con .c-tip-notice .c-tip-item-succ{color:#444}.c-tip-con .c-tip-notice .c-tip-item-fail{color:#aaa}.c-tip-con .c-tip-notice .c-tip-item-fail a{color:#aaa}.c-tip-close{right:10px;position:absolute;cursor:pointer}.ecard{height:86px;overflow:hidden}.c-tools{display:inline}.c-tools-share{width:239px;padding:0 10px}.c-fanyi{display:none;width:20px;height:20px;border:solid 1px #d1d1d1;cursor:pointer;position:absolute;margin-left:516px;text-align:center;color:#333;line-height:22px;opacity:.9;background-color:#fff}.c-fanyi:hover{background-color:#39f;color:#fff;border-color:#39f;opacity:1}.c-fanyi-title,.c-fanyi-abstract{display:none}.icp_info{color:#666;margin-top:2px;font-size:13px}.icon-gw,.icon-unsafe-icon{background:#2c99ff;vertical-align:text-bottom;*vertical-align:baseline;height:16px;padding-top:0;padding-bottom:0;padding-left:6px;padding-right:6px;line-height:16px;_padding-top:2px;_height:14px;_line-height:14px;font-size:12px;font-family:simsun;margin-left:10px;overflow:hidden;display:inline-block;-moz-border-radius:1px;-webkit-border-radius:1px;border-radius:1px;color:#fff}a.icon-gw{color:#fff;background:#2196ff;text-decoration:none;cursor:pointer}a.icon-gw:hover{background:#1e87ef}a.icon-gw:active{height:15px;_height:13px;line-height:15px;_line-height:13px;padding-left:5px;background:#1c80d9;border-left:1px solid #145997;border-top:1px solid #145997}.icon-unsafe-icon{background:#e54d4b}#con-at{margin-bottom:11px;padding-left:121px;border-bottom:1px #ebebeb solid}#con-at .result-op{font-size:13px;line-height:1.52em}.wrapper_l #con-at .result-op{width:1058px}.wrapper_s #con-at .result-op{width:869px}#con-ar{margin-bottom:40px}#con-ar .result-op{margin-bottom:28px;font-size:13px;line-height:1.52em}.result_hidden{position:absolute;top:-10000px;left:-10000px}#content_left .result-op,#content_left .result{margin-bottom:14px;border-collapse:collapse}#content_left .c-border .result-op,#content_left .c-border .result{margin-bottom:25px}#content_left .c-border .result-op:last-child,#content_left .c-border .result:last-child{margin-bottom:12px}#content_left .result .f,#content_left .result-op .f{padding:0}.subLink_factory{border-collapse:collapse}.subLink_factory td{padding:0}.subLink_factory td.middle,.subLink_factory td.last{color:#666}.subLink_factory td a{text-decoration:underline}.subLink_factory td.rightTd{text-align:right}.subLink_factory_right{width:100%}.subLink_factory_left td{padding-right:26px}.subLink_factory_left td.last{padding:0}.subLink_factory_left td.first{padding-right:75px}.subLink_factory_right td{width:90px}.subLink_factory_right td.first{width:auto}.general_image_pic a{background:#fff no-repeat center center;text-decoration:none;display:block;overflow:hidden;text-align:left}.res_top_banner{height:36px;text-align:left;border-bottom:1px solid #e3e3e3;background:#f7f7f7;font-size:13px;padding-left:8px;color:#333;position:relative;z-index:302}.res_top_banner span{_zoom:1}.res_top_banner .res_top_banner_icon{background-position:0 -216px;width:18px;height:18px;margin:9px 10px 0 0}.res_top_banner .res_top_banner_icon_baiduapp{background:url(https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/global/img/baiduappLogo_7db5fd3c.png) no-repeat 0 0;width:24px;height:24px;margin:3px 10px 0 0;position:relative;top:3px}.res_top_banner .res_top_banner_download{display:inline-block;width:65px;line-height:21px;_padding-top:1px;margin:0 0 0 10px;color:#333;background:#fbfbfb;border:1px solid #b4b6b8;text-align:center;text-decoration:none}.res_top_banner .res_top_banner_download:hover{border:1px solid #38f}.res_top_banner .res_top_banner_download:active{background:#f0f0f0;border:1px solid #b4b6b8}.res_top_banner .res_top_banner_close{background-position:-672px -144px;cursor:pointer;position:absolute;right:10px;top:10px}.res-gap-right16{margin-right:16px}.res-border-top{border-top:1px solid #f3f3f3}.res-border-bottom{border-bottom:1px solid #f3f3f3}.res-queryext-pos{position:relative;top:1px;_top:0}.c-trust-ecard{height:86px;_height:97px;overflow:hidden}@-moz-document url-prefix(){.result,.f{width:538px}}body{min-width:1000px}#ftCon{display:none}#pad-version{display:none}#index_guide{display:none}#index_logo{display:none}#u1{display:none}.s_ipt_wr{height:32px}body{padding:0}.s_form:after,.s_tab:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}.s_form{zoom:1;height:55px;padding:0 0 0 10px}#result_logo{float:left;margin:7px 0 0}#result_logo img{width:101px}#head{padding:0;margin:0;width:100%;position:absolute;z-index:301;min-width:1000px;background:#fff;border-bottom:1px solid #ebebeb;position:fixed;_position:absolute;-webkit-transform:translateZ(0)}#head .head_wrapper{_width:1000px}#head.s_down{box-shadow:0 0 5px #888}.fm{clear:none;float:left;margin:11px 0 0 10px}#s_tab{background:#f8f8f8;line-height:36px;height:38px;padding:55px 0 0 121px;float:none;zoom:1}#s_tab a,#s_tab b{width:54px;display:inline-block;text-decoration:none;text-align:center;color:#666;font-size:14px}#s_tab b{border-bottom:2px solid #38f;font-weight:bold;color:#323232}#s_tab a:hover{color:#323232}#content_left{width:540px;padding-left:121px;padding-top:5px}#content_right{margin-top:45px}#page{padding:0 0 0 121px;margin:30px 0 40px 0}.to_tieba,.to_zhidao_bottom{margin:10px 0 0 121px}.nums{margin:0 0 0 121px;height:42px;line-height:42px}#rs{padding:0;margin:6px 0 0 121px;width:600px}#rs th{width:175px;line-height:22px}#rs .tt{padding:0;line-height:30px}#rs td{width:5px}#rs table{width:540px}#help{background:#f5f6f5;zoom:1;padding:0 0 0 50px;float:right}#help a{color:#777;padding:0 15px;text-decoration:none}#help a:hover{color:#333}#foot{background:#f5f6f5;border-top:1px solid #ebebeb;text-align:left;height:42px;line-height:42px;margin-top:40px;*margin-top:0}#foot .foot_c{float:left;padding:0 0 0 121px}.content_none{padding:45px 0 25px 121px}.nors p{font-size:18px;font-family:microsoft yahei;color:#000}.nors p em{color:#c00}.nors .tip_head{color:#666;font-size:13px;line-height:28px}.nors li{color:#333;line-height:28px;font-size:13px;font-family:'宋体';padding-left:30px;list-style-position:inside;list-style-type:disc}#mCon{top:5px}.s_ipt_wr.bg,.s_btn_wr.bg,#su.bg{background-image:none}.s_ipt_wr.bg{background:0}.s_btn_wr{width:auto;height:auto;border-bottom:1px solid transparent;*border-bottom:0}.s_btn{width:100px;height:34px;color:white;letter-spacing:1px;background:#3385ff;border-bottom:1px solid #2d78f4;outline:medium;*border-bottom:0;-webkit-appearance:none;-webkit-border-radius:0}.s_btn.btnhover{background:#317ef3;border-bottom:1px solid #2868c8;*border-bottom:0;box-shadow:1px 1px 1px #ccc}.s_btn_h{background:#3075dc;box-shadow:inset 1px 1px 3px #2964bb;-webkit-box-shadow:inset 1px 1px 3px #2964bb;-moz-box-shadow:inset 1px 1px 3px #2964bb;-o-box-shadow:inset 1px 1px 3px #2964bb}#wrapper_wrapper .container_l .EC_ppim_top,#wrapper_wrapper .container_xl .EC_ppim_top{width:640px}#wrapper_wrapper .container_s .EC_ppim_top{width:570px}#head .c-icon-bear-round{display:none}.container_l #content_right{width:384px}.container_l{width:1212px}.container_xl #content_right{width:384px}.container_xl{width:1257px}.index_tab_top{display:none}.index_tab_bottom{display:none}#lg{display:none}#m{display:none}#ftCon{display:none}#ent_sug{position:absolute;margin:141px 0 0 130px;font-size:13px;color:#666}.foot_fixed_bottom{position:fixed;bottom:0;width:100%;_position:absolute;_bottom:auto}#head .headBlock{margin:-5px 0 6px 121px}#content_left .leftBlock{margin-bottom:14px;padding-bottom:5px;border-bottom:1px solid #f3f3f3}.hint_toprq_tips{position:relative;width:537px;height:19px;line-height:19px;overflow:hidden;display:none}.hint_toprq_tips span{color:#666}.hint_toprq_icon{margin:0 4px 0 0}.hint_toprq_tips_items{width:444px;_width:440px;max-height:38px;position:absolute;left:95px;top:1px}.hint_toprq_tips_items div{display:inline-block;float:left;height:19px;margin-right:18px;white-space:nowrap;word-break:keep-all}.translateContent{max-width:350px}.translateContent .translateTool{height:16px;margin:-3px 2px}.translateContent .action-translate,.translateContent .action-search{display:inline-block;width:20px;height:16px;background:url('https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/global/img/translate_tool_icon_a480477c.gif') no-repeat}.translateContent .action-translate{background-position:0 0;border-right:1px solid #dcdcdc}.translateContent .action-translate:hover{background-position:0 -20px}.translateContent .action-search{background-position:-20px 0}.translateContent .action-search:hover{background-position:-20px -20px}.nums{width:538px}.search_tool{_padding-top:15px}.head_nums_cont_outer{height:40px;overflow:hidden;position:relative}.head_nums_cont_inner{position:relative}.search_tool_conter .c-gap-left{margin-left:23px}.search_tool_conter .c-icon-triangle-down{opacity:.6}.search_tool_conter .c-icon-triangle-down:hover{opacity:1}.search_tool,.search_tool_close{float:right}.search_tool,.search_tool_conter span{cursor:pointer;color:#666}.search_tool:hover,.search_tool_conter span:hover{color:#333}.search_tool_conter{font-size:12px;color:#666;margin:0 0 0 121px;height:42px;width:538px;line-height:42px;*height:auto;*line-height:normal;*padding:14px 0}.search_tool_conter span strong{color:#666}.c-tip-con .c-tip-langfilter ul{width:80px;text-align:left;color:#666}.c-tip-con .c-tip-langfilter li a{text-indent:15px;color:#666}.c-tip-con .c-tip-langfilter li span{text-indent:15px;padding:3px 0;color:#999;display:block}.c-tip-con .c-tip-timerfilter ul{width:115px;text-align:left;color:#666}.c-tip-con .c-tip-timerfilter-ft ul{width:180px}.c-tip-con .c-tip-timerfilter-si ul{width:206px;padding:7px 10px 10px}.c-tip-con .c-tip-timerfilter li a{text-indent:15px;color:#666}.c-tip-con .c-tip-timerfilter li span{text-indent:15px;padding:3px 0;color:#999;display:block}.c-tip-con .c-tip-timerfilter-ft li a,.c-tip-con .c-tip-timerfilter-ft li span{text-indent:20px}.c-tip-custom{padding:0 15px 10px 15px;position:relative;zoom:1}.c-tip-custom hr{border:0;height:0;border-top:1px solid #ebebeb}.c-tip-custom p{color:#b6b6b6;height:25px;line-height:25px;margin:2px 0}.c-tip-custom .c-tip-custom-et{margin-bottom:7px}.c-tip-custom-input,.c-tip-si-input{display:inline-block;font-size:11px;color:#333;margin-left:4px;padding:0 2px;width:74%;height:16px;line-height:16px\\9;border:1px solid #ebebeb;outline:0;box-sizing:content-box;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;overflow:hidden;position:relative}.c-tip-custom-input-init{color:#d4d4d4}.c-tip-custom-input-focus,.c-tip-si-input-focus{border:1px solid #3385ff}.c-tip-timerfilter-si .c-tip-si-input{width:138px;height:22px;line-height:22px;vertical-align:0;*vertical-align:-6px;_vertical-align:-5px;padding:0 5px;margin-left:0}.c-tip-con .c-tip-timerfilter li .c-tip-custom-submit,.c-tip-con .c-tip-timerfilter li .c-tip-timerfilter-si-submit{display:inline;padding:4px 10px;margin:0;color:#333;border:1px solid #d8d8d8;font-family:inherit;font-weight:normal;text-align:center;vertical-align:0;background-color:#f9f9f9;outline:0}.c-tip-con .c-tip-timerfilter li .c-tip-custom-submit:hover,.c-tip-con .c-tip-timerfilter li .c-tip-timerfilter-si-submit:hover{display:inline;border-color:#388bff}.c-tip-timerfilter-si-error,.c-tip-timerfilter-custom-error{display:none;color:#3385ff;padding-left:4px}.c-tip-timerfilter-custom-error{padding:0;margin:-5px -13px 7px 0}#c-tip-custom-calenderCont{position:absolute;background:#fff;white-space:nowrap;padding:5px 10px;color:#000;border:1px solid #e4e4e4;-webkit-box-shadow:0 2px 4px rgba(0,0,0,0.2);box-shadow:0 2px 4px rgba(0,0,0,0.2)}#c-tip-custom-calenderCont p{text-align:center;padding:2px 0 4px;*padding:4px 0}#c-tip-custom-calenderCont p i{color:#8e9977;cursor:pointer;text-decoration:underline;font-size:13px}#c-tip-custom-calenderCont .op_cal{background:#fff}.op_cal table{background:#eeefea;margin:0;border-collapse:separate}.op_btn_pre_month,.op_btn_next_month{cursor:pointer;display:block;margin-top:6px}.op_btn_pre_month{float:left;background-position:0 -46px}.op_btn_next_month{float:right;background-position:-18px -46px}.op_cal .op_mon_pre1{padding:0}.op_mon th{text-align:center;font-size:12px;background:#FFF;font-weight:bold;border:1px solid #FFF;padding:0}.op_mon td{text-align:center;cursor:pointer}.op_mon h5{margin:0;padding:0 4px;text-align:center;font-size:14px;background:#FFF;height:28px;line-height:28px;border-bottom:1px solid #f5f5f5;margin-bottom:5px}.op_mon strong{font-weight:bold}.op_mon td{padding:0 5px;border:1px solid #fff;font-size:12px;background:#fff;height:100%}.op_mon td.op_mon_pre_month{color:#a4a4a4}.op_mon td.op_mon_cur_month{color:#00c}.op_mon td.op_mon_next_month{color:#a4a4a4}.op_mon td.op_mon_day_hover{color:#000;border:1px solid #278df2}.op_mon td.op_mon_day_selected{color:#FFF;border:1px solid #278df2;background:#278df2}.op_mon td.op_mon_day_disabled{cursor:not-allowed;color:#ddd}.zhannei-si-none,.zhannei-si,.hit_quet,.zhannei-search{display:none}#c-tip-custom-calenderCont .op_mon td.op_mon_cur_month{color:#000}#c-tip-custom-calenderCont .op_mon td.op_mon_day_selected{color:#fff}.c-frame{margin-bottom:18px}.c-offset{padding-left:10px}.c-gray{color:#666}.c-gap-top-small{margin-top:5px}.c-gap-top{margin-top:10px}.c-gap-bottom-small{margin-bottom:5px}.c-gap-bottom{margin-bottom:10px}.c-gap-left{margin-left:12px}.c-gap-left-small{margin-left:6px}.c-gap-right{margin-right:12px}.c-gap-right-small{margin-right:6px}.c-gap-right-large{margin-right:16px}.c-gap-left-large{margin-left:16px}.c-gap-icon-right-small{margin-right:5px}.c-gap-icon-right{margin-right:10px}.c-gap-icon-left-small{margin-left:5px}.c-gap-icon-left{margin-left:10px}.c-container{width:538px;font-size:13px;line-height:1.54;word-wrap:break-word;word-break:break-word}.c-container .c-container{width:auto}.c-container table{border-collapse:collapse;border-spacing:0}.c-container td{font-size:13px;line-height:1.54}.c-default{font-size:13px;line-height:1.54;word-wrap:break-word;word-break:break-all}.c-container .t,.c-default .t{line-height:1.54}.c-default .t{margin-bottom:0}.cr-content{width:259px;font-size:13px;line-height:1.54;color:#333;word-wrap:break-word;word-break:normal}.cr-content table{border-collapse:collapse;border-spacing:0}.cr-content td{font-size:13px;line-height:1.54;vertical-align:top}.cr-offset{padding-left:17px}.cr-title{font-size:14px;line-height:1.29;font-weight:bold}.cr-title-sub{float:right;font-size:13px;font-weight:normal}.c-row{*zoom:1}.c-row:after{display:block;height:0;content:\"\";clear:both;visibility:hidden}.c-span2{width:29px}.c-span3{width:52px}.c-span4{width:75px}.c-span5{width:98px}.c-span6{width:121px}.c-span7{width:144px}.c-span8{width:167px}.c-span9{width:190px}.c-span10{width:213px}.c-span11{width:236px}.c-span12{width:259px}.c-span13{width:282px}.c-span14{width:305px}.c-span15{width:328px}.c-span16{width:351px}.c-span17{width:374px}.c-span18{width:397px}.c-span19{width:420px}.c-span20{width:443px}.c-span21{width:466px}.c-span22{width:489px}.c-span23{width:512px}.c-span24{width:535px}.c-span2,.c-span3,.c-span4,.c-span5,.c-span6,.c-span7,.c-span8,.c-span9,.c-span10,.c-span11,.c-span12,.c-span13,.c-span14,.c-span15,.c-span16,.c-span17,.c-span18,.c-span19,.c-span20,.c-span21,.c-span22,.c-span23,.c-span24{float:left;_display:inline;margin-right:17px;list-style:none}.c-span-last{margin-right:0}.c-span-last-s{margin-right:0}.container_l .cr-content{width:351px}.container_l .cr-content .c-span-last-s{margin-right:17px}.container_l .cr-content-narrow{width:259px}.container_l .cr-content-narrow .c-span-last-s{margin-right:0}.c-border{width:518px;padding:9px;border:1px solid #e3e3e3;border-bottom-color:#e0e0e0;border-right-color:#ececec;box-shadow:1px 2px 1px rgba(0,0,0,0.072);-webkit-box-shadow:1px 2px 1px rgba(0,0,0,0.072);-moz-box-shadow:1px 2px 1px rgba(0,0,0,0.072);-o-box-shadow:1px 2px 1px rgba(0,0,0,0.072)}.c-border .c-gap-left{margin-left:10px}.c-border .c-gap-left-small{margin-left:5px}.c-border .c-gap-right{margin-right:10px}.c-border .c-gap-right-small{margin-right:5px}.c-border .c-border{width:auto;padding:0;border:0;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none;-o-box-shadow:none}.c-border .c-span2{width:34px}.c-border .c-span3{width:56px}.c-border .c-span4{width:78px}.c-border .c-span5{width:100px}.c-border .c-span6{width:122px}.c-border .c-span7{width:144px}.c-border .c-span8{width:166px}.c-border .c-span9{width:188px}.c-border .c-span10{width:210px}.c-border .c-span11{width:232px}.c-border .c-span12{width:254px}.c-border .c-span13{width:276px}.c-border .c-span14{width:298px}.c-border .c-span15{width:320px}.c-border .c-span16{width:342px}.c-border .c-span17{width:364px}.c-border .c-span18{width:386px}.c-border .c-span19{width:408px}.c-border .c-span20{width:430px}.c-border .c-span21{width:452px}.c-border .c-span22{width:474px}.c-border .c-span23{width:496px}.c-border .c-span24{width:518px}.c-border .c-span2,.c-border .c-span3,.c-border .c-span4,.c-border .c-span5,.c-border .c-span6,.c-border .c-span7,.c-border .c-span8,.c-border .c-span9,.c-border .c-span10,.c-border .c-span11,.c-border .c-span12,.c-border .c-span13,.c-border .c-span14,.c-border .c-span15,.c-border .c-span16,.c-border .c-span17,.c-border .c-span18,.c-border .c-span19,.c-border .c-span20,.c-border .c-span21,.c-border .c-span22,.c-border .c-span23,.c-border .c-span24{margin-right:10px}.c-border .c-span-last{margin-right:0}.c-loading{display:block;width:50px;height:50px;background:url(\"//www.baidu.com/aladdin/img/tools/loading.gif\") no-repeat 0 0}.c-vline{display:inline-block;margin:0 3px;border-left:1px solid #ddd;width:0;height:12px;_vertical-align:middle;_overflow:hidden}.c-icon{background:url(https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/global/img/icons_45de3f02.png) no-repeat 0 0;_background-image:url(https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/global/img/icons_15f748ea.gif)}.c-icon{display:inline-block;width:14px;height:14px;vertical-align:text-bottom;font-style:normal;overflow:hidden}.c-icon-unfold,.c-icon-fold,.c-icon-chevron-unfold,.c-icon-chevron-fold{width:12px;height:12px}.c-icon-star,.c-icon-star-gray{width:60px}.c-icon-qa-empty,.c-icon-safeguard,.c-icon-register-empty,.c-icon-zan,.c-icon-music,.c-icon-music-gray,.c-icon-location,.c-icon-warning,.c-icon-doc,.c-icon-xls,.c-icon-ppt,.c-icon-pdf,.c-icon-txt,.c-icon-play-black,.c-icon-gift,.c-icon-baidu-share,.c-icon-bear,.c-icon-bear-border,.c-icon-location-blue,.c-icon-hotAirBall,.c-icon-moon,.c-icon-streetMap,.c-icon-mv,.c-icon-zhidao-s,.c-icon-shopping{width:16px;height:16px}.c-icon-bear-circle,.c-icon-warning-circle,.c-icon-warning-triangle,.c-icon-warning-circle-gray{width:18px;height:18px}.c-icon-tieba,.c-icon-zhidao,.c-icon-bear-p,.c-icon-bear-pn{width:24px;height:24px}.c-icon-ball-blue,.c-icon-ball-red{width:38px;height:38px}.c-icon-unfold:hover,.c-icon-fold:hover,.c-icon-chevron-unfold:hover,.c-icon-chevron-fold:hover,.c-icon-download:hover,.c-icon-lyric:hover,.c-icon-v:hover,.c-icon-hui:hover,.c-icon-bao:hover,.c-icon-person:hover,.c-icon-high-v:hover,.c-icon-phone:hover,.c-icon-nuo:hover,.c-icon-med:hover,.c-icon-air:hover,.c-icon-share2:hover,.c-icon-v1:hover,.c-icon-v2:hover,.c-icon-v3:hover,.c-icon-write:hover{border-color:#388bff}.c-icon-unfold:active,.c-icon-fold:active,.c-icon-chevron-unfold:active,.c-icon-chevron-fold:active,.c-icon-download:active,.c-icon-lyric:active,.c-icon-v:active,.c-icon-hui:active,.c-icon-bao:active,.c-icon-person:active,.c-icon-high-v:active,.c-icon-phone:active,.c-icon-nuo:active,.c-icon-med:active,.c-icon-air:active,.c-icon-share2:active,.c-icon-v1:active,.c-icon-v2:active,.c-icon-v3:active,.c-icon-write:active{border-color:#a2a6ab;background-color:#f0f0f0;box-shadow:inset 1px 1px 1px #c7c7c7;-webkit-box-shadow:inset 1px 1px 1px #c7c7c7;-moz-box-shadow:inset 1px 1px 1px #c7c7c7;-o-box-shadow:inset 1px 1px 1px #c7c7c7}.c-icon-unfold,.c-icon-fold,.c-icon-chevron-unfold,.c-icon-chevron-fold,.c-icon-download,.c-icon-lyric{border:1px solid #d8d8d8;cursor:pointer}.c-icon-v,.c-icon-hui,.c-icon-bao,.c-icon-person,.c-icon-high-v,.c-icon-phone,.c-icon-nuo,.c-icon-med,.c-icon-air,.c-icon-share2,.c-icon-v1,.c-icon-v2,.c-icon-v3,.c-icon-write{border:1px solid #d8d8d8;cursor:pointer;border-color:transparent;_border-color:tomato;_filter:chroma(color=#ff6347)}.c-icon-v1,.c-icon-v2,.c-icon-v3,.c-icon-v1-noborder,.c-icon-v2-noborder,.c-icon-v3-noborder,.c-icon-v1-noborder-disable,.c-icon-v2-noborder-disable,.c-icon-v3-noborder-disable{width:19px}.c-icon-download,.c-icon-lyric{width:16px;height:16px}.c-icon-play-circle,.c-icon-stop-circle{width:18px;height:18px}.c-icon-play-circle-middle,.c-icon-stop-circle-middle{width:24px;height:24px}.c-icon-play-black-large,.c-icon-stop-black-large{width:36px;height:36px}.c-icon-play-black-larger,.c-icon-stop-black-larger{width:52px;height:52px}.c-icon-flag{background-position:0 -144px}.c-icon-bus{background-position:-24px -144px}.c-icon-calendar{background-position:-48px -144px}.c-icon-street{background-position:-72px -144px}.c-icon-map{background-position:-96px -144px}.c-icon-bag{background-position:-120px -144px}.c-icon-money{background-position:-144px -144px}.c-icon-game{background-position:-168px -144px}.c-icon-user{background-position:-192px -144px}.c-icon-globe{background-position:-216px -144px}.c-icon-lock{background-position:-240px -144px}.c-icon-plane{background-position:-264px -144px}.c-icon-list{background-position:-288px -144px}.c-icon-star-gray{background-position:-312px -144px}.c-icon-circle-gray{background-position:-384px -144px}.c-icon-triangle-down{background-position:-408px -144px}.c-icon-triangle-up{background-position:-432px -144px}.c-icon-triangle-up-empty{background-position:-456px -144px}.c-icon-sort-gray{background-position:-480px -144px}.c-icon-sort-up{background-position:-504px -144px}.c-icon-sort-down{background-position:-528px -144px}.c-icon-down-gray{background-position:-552px -144px}.c-icon-up-gray{background-position:-576px -144px}.c-icon-download-noborder{background-position:-600px -144px}.c-icon-lyric-noborder{background-position:-624px -144px}.c-icon-download-white{background-position:-648px -144px}.c-icon-close{background-position:-672px -144px}.c-icon-fail{background-position:-696px -144px}.c-icon-success{background-position:-720px -144px}.c-icon-triangle-down-g{background-position:-744px -144px}.c-icon-refresh{background-position:-768px -144px}.c-icon-chevron-left-gray{background-position:-816px -144px}.c-icon-chevron-right-gray{background-position:-840px -144px}.c-icon-setting{background-position:-864px -144px}.c-icon-close2{background-position:-888px -144px}.c-icon-chevron-top-gray-s{background-position:-912px -144px}.c-icon-fullscreen{background-position:0 -168px}.c-icon-safe{background-position:-24px -168px}.c-icon-exchange{background-position:-48px -168px}.c-icon-chevron-bottom{background-position:-72px -168px}.c-icon-chevron-top{background-position:-96px -168px}.c-icon-unfold{background-position:-120px -168px}.c-icon-fold{background-position:-144px -168px}.c-icon-chevron-unfold{background-position:-168px -168px}.c-icon-qa{background-position:-192px -168px}.c-icon-register{background-position:-216px -168px}.c-icon-star{background-position:-240px -168px}.c-icon-star-gray{position:relative}.c-icon-star-gray .c-icon-star{position:absolute;top:0;left:0}.c-icon-play-blue{background-position:-312px -168px}.c-icon-pic{width:16px;background-position:-336px -168px}.c-icon-chevron-fold{background-position:-360px -168px}.c-icon-video{width:18px;background-position:-384px -168px}.c-icon-circle-blue{background-position:-408px -168px}.c-icon-circle-yellow{background-position:-432px -168px}.c-icon-play-white{background-position:-456px -168px}.c-icon-triangle-down-blue{background-position:-480px -168px}.c-icon-chevron-unfold2{background-position:-504px -168px}.c-icon-right{background-position:-528px -168px}.c-icon-right-empty{background-position:-552px -168px}.c-icon-new-corner{width:15px;background-position:-576px -168px}.c-icon-horn{background-position:-600px -168px}.c-icon-right-large{width:18px;background-position:-624px -168px}.c-icon-wrong-large{background-position:-648px -168px}.c-icon-circle-blue-s{background-position:-672px -168px}.c-icon-play-gray{background-position:-696px -168px}.c-icon-up{background-position:-720px -168px}.c-icon-down{background-position:-744px -168px}.c-icon-stable{background-position:-768px -168px}.c-icon-calendar-blue{background-position:-792px -168px}.c-icon-triangle-down-blue2{background-position:-816px -168px}.c-icon-triangle-up-blue2{background-position:-840px -168px}.c-icon-down-blue{background-position:-864px -168px}.c-icon-up-blue{background-position:-888px -168px}.c-icon-ting{background-position:-912px -168px}.c-icon-piao{background-position:-936px -168px}.c-icon-wrong-empty{background-position:-960px -168px}.c-icon-warning-circle-s{background-position:-984px -168px}.c-icon-chevron-left{background-position:-1008px -168px}.c-icon-chevron-right{background-position:-1032px -168px}.c-icon-circle-gray-s{background-position:-1056px -168px}.c-icon-v,.c-icon-v-noborder{background-position:0 -192px}.c-icon-hui{background-position:-24px -192px}.c-icon-bao{background-position:-48px -192px}.c-icon-phone{background-position:-72px -192px}.c-icon-qa-empty{background-position:-96px -192px}.c-icon-safeguard{background-position:-120px -192px}.c-icon-register-empty{background-position:-144px -192px}.c-icon-zan{background-position:-168px -192px}.c-icon-music{background-position:-192px -192px}.c-icon-music-gray{background-position:-216px -192px}.c-icon-location{background-position:-240px -192px}.c-icon-warning{background-position:-264px -192px}.c-icon-doc{background-position:-288px -192px}.c-icon-xls{background-position:-312px -192px}.c-icon-ppt{background-position:-336px -192px}.c-icon-pdf{background-position:-360px -192px}.c-icon-txt{background-position:-384px -192px}.c-icon-play-black{background-position:-408px -192px}.c-icon-play-black:hover{background-position:-432px -192px}.c-icon-gift{background-position:-456px -192px}.c-icon-baidu-share{background-position:-480px -192px}.c-icon-bear{background-position:-504px -192px}.c-icon-bear-border{background-position:-576px -192px}.c-icon-person,.c-icon-person-noborder{background-position:-600px -192px}.c-icon-location-blue{background-position:-624px -192px}.c-icon-hotAirBall{background-position:-648px -192px}.c-icon-moon{background-position:-672px -192px}.c-icon-streetMap{background-position:-696px -192px}.c-icon-high-v,.c-icon-high-v-noborder{background-position:-720px -192px}.c-icon-nuo{background-position:-744px -192px}.c-icon-mv{background-position:-768px -192px}.c-icon-med{background-position:-816px -192px}.c-icon-air{background-position:-840px -192px}.c-icon-share2{background-position:-864px -192px}.c-icon-v1,.c-icon-v1-noborder{background-position:-888px -192px}.c-icon-v2,.c-icon-v2-noborder{background-position:-912px -192px}.c-icon-v3,.c-icon-v3-noborder{background-position:-936px -192px}.c-icon-v1-noborder-disable{background-position:-960px -192px}.c-icon-v2-noborder-disable{background-position:-984px -192px}.c-icon-v3-noborder-disable{background-position:-1008px -192px}.c-icon-write{background-position:-1032px -192px}.c-icon-zhidao-s{background-position:-1056px -192px}.c-icon-shopping{background-position:-1080px -192px}.c-icon-bear-circle{background-position:0 -216px}.c-icon-warning-circle{background-position:-24px -216px}.c-icon-warning-triangle{width:24px;background-position:-48px -216px}.c-icon-warning-circle-gray{background-position:-72px -216px}.c-icon-ball-red{background-position:0 -240px}.c-icon-ball-blue{background-position:-48px -240px}.c-icon-tieba{background-position:0 -288px}.c-icon-zhidao{background-position:-48px -288px}.c-icon-bear-p{background-position:-96px -288px}.c-icon-bear-pn{background-position:-144px -288px}.c-icon-download{background-position:0 -336px}.c-icon-lyric{background-position:-24px -336px}.c-icon-play-circle{background-position:-48px -336px}.c-icon-play-circle:hover{background-position:-72px -336px}.c-icon-stop-circle{background-position:-96px -336px}.c-icon-stop-circle:hover{background-position:-120px -336px}.c-icon-play-circle-middle{background-position:0 -360px}.c-icon-play-circle-middle:hover{background-position:-48px -360px}.c-icon-stop-circle-middle{background-position:-96px -360px}.c-icon-stop-circle-middle:hover{background-position:-144px -360px}.c-icon-play-black-large{background-position:0 -408px}.c-icon-play-black-large:hover{background-position:-48px -408px}.c-icon-stop-black-large{background-position:-96px -408px}.c-icon-stop-black-large:hover{background-position:-144px -408px}.c-icon-play-black-larger{background-position:0 -456px}.c-icon-play-black-larger:hover{background-position:-72px -456px}.c-icon-stop-black-larger{background-position:-144px -456px}.c-icon-stop-black-larger:hover{background-position:-216px -456px}.c-recommend{font-size:0;padding:5px 0;border:1px solid #f3f3f3;border-left:none;border-right:0}.c-recommend .c-icon{margin-bottom:-4px}.c-recommend .c-gray,.c-recommend a{font-size:13px}.c-recommend-notopline{padding-top:0;border-top:0}.c-recommend-vline{display:inline-block;margin:0 10px -2px;border-left:1px solid #d8d8d8;width:0;height:12px;_vertical-align:middle;_overflow:hidden}.c-text{display:inline-block;padding:2px;text-align:center;vertical-align:text-bottom;font-size:12px;line-height:100%;font-style:normal;font-weight:normal;color:#fff;overflow:hidden}a.c-text{text-decoration:none}.c-text-new{background-color:#f13f40}.c-text-info{padding-left:0;padding-right:0;font-weight:bold;color:#2b99ff;*vertical-align:baseline;_position:relative;_top:2px}.c-text-info b{_position:relative;_top:-1px}.c-text-info span{padding:0 2px;font-weight:normal}.c-text-important{background-color:#1cb7fd}.c-text-public{background-color:#2b99ff}.c-text-warning{background-color:#ff830f}.c-text-prompt{background-color:#f5c537}.c-text-danger{background-color:#f13f40}.c-text-safe{background-color:#52c277}.c-text-empty{padding-top:1px;padding-bottom:1px;border:1px solid #d8d8d8;cursor:pointer;color:#23b9fd;background-color:#fff}.c-text-empty:hover{border-color:#388bff}.c-text-empty:active{border-color:#a2a6ab;background-color:#f0f0f0;box-shadow:inset 1px 1px 1px #c7c7c7;-webkit-box-shadow:inset 1px 1px 1px #c7c7c7;-moz-box-shadow:inset 1px 1px 1px #c7c7c7;-o-box-shadow:inset 1px 1px 1px #c7c7c7}.c-text-mult{padding-left:5px;padding-right:5px}.c-text-gray{background-color:#666}.c-btn,.c-btn:visited{color:#333!important}.c-btn{display:inline-block;padding:0 14px;margin:0;height:24px;line-height:25px;font-size:13px;filter:chroma(color=#000000);*zoom:1;border:1px solid #d8d8d8;cursor:pointer;font-family:inherit;font-weight:normal;text-align:center;vertical-align:middle;background-color:#f9f9f9;overflow:hidden;outline:0}.c-btn:hover{border-color:#388bff}.c-btn:active{border-color:#a2a6ab;background-color:#f0f0f0;box-shadow:inset 1px 1px 1px #c7c7c7;-webkit-box-shadow:inset 1px 1px 1px #c7c7c7;-moz-box-shadow:inset 1px 1px 1px #c7c7c7;-o-box-shadow:inset 1px 1px 1px #c7c7c7}a.c-btn{text-decoration:none}button.c-btn{height:26px;_line-height:18px;*overflow:visible}button.c-btn::-moz-focus-inner{padding:0;border:0}.c-btn .c-icon{margin-top:5px}.c-btn-disable{color:#999!important}.c-btn-disable:visited{color:#999!important}.c-btn-disable:hover{border:1px solid #d8d8d8;cursor:default}.c-btn-disable:active{border-color:#d8d8d8;background-color:#f9f9f9;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none;-o-box-shadow:none}.c-btn-mini{padding-left:5px;padding-right:5px;height:18px;line-height:18px;font-size:12px}button.c-btn-mini{height:20px;_height:18px;_line-height:14px}.c-btn-mini .c-icon{margin-top:2px}.c-btn-large{height:28px;line-height:28px;font-size:14px;font-family:\"微软雅黑\",\"黑体\"}button.c-btn-large{height:30px;_line-height:24px}.c-btn-large .c-icon{margin-top:7px;_margin-top:6px}.c-btn-primary,.c-btn-primary:visited{color:#fff!important}.c-btn-primary{background-color:#388bff;border-color:#3c8dff #408ffe #3680e6}.c-btn-primary:hover{border-color:#2678ec #2575e7 #1c6fe2 #2677e7;background-color:#388bff;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAMAAACuX0YVAAAABlBMVEVnpv85i/9PO5r4AAAAD0lEQVR42gEEAPv/AAAAAQAFAAIros7PAAAAAElFTkSuQmCC);*background-image:none;background-repeat:repeat-x;box-shadow:1px 1px 1px rgba(0,0,0,0.4);-webkit-box-shadow:1px 1px 1px rgba(0,0,0,0.4);-moz-box-shadow:1px 1px 1px rgba(0,0,0,0.4);-o-box-shadow:1px 1px 1px rgba(0,0,0,0.4)}.c-btn-primary:active{border-color:#178ee3 #1784d0 #177bbf #1780ca;background-color:#388bff;background-image:none;box-shadow:inset 1px 1px 1px rgba(0,0,0,0.15);-webkit-box-shadow:inset 1px 1px 1px rgba(0,0,0,0.15);-moz-box-shadow:inset 1px 1px 1px rgba(0,0,0,0.15);-o-box-shadow:inset 1px 1px 1px rgba(0,0,0,0.15)}.c-btn .c-icon{float:left}.c-dropdown2{position:relative;display:inline-block;width:100%;height:26px;line-height:26px;font-size:13px;vertical-align:middle;outline:0;_font-family:SimSun;background-color:#fff;word-wrap:normal;word-break:normal}.c-dropdown2 .c-dropdown2-btn-group{position:relative;height:24px;border:1px solid #999;border-bottom-color:#d8d8d8;border-right-color:#d8d8d8;-moz-user-select:none;-webkit-user-select:none;user-select:none}.c-dropdown2:hover .c-dropdown2-btn-group,.c-dropdown2-hover .c-dropdown2-btn-group{box-shadow:inset 1px 1px 0 0 #d8d8d8;-webkit-box-shadow:inset 1px 1px 0 0 #d8d8d8;-moz-box-shadow:inset 1px 1px 0 0 #d8d8d8;-o-box-shadow:inset 1px 1px 0 0 #d8d8d8}.c-dropdown2:hover .c-dropdown2-btn-icon,.c-dropdown2-hover .c-dropdown2-btn-icon{box-shadow:inset 0 1px 0 0 #d8d8d8;-webkit-box-shadow:inset 0 1px 0 0 #d8d8d8;-moz-box-shadow:inset 0 1px 0 0 #d8d8d8;-o-box-shadow:inset 0 1px 0 0 #d8d8d8}.c-dropdown2:hover .c-dropdown2-btn-icon-border,.c-dropdown2-hover .c-dropdown2-btn-icon-border{background-color:#f2f2f2}.c-dropdown2 .c-dropdown2-btn{height:24px;padding-left:10px;padding-right:10px;cursor:default;overflow:hidden;white-space:nowrap}.c-dropdown2 .c-dropdown2-btn-icon{position:absolute;top:0;right:0;width:23px;height:24px;line-height:24px;background-color:#fff;padding:0 1px 0 10px}.c-dropdown2 .c-dropdown2-btn-icon-border{height:24px;width:23px;border-left:1px solid #d9d9d9;text-align:center;zoom:1}.c-dropdown2 .c-icon-triangle-down{*margin-top:5px;_margin-left:2px}.c-dropdown2 .c-dropdown2-menu{position:absolute;left:0;top:100%;_margin-top:0;width:100%;overflow:hidden;border:1px solid #bbb;background:#fff;visibility:hidden}.c-dropdown2 .c-dropdown2-menu-inner{overflow:hidden}.c-dropdown2 .c-dropdown2-option{background-color:#fff;cursor:pointer}.c-dropdown2 .c-dropdown2-selected{background-color:#f5f5f5}.c-dropdown2-common ul,.c-dropdown2-common li{margin:0;padding:0;list-style:none}.c-dropdown2-common .c-dropdown2-option{height:26px;line-height:26px;font-size:12px;color:#333;white-space:nowrap;cursor:pointer;padding-left:10px}.c-dropdown2-common .c-dropdown2-selected{background-color:#f5f5f5}.c-dropdown2-common .c-dropdown2-menu-group .c-dropdown2-group{padding-left:10px;font-weight:bold;cursor:default}.c-dropdown2-common .c-dropdown2-menu-group .c-dropdown2-option{padding-left:20px}.c-img{display:block;min-height:1px;border:none 0}.c-img3{width:52px}.c-img4{width:75px}.c-img6{width:121px}.c-img7{width:144px}.c-img12{width:259px}.c-img15{width:328px}.c-img18{width:397px}.c-border .c-img3{width:56px}.c-border .c-img4{width:78px}.c-border .c-img7{width:144px}.c-border .c-img12{width:254px}.c-border .c-img15{width:320px}.c-border .c-img18{width:386px}.c-index{display:inline-block;padding:1px 0;color:#fff;width:14px;line-height:100%;font-size:12px;text-align:center;background-color:#8eb9f5}.c-index-hot,.c-index-hot1{background-color:#f54545}.c-index-hot2{background-color:#ff8547}.c-index-hot3{background-color:#ffac38}.c-input{display:inline-block;padding:0 4px;height:24px;line-height:24px\\9;font-size:13px;border:1px solid #999;border-bottom-color:#d8d8d8;border-right-color:#d8d8d8;outline:0;box-sizing:content-box;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;vertical-align:top;overflow:hidden}.c-input:hover{box-shadow:inset 1px 1px 1px 0 #d8d8d8;-webkit-box-shadow:inset 1px 1px 1px 0 #d8d8d8;-moz-box-shadow:inset 1px 1px 1px 0 #d8d8d8;-o-box-shadow:inset 1px 1px 1px 0 #d8d8d8}.c-input .c-icon{float:right;margin-top:6px}.c-input .c-icon-left{float:left;margin-right:4px}.c-input input{float:left;height:22px;*padding-top:4px;margin-top:2px;font-size:13px;border:0;outline:0}.c-input{width:180px}.c-input input{width:162px}.c-input-xmini{width:65px}.c-input-xmini input{width:47px}.c-input-mini{width:88px}.c-input-mini input{width:70px}.c-input-small{width:157px}.c-input-small input{width:139px}.c-input-large{width:203px}.c-input-large input{width:185px}.c-input-xlarge{width:341px}.c-input-xlarge input{width:323px}.c-input12{width:249px}.c-input12 input{width:231px}.c-input20{width:433px}.c-input20 input{width:415px}.c-border .c-input{width:178px}.c-border .c-input input{width:160px}.c-border .c-input-xmini{width:68px}.c-border .c-input-xmini input{width:50px}.c-border .c-input-mini{width:90px}.c-border .c-input-mini input{width:72px}.c-border .c-input-small{width:156px}.c-border .c-input-small input{width:138px}.c-border .c-input-large{width:200px}.c-border .c-input-large input{width:182px}.c-border .c-input-xlarge{width:332px}.c-border .c-input-xlarge input{width:314px}.c-border .c-input12{width:244px}.c-border .c-input12 input{width:226px}.c-border .c-input20{width:420px}.c-border .c-input20 input{width:402px}.c-numberset{*zoom:1}.c-numberset:after{display:block;height:0;content:\"\";clear:both;visibility:hidden}.c-numberset li{float:left;margin-right:17px;list-style:none}.c-numberset .c-numberset-last{margin-right:0}.c-numberset a{display:block;width:50px;text-decoration:none;text-align:center;border:1px solid #d8d8d8;cursor:pointer}.c-numberset a:hover{border-color:#388bff}.c-border .c-numberset li{margin-right:10px}.c-border .c-numberset .c-numberset-last{margin-right:0}.c-border .c-numberset a{width:54px}.c-table{width:100%;border-collapse:collapse;border-spacing:0}.c-table th,.c-table td{padding-left:10px;line-height:1.54;font-size:13px;border-bottom:1px solid #f3f3f3;text-align:left}.cr-content .c-table th:first-child,.cr-content .c-table td:first-child{padding-left:0}.c-table th{padding-top:4px;padding-bottom:4px;font-weight:normal;color:#666;border-color:#f0f0f0;white-space:nowrap;background-color:#fafafa}.c-table td{padding-top:6.5px;padding-bottom:6.5px}.c-table-hasimg td{padding-top:10px;padding-bottom:10px}.c-table a,.c-table em{text-decoration:none}.c-table a:hover,.c-table a:hover em{text-decoration:underline}.c-table a.c-icon:hover{text-decoration:none}.c-table .c-btn:hover,.c-table .c-btn:hover em{text-decoration:none}.c-table-nohihead th{background-color:transparent}.c-table-noborder td{border-bottom:0}.c-tabs-nav-movetop{margin:-10px -9px 0 -10px;position:relative}.c-tabs-nav{border-bottom:1px solid #d9d9d9;background-color:#fafafa;line-height:1.54;font-size:0;*zoom:1;_overflow-x:hidden;_position:relative}.c-tabs-nav:after{display:block;height:0;content:\"\";clear:both;visibility:hidden}.c-tabs-nav .c-tabs-nav-btn{float:right;_position:absolute;_top:0;_right:0;_z-index:1;background:#fafafa}.c-tabs-nav .c-tabs-nav-btn .c-tabs-nav-btn-prev,.c-tabs-nav .c-tabs-nav-btn .c-tabs-nav-btn-next{float:left;padding:6px 2px;cursor:pointer}.c-tabs-nav .c-tabs-nav-btn .c-tabs-nav-btn-disable{cursor:default}.c-tabs-nav .c-tabs-nav-view{_position:relative;overflow:hidden;*zoom:1;margin-bottom:-1px}.c-tabs-nav .c-tabs-nav-view .c-tabs-nav-li{margin-bottom:0}.c-tabs-nav .c-tabs-nav-more{float:left;white-space:nowrap}.c-tabs-nav li,.c-tabs-nav a{color:#666;font-size:13px;*zoom:1}.c-tabs-nav li{display:inline-block;margin-bottom:-1px;*display:inline;padding:3px 15px;vertical-align:bottom;border-style:solid;border-width:2px 1px 0 1px;border-color:transparent;_border-color:tomato;_filter:chroma(color=#ff6347);list-style:none;cursor:pointer;white-space:nowrap;overflow:hidden}.c-tabs-nav a{text-decoration:none}.c-tabs-nav .c-tabs-nav-sep{height:16px;width:0;padding:0;margin-bottom:4px;border-style:solid;border-width:0 1px 0;border-color:transparent #fff transparent #dedede}.c-tabs-nav .c-tabs-nav-selected{_position:relative;border-color:#2c99ff #e4e4e4 #fff #dedede;background-color:#fff;color:#000;cursor:default}.c-tabs-nav-one .c-tabs-nav-selected{border-color:transparent;_border-color:tomato;_filter:chroma(color=#ff6347);background-color:transparent;color:#666}.c-tabs .c-tabs .c-tabs-nav{padding:10px 0 5px;border:none 0;background-color:#fff}.c-tabs .c-tabs .c-tabs-nav li,.c-tabs .c-tabs .c-tabs-nav a{color:#00c}.c-tabs .c-tabs .c-tabs-nav li{padding:0 5px;position:static;margin:0 10px;border:none 0;cursor:pointer;white-space:nowrap}.c-tabs .c-tabs .c-tabs-nav .c-tabs-nav-sep{height:11px;width:0;padding:0;margin:0 0 4px 0;border:none 0;border-left:1px solid #d8d8d8}.c-tabs .c-tabs .c-tabs-nav .c-tabs-nav-selected{background-color:#2c99ff;color:#fff;cursor:default}.c-tag{padding-top:3px;margin-bottom:3px;height:1.7em;font-size:13px;line-height:1.4em;transition:height .3s ease-in;-webkit-transition:height .3s ease-in;-moz-transition:height .3s ease-in;-ms-transition:height .3s ease-in;-o-transition:height .3s ease-in;*zoom:1;overflow:hidden}.c-tag:after{display:block;height:0;content:\"\";clear:both;visibility:hidden}.c-tag-cont{overflow:hidden;*zoom:1}.c-tag-type,.c-tag-li,.c-tag-more,.c-tag-cont span{margin:2px 0}.c-tag-type,.c-tag-li,.c-tag-cont span{float:left}.c-tag-type,.c-tag-more{color:#666}.c-tag-li,.c-tag-cont span{padding:0 4px;display:inline-block;margin-right:12px;white-space:nowrap;cursor:pointer;color:#00c}.c-tag .c-tag-selected{background:#388bff;color:#fff}.c-tag-more{float:right;background:#fff;cursor:pointer;*height:18px}.c-tool{display:inline-block;width:56px;height:56px;background:url(\"//www.baidu.com/aladdin/img/tools/tools-5.png\") no-repeat}.c-tool-region{background-position:0 0}.c-tool-calendar{background-position:-72px 0}.c-tool-city{background-position:-144px 0}.c-tool-phone-pos{background-position:-216px 0}.c-tool-other{background-position:-288px 0}.c-tool-midnight{background-position:-360px 0}.c-tool-kefu{width:121px;background-position:-432px 0}.c-tool-phone{background-position:-576px 0}.c-tool-car{background-position:-648px 0}.c-tool-station{background-position:0 -72px}.c-tool-cheat{background-position:-72px -72px}.c-tool-counter{background-position:-144px -72px}.c-tool-time{background-position:-216px -72px}.c-tool-zip{background-position:-288px -72px}.c-tool-warning{background-position:-360px -72px}.c-tool-ip{background-position:0 -144px}.c-tool-unit{background-position:-72px -144px}.c-tool-rate{background-position:-144px -144px}.c-tool-conversion{background-position:-288px -144px}.c-tool-ads{background-position:-360px -144px}.c-icon-fan:hover{border-color:#388bff}.c-icon-fan:active{border-color:#a2a6ab;background-color:#f0f0f0;box-shadow:inset 1px 1px 1px #c7c7c7;-webkit-box-shadow:inset 1px 1px 1px #c7c7c7;-moz-box-shadow:inset 1px 1px 1px #c7c7c7;-o-box-shadow:inset 1px 1px 1px #c7c7c7}.c-icon-fan{border:1px solid #d8d8d8;cursor:pointer;border-color:transparent;_border-color:tomato;_filter:chroma(color=#ff6347)}.c-icon-fan{background-position:-1104px -192px}#seth{display:none;behavior:url(#default#homepage)}#setf{display:none}#sekj{margin-left:14px}#st,#sekj{display:none}.s_ipt_wr{border:1px solid #b6b6b6;border-color:#7b7b7b #b6b6b6 #b6b6b6 #7b7b7b;background:#fff;display:inline-block;vertical-align:top;width:539px;margin-right:0;border-right-width:0;border-color:#b8b8b8 transparent #ccc #b8b8b8;overflow:hidden}.wrapper_s .s_ipt_wr{width:439px}.wrapper_s .s_ipt{width:434px}.wrapper_s .s_ipt_tip{width:434px}.s_ipt_wr:hover,.s_ipt_wr.ipthover{border-color:#999 transparent #b3b3b3 #999}.s_ipt_wr.iptfocus{border-color:#4791ff transparent #4791ff #4791ff}.s_ipt_tip{color:#aaa;position:absolute;z-index:-10;font:16px/22px arial;height:32px;line-height:32px;padding-left:7px;overflow:hidden;width:526px}.s_ipt{width:526px;height:22px;font:16px/18px arial;line-height:22px\\9;margin:6px 0 0 7px;padding:0;background:transparent;border:0;outline:0;-webkit-appearance:none}#kw{position:relative}#u .username i{background-position:-408px -144px}.bdpfmenu,.usermenu{border:1px solid #d1d1d1;position:absolute;width:105px;top:36px;z-index:302;box-shadow:1px 1px 5px #d1d1d1;-webkit-box-shadow:1px 1px 5px #d1d1d1;-moz-box-shadow:1px 1px 5px #d1d1d1;-o-box-shadow:1px 1px 5px #d1d1d1}.bdpfmenu{font-size:12px;background-color:#fff}.bdpfmenu a,.usermenu a{display:block;text-align:left;margin:0!important;padding:0 9px;line-height:26px;text-decoration:none}.briiconsbg{background-repeat:no-repeat;background-size:300px 18px;background-image:url(https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/home/img/icons_c3b33b92.png);background-image:url(https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/home/img/icons_0a1fc6ac.gif)\\9}#u{z-index:301;position:absolute;right:0;top:0;margin:21px 9px 5px 0;padding:0}.wrapper_s #u{margin-right:3px}#u a{text-decoration:underline;color:#333;margin:0 7px}.wrapper_s #u a{margin-right:0 6px}#u div a{text-decoration:none}#u a:hover{text-decoration:underline}#u .back_org{color:#666;float:left;display:inline-block;height:24px;line-height:24px}#u .bri{display:inline-block;width:24px;height:24px;float:left;line-height:24px;color:transparent;background:url(https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/home/img/icons_c3b33b92.png) no-repeat 4px 3px;background-size:300px 18px;background-image:url(https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/home/img/icons_0a1fc6ac.gif)\\9;overflow:hidden}#u .bri:hover,#u .bri.brihover{background-position:-18px 3px}#mCon #imeSIcon{background-position:-408px -144px;margin-left:0}#mCon span{color:#333}.bdpfmenu a:link,.bdpfmenu a:visited,#u .usermenu a:link,#u .usermenu a:visited{background:white;color:#333}.bdpfmenu a:hover,.bdpfmenu a:active,#u .usermenu a:hover,#u .usermenu a:active{background:#38f;text-decoration:none;color:white}.bdpfmenu{width:70px}.usermenu{width:68px;right:8px}#wrapper .bdnuarrow{width:0;height:0;font-size:0;line-height:0;display:block;position:absolute;top:-10px;left:50%;margin-left:-5px}#wrapper .bdnuarrow em,#wrapper .bdnuarrow i{width:0;height:0;font-size:0;line-height:0;display:block;position:absolute;border:5px solid transparent;border-style:dashed dashed solid dashed}#wrapper .bdnuarrow em{border-bottom-color:#d8d8d8;top:-1px}#wrapper .bdnuarrow i{border-bottom-color:#fff;top:0}#prefpanel{background:#fafafa;display:none;opacity:0;position:fixed;_position:absolute;top:-359px;z-index:500;width:100%;min-width:960px;border-bottom:1px solid #ebebeb}#prefpanel form{_width:850px}#kw_tip{cursor:default;display:none;margin-top:1px}#bds-message-wrapper{top:43px}.quickdelete-wrap{position:relative}.quickdelete-wrap input{width:500px}.wrapper_l .quickdelete-wrap input{width:500px}.wrapper_s .quickdelete-wrap input{width:402px}input::-ms-clear{display:none}.quickdelete{width:32px;height:32px;background:url(https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/global/img/quickdelete_9c14b01a.png) no-repeat;background-position:10px 10px;position:absolute;display:block}.quickdelete:hover{background-position:10px -24px}&lt;/style&gt;\n</textarea><textarea id=\"s_index_off_css\" style=\"display:none;\">&lt;style data-for=\"s_indexoff\"&gt;\n#head&gt;*{display:none;}\n#head .s-isindex-wrap{display:none;}\n#nv{display: none !important;}\nbody #s_tab,body #wrapper_wrapper,body #u,body #result_logo{display:block;}\nbody #wrapper,body #head,#head #head_wrapper,body #s_fm,body #s_form_wrapper,body #form,body #wrapper_wrapper,body #u,body #s_tab,body #result_logo img,#u div,#u div a,#head .bdsug ul{display: block;}\nbody #result_logo,#u *,#head .bdsug ul li b{display: inline;}\nbody #s_tab *,body #s_kw_wrap,body #kw,body #su,body #s_btn_wr,body #about_is,#u .c-icon{display: inline-block;}\n#head .bdsug ul li{display: list-item;}\n#head .head_wrapper{padding-top: 0px !important;}\n.s-bottom-ctner{display:none !important;}\n&lt;/style&gt;\n</textarea><div id=\"wrapper\"> <div id=\"head\" class=\"\"><div class=\"s-skin-container s-isindex-wrap\"></div>     <div id=\"s_top_wrap\" class=\"s-top-wrap\"><div class=\"s-center-bg\"><div class=\"s-center-box\"></div></div><div id=\"u_spnav\" class=\"s-isindex-wrap\" data-s=\"off\"><div class=\"s-weather-wrapper\"> <div id=\"s_mod_weather\" class=\"s-mod-weather s-isindex-wrap hide-unknow-city \">  <div class=\"weather-mod\"> <div class=\"city-wather\"> <div class=\"show-weather\"> <span class=\"show-city\"><em class=\"show-city-name\" data-key=\"深圳\"> 深圳： </em></span><span class=\"show-icon\"><span class=\"weather-icon\" style=\"background-image:url(https://ss0.bdstatic.com/l4oZeXSm1A5BphGlnYG/icon/weather/aladdin/png_18/a4.png);*background-image:none;*filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=https://ss0.bdstatic.com/l4oZeXSm1A5BphGlnYG/icon/weather/aladdin/png_18/a4.png, enabled=true,sizingMethod=\" =\")\"=\"\" crop;=\"\"></span><em class=\"show-icon-temp\">29℃</em></span><span class=\"show-temp\"></span></div><div class=\"show-pollution \"><a href=\"https://www.baidu.com/s?wd=%E6%B7%B1%E5%9C%B3%E7%A9%BA%E6%B0%94%E8%B4%A8%E9%87%8F%E6%8C%87%E6%95%B0&tn=baidutop10&rsv_idx=2\" target=\"_blank\"><span class=\"show-airParm polution-level-0\"><em class=\"show-polution-name\">优</em><em class=\"show-polution-num\">28</em></span><span class=\"show-vertical\">|</span></a></div> </div> </div> <div class=\"unknown-city\"> <span class=\"unknown-icon\"></span> <span class=\"unknown-text\">查看天气信息，</span> <span class=\"unknown-setting\">设置城市</span> </div> </div></div><div id=\"u_sp\"><a id=\"s_usersetting_top\" href=\"javascript:;\" name=\"tj_settingicon\" class=\"s-user-set-top mnav pf\"><span class=\"setting-text\">设置</span></a><div class=\"s-icons\" id=\"s_icons\"><a class=\"s-treasure\" href=\"https://www.baidu.com/#\" onclick=\"return false;\" data-tid=\"2000\" title=\"宝箱\"><span class=\"s-icon s-icon-treasure\"></span><span class=\"title\">宝箱</span></a><a class=\"s-skin\" href=\"https://www.baidu.com/#\" onclick=\"return false;\" data-tid=\"2001\" title=\"换肤\"><span class=\"s-icon s-icon-skin\"></span><span class=\"title\">换肤</span></a><a class=\"s-msg\" href=\"https://www.baidu.com/#\" onclick=\"return false;\" data-tid=\"2002\" title=\"消息\"><span class=\"s-icon s-icon-msg\"></span><span class=\"title\">消息</span><span id=\"s_msg_count\">(2)</span></a><a class=\"s-lite hide-icon\" href=\"https://www.baidu.com/home/xman/show/liteoff\" target=\"_self\" title=\"显示卡片\"><span class=\"s-icon s-icon-lite\"></span><span class=\"title\">显示卡片</span></a><div class=\"s-mod-msg-shadow\" id=\"s_mod_msg_shadow\" style=\"display:none;\"></div><div id=\"s_mod_msg\" class=\"s-mod-msg extend\" style=\"display:none;\"><div class=\"msg-arrow\"> <em></em> </div><div class=\"s-mod-msg-bg\"><div class=\"msg-area\" id=\"s_msg_content\"><div id=\"s_msg_tips\" class=\"s-msg-tips\"><div id=\"s_msg_sns_1\" class=\"s-msg-item\" data-type=\"bdtieba\"><span class=\"item-name\"><a href=\"http://tieba.baidu.com/\" class=\"item-name-link\" target=\"_blank\" hidefocus=\"\">百度贴吧</a></span><span class=\"item-msg-content\"><a class=\"item-title title-sns\" target=\"_blank\" href=\"http://tieba.baidu.com/i/sys/jump?u=f56ed2e3c1a65fc8cbc9fa4127&type=replyme\" hidefocus=\"\">您有&nbsp;<span class=\"item-orange\">1条</span>&nbsp;新回复，快去查看吧</a></span></div><div id=\"s_msg_sns_311643\" class=\"s-msg-item\" data-type=\"bdKoubei\"><span class=\"item-name\"><a href=\"http://i.baidu.com/msg/messages/list/\" class=\"item-name-link\" target=\"_blank\" hidefocus=\"\">百度口碑</a></span><span class=\"item-msg-content\"><a class=\"item-title title-sns\" target=\"_blank\" href=\"http://i.baidu.com/msg/messages/list/\" hidefocus=\"\">您有&nbsp;<span class=\"item-orange\">1条</span>&nbsp;新私信，快去查看吧</a></span></div><div class=\"msg-btns\"><div class=\"msg-btn msg-clear-btn\" id=\"s_msg_clear\"><span class=\"bg\"></span><span class=\"title\">清空消息</span></div><div class=\"msg-btn msg-setting-btn\" id=\"s_hasmsg_setting\"><a href=\"https://www.baidu.com/home/page/show/pagesetting#msg_setting\" hidefocus=\"\" class=\"title\" target=\"_blank\">消息设置</a><span class=\"bg\"></span></div></div></div></div></div></div><div class=\"s-mod-treasure\" id=\"s_treasure\" style=\"display:none;\"></div><div class=\"s-opacity-tip\" id=\"s_opacity_tip\" style=\"display:none;\"></div></div></div><div class=\"nav-adjudt\"><a id=\"s_username_top\" class=\"s-user-name-top mnav\" data-tid=\"2004\" href=\"http://i.baidu.com/\" target=\"_blank\"><span class=\"user-name\">毅力_人生</span></a><a href=\"http://tieba.baidu.com/\" target=\"_blank\" class=\"mnav\">贴吧</a> <a href=\"http://v.baidu.com/\" target=\"_blank\" class=\"mnav\">视频</a><a href=\"http://map.baidu.com/\" target=\"_blank\" class=\"mnav\">地图</a><a href=\"http://www.hao123.com/\" target=\"_blank\" class=\"mnav\">hao123</a><a href=\"http://news.baidu.com/\" target=\"_blank\" class=\"mnav\">新闻</a><a href=\"http://www.baidu.com/more/\" name=\"tj_briicon\" class=\"s_bri\" style=\"display: block;\" target=\"_blank\">更多产品</a><div class=\"s_bdnuarrow s_bdbriarrow\" style=\"display: none;\"></div></div></div><div class=\"s-center-box\"></div></div>  <div class=\"clear\"></div><div id=\"s_user_name_menu\" class=\"s-isindex-wrap s-user-set-menu menu-top\" style=\"display:none;\"> <div> <a href=\"http://vip.baidu.com/pcui/show/ucenterindex?vip_frm=super_account\" target=\"_blank\">我的VIP</a><a href=\"http://i.baidu.com/center\" target=\"_blank\" data-tid=\"1000\">个人中心</a><a href=\"http://passport.baidu.com/\" data-tid=\"1001\" target=\"_blank\">帐号设置</a> <a class=\"s-feedback\" style=\"overflow:hidden\" href=\"https://www.baidu.com/#\" onclick=\"return false;\">意见反馈</a> <a class=\"quit\" style=\"overflow:hidden\" href=\"https://passport.baidu.com/?logout&u=http://www.baidu.com\" onclick=\"return false;\">退出</a> </div> <span class=\"menu-arrow\"> <em></em> </span></div><div id=\"s_user_setting_menu\" class=\"s-isindex-wrap s-user-set-menu menu-top\" style=\"display:none;\"> <div> <a href=\"https://www.baidu.com/gaoji/preferences.html\" target=\"_blank\">搜索设置</a> <a href=\"https://www.baidu.com/gaoji/advanced.html\" target=\"_blank\">高级搜索</a> <a href=\"http://i.baidu.com/my/history?from=index\" target=\"_blank\">搜索历史</a> </div> <span class=\"menu-arrow\"> <em></em> </span></div><div id=\"head_wrapper\" class=\"s-isindex-wrap head_wrapper s-title-img \" style=\"width:740px;\"> <p id=\"lg\" class=\"s-p-top\"><img id=\"s_lg_img\" src=\"./baidu_files/bdlogo.png\" width=\"270\" height=\"129\"> </p> <p id=\"nv\" class=\"s-word-top\"><a href=\"http://news.baidu.com/\" target=\"_blank\">新闻</a><b>网页</b><a href=\"http://tieba.baidu.com/\" target=\"_blank\">贴吧</a><a href=\"http://zhidao.baidu.com/\" target=\"_blank\">知道</a><a href=\"http://music.baidu.com/\" target=\"_blank\">音乐</a><a href=\"http://image.baidu.com/\" target=\"_blank\">图片</a><a href=\"http://v.baidu.com/\" target=\"_blank\">视频</a><a href=\"http://map.baidu.com/\" target=\"_blank\">地图</a><a href=\"http://baike.baidu.com/\" target=\"_blank\">百科</a><a href=\"http://wenku.baidu.com/\" target=\"_blank\">文库</a><a href=\"https://www.baidu.com/more/\" target=\"_blank\">更多&gt;&gt;</a></p> <div id=\"s_fm\" class=\"s_form\"> <div class=\"s_form_wrapper\" id=\"s_form_wrapper\"><a href=\"./baidu_files/baidu.html\" id=\"result_logo\" onmousedown=\"return c({&#39;fm&#39;:&#39;tab&#39;,&#39;tab&#39;:&#39;logo&#39;})\"> <img src=\"./baidu_files/baidu_jgylogo3.gif\" alt=\"到百度首页\" title=\"到百度首页\"> </a><form name=\"f\" id=\"form\" action=\"https://www.baidu.com/s\" class=\"fm\" onsubmit=\"javascript:F.call(&#39;ps/sug&#39;,&#39;pssubmit&#39;);\"><span id=\"s_kw_wrap\" class=\"bg s_ipt_wr quickdelete-wrap iptfocus\"><input type=\"text\" class=\"s_ipt nobg_s_fm_focus\" name=\"wd\" id=\"kw\" maxlength=\"100\" autocomplete=\"off\"><a href=\"javascript:;\" id=\"quickdelete\" title=\"清空\" class=\"quickdelete\" style=\"top: 0px; right: 0px; display: none;\"></a></span><input type=\"hidden\" name=\"rsv_spt\" value=\"1\"><input type=\"hidden\" name=\"issp\" value=\"1\"><input type=\"hidden\" name=\"f\" value=\"8\"><input type=\"hidden\" name=\"rsv_bp\" value=\"0\"><input type=\"hidden\" name=\"rsv_idx\" value=\"2\"><input type=\"hidden\" name=\"ie\" value=\"utf-8\"><input type=\"hidden\" name=\"tn\" value=\"baiduhome_pg\"><span class=\"btn_wr s_btn_wr bg\" id=\"s_btn_wr\"><input type=\"submit\" value=\"百度一下\" id=\"su\" class=\"btn self-btn bg s_btn\"></span><span class=\"tools\"><span id=\"mHolder\"><div id=\"mCon\"><span>输入法</span></div><ul id=\"mMenu\"><li><a href=\"javascript:;\" name=\"ime_hw\">手写</a></li><li><a href=\"javascript:;\" name=\"ime_py\">拼音</a></li><li class=\"ln\"></li><li><a href=\"javascript:;\" name=\"ime_cl\">关闭</a></li></ul></span><span class=\"bd_bear_home\"></span></span><input type=\"hidden\" name=\"rsv_enter\" value=\"1\"></form> </div> </div><div id=\"u\"><a class=\"toindex\" href=\"./baidu_files/baidu.html\">百度首页</a><span class=\"toindex\"></span><a id=\"imsg\" href=\"http://www.baidu.com/#\" onmousedown=\"return user_c({&#39;fm&#39;:&#39;set&#39;,&#39;tab&#39;:&#39;imsg&#39;,&#39;login&#39;:&#39;1&#39;})\">消息</a><a href=\"javascript:;\" name=\"tj_settingicon\" class=\"pf\">设置<i class=\"c-icon c-icon-triangle-down\"></i></a><a href=\"http://i.baidu.com/\" id=\"user\" class=\"username\">毅力_人生<i class=\"c-icon\"></i></a></div></div><div id=\"s_lm_wrap\" class=\"s-isindex-wrap\"> <div id=\"lm\"></div></div><p class=\"s-skin-lm s-isindex-wrap\"></p><div id=\"s_wrap\" class=\"s-isindex-wrap\"><div id=\"s_main\" class=\"main clearfix\"><div id=\"s_ctner\" class=\"s-ctner\"> <div id=\"s_ctner_menus\" class=\"s-ctner-menus s-opacity-menu-wrapper\"> <div class=\"menus-ctner\"> <div class=\"top-border s-opacity-topmoremenu\" style=\"display: none;\"></div> <div class=\"menus-wrapper\" id=\"s_menus_wrapper\" style=\"top: 0px;\">   <a data-id=\"1\" data-tid=\"0001\" href=\"https://www.baidu.com/#\" onclick=\"return false;\" class=\"s-menu s-opacity-menu1  current\" hidefocus=\"\">导航</a>      <a data-id=\"15\" data-tid=\"0015\" href=\"https://www.baidu.com/#\" onclick=\"return false;\" class=\"s-menu s-opacity-menu1 \" hidefocus=\"\">视频</a>                       </div> <span class=\"s-menu-fill s-opacity-menu1\" style=\"top: 0px;\"></span> <div class=\"bottom-border s-opacity-bottommoremenu\" style=\"display: none;\"></div> </div> <a id=\"s_menu_add\" data-tid=\"0099\" data-id=\"99\" href=\"https://www.baidu.com/#\" onclick=\"return false;\" class=\"s-menu add s-opacity-menu1\" hidefocus=\"\"><span></span></a> </div> <div id=\"s_ctner_contents\" class=\"s-ctner-contents\"> <div id=\"s_content_skin_bg\" class=\"s-content-skin-bg unshown\"></div>   <div id=\"s_content_1\" class=\"s-content s-opacity-white-background\" style=\"top: 0px; position: relative;\"><div class=\"s-ns-navwrap\"><div id=\"s_nall_tabs\" class=\"s-nall-tabs s-opacity-border1-bottom\"><a href=\"https://www.baidu.com/#\" class=\"tab-nav tab-on\" onclick=\"return false;\" hidefocus=\"\">我的导航</a><a href=\"https://www.baidu.com/#\" class=\"tab-used \" onclick=\"return false;\" hidefocus=\"\">推荐导航</a><a href=\"https://www.baidu.com/#\" class=\"tab-product \" style=\"display:none\" onclick=\"return false;\" hidefocus=\"\">百度产品</a></div><div id=\"s_nall\" class=\"s-nall \"><div id=\"s_nav\" class=\"s-nplus fanli-pattern\"><div class=\"s-scroll-content s-haveno-test\"><div id=\"s_nplus_ctner\" class=\"s-nplus-ctner\"><div id=\"s_ncf_3\" data-dirid=\"3\" class=\"s-ncf first \"><div id=\"s_ncf_name_3\" class=\"s-ncf-name s-opacity-border2-top\"><a href=\"https://www.baidu.com/#\" onclick=\"return false;\" class=\"s-ncf-name-link\" data-dirname=\"社区\" title=\"社区\">社区</a></div><ul id=\"s_ncf_navs_3\" class=\"s-ncf-navs s-opacity-border4-bottom\"><li id=\"s_nav_34240639\" class=\"s-nplus-nav\"><div class=\"s-nplus-inner s-opacity-blank3\"><a href=\"https://github.com/zhaozepeng\" data-id=\"34240639\" data-fanliurl=\"\" class=\"s-nav-name\" title=\"github\" target=\"_blank\" hidefocus=\"\"><img width=\"16\" height=\"16\" src=\"./baidu_files/6000.png\"><em class=\"sc-dragitem\">github</em></a></div><a class=\"nav-del\" title=\"删除\" href=\"https://www.baidu.com/#\" hidefocus=\"\" onclick=\"return false;\"></a></li><li id=\"s_nav_9631064\" class=\"s-nplus-nav\"><div class=\"s-nplus-inner s-opacity-blank3\"><a href=\"http://www.csdn.net/\" data-id=\"9631064\" data-fanliurl=\"\" class=\"s-nav-name\" title=\"CSDN\" target=\"_blank\" hidefocus=\"\"><img width=\"16\" height=\"16\" src=\"./baidu_files/712.png\"><em class=\"sc-dragitem\">CSDN</em></a></div><a class=\"nav-del\" title=\"删除\" href=\"https://www.baidu.com/#\" hidefocus=\"\" onclick=\"return false;\"></a></li><li id=\"s_nav_5600125\" class=\"s-nplus-nav\"><div class=\"s-nplus-inner s-opacity-blank3\"><a href=\"http://developer.android.com/\" data-id=\"5600125\" data-fanliurl=\"\" class=\"s-nav-name\" title=\"Android开发\" target=\"_blank\" hidefocus=\"\"><img width=\"16\" height=\"16\" src=\"./baidu_files/82401.png\"><em class=\"sc-dragitem\">Android开发</em></a></div><a class=\"nav-del\" title=\"删除\" href=\"https://www.baidu.com/#\" hidefocus=\"\" onclick=\"return false;\"></a></li><li id=\"s_nav_1716393\" class=\"s-nplus-nav\"><div class=\"s-nplus-inner s-opacity-blank3\"><a href=\"http://stackoverflow.com/\" data-id=\"1716393\" data-fanliurl=\"\" class=\"s-nav-name\" title=\"stackoverflow\" target=\"_blank\" hidefocus=\"\"><img width=\"16\" height=\"16\" src=\"./baidu_files/83607.png\"><em class=\"sc-dragitem\">stackoverflow</em></a></div><a class=\"nav-del\" title=\"删除\" href=\"https://www.baidu.com/#\" hidefocus=\"\" onclick=\"return false;\"></a></li><li id=\"s_nav_11335139\" class=\"s-nplus-nav\"><div class=\"s-nplus-inner s-opacity-blank3\"><a href=\"http://kindleren.com/\" data-id=\"11335139\" data-fanliurl=\"\" class=\"s-nav-name\" title=\"kindle人\" target=\"_blank\" hidefocus=\"\"><img width=\"16\" height=\"16\" src=\"./baidu_files/6000.png\"><em class=\"sc-dragitem\">kindle人</em></a></div><a class=\"nav-del\" title=\"删除\" href=\"https://www.baidu.com/#\" hidefocus=\"\" onclick=\"return false;\"></a></li><li id=\"s_nav_24505582\" class=\"s-nplus-nav\"><div class=\"s-nplus-inner s-opacity-blank3\"><a href=\"http://www.kindle114.com/\" data-id=\"24505582\" data-fanliurl=\"\" class=\"s-nav-name\" title=\"kindle114\" target=\"_blank\" hidefocus=\"\"><img width=\"16\" height=\"16\" src=\"./baidu_files/6000.png\"><em class=\"sc-dragitem\">kindle114</em></a></div><a class=\"nav-del\" title=\"删除\" href=\"https://www.baidu.com/#\" hidefocus=\"\" onclick=\"return false;\"></a></li><li id=\"s_nav_24149231\" class=\"s-nplus-nav\"><div class=\"s-nplus-inner s-opacity-blank3\"><a href=\"http://a.code4app.com/\" data-id=\"24149231\" data-fanliurl=\"\" class=\"s-nav-name\" title=\"code4app\" target=\"_blank\" hidefocus=\"\"><img width=\"16\" height=\"16\" src=\"./baidu_files/6000.png\"><em class=\"sc-dragitem\">code4app</em></a></div><a class=\"nav-del\" title=\"删除\" href=\"https://www.baidu.com/#\" hidefocus=\"\" onclick=\"return false;\"></a></li><li id=\"s_nav_32042028\" class=\"s-nplus-nav\"><div class=\"s-nplus-inner s-opacity-blank3\"><a href=\"http://www.open-open.com/lib/view/open1411443332703.html\" data-id=\"32042028\" data-fanliurl=\"\" class=\"s-nav-name\" title=\"android上开源的酷炫的交互动画和视觉效果\" target=\"_blank\" hidefocus=\"\"><img width=\"16\" height=\"16\" src=\"./baidu_files/81351.png\"><em class=\"sc-dragitem\">android上开源的酷炫的交互动画和视觉效果</em></a></div><a class=\"nav-del\" title=\"删除\" href=\"https://www.baidu.com/#\" hidefocus=\"\" onclick=\"return false;\"></a></li></ul></div><div id=\"s_ncf_8\" data-dirid=\"8\" class=\"s-ncf  \"><div id=\"s_ncf_name_8\" class=\"s-ncf-name s-opacity-border2-top\"><a href=\"https://www.baidu.com/#\" onclick=\"return false;\" class=\"s-ncf-name-link\" data-dirname=\"影视\" title=\"影视\">影视</a></div><ul id=\"s_ncf_navs_8\" class=\"s-ncf-navs s-opacity-border4-bottom\"><li id=\"s_nav_6565026\" class=\"s-nplus-nav\"><div class=\"s-nplus-inner s-opacity-blank3\"><a href=\"http://www.dytt8.net/\" data-id=\"6565026\" data-fanliurl=\"\" class=\"s-nav-name\" title=\"电影天堂\" target=\"_blank\" hidefocus=\"\"><img width=\"16\" height=\"16\" src=\"./baidu_files/95550.png\"><em class=\"sc-dragitem\">电影天堂</em></a></div><a class=\"nav-del\" title=\"删除\" href=\"https://www.baidu.com/#\" hidefocus=\"\" onclick=\"return false;\"></a></li></ul></div><div id=\"s_ncf_4\" data-dirid=\"4\" class=\"s-ncf  \"><div id=\"s_ncf_name_4\" class=\"s-ncf-name s-opacity-border2-top\"><a href=\"https://www.baidu.com/#\" onclick=\"return false;\" class=\"s-ncf-name-link\" data-dirname=\"购物\" title=\"购物\">购物</a></div><ul id=\"s_ncf_navs_4\" class=\"s-ncf-navs s-opacity-border4-bottom\"><li id=\"s_nav_7580001\" class=\"s-nplus-nav\"><div class=\"s-nplus-inner s-opacity-blank3\"><a href=\"https://my.alipay.com/portal/i.htm\" data-id=\"7580001\" data-fanliurl=\"\" class=\"s-nav-name\" title=\"支付宝\" target=\"_blank\" hidefocus=\"\"><img width=\"16\" height=\"16\" src=\"./baidu_files/7591.png\"><em class=\"sc-dragitem\">支付宝</em></a></div><a class=\"nav-del\" title=\"删除\" href=\"https://www.baidu.com/#\" hidefocus=\"\" onclick=\"return false;\"></a></li><li id=\"s_nav_5499087\" class=\"s-nplus-nav\"><div class=\"s-nplus-inner s-opacity-blank3\"><a href=\"http://www.tmall.com/\" data-id=\"5499087\" data-fanliurl=\"\" class=\"s-nav-name\" title=\"天猫商城\" target=\"_blank\" hidefocus=\"\"><img width=\"16\" height=\"16\" src=\"./baidu_files/95500.png\"><em class=\"sc-dragitem\">天猫商城</em></a></div><a class=\"nav-del\" title=\"删除\" href=\"https://www.baidu.com/#\" hidefocus=\"\" onclick=\"return false;\"></a></li><li id=\"s_nav_7304613\" class=\"s-nplus-nav\"><div class=\"s-nplus-inner s-opacity-blank3\"><a href=\"http://www.dangdang.com/\" data-id=\"7304613\" data-fanliurl=\"http://vip.baidu.com/cps/show/goto?mallid=105&amp;url=80d576BXZPBo%2F5v49rzJC36F7Hg7KJ0gG6CmP7wIwn4F%2FCDbARE%2BZfJ7ZYxESQfIeYZdriU&amp;statkey=&amp;vip_frm=super_mynav\" class=\"s-nav-name\" title=\"当当网\" target=\"_blank\" hidefocus=\"\"><img width=\"16\" height=\"16\" src=\"./baidu_files/95517.png\"><em class=\"sc-dragitem fanli-item\"><span class=\"nav-text\">当当网</span><span class=\"fanli-tag\" title=\"最高返利3.36%\" data-url=\"http://vip.baidu.com/m_105?vip_frm=super_mynav\"></span></em></a></div><a class=\"nav-del\" title=\"删除\" href=\"https://www.baidu.com/#\" hidefocus=\"\" onclick=\"return false;\"></a></li><li id=\"s_nav_6969151\" class=\"s-nplus-nav\"><div class=\"s-nplus-inner s-opacity-blank3\"><a href=\"http://www.amazon.cn/\" data-id=\"6969151\" data-fanliurl=\"\" class=\"s-nav-name\" title=\"亚马逊\" target=\"_blank\" hidefocus=\"\"><img width=\"16\" height=\"16\" src=\"./baidu_files/95493.png\"><em class=\"sc-dragitem\">亚马逊</em></a></div><a class=\"nav-del\" title=\"删除\" href=\"https://www.baidu.com/#\" hidefocus=\"\" onclick=\"return false;\"></a></li><li id=\"s_nav_3825400\" class=\"s-nplus-nav\"><div class=\"s-nplus-inner s-opacity-blank3\"><a href=\"http://www.jd.com/\" data-id=\"3825400\" data-fanliurl=\"http://vip.baidu.com/cps/show/goto?mallid=101&amp;url=d79dbY8VZrXT%2BMMIh5rT1WDZ9TQPdK3XSmLP%2BjGwF%2FUljjDNSyLdEY6sY4Pgibw&amp;statkey=&amp;vip_frm=super_mynav\" class=\"s-nav-name\" title=\"京东商城\" target=\"_blank\" hidefocus=\"\"><img width=\"16\" height=\"16\" src=\"./baidu_files/95541.png\"><em class=\"sc-dragitem fanli-item\"><span class=\"nav-text\">京东商城</span><span class=\"fanli-tag\" title=\"最高返利3.00%\" data-url=\"http://vip.baidu.com/m_101?vip_frm=super_mynav\"></span></em></a></div><a class=\"nav-del\" title=\"删除\" href=\"https://www.baidu.com/#\" hidefocus=\"\" onclick=\"return false;\"></a></li></ul></div><div id=\"s_ncf_12\" data-dirid=\"12\" class=\"s-ncf  unshown\"><div id=\"s_ncf_name_12\" class=\"s-ncf-name s-opacity-border2-top\"><a href=\"https://www.baidu.com/#\" onclick=\"return false;\" class=\"s-ncf-name-link\" data-dirname=\"未分类\" title=\"未分类\">未分类</a></div><ul id=\"s_ncf_navs_12\" class=\"s-ncf-navs s-opacity-border4-bottom\"></ul></div><div id=\"s_ncf_2966533\" data-dirid=\"2966533\" class=\"s-ncf  \"><div id=\"s_ncf_name_2966533\" class=\"s-ncf-name s-opacity-border2-top\"><a href=\"https://www.baidu.com/#\" onclick=\"return false;\" class=\"s-ncf-name-link\" data-dirname=\"招聘\" title=\"招聘\">招聘</a></div><ul id=\"s_ncf_navs_2966533\" class=\"s-ncf-navs s-opacity-border4-bottom\"><li id=\"s_nav_2597504\" class=\"s-nplus-nav\"><div class=\"s-nplus-inner s-opacity-blank3\"><a href=\"http://www.zhaopin.com/\" data-id=\"2597504\" data-fanliurl=\"\" class=\"s-nav-name\" title=\"智联招聘\" target=\"_blank\" hidefocus=\"\"><img width=\"16\" height=\"16\" src=\"./baidu_files/95525.png\"><em class=\"sc-dragitem\">智联招聘</em></a></div><a class=\"nav-del\" title=\"删除\" href=\"https://www.baidu.com/#\" hidefocus=\"\" onclick=\"return false;\"></a></li><li id=\"s_nav_11531561\" class=\"s-nplus-nav\"><div class=\"s-nplus-inner s-opacity-blank3\"><a href=\"http://www.51job.com/\" data-id=\"11531561\" data-fanliurl=\"\" class=\"s-nav-name\" title=\"前程无忧\" target=\"_blank\" hidefocus=\"\"><img width=\"16\" height=\"16\" src=\"./baidu_files/95543.png\"><em class=\"sc-dragitem\">前程无忧</em></a></div><a class=\"nav-del\" title=\"删除\" href=\"https://www.baidu.com/#\" hidefocus=\"\" onclick=\"return false;\"></a></li><li id=\"s_nav_10459905\" class=\"s-nplus-nav\"><div class=\"s-nplus-inner s-opacity-blank3\"><a href=\"http://www.cjol.com/\" data-id=\"10459905\" data-fanliurl=\"\" class=\"s-nav-name\" title=\"中国人才热线\" target=\"_blank\" hidefocus=\"\"><img width=\"16\" height=\"16\" src=\"./baidu_files/7969.png\"><em class=\"sc-dragitem\">中国人才热线</em></a></div><a class=\"nav-del\" title=\"删除\" href=\"https://www.baidu.com/#\" hidefocus=\"\" onclick=\"return false;\"></a></li></ul></div><div id=\"s_ncf_1\" data-dirid=\"1\" class=\"s-ncf  \"><div id=\"s_ncf_name_1\" class=\"s-ncf-name s-opacity-border2-top\"><a href=\"https://www.baidu.com/#\" onclick=\"return false;\" class=\"s-ncf-name-link\" data-dirname=\"娱乐\" title=\"娱乐\">娱乐</a></div><ul id=\"s_ncf_navs_1\" class=\"s-ncf-navs s-opacity-border4-bottom\"><li id=\"s_nav_5230039\" class=\"s-nplus-nav\"><div class=\"s-nplus-inner s-opacity-blank3\"><a href=\"http://www.douban.com/\" data-id=\"5230039\" data-fanliurl=\"\" class=\"s-nav-name\" title=\"豆瓣\" target=\"_blank\" hidefocus=\"\"><img width=\"16\" height=\"16\" src=\"./baidu_files/8215.png\"><em class=\"sc-dragitem\">豆瓣</em></a></div><a class=\"nav-del\" title=\"删除\" href=\"https://www.baidu.com/#\" hidefocus=\"\" onclick=\"return false;\"></a></li><li id=\"s_nav_4490133\" class=\"s-nplus-nav\"><div class=\"s-nplus-inner s-opacity-blank3\"><a href=\"http://www.guokr.com/\" data-id=\"4490133\" data-fanliurl=\"\" class=\"s-nav-name\" title=\"果壳网\" target=\"_blank\" hidefocus=\"\"><img width=\"16\" height=\"16\" src=\"./baidu_files/8541.png\"><em class=\"sc-dragitem\">果壳网</em></a></div><a class=\"nav-del\" title=\"删除\" href=\"https://www.baidu.com/#\" hidefocus=\"\" onclick=\"return false;\"></a></li><li id=\"s_nav_2848271\" class=\"s-nplus-nav\"><div class=\"s-nplus-inner s-opacity-blank3\"><a href=\"http://www.zhihu.com/\" data-id=\"2848271\" data-fanliurl=\"\" class=\"s-nav-name\" title=\"知乎\" target=\"_blank\" hidefocus=\"\"><img width=\"16\" height=\"16\" src=\"./baidu_files/95599.png\"><em class=\"sc-dragitem\">知乎</em></a></div><a class=\"nav-del\" title=\"删除\" href=\"https://www.baidu.com/#\" hidefocus=\"\" onclick=\"return false;\"></a></li><li id=\"s_nav_4278984\" class=\"s-nplus-nav\"><div class=\"s-nplus-inner s-opacity-blank3\"><a href=\"http://news.qq.com/\" data-id=\"4278984\" data-fanliurl=\"\" class=\"s-nav-name\" title=\"腾讯新闻\" target=\"_blank\" hidefocus=\"\"><img width=\"16\" height=\"16\" src=\"./baidu_files/95573.png\"><em class=\"sc-dragitem\">腾讯新闻</em></a></div><a class=\"nav-del\" title=\"删除\" href=\"https://www.baidu.com/#\" hidefocus=\"\" onclick=\"return false;\"></a></li><li id=\"s_nav_3921772\" class=\"s-nplus-nav\"><div class=\"s-nplus-inner s-opacity-blank3\"><a href=\"http://www.yinyuetai.com/\" data-id=\"3921772\" data-fanliurl=\"\" class=\"s-nav-name\" title=\"音悦Tai\" target=\"_blank\" hidefocus=\"\"><img width=\"16\" height=\"16\" src=\"./baidu_files/95515.png\"><em class=\"sc-dragitem\">音悦Tai</em></a></div><a class=\"nav-del\" title=\"删除\" href=\"https://www.baidu.com/#\" hidefocus=\"\" onclick=\"return false;\"></a></li><li id=\"s_nav_6389930\" class=\"s-nplus-nav\"><div class=\"s-nplus-inner s-opacity-blank3\"><a href=\"http://www.bilibili.tv/\" data-id=\"6389930\" data-fanliurl=\"\" class=\"s-nav-name\" title=\"bilibili\" target=\"_blank\" hidefocus=\"\"><img width=\"16\" height=\"16\" src=\"./baidu_files/7718.png\"><em class=\"sc-dragitem\">bilibili</em></a></div><a class=\"nav-del\" title=\"删除\" href=\"https://www.baidu.com/#\" hidefocus=\"\" onclick=\"return false;\"></a></li><li id=\"s_nav_10623778\" class=\"s-nplus-nav\"><div class=\"s-nplus-inner s-opacity-blank3\"><a href=\"http://www.acfun.tv/\" data-id=\"10623778\" data-fanliurl=\"\" class=\"s-nav-name\" title=\"acfun\" target=\"_blank\" hidefocus=\"\"><img width=\"16\" height=\"16\" src=\"./baidu_files/95548.png\"><em class=\"sc-dragitem\">acfun</em></a></div><a class=\"nav-del\" title=\"删除\" href=\"https://www.baidu.com/#\" hidefocus=\"\" onclick=\"return false;\"></a></li></ul></div><div id=\"s_ncf_7\" data-dirid=\"7\" class=\"s-ncf  \"><div id=\"s_ncf_name_7\" class=\"s-ncf-name s-opacity-border2-top\"><a href=\"https://www.baidu.com/#\" onclick=\"return false;\" class=\"s-ncf-name-link\" data-dirname=\"NBA\" title=\"NBA\">NBA</a></div><ul id=\"s_ncf_navs_7\" class=\"s-ncf-navs s-opacity-border4-bottom\"><li id=\"s_nav_10902314\" class=\"s-nplus-nav\"><div class=\"s-nplus-inner s-opacity-blank3\"><a href=\"http://www.zhibo8.cc/\" data-id=\"10902314\" data-fanliurl=\"\" class=\"s-nav-name\" title=\"直播吧\" target=\"_blank\" hidefocus=\"\"><img width=\"16\" height=\"16\" src=\"./baidu_files/95542.png\"><em class=\"sc-dragitem\">直播吧</em></a></div><a class=\"nav-del\" title=\"删除\" href=\"https://www.baidu.com/#\" hidefocus=\"\" onclick=\"return false;\"></a></li><li id=\"s_nav_5602945\" class=\"s-nplus-nav\"><div class=\"s-nplus-inner s-opacity-blank3\"><a href=\"http://live.video.sina.com.cn/room/nba/\" data-id=\"5602945\" data-fanliurl=\"\" class=\"s-nav-name\" title=\"新浪NBA直播\" target=\"_blank\" hidefocus=\"\"><img width=\"16\" height=\"16\" src=\"./baidu_files/9898.png\"><em class=\"sc-dragitem\">新浪NBA直播</em></a></div><a class=\"nav-del\" title=\"删除\" href=\"https://www.baidu.com/#\" hidefocus=\"\" onclick=\"return false;\"></a></li><li id=\"s_nav_3783043\" class=\"s-nplus-nav\"><div class=\"s-nplus-inner s-opacity-blank3\"><a href=\"http://nba.hupu.com/\" data-id=\"3783043\" data-fanliurl=\"\" class=\"s-nav-name\" title=\"虎扑篮球\" target=\"_blank\" hidefocus=\"\"><img width=\"16\" height=\"16\" src=\"./baidu_files/95615.png\"><em class=\"sc-dragitem\">虎扑篮球</em></a></div><a class=\"nav-del\" title=\"删除\" href=\"https://www.baidu.com/#\" hidefocus=\"\" onclick=\"return false;\"></a></li></ul></div></div></div><div class=\"s-nav-opts\" id=\"s_nav_opts\"><a href=\"https://www.baidu.com/#\" class=\"s-nav-opt edit \" onclick=\"return false;\" title=\"管理我收藏的网址\" hidefocus=\"\">编辑</a><a href=\"https://www.baidu.com/#\" class=\"s-nav-opt add\" onclick=\"return false;\" title=\"添加网址\" hidefocus=\"\">添加</a></div></div></div></div></div>  </div></div></div><div id=\"bottom_container\" class=\"s-bottom-ctner\"><a class=\"sethome\" href=\"http://www.baidu.com/cache/sethelp/index.html\" target=\"_blank\">设为首页</a>©2015 Baidu <a href=\"https://www.baidu.com/duty/\" target=\"_blank\">使用百度前必读</a> <a href=\"http://jianyi.baidu.com/\" target=\"_blank\">意见反馈</a> <span>京ICP证030173号</span><img width=\"13\" height=\"16\" data-src=\"https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superplus/img/copy_rignt_24.png\"></div><textarea id=\"s_menus_textarea\" style=\"display:none;\">{\"data\": [{\"id\": 1,\"name\": \"导航\",\"state\": \"1\",\"ismenu\": \"1\",\"imgname\" : \"nav\"},{\"id\": 4,\"name\": \"消息\",\"state\": \"1\",\"ismenu\": \"\",\"imgname\" : \"\"},{\"id\": 15,\"name\": \"视频\",\"state\": \"1\",\"ismenu\": \"1\",\"imgname\" : \"video\"},{\"id\": 2,\"name\": \"新闻\",\"state\": \"\",\"ismenu\": \"1\",\"imgname\" : \"news\"},{\"id\": 3,\"name\": \"音乐\",\"state\": \"\",\"ismenu\": \"1\",\"imgname\" : \"music\"},{\"id\": 5,\"name\": \"购物\",\"state\": \"\",\"ismenu\": \"1\",\"imgname\" : \"groupbuy\"},{\"id\": 6,\"name\": \"NBA\",\"state\": \"\",\"ismenu\": \"1\",\"imgname\" : \"nba\"},{\"id\": 7,\"name\": \"星座\",\"state\": \"\",\"ismenu\": \"1\",\"imgname\" : \"xingzuo\"},{\"id\": 8,\"name\": \"足球\",\"state\": \"\",\"ismenu\": \"1\",\"imgname\" : \"football\"},{\"id\": 10,\"name\": \"彩票\",\"state\": \"\",\"ismenu\": \"1\",\"imgname\" : \"lottery\"},{\"id\": 12,\"name\": \"股票\",\"state\": \"\",\"ismenu\": \"1\",\"imgname\" : \"stock\"},{\"id\": 13,\"name\": \"游戏\",\"state\": \"\",\"ismenu\": \"1\",\"imgname\" : \"youxi\"},{\"id\": 20,\"name\": \"小说\",\"state\": \"\",\"ismenu\": \"1\",\"imgname\" : \"novel\"}]}</textarea><textarea id=\"s_sync_data\" style=\"display:none;\">\t{ \"errNo\":\"\",\"isNplus\":\"1\",\"defaultDirId\":\"12\",\"data\" :[{\"dirId\":\"3\",\"dirName\":\"社区\",\"navs\": [{\"id\":\"34240639\",\"name\":\"github\",\"url\":\"https%3A//github.com/zhaozepeng\",\"iconUrl\":\"https://ss0.bdstatic.com/k4oZeXSm1A5BphGlnYG/icon/6000.png?3\",\"type\":\"12\",\"time\":\"1436248274\",\"source\":\"u_layer\",\"src_extra\": \"\",\"shortname\":\"github\",\"ubsSource\":\"u_layer\",\"nType\": \"\",\"score\":\"\",\"fanliurl\": \"\",\"fanliMallUrl\": \"\",\"fanlititle\": \"\"},{\"id\":\"9631064\",\"name\":\"CSDN\",\"url\":\"http%3A//www.csdn.net/\",\"iconUrl\":\"https://ss0.bdstatic.com/k4oZeXSm1A5BphGlnYG/icon/712.png\",\"type\":\"3\",\"time\":\"1370074795\",\"source\":\"u_rp\",\"src_extra\": \"rp-0-0-20130530\",\"shortname\":\"CSDN\",\"ubsSource\":\"u_rp_0\",\"nType\": \"\",\"score\":\"\",\"fanliurl\": \"\",\"fanliMallUrl\": \"\",\"fanlititle\": \"\"},{\"id\":\"5600125\",\"name\":\"Android开发\",\"url\":\"http%3A//developer.android.com/\",\"iconUrl\":\"https://ss1.bdstatic.com/kvoZeXSm1A5BphGlnYG/icon/82401.png\",\"type\":\"1\",\"time\":\"1378010873\",\"source\":\"u_rp\",\"src_extra\": \"rp-0-0-20130830\",\"shortname\":\"Android开发\",\"ubsSource\":\"u_rp_0\",\"nType\": \"\",\"score\":\"\",\"fanliurl\": \"\",\"fanliMallUrl\": \"\",\"fanlititle\": \"\"},{\"id\":\"1716393\",\"name\":\"stackoverflow\",\"url\":\"http%3A//stackoverflow.com/\",\"iconUrl\":\"https://ss3.bdstatic.com/iPoZeXSm1A5BphGlnYG/icon/83607.png\",\"type\":\"1\",\"time\":\"1383542050\",\"source\":\"u_layer\",\"src_extra\": \"\",\"shortname\":\"stackoverflow\",\"ubsSource\":\"u_layer\",\"nType\": \"\",\"score\":\"\",\"fanliurl\": \"\",\"fanliMallUrl\": \"\",\"fanlititle\": \"\"},{\"id\":\"11335139\",\"name\":\"kindle人\",\"url\":\"http%3A//kindleren.com/\",\"iconUrl\":\"https://ss0.bdstatic.com/k4oZeXSm1A5BphGlnYG/icon/6000.png?3\",\"type\":\"1\",\"time\":\"1416018427\",\"source\":\"u_modify\",\"src_extra\": \"\",\"shortname\":\"kindle人\",\"ubsSource\":\"u_modify\",\"nType\": \"\",\"score\":\"\",\"fanliurl\": \"\",\"fanliMallUrl\": \"\",\"fanlititle\": \"\"},{\"id\":\"24505582\",\"name\":\"kindle114\",\"url\":\"http%3A//www.kindle114.com/\",\"iconUrl\":\"https://ss0.bdstatic.com/k4oZeXSm1A5BphGlnYG/icon/6000.png?3\",\"type\":\"1\",\"time\":\"1436932840\",\"source\":\"u_layer\",\"src_extra\": \"\",\"shortname\":\"kindle114\",\"ubsSource\":\"u_layer\",\"nType\": \"\",\"score\":\"\",\"fanliurl\": \"\",\"fanliMallUrl\": \"\",\"fanlititle\": \"\"},{\"id\":\"24149231\",\"name\":\"code4app\",\"url\":\"http%3A//a.code4app.com/\",\"iconUrl\":\"https://ss0.bdstatic.com/k4oZeXSm1A5BphGlnYG/icon/6000.png?3\",\"type\":\"1\",\"time\":\"1420618023\",\"source\":\"u_layer\",\"src_extra\": \"\",\"shortname\":\"code4app\",\"ubsSource\":\"u_layer\",\"nType\": \"\",\"score\":\"\",\"fanliurl\": \"\",\"fanliMallUrl\": \"\",\"fanlititle\": \"\"},{\"id\":\"32042028\",\"name\":\"android上开源的酷炫的交互动画和视觉效果\",\"url\":\"http%3A//www.open-open.com/lib/view/open1411443332703.html\",\"iconUrl\":\"https://ss3.bdstatic.com/iPoZeXSm1A5BphGlnYG/icon/81351.png\",\"type\":\"12\",\"time\":\"1420618240\",\"source\":\"u_layer\",\"src_extra\": \"\",\"shortname\":\"android上开源的酷...\",\"ubsSource\":\"u_layer\",\"nType\": \"\",\"score\":\"\",\"fanliurl\": \"\",\"fanliMallUrl\": \"\",\"fanlititle\": \"\"}] },{\"dirId\":\"8\",\"dirName\":\"影视\",\"navs\": [{\"id\":\"6565026\",\"name\":\"电影天堂\",\"url\":\"http%3A//www.dytt8.net/\",\"iconUrl\":\"https://ss2.bdstatic.com/lfoZeXSm1A5BphGlnYG/icon/95550.png\",\"type\":\"8\",\"time\":\"1416637072\",\"source\":\"u_layer\",\"src_extra\": \"\",\"shortname\":\"电影天堂\",\"ubsSource\":\"u_layer\",\"nType\": \"\",\"score\":\"\",\"fanliurl\": \"\",\"fanliMallUrl\": \"\",\"fanlititle\": \"\"}] },{\"dirId\":\"4\",\"dirName\":\"购物\",\"navs\": [{\"id\":\"7580001\",\"name\":\"支付宝\",\"url\":\"https%3A//my.alipay.com/portal/i.htm\",\"iconUrl\":\"https://ss3.bdstatic.com/iPoZeXSm1A5BphGlnYG/icon/7591.png\",\"type\":\"12\",\"time\":\"1390384098\",\"source\":\"u_modify\",\"src_extra\": \"\",\"shortname\":\"支付宝\",\"ubsSource\":\"u_modify\",\"nType\": \"\",\"score\":\"\",\"fanliurl\": \"\",\"fanliMallUrl\": \"\",\"fanlititle\": \"\"},{\"id\":\"5499087\",\"name\":\"天猫商城\",\"url\":\"http%3A//www.tmall.com/\",\"iconUrl\":\"https://ss0.bdstatic.com/l4oZeXSm1A5BphGlnYG/icon/95500.png\",\"type\":\"4\",\"time\":\"1366596756\",\"source\":\"u_rp\",\"src_extra\": \"rp-2-0-20130421\",\"shortname\":\"天猫商城\",\"ubsSource\":\"u_rp2_0\",\"nType\": \"\",\"score\":\"\",\"fanliurl\": \"\",\"fanliMallUrl\": \"\",\"fanlititle\": \"\"},{\"id\":\"7304613\",\"name\":\"当当网\",\"url\":\"http%3A//www.dangdang.com/\",\"iconUrl\":\"https://ss1.bdstatic.com/kvoZeXSm1A5BphGlnYG/icon/95517.png\",\"type\":\"4\",\"time\":\"1382941621\",\"source\":\"u_layer\",\"src_extra\": \"\",\"shortname\":\"当当网\",\"ubsSource\":\"u_layer\",\"nType\": \"\",\"score\":\"\",\"fanliurl\": \"http%3A//vip.baidu.com/cps/show/goto%3Fmallid%3D105%26url%3D80d576BXZPBo%252F5v49rzJC36F7Hg7KJ0gG6CmP7wIwn4F%252FCDbARE%252BZfJ7ZYxESQfIeYZdriU%26statkey%3D%26vip_frm%3Dsuper_mynav\",\"fanliMallUrl\": \"http%3A//vip.baidu.com/m_105%3Fvip_frm%3Dsuper_mynav\",\"fanlititle\": \"最高返利3.36%\"},{\"id\":\"6969151\",\"name\":\"亚马逊\",\"url\":\"http%3A//www.amazon.cn/\",\"iconUrl\":\"https://ss1.bdstatic.com/kvoZeXSm1A5BphGlnYG/icon/95493.png\",\"type\":\"4\",\"time\":\"1386035592\",\"source\":\"u_rp\",\"src_extra\": \"rp-2-0-20131203\",\"shortname\":\"亚马逊\",\"ubsSource\":\"u_rp2_0\",\"nType\": \"\",\"score\":\"\",\"fanliurl\": \"\",\"fanliMallUrl\": \"\",\"fanlititle\": \"\"},{\"id\":\"3825400\",\"name\":\"京东商城\",\"url\":\"http%3A//www.jd.com/\",\"iconUrl\":\"https://ss1.bdstatic.com/kvoZeXSm1A5BphGlnYG/icon/95541.png\",\"type\":\"1\",\"time\":\"1413704455\",\"source\":\"u_layer\",\"src_extra\": \"\",\"shortname\":\"京东商城\",\"ubsSource\":\"u_layer\",\"nType\": \"\",\"score\":\"\",\"fanliurl\": \"http%3A//vip.baidu.com/cps/show/goto%3Fmallid%3D101%26url%3Dd79dbY8VZrXT%252BMMIh5rT1WDZ9TQPdK3XSmLP%252BjGwF%252FUljjDNSyLdEY6sY4Pgibw%26statkey%3D%26vip_frm%3Dsuper_mynav\",\"fanliMallUrl\": \"http%3A//vip.baidu.com/m_101%3Fvip_frm%3Dsuper_mynav\",\"fanlititle\": \"最高返利3.00%\"}] },{\"dirId\":\"12\",\"dirName\":\"未分类\",\"navs\": [] },{\"dirId\":\"2966533\",\"dirName\":\"招聘\",\"navs\": [{\"id\":\"2597504\",\"name\":\"智联招聘\",\"url\":\"http%3A//www.zhaopin.com/\",\"iconUrl\":\"https://ss1.bdstatic.com/kvoZeXSm1A5BphGlnYG/icon/95525.png\",\"type\":\"1\",\"time\":\"1397025180\",\"source\":\"u_rp\",\"src_extra\": \"rp-2-0-20140409\",\"shortname\":\"智联招聘\",\"ubsSource\":\"u_rp2_0\",\"nType\": \"\",\"score\":\"\",\"fanliurl\": \"\",\"fanliMallUrl\": \"\",\"fanlititle\": \"\"},{\"id\":\"11531561\",\"name\":\"前程无忧\",\"url\":\"http%3A//www.51job.com/\",\"iconUrl\":\"https://ss3.bdstatic.com/iPoZeXSm1A5BphGlnYG/icon/95543.png\",\"type\":\"1\",\"time\":\"1421641031\",\"source\":\"u_layer\",\"src_extra\": \"\",\"shortname\":\"前程无忧\",\"ubsSource\":\"u_layer\",\"nType\": \"\",\"score\":\"\",\"fanliurl\": \"\",\"fanliMallUrl\": \"\",\"fanlititle\": \"\"},{\"id\":\"10459905\",\"name\":\"中国人才热线\",\"url\":\"http%3A//www.cjol.com/\",\"iconUrl\":\"https://ss1.bdstatic.com/kvoZeXSm1A5BphGlnYG/icon/7969.png\",\"type\":\"1\",\"time\":\"1421761179\",\"source\":\"u_layer\",\"src_extra\": \"\",\"shortname\":\"中国人才热线\",\"ubsSource\":\"u_layer\",\"nType\": \"\",\"score\":\"\",\"fanliurl\": \"\",\"fanliMallUrl\": \"\",\"fanlititle\": \"\"}] },{\"dirId\":\"1\",\"dirName\":\"娱乐\",\"navs\": [{\"id\":\"5230039\",\"name\":\"豆瓣\",\"url\":\"http%3A//www.douban.com/\",\"iconUrl\":\"https://ss3.bdstatic.com/iPoZeXSm1A5BphGlnYG/icon/8215.png\",\"type\":\"3\",\"time\":\"1386125487\",\"source\":\"u_layer\",\"src_extra\": \"\",\"shortname\":\"豆瓣\",\"ubsSource\":\"u_layer\",\"nType\": \"\",\"score\":\"\",\"fanliurl\": \"\",\"fanliMallUrl\": \"\",\"fanlititle\": \"\"},{\"id\":\"4490133\",\"name\":\"果壳网\",\"url\":\"http%3A//www.guokr.com/\",\"iconUrl\":\"https://ss1.bdstatic.com/kvoZeXSm1A5BphGlnYG/icon/8541.png\",\"type\":\"3\",\"time\":\"1421288243\",\"source\":\"u_layer\",\"src_extra\": \"\",\"shortname\":\"果壳网\",\"ubsSource\":\"u_layer\",\"nType\": \"\",\"score\":\"\",\"fanliurl\": \"\",\"fanliMallUrl\": \"\",\"fanlititle\": \"\"},{\"id\":\"2848271\",\"name\":\"知乎\",\"url\":\"http%3A//www.zhihu.com/\",\"iconUrl\":\"https://ss3.bdstatic.com/iPoZeXSm1A5BphGlnYG/icon/95599.png\",\"type\":\"1\",\"time\":\"1428385732\",\"source\":\"u_layer\",\"src_extra\": \"\",\"shortname\":\"知乎\",\"ubsSource\":\"u_layer\",\"nType\": \"\",\"score\":\"\",\"fanliurl\": \"\",\"fanliMallUrl\": \"\",\"fanlititle\": \"\"},{\"id\":\"4278984\",\"name\":\"腾讯新闻\",\"url\":\"http%3A//news.qq.com/\",\"iconUrl\":\"https://ss1.bdstatic.com/kvoZeXSm1A5BphGlnYG/icon/95573.png\",\"type\":\"1\",\"time\":\"1414028108\",\"source\":\"u_layer\",\"src_extra\": \"\",\"shortname\":\"腾讯新闻\",\"ubsSource\":\"u_layer\",\"nType\": \"\",\"score\":\"\",\"fanliurl\": \"\",\"fanliMallUrl\": \"\",\"fanlititle\": \"\"},{\"id\":\"3921772\",\"name\":\"音悦Tai\",\"url\":\"http%3A//www.yinyuetai.com/\",\"iconUrl\":\"https://ss3.bdstatic.com/lPoZeXSm1A5BphGlnYG/icon/95515.png\",\"type\":\"9\",\"time\":\"1402805104\",\"source\":\"u_layer\",\"src_extra\": \"\",\"shortname\":\"音悦Tai\",\"ubsSource\":\"u_layer\",\"nType\": \"\",\"score\":\"\",\"fanliurl\": \"\",\"fanliMallUrl\": \"\",\"fanlititle\": \"\"},{\"id\":\"6389930\",\"name\":\"bilibili\",\"url\":\"http%3A//www.bilibili.tv/\",\"iconUrl\":\"https://ss2.bdstatic.com/lfoZeXSm1A5BphGlnYG/icon/7718.png?1\",\"type\":\"1\",\"time\":\"1421305827\",\"source\":\"u_layer\",\"src_extra\": \"\",\"shortname\":\"bilibili\",\"ubsSource\":\"u_layer\",\"nType\": \"\",\"score\":\"\",\"fanliurl\": \"\",\"fanliMallUrl\": \"\",\"fanlititle\": \"\"},{\"id\":\"10623778\",\"name\":\"acfun\",\"url\":\"http%3A//www.acfun.tv/\",\"iconUrl\":\"https://ss0.bdstatic.com/l4oZeXSm1A5BphGlnYG/icon/95548.png\",\"type\":\"1\",\"time\":\"1421305838\",\"source\":\"u_layer\",\"src_extra\": \"\",\"shortname\":\"acfun\",\"ubsSource\":\"u_layer\",\"nType\": \"\",\"score\":\"\",\"fanliurl\": \"\",\"fanliMallUrl\": \"\",\"fanlititle\": \"\"}] },{\"dirId\":\"7\",\"dirName\":\"NBA\",\"navs\": [{\"id\":\"10902314\",\"name\":\"直播吧\",\"url\":\"http%3A//www.zhibo8.cc/\",\"iconUrl\":\"https://ss2.bdstatic.com/lfoZeXSm1A5BphGlnYG/icon/95542.png\",\"type\":\"7\",\"time\":\"1386736095\",\"source\":\"u_rp\",\"src_extra\": \"rp-2-0-20131211\",\"shortname\":\"直播吧\",\"ubsSource\":\"u_rp2_0\",\"nType\": \"\",\"score\":\"\",\"fanliurl\": \"\",\"fanliMallUrl\": \"\",\"fanlititle\": \"\"},{\"id\":\"5602945\",\"name\":\"新浪NBA直播\",\"url\":\"http%3A//live.video.sina.com.cn/room/nba/\",\"iconUrl\":\"https://ss2.bdstatic.com/kfoZeXSm1A5BphGlnYG/icon/9898.png\",\"type\":\"7\",\"time\":\"1367673775\",\"source\":\"u_rp\",\"src_extra\": \"rp-0-0-20130502\",\"shortname\":\"新浪NBA直播\",\"ubsSource\":\"u_rp_0\",\"nType\": \"\",\"score\":\"\",\"fanliurl\": \"\",\"fanliMallUrl\": \"\",\"fanlititle\": \"\"},{\"id\":\"3783043\",\"name\":\"虎扑篮球\",\"url\":\"http%3A//nba.hupu.com/\",\"iconUrl\":\"https://ss3.bdstatic.com/iPoZeXSm1A5BphGlnYG/icon/95615.png\",\"type\":\"7\",\"time\":\"1383792225\",\"source\":\"u_rp\",\"src_extra\": \"rp-0-0-20131105\",\"shortname\":\"虎扑篮球\",\"ubsSource\":\"u_rp_0\",\"nType\": \"\",\"score\":\"\",\"fanliurl\": \"\",\"fanliMallUrl\": \"\",\"fanlititle\": \"\"}] }]}\n</textarea></div></div><div class=\"s_tab\" id=\"s_tab\"><b>网页</b><a href=\"http://news.baidu.com/ns?cl=2&rn=20&tn=news&word=\" wdfield=\"word\" onmousedown=\"return c({&#39;fm&#39;:&#39;tab&#39;,&#39;tab&#39;:&#39;news&#39;})\">新闻</a><a href=\"http://tieba.baidu.com/f?kw=&fr=wwwt\" wdfield=\"kw\" onmousedown=\"return c({&#39;fm&#39;:&#39;tab&#39;,&#39;tab&#39;:&#39;tieba&#39;})\">贴吧</a><a href=\"http://zhidao.baidu.com/q?ct=17&pn=0&tn=ikaslist&rn=10&word=&fr=wwwt\" wdfield=\"word\" onmousedown=\"return c({&#39;fm&#39;:&#39;tab&#39;,&#39;tab&#39;:&#39;zhidao&#39;})\">知道</a><a href=\"http://music.baidu.com/search?fr=ps&key=\" wdfield=\"key\" onmousedown=\"return c({&#39;fm&#39;:&#39;tab&#39;,&#39;tab&#39;:&#39;music&#39;})\">音乐</a><a href=\"http://image.baidu.com/i?tn=baiduimage&ps=1&ct=201326592&lm=-1&cl=2&nc=1&word=\" wdfield=\"word\" onmousedown=\"return c({&#39;fm&#39;:&#39;tab&#39;,&#39;tab&#39;:&#39;pic&#39;})\">图片</a><a href=\"http://v.baidu.com/v?ct=301989888&rn=20&pn=0&db=0&s=25&word=\" wdfield=\"word\" onmousedown=\"return c({&#39;fm&#39;:&#39;tab&#39;,&#39;tab&#39;:&#39;video&#39;})\">视频</a><a href=\"http://map.baidu.com/m?word=&fr=ps01000\" wdfield=\"word\" onmousedown=\"return c({&#39;fm&#39;:&#39;tab&#39;,&#39;tab&#39;:&#39;map&#39;})\">地图</a><a href=\"http://wenku.baidu.com/search?word=&lm=0&od=0\" wdfield=\"word\" onmousedown=\"return c({&#39;fm&#39;:&#39;tab&#39;,&#39;tab&#39;:&#39;wenku&#39;})\">文库</a><a href=\"https://www.baidu.com/more/\" onmousedown=\"return c({&#39;fm&#39;:&#39;tab&#39;,&#39;tab&#39;:&#39;more&#39;})\">更多»</a></div> <div id=\"wrapper_wrapper\"></div></div><input type=\"hidden\" id=\"bsToken\" name=\"bsToken\" value=\"61ac0b654e77f782ad65b16bbcc4a97f\"><script>\nvar s_domain={\"protocol\":\"https:\",\"staticUrl\":\"https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/\",\"base\":\"home\",\"baseuri\":\"/home\",\"passconf\":\"http://passport.baidu.com/ubrwsbas\",\"logout\":\"https://passport.baidu.com/?logout&u=\",\"bs\":\"https://www.baidu.com\",\"login\":\"http://passport.baidu.com/?login&tpl=super&u=\",\"sp\":\"http://hi.baidu.com/\",\"ssllist\":{\"su.bdimg.com\":\"ss0.bdstatic.com\\/5a21bjqh_Q23odCf\",\"1.ur.bdimg.com\":\"ss1.bdstatic.com\\/k4oTfnSm1A5BphGlnYG\",\"2.ur.bdimg.com\":\"ss2.bdstatic.com\\/kvoTfnSm1A5BphGlnYG\",\"3.ur.bdimg.com\":\"ss3.bdstatic.com\\/kfoTfnSm1A5BphGlnYG\",\"4.ur.bdimg.com\":\"ss0.bdstatic.com\\/lPoTfnSm1A5BphGlnYG\",\"5.ur.bdimg.com\":\"ss1.bdstatic.com\\/l4oTfnSm1A5BphGlnYG\",\"6.ur.bdimg.com\":\"ss2.bdstatic.com\\/lvoTfnSm1A5BphGlnYG\",\"7.ur.bdimg.com\":\"ss3.bdstatic.com\\/lfoTfnSm1A5BphGlnYG\",\"8.ur.bdimg.com\":\"ss0.bdstatic.com\\/iPoTfnSm1A5BphGlnYG\",\"dj0.baidu.com\":\"sp0.baidu.com\\/-L-Wsjip0QIZ8tyhnq\",\"dj1.baidu.com\":\"sp1.baidu.com\\/-L-Xsjip0QIZ8tyhnq\",\"dj2.baidu.com\":\"sp2.baidu.com\\/-L-Ysjip0QIZ8tyhnq\",\"eclick.baidu.com\":\"sp3.baidu.com\\/-0U_dTmfKgQFm2e88IuM_a\",\"a.hiphotos.baidu.com\":\"ss0.baidu.com\\/94o3dSag_xI4khGko9WTAnF6hhy\",\"b.hiphotos.baidu.com\":\"ss1.baidu.com\\/9vo3dSag_xI4khGko9WTAnF6hhy\",\"c.hiphotos.baidu.com\":\"ss3.baidu.com\\/9fo3dSag_xI4khGko9WTAnF6hhy\",\"d.hiphotos.baidu.com\":\"ss0.baidu.com\\/-Po3dSag_xI4khGko9WTAnF6hhy\",\"e.hiphotos.baidu.com\":\"ss1.baidu.com\\/-4o3dSag_xI4khGko9WTAnF6hhy\",\"f.hiphotos.baidu.com\":\"ss2.baidu.com\\/-vo3dSag_xI4khGko9WTAnF6hhy\",\"g.hiphotos.baidu.com\":\"ss3.baidu.com\\/-fo3dSag_xI4khGko9WTAnF6hhy\",\"h.hiphotos.baidu.com\":\"ss0.baidu.com\\/7Po3dSag_xI4khGko9WTAnF6hhy\",\"bdimg.share.baidu.com\":\"ss1.baidu.com\\/9rA4cT8aBw9FktbgoI7O1ygwehsv\",\"s.share.baidu.com\":\"sp0.baidu.com\\/5foZdDe71MgCo2Kml5_Y_D3\",\"s1.bdstatic.com\":\"ss1.bdstatic.com\\/5eN1bjq8AAUYm2zgoY3K\",\"p2.youxi.bdimg.com\":\"ss2.bdstatic.com\\/5OZ1hTW64A63otebn9fN2DJv\",\"youxi.baidu.com\":\"sp3.baidu.com\\/y0kThD4a2gU2pMbgoY3K\",\"fm.baidu.com\":\"sp3.baidu.com\\/-rd1bjeh1BF3odCf\",\"music.baidu.com\":\"sp2.baidu.com\\/8_1ZdTna2gU2pMbgoY3K\",\"f3.baidu.com\":\"sp3.baidu.com\\/-uV1bjeh1BF3odCf\",\"sclick.baidu.com\":\"sp1.baidu.com\\/5bU_dTmfKgQFm2e88IuM_a\",\"1.su.bdimg.com\":\"ss0.bdstatic.com\\/k4oZeXSm1A5BphGlnYG\",\"2.su.bdimg.com\":\"ss1.bdstatic.com\\/kvoZeXSm1A5BphGlnYG\",\"3.su.bdimg.com\":\"ss2.bdstatic.com\\/kfoZeXSm1A5BphGlnYG\",\"4.su.bdimg.com\":\"ss3.bdstatic.com\\/lPoZeXSm1A5BphGlnYG\",\"5.su.bdimg.com\":\"ss0.bdstatic.com\\/l4oZeXSm1A5BphGlnYG\",\"6.su.bdimg.com\":\"ss1.bdstatic.com\\/kvoZeXSm1A5BphGlnYG\",\"7.su.bdimg.com\":\"ss2.bdstatic.com\\/lfoZeXSm1A5BphGlnYG\",\"8.su.bdimg.com\":\"ss3.bdstatic.com\\/iPoZeXSm1A5BphGlnYG\",\"nssug.baidu.com\":\"sp1.baidu.com\\/8qUZeT8a2gU2pMbgoY3K\",\"up.photo.baidu.com\":\"sp0.baidu.com\\/6_R1fD_bAAd3otqbppnN2DJv\",\"suggestion.baidu.com\":\"sp0.baidu.com\\/5a1Fazu8AA54nxGko9WTAnF6hhy\",\"t10.baidu.com\":\"ss0.baidu.com\\/6ONWsjip0QIZ8tyhnq\",\"t11.baidu.com\":\"ss1.baidu.com\\/6ONXsjip0QIZ8tyhnq\",\"t12.baidu.com\":\"ss2.baidu.com\\/6ONYsjip0QIZ8tyhnq\",\"play.baidu.com\":\"sp3.baidu.com\\/5LgHhXSm2Q5IlBGlnYG\",\"olime.baidu.com\":\"sp0.baidu.com\\/8bg4cTva2gU2pMbgoY3K\",\"i.baidu.com\":\"sp0.baidu.com\\/74oIbT3kAMgDnd_\",\"c.baidu.com\":\"sp0.baidu.com\\/9foIbT3kAMgDnd_\",\"b1.baidu.com\":\"ss1.baidu.com\\/9uN1bjeh1BF3odCf\",\"nsclick.baidu.com\":\"sp1.baidu.com\\/8qUJcD3n0sgCo2Kml5_Y_D3\",\"b1.bdstatic.com\":\"ss0.bdstatic.com\\/9uN1bjq8AAUYm2zgoY3K\",\"i7.baidu.com\":\"ss0.baidu.com\\/73F1bjeh1BF3odCf\",\"i8.baidu.com\":\"ss0.baidu.com\\/73x1bjeh1BF3odCf\",\"i9.baidu.com\":\"ss0.baidu.com\\/73t1bjeh1BF3odCf\",\"ecma.bdimg.com\":\"ss1.bdstatic.com\\/-0U0bXSm1A5BphGlnYG\",\"tag.baidu.com\":\"sp1.baidu.com\\/6LMFsjip0QIZ8tyhnq\",\"hw.baidu.com\":\"sp0.baidu.com\\/7KF1bjeh1BF3odCf\",\"opendata.baidu.com\":\"sp0.baidu.com\\/8aQDcjqpAAV3otqbppnN2DJv\",\"open.baidu.com\":\"ss1.baidu.com\\/8aQDcnSm2Q5IlBGlnYG\",\"api.open.baidu.com\":\"sp0.baidu.com\\/9_Q4sjW91Qh3otqbppnN2DJv\",\"xiaodu.baidu.com\":\"sp0.baidu.com\\/yLsHczq6KgQFm2e88IuM_a\",\"s0.nuomi.bdimg.com\":\"ss1.bdstatic.com\\/5eR1ciub_Q63otebn9fN2DJv\",\"s1.nuomi.bdimg.com\":\"ss1.bdstatic.com\\/5eN1ciub_Q63otebn9fN2DJv\",\"s2.nuomi.bdimg.com\":\"ss2.bdstatic.com\\/5eZ1ciub_Q63otebn9fN2DJv\",\"vse.baidu.com\":\"sp3.baidu.com\\/6qUDsjip0QIZ8tyhnq\",\"himg.bdimg.com\":\"ss1.bdstatic.com\\/7Ls0a8Sm1A5BphGlnYG\",\"ss.bdimg.com\":\"ss0.bdstatic.com\\/5aV1bjqh_Q23odCf\",\"ecmb.bdimg.com\":\"ss0.bdstatic.com\\/-0U0bnSm1A5BphGlnYG\"}},s_session={\"logId\":\"2826224677\",\"seqId\":\"0x97a50a010003367a\",\"debug\":false,\"portrait\":\"f56ed2e3c1a65fc8cbc9fa4127\",\"portraitSkin2nd\":\"f56ed2e3c1a65fc8cbc9fa4127\",\"userProp\":{\"sawVideoGuide\":false,\"navClean\":true,\"appOffline\":false,\"toResGuide\":false,\"editNavGuide\":false,\"backToIndexGuide\":false,\"customAddGuide\":true,\"customAddTipGuide\":true,\"resciteGuide\":false,\"resvideoGuide\":false,\"emptyNavGuide\":false,\"resreadGuide\":true,\"nplusGuide\":false,\"nplusToEditGuide\":true,\"nplusSortGuide\":false,\"nplusViewChoice\":true,\"nplusViewChoosed\":false,\"newResFuncGuide\":false,\"isNplus\":true,\"nplusExchangeGuide\":false,\"resGoodMusicGuide\":false,\"appendVideo\":false,\"resTiebaGuide\":false,\"isPhotoAlbum\":false,\"packRecGuide\":true,\"packAddMoreGuide\":true,\"searchAgroupGuide\":false,\"starSkinTips\":false,\"treasureTips\":false,\"toNplusGuide\":false},\"userTips\":{\"rpUpdateGuide\":false,\"rpUpdatePack\":true,\"ncrGuide\":false,\"hideIndexLink\":true,\"ipadLastAccess\":true,\"navRecommendGuide\":true,\"bdKuaiJieGuide\":false,\"tbEncourageGuide\":false,\"commTab\":true,\"currentWebTab\":\"myweb\",\"rpShowNewNavGuide\":false,\"resFirstAddGuide\":true,\"navMywebTip\":true,\"blowBirthday\":true,\"packCloseGuide\":true,\"isNewVersion\":true,\"showFmSearchGuide\":true,\"tbEncourageEndGuide\":true,\"shopingBannerGuide\":false,\"shopingBirdGuide\":true,\"shopingBirdDailyGuide\":true,\"shopingDefaultGuide\":false,\"browserPluginGuide\":false,\"addFromPsGuide\":false,\"tiebaStarPkGuide\":false,\"isCustomDir\":true,\"customFirstGuide\":false,\"customSecondGuide\":false,\"customThirdGuide\":false,\"rpIndividualGuide\":true,\"rpIndividualContentGuide\":true,\"nplusClean\":\"1364878030\",\"nplusCleanKey\":false,\"recommendGuide\":\"1370183772\",\"addToBaiduSideGuide\":true,\"addToBaiduBannerGuide\":false,\"noManualNavsGuide\":\"0_1356923185\",\"msgVideoKey\":false,\"msgWeatherKey\":true,\"msgNbaKey\":false,\"msgLotteryKey\":false,\"msgStateKey\":true,\"msgModKey\":true,\"msgGuideKey\":true,\"msgFirstSeeKey\":false,\"msgHeadTipKey\":true,\"telephoneOpen\":true,\"telephoneNewYearGuide\":true,\"telephoneValentineGuide\":true,\"nplusViewNewThreshold\":false,\"emptyUserGuide\":false,\"emptyHotNavsAdded\":true,\"newUserHotGuide\":\"1\",\"addLayerDelTip\":false,\"hotChangeTip\":false,\"autoClassifyGuide\":false,\"navClfTipAdd\":false,\"navClfTipEdit\":false,\"newWeatherUser\":false,\"newWeatherGuide\":false,\"navAddHighLightTip\":false,\"msgCslTipKey\":true,\"msgCslKey\":false,\"msgGuoanKey\":false,\"msgBCKey\":false,\"msgFocusKey\":true,\"msgLocalKey\":true,\"footStateKey\":false,\"msgSetTipKey\":true,\"tiebaLikeGuide\":true,\"msgAddFocusKey\":true,\"navNoClickClean\":false,\"emptyUserFirTime\":false,\"msgSnsTipKey\":true,\"topModKey\":true,\"msgGameKey\":false,\"msgGameCtrlKey\":false,\"skinGuide\":false,\"skinLogoGuide\":true,\"skinLogoBackGuide\":true,\"skinChangeToFes\":false,\"msgModuleTip\":true,\"skinUpdateGuide\":true,\"bxUrFirst\":true,\"treasureUserGuide\":false,\"skinLogoHasSkined\":true,\"msgWeiboRebindKey\":false,\"skinAjustGuide\":false,\"newsGuideTip\":true,\"isNavUsed\":false,\"navUsedTip\":\"1386232373\",\"navUsedUpdateTip\":false,\"navUsedDelTip\":true,\"skinNewPicGuide\":\"3\",\"newsIdioTip\":true,\"msgTagKey\":true,\"news2GuideTip\":false,\"weatherSetPolution\":true,\"weatherShowBear\":true,\"skinGuideShowType\":\"B\",\"skinLayerType\":\"A\",\"newsHalfVersion\":false,\"skinSingleColorTip\":true,\"definedGuideShowType\":false,\"skinBgAddTip\":false,\"travelBigGuide\":false,\"travelInsideGuide\":true,\"travelCutDownGuide\":false,\"isXman\":true,\"weatherShowWarning\":true,\"showAllTab\":true,\"nusedExtendTip\":true,\"firstDelAddedTip\":true,\"recNavTip\":false,\"xmanMainGuide\":false,\"nbaCardTip\":true,\"tripEntranceTip\":true,\"groupbuyCardTip\":true,\"xingzuoCardTip\":true,\"isLite\":\"null\",\"commonNavClean\":true,\"soccerCardTip\":true,\"worldCupTabTip\":false,\"lotteryCardTip\":false,\"pageTutorialTip\":false,\"worldcupImpNotice\":true,\"zeroOpacityGuide\":true,\"hasWeatherMod\":true,\"weatherTipGuide\":true,\"stockCardTip\":false,\"navResortTip\":false,\"mouseScrollGuide\":true,\"conRecommendTip\":true,\"conRecommendGuide\":true,\"treasureAlert\":false,\"huaNewSkin\":true,\"gameCardTip\":false,\"rcmdCardUserType\":\"0\",\"rcmdCardHasData\":false,\"conNavTip\":true,\"conNavNewTip\":true,\"conNavCardTip\":true,\"navInproduct\":false,\"groupbuyTipShowFlag\":false,\"treasureRemind\":true,\"treakillAlert\":false,\"isReqSkinLottery\":false,\"starSkinLottery\":true,\"treaGroupbuy\":false,\"lastAddCardTime\":\"1436799491\",\"treasureTips\":false,\"starSkinTips\":false,\"navNsTipsStatus\":\"0\",\"conNSNavTip\":true,\"conNSNavCardTip\":true,\"asiaCupTabTip\":false,\"thirdNsNavTip\":true,\"thirdNsNavCardTip\":true,\"youxizhiboTip\":true,\"goddessLottery\":true,\"superSearchTipsStatus\":false,\"superSearchSecStatus\":false,\"navQuanyiTip\":true,\"neverShowSkinTip\":true,\"isNewTabSearch\":false,\"treaAB\":false},\"userAttr\":Number(\"\")|| 0,\"username\":\"毅力_人生\",\"unametype\":\"1\",\"userIsSkined\":\"off\",\"userIsNewSkined\":\"off\",\"userSkinName\":\"\",\"userSkinType\":\"0\",\"userSkinOpacity\":\"70\",\"userSkinUrl\":\"\",\"userSkinLogo\":\"logo_white\",\"userSkinDefined\":\"on\",\"userLogoSrc\":\"\\/\\/www.baidu.com\\/img\\/bdlogo.png\",\"userLogoIsFestival\":\"\",\"usertype\":\"0\",\"curmod\":\"1\",\"firstmod\":\"1\",\"userFirst\":\"\",\"logoCode\":false,\"isFesLogo\":false,\"isHaveWrodLink\":false,\"userNavEmpty\":\"\",\"bgUNE\":\"\",\"isEmptyRpRec\":\"\",\"userBirthday\":\"\",\"yuce\":\"\",\"sid\":\"16529_16540_1453_16545_10813_14430_10212_12867_16274_16521_16322_16330_16425_16515_15650_12013_13932\",\"mSid\":\"\",\"sample_value\":\"1\",\"strategy_hit\":\"0\",\"issync\":\"1\",\"isdev\":\"\",\"isUsedNav\":\"\",\"isRewardBox\":\"\",\"isNewMsg\":\"\",\"load_module\":{\"type\":[\"weather\"],\"weatherID\":''},\"modules\":[\"0\"],\"modules_load\":[\"0\"],\"isLiteVersion\":\"0\"};\n</script><script>\nvar bds={se:{},su:{urdata:[],urSendClick:function(){},urStatic:\"https://ss0.bdstatic.com/5aV1bjqh_Q23odCf\"},util:{},use:{},comm:{domain:\"\",ubsurl:\"\",tn:\"\",queryEnc:\"\",queryId:\"\",inter:\"\",sugHost:\"\",query:\"\",qid:\"\",cid:\"\",sid:\"\",stoken:\"\",serverTime:\"\",user:\"\",username:\"\",loginAction:[],useFavo:\"\",pinyin:\"\",favoOn:\"\",curResultNum:\"0\",rightResultExist:false,protectNum:0,zxlNum:0,pageNum:1,pageSize:10,ishome:1,newindex:1}};var name,navigate,al_arr=[];var selfOpen=window.open;eval(\"var open = selfOpen;\");var isIE=navigator.userAgent.indexOf(\"MSIE\")!=-1&&!window.opera;var E=bds.ecom={};bds.se.mon={loadedItems:[],load:function(){},srvt:-1};try{bds.se.mon.srvt=parseInt(document.cookie.match(new RegExp(\"(^| )BDSVRTM=([^;]*)(;|$)\"))[2]);document.cookie=\"BDSVRTM=;expires=Sat, 01 Jan 2000 00:00:00 GMT\"}catch(e){}var bdUser=bds.comm.user?bds.comm.user:null,bdQuery=bds.comm.query,bdUseFavo=bds.comm.useFavo,bdFavoOn=bds.comm.favoOn,bdCid=bds.comm.cid,bdSid=bds.comm.sid,bdServerTime=bds.comm.serverTime,bdQid=bds.comm.queryId,bdstoken=bds.comm.stoken,login_success=[];\n</script><script src=\"./baidu_files/jquery-1.10.2_d88366fd.js\"></script><script>\n(function(){\n    window._sp_async = 1;\n    window.__async_strategy=2;\n    bds.comm.indexSid=\"16529_16540_1453_16545_10813_14430_10212_12867_16274_16521_16322_16330_16425_16515_15650_12013_13932\";\n    bds.comm.sid = s_session.sid;\n    bds.comm.queryId=\"97a50a010003367a\";\n        bds.comm.pdc=0;\n        bds.comm.user=\"毅力_人生\";\n    bds.comm.username=bds.comm.user;\n    bds.comm.personalData={\"sugSet\":{\"value\":\"\",\"ErrMsg\":\"NOFOUND\"},\"sugStoreSet\":{\"value\":\"1\",\"ErrMsg\":\"SUCCESS\"},\"fullSkinName\":{\"value\":\"0\",\"ErrMsg\":\"SUCCESS\"},\"imeSwitch\":{\"value\":\"\",\"ErrMsg\":\"NOFOUND\"},\"resultNum\":{\"value\":\"\",\"ErrMsg\":\"NOFOUND\"},\"resultLang\":{\"value\":\"\",\"ErrMsg\":\"NOFOUND\"},\"isSwitch\":{\"value\":\"\",\"ErrMsg\":\"NOFOUND\"},\"skinOpen\":{\"value\":\"\",\"ErrMsg\":\"NOFOUND\"},\"isJumpHttps\":{\"value\":\"\",\"ErrMsg\":\"NOFOUND\"}};\n    var index_content = $('#head');\n    var index_foot= $('#ftCon');\n    var index_css= $('#style_super_inline');\n    var index_is_css = $('#s_is_index_css');\n    var index_css_content = index_css.html();\n    var index_u= $('#u_sp');\n    var result_u= $('#u');\n    window.index_links = [];\n    var result_head = $(\"#head\");\n    window.index_on=function(){\n        s_session.index_off = false;\n    };\n    window.index_off=function(){\n        s_session.index_off = true;\n        $(document.body).attr('link', '#0000cc');\n        index_links = [];\n        $(\"head\").find(\"link\").each(function(){\n            index_links.push(this);\n            $(this).remove();\n        });\n        index_css.remove();\n        index_is_css.remove();\n        $('#head_wrapper').css('width','');\n        $('#kw').css('font-family','');\n        $('head').append($.decodeHTML($('#s_index_off_css').html()));\n        $('head').append($.decodeHTML($('#s_is_result_css').html()));\n        $('.s-tips-skin').remove();\n    };\n})();\n</script><script type=\"text/javascript\">bds.util.domain=(function(){var b=$.extend({},s_domain.ssllist);$.each(b,function(d,f){if(b[d].indexOf(\"https://\")<0){b[d]=\"https://\"+b[d]}});var a=function(d){if(s_domain.protocol==\"http:\"){return d}var e=/^(http[s]?:\\/\\/)?([^\\/]+)(.*)/,f=d.match(e);d=b.hasOwnProperty(f[2])&&(b[f[2]]+f[3])||d;return d},c=function(e,d){b[e]=d};return{get:a,set:c}})();bds.comm.sugHost=bds.util.domain.get(\"http://suggestion.baidu.com/su\");</script><script>window._is_sugicon_hot=true;</script><script type=\"text/javascript\">var Cookie={set:function(c,e,d,f,a,b){document.cookie=c+\"=\"+(b?e:escape(e))+((a)?\"; expires=\"+a.toGMTString():\"\")+((f)?\"; path=\"+f:\"; path=/\")+((d)?\"; domain=\"+d:\"\")},get:function(c,b){var a=document.cookie.match(new RegExp(\"(^| )\"+c+\"=([^;]*)(;|$)\"));if(a!=null){return unescape(a[2])}return b},clear:function(a,c,b){if(this.get(a)){document.cookie=a+\"=\"+((c)?\"; path=\"+c:\"; path=/\")+((b)?\"; domain=\"+b:\"\")+\";expires=Fri, 02-Jan-1970 00:00:00 GMT\"}}};(function(){var defaultOptions={sugSet:1,sugStoreSet:1,isSwitch:1,isJumpHttps:1,imeSwitch:0,resultNum:10,skinOpen:1,resultLang:0},options={},tmpName;var expire30y=new Date();expire30y.setTime(expire30y.getTime()+30*365*86400000);try{if(bds&&bds.comm&&bds.comm.personalData){if(typeof bds.comm.personalData==\"string\"){bds.comm.personalData=eval(\"(\"+bds.comm.personalData+\")\")}if(!bds.comm.personalData){return}for(tmpName in bds.comm.personalData){if(defaultOptions.hasOwnProperty(tmpName)&&bds.comm.personalData.hasOwnProperty(tmpName)){if(bds.comm.personalData[tmpName].ErrMsg==\"SUCCESS\"){options[tmpName]=bds.comm.personalData[tmpName].value}}}}try{if(!parseInt(options.resultNum)){delete (options.resultNum)}if(!parseInt(options.resultLang)&&options.resultLang!=\"0\"){delete (options.resultLang)}}catch(e){}writeCookie();if(!(\"sugSet\" in options)){options.sugSet=(Cookie.get(\"sug\",3)!=3?0:1)}if(!(\"sugStoreSet\" in options)){options.sugStoreSet=Cookie.get(\"sugstore\",0)}var BAIDUID=Cookie.get(\"BAIDUID\");if(!(\"resultNum\" in options)){if(/NR=(\\d+)/.test(BAIDUID)){options.resultNum=RegExp.$1?parseInt(RegExp.$1):10}else{options.resultNum=10}}if(!(\"resultLang\" in options)){if(/SL=(\\d+)/.test(BAIDUID)){options.resultLang=RegExp.$1?parseInt(RegExp.$1):0}else{options.resultLang=0}}if(!(\"isSwitch\" in options)){options.isSwitch=(Cookie.get(\"ORIGIN\",0)==2?0:(Cookie.get(\"ORIGIN\",0)==1?2:1))}if(!(\"imeSwitch\" in options)){options.imeSwitch=Cookie.get(\"bdime\",0)}}catch(e){}function save(callback){var optionsStr=[];for(tmpName in options){if(options.hasOwnProperty(tmpName)){optionsStr.push('\"'+tmpName+'\":\"'+options[tmpName]+'\"')}}var str=\"{\"+optionsStr.join(\",\")+\"}\";if(bds.comm.personalData){$.ajax({url:\"//www.baidu.com/ups/submit/addtips/?product=ps&tips=\"+encodeURIComponent(str)+\"&_r=\"+new Date().getTime(),success:function(){writeCookie();if(typeof callback==\"function\"){callback()}}})}else{writeCookie();if(typeof callback==\"function\"){setTimeout(callback,0)}}}function set(optionName,value){options[optionName]=value}function get(optionName){return options[optionName]}function writeCookie(){if(options.hasOwnProperty(\"sugSet\")){var value=options.sugSet==\"0\"?\"0\":\"3\";clearCookie(\"sug\");Cookie.set(\"sug\",value,document.domain,\"/\",expire30y)}if(options.hasOwnProperty(\"sugStoreSet\")){var value=options.sugStoreSet==0?\"0\":\"1\";clearCookie(\"sugstore\");Cookie.set(\"sugstore\",value,document.domain,\"/\",expire30y)}if(options.hasOwnProperty(\"isSwitch\")){var ORINGIN_MAP={0:\"2\",1:\"0\",2:\"1\"};var value=ORINGIN_MAP[options.isSwitch];clearCookie(\"ORIGIN\");Cookie.set(\"ORIGIN\",value,document.domain,\"/\",expire30y)}if(options.hasOwnProperty(\"imeSwitch\")){var value=options.imeSwitch;clearCookie(\"bdime\");Cookie.set(\"bdime\",value,document.domain,\"/\",expire30y)}}function writeBAIDUID(){var BAIDUID=Cookie.get(\"BAIDUID\"),NR,FG,SL;if(/FG=(\\d+)/.test(BAIDUID)){FG=RegExp.$1}if(/SL=(\\d+)/.test(BAIDUID)){SL=RegExp.$1}if(/NR=(\\d+)/.test(BAIDUID)){NR=RegExp.$1}if(options.hasOwnProperty(\"resultNum\")){NR=options.resultNum}if(options.hasOwnProperty(\"resultLang\")){SL=options.resultLang}Cookie.set(\"BAIDUID\",BAIDUID.replace(/:.*$/,\"\")+(typeof SL!=\"undefined\"?\":SL=\"+SL:\"\")+(typeof NR!=\"undefined\"?\":NR=\"+NR:\"\")+(typeof FG!=\"undefined\"?\":FG=\"+FG:\"\"),\".baidu.com\",\"/\",expire30y,true)}function clearCookie(name){Cookie.clear(name,\"/\");Cookie.clear(name,\"/\",document.domain);Cookie.clear(name,\"/\",\".\"+document.domain);Cookie.clear(name,\"/\",\".baidu.com\")}function reset(callback){options=defaultOptions;save(callback)}window.UPS={writeBAIDUID:writeBAIDUID,reset:reset,get:get,set:set,save:save}})();(function(){var c=(navigator&&navigator.userAgent)?navigator.userAgent:\"\";var b=(document&&document.cookie)?document.cookie:\"\";var a=!!(c.match(/(msie [2-8])/i)||(c.match(/windows.*safari/i)&&!c.match(/chrome/i))||c.match(/(linux.*firefox)/i)||c.match(/Chrome\\/29/i)||c.match(/mac os x.*firefox/i)||b.match(/\\bISSW=1/)||UPS.get(\"isSwitch\")==0);if(bds&&bds.comm){bds.comm.supportis=!a;bds.comm.isui=true}window.__restart_confirm_timeout=true;window.__confirm_timeout=8000;window.__disable_is_guide=true;window.__disable_swap_to_empty=true;window.__switch_add_mask=true;if(window._async_merge){a=true;bds.comm.supportis=false;document.write(\"<script src='https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/global/js/all_async_popstate1_dec608a0.js'><\\/script>\")}else{if(window._async_his){a=true;bds.comm.supportis=false;document.write(\"<script src='https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/global/js/all_async_search_57459356.js'><\\/script>\")}else{if(window._sam_rcmd){document.write(\"<script src='https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/global/js/all_async_search_rcmd_f613047d.js'><\\/script>\")}else{document.write(\"<script src='https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/global/js/all_async_search_57459356.js'><\\/script>\")}}}if(bds.comm.newindex){$(window).on(\"index_off\",function(){$('<div class=\"c-tips-container\" id=\"c-tips-container\"></div>').insertAfter(\"#wrapper\");if(window.__sample_dynamic_tab){$(\"#s_tab\").remove()}})}if(!c.match(/(msie 6)/i)){$(function(){setTimeout(function(){$.ajax({url:\"https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/baiduia/baiduia_b45d552b.js\",cache:true,dataType:\"script\"})},0)})}$(function(){setTimeout(function(){$.ajax({url:\"https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/plugins/every_cookie_9876b8b5.js\",cache:true,dataType:\"script\"})},0)});if(bds.comm&&bds.comm.ishome&&Cookie.get(\"H_PS_PSSID\")){bds.comm.indexSid=Cookie.get(\"H_PS_PSSID\")}})();</script><script src=\"./baidu_files/all_async_search_57459356.js\"></script><script>\n\tif(typeof initPreload == \"function\"){\n\t\tinitPreload({\n\t\t\t'index_form':\"#form\",\n\t\t\t'index_kw':\"#kw\",\n\t\t\t'result_form':\"#form\",\n\t\t\t'result_kw':'#kw',\n            'isui':true\n\t\t});\n\t}else{\n\t\twindow._sp_async = undefined;\n\t\tnew Image().src = \"/home/page/data/pageserver?errno=7004&_t\"+new Date()*1;\n\t}\n</script><script src=\"./baidu_files/sbase_6ae84319.js\"></script><style type=\"text/css\">.sui-scrollbar-container{position:relative;overflow:hidden}.sui-scrollbar-bar{border-left:1px solid #E1E1E1;border-right:1px solid #E3E3E3;border-top:1px solid #E3E3E3;border-bottom:1px solid #E3E3E3;background:#E3E3E3;width:7px;position:absolute;top:0;right:0;height:100%;cursor:pointer}.sui-scrollbar-slider{border:1px solid #E1E1E1;background:#fff;width:100%;left:-1px;position:absolute;cursor:pointer}</style><script type=\"text/javascript\">F._setMod(\"superui\");F._fileMap({\"/js/ubase_2ae5fb7c.js\":[\"superui\",\"util/tool\",\"util/emitter\",\"util/dot\",\"util/smDot\",\"component\",\"component/draggable\",\"component/scrollbar\",\"component/dialog\",\"component/tips\",\"component/share\",\"component/share2\",\"component/notify\",\"component/suggestion\",\"component/placeholder\"],\"/js/ubase_unused_a6d174c4.js\":[\"component/draggsort\",\"component/draggselect\",\"component/draggdirs\"],\"/css/ubase_83c8f0ba.css\":[\"superui.css\",\"dialog.css\",\"tips.css\",\"share.css\",\"scrollbar.css\",\"suggestion.css\"],\"/css/ubase_sync_ac0620ef.css\":[\"scrollbar_sync.css\"],\"/js/utils_718740fc.js\":[\"util/pubsub\"]});</script><script type=\"text/javascript\">F._setMod(\"superplus\");F._fileMap({\"/js/sbase_6ae84319.js\":[\"lib/base\",\"lib/sbase\",\"lib/class\",\"lib/mod_evt\",\"plugin/browser\",\"plugin/strpx\",\"plugin/url\",\"plugin/ajax\",\"plugin/stringify\",\"plugin/load_file\",\"plugin/string\",\"plugin/localstorage\",\"plugin/fn\",\"plugin/easing\",\"lib/log\",\"plugin/mousewheel\",\"common/user_attr\",\"plugin/cookie\",\"common/select\"],\"/js/min_super_6d1deb9d.js\":[\"common/result_page\",\"common/image_lazy_load\",\"log/super_all\",\"lib/xpath_log\",\"skeleton/skeleton\",\"skeleton/skeleton_tab\",\"ps/log\",\"ps/sindex\",\"ps/sug\",\"ps/fpid\",\"page/analyse\",\"start/super_start\",\"page/info\"],\"/js/supermin_f8863269.js\":[\"lib/base\",\"lib/sbase\",\"lib/log\",\"lib/class\",\"lib/mod_evt\",\"plugin/browser\",\"plugin/url\",\"config\",\"log/super_all\",\"ps/supermin_log\",\"ps/s_supermin\",\"ps/sug\",\"page/info\",\"start/supermin_start\"],\"/js/super_ext_fd5195e9.js\":[\"skeleton/skeleton_ext\",\"plugin/mousewheel\",\"weather/setting_refresh\",\"weather/setting_ctrl\",\"weather/setting_view\",\"weather/weather_city\"],\"/css/super_ext_ba8e050a.css\":[\"weather_setting.css\",\"new_card_tip.css\",\"mngr_quit_guid.css\",\"wenjuan_tip.css\"],\"/css/super_min_de974358.css\":[\"super_init.css\",\"super_skeleton.css\",\"weather.css\",\"top_menu.css\",\"skin.css\",\"super_skin.css\",\"select.css\"],\"/js/super_load_71fcd12d.js\":[\"skeleton/skeleton_load\",\"weather/weather_tpl\",\"weather/weather_ctrl\",\"weather/weather_autorefresh\",\"start/skin_start\",\"skin/skin_rewrite\",\"mngr/top_layer\",\"mngr/top_menunav\",\"mngr/top_menu\",\"common/guide_tip\",\"guide/groupbuy_tip\",\"guide/new_card_tip\",\"guide/wenjuan_tip\",\"page/page_exp\"],\"/js/skin_layer_7e882856.js\":[\"skin/skin_init\",\"skin/skin_cut_img\",\"skin/skin_model\",\"skin/skin_nav\",\"skin/skin_page\",\"skin/skin_tools\",\"skin/skin_img\",\"skin/skin_control\",\"skin/skin_view\",\"skin/skin_upload_flash\",\"skin/skin_setting\",\"skin/skin_preview\",\"skin/skin_defined\",\"skin/skin_opacity\",\"skin/skin_ajax\",\"skin/skin_extra\"],\"/js/opacity_mod_6e04ed17.js\":[\"opacity/opacity_tpl\",\"opacity/opacity_action\",\"opacity/opacity_conf\"],\"/css/skin_layer_04145308.css\":[\"skin_layer.css\",\"skin_lottery.css\"],\"/css/guidetip_495aff91.css\":[\"guide.css\"],\"/css/nsguide_29acf749.css\":[\"ns_guide.css\"],\"/js/min_setting_5b756eae.js\":[\"setting/setting_constructor\",\"start/setting_start\",\"setting/mod_drag\",\"setting/setting_action\"],\"/css/setting_min_ec874049.css\":[\"setting.css\"],\"/js/card_setting_min_60d3c503.js\":[\"setting/card_setting\"],\"/css/card_setting_8120a63e.css\":[\"card_setting.css\"],\"/css/page_setting_7f844f17.css\":[\"super_setting.css\",\"select.css\",\"setting_msg.css\",\"setting_yaohao.css\",\"pop.css\",\"dialog.css\"],\"/js/page_setting_70a91a44.js\":[\"config\",\"log/super_all\",\"setting/page_setting\",\"setting/tab_msg\",\"start/page_setting_start\",\"common/pop\",\"setting/yaohao\",\"msg/const\",\"setting/data_adapter\",\"msg/bind\",\"msg/bind_window\",\"setting/common_setting\"],\"/css/mt_min_301a440a.css\":[\"mt_mod.css\",\"index_msg.css\"],\"/js/min_mt_373f85c1.js\":[\"msg/const\",\"msg/data_server\",\"msg/data_adapter\"],\"/js/mt_ext_e2a96cb0.js\":[\"msg/index_nav_msg_extend\",\"msg/msg_builder\",\"msg/bind\",\"msg/bind_window\"],\"/js/min_notice_ad5f4f92.js\":[\"mt/mt_show\",\"mt/mt_msg_constructor\"],\"/js/notice_ext_20703f9e.js\":[\"mt/mt_ext\",\"mt/mt_msg_item\",\"mt/mt_msg_operate\"],\"/js/guide_ie_9866266c.js\":[\"guide/main_guide_ie\"],\"/js/guide_27378573.js\":[\"guide/main_guide\",\"guide/navns_guide\",\"guide/conrecommend_guide\"]});window._xman_speed=window._xman_speed||{};F._setContext({base:\"lib/sbase\"});F.use(\"lib/mod_evt\",function(a){F._setContextMethod(\"fire\",function(c,b){return a.fire(this.svnMod+\":\"+this.modName,c,b)});F._setContextMethod(\"listen\",function(f,g,d){var e=Object.prototype.toString.call(f);if(e==\"[object String]\"){if(f.indexOf(\":\")<0){f=this.svnMod+\":\"+f}}else{if(e==\"[object Array]\"){for(var c=0,b=f.length;c<b;c++){if(f[c].indexOf(\":\")<0){f[c]=this.svnMod+\":\"+f[c]}}}}a.on(f,g,d)});F._setContextMethod(\"unListen\",function(c,d,b){a.un(this.svnMod+\":\"+this.modName,d,b)})});F._loadScriptTimeout=15000;F._useConfig=true;F._firstScreenCSS=F._firstScreenCSS||[];F._firstScreenCSS.push(\"/css/super_min_de974358.css\");F._firstScreenJS=F._firstScreenJS||[];F._firstScreenJS.push(\"/js/min_super_6d1deb9d.js\");</script><script src=\"./baidu_files/min_super_6a1867d5.js\"></script><script id=\"s_js_navplus\" src=\"./baidu_files/min_nav_9dda26ef.js\"></script><script id=\"s_js_setting\" data-src=\"https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superplus/js/min_setting_5b756eae.js\"></script><script id=\"s_js_xmancard\" src=\"./baidu_files/xmancard_c006cb6f.js\"></script><script id=\"tipsplus-js\" data-src=\"https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/tipsplus/js/min_tips_27647c7d.js\" src=\"./baidu_files/min_tips_27647c7d.js\"></script><script data-onload=\"true\" data-src=\"https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/activity/js/activity_start_52498d2c.js\" src=\"./baidu_files/activity_start_52498d2c.js\"></script><script>\nsetTimeout(function(){if(document.getElementById(\"s_main\").offsetWidth==0 && typeof(F)=='undefined'){new Image().src=s_domain.baseuri+'/page/data/pageserver?errno=2015&msg=cdn_failed'}},2000);\nif(typeof ns_c == \"undefined\"){var ns_c=function(){}}\n</script><span id=\"s_strpx_span1\" style=\"visibility:hidden;position:absolute;bottom:0;left:0;font-weight:bold;font-size:12px;font-family:&#39;arial&#39;;\">中</span><span id=\"s_strpx_span1\" style=\"visibility:hidden;position:absolute;bottom:0;left:0;font-size:20px; font-family:&#39;Microsoft Yahei&#39;;\">中</span><span id=\"s_strpx_span2\" style=\"visibility:hidden;position:absolute;bottom:0;left:0;font-weight:bold;font-size:12px;font-family:&#39;arial&#39;;\">中</span></body></html>"
  },
  {
    "path": "testsample/src/main/assets/baidu_files/activity_start_52498d2c.js",
    "content": "F.module(\"activity:skin/lottery\",function(g,f,e){var d=g(\"superui:component/share\"),c=g(\"superui:component/dialog\"),a=g(\"superui:util/tool\");StyleTMP=\".activity-skin-lottery .sui-dialog-tipstext strong{color:#009944;padding:0 5px;}.activity-skin-lottery .sui-dialog-subcontent{padding-left:0px;padding-right:0px;text-justify:inter-ideograph;text-align:center}.activity-skin-lottery .sui-dialog-subcontent a{text-decoration: underline;}\",URI=\"/home/skin/submit/activitylottery\";var b={init:function(){if(s_session.userTips.isReqSkinLottery){this.lotreq()}a.addStyle(StyleTMP);this.initSkin()},lotreq:function(){$.ajaxpost(URI,{},function(h){if(h.bsLottery&&h.bsLottery!=\"-1\"){b.showLottery(h)}})},showLottery:function(k){var i=this,m,j,h=k.bsShare;m=c.alert({width:350,identity:\"skinLottery\",type:k.bsLottery==\"1\"?\"success\":\"warning\",dialogClassName:\"activity-skin-lottery\",content:$.decodeHTML(k.bsTitle),subcontent:'<div class=\"sui-dialog-subcontent\"'+(k.bsLottery?'style=\"text-align:center\"':\"\")+\">\"+$.decodeHTML(k.bsText)+\"</DIV>\",buttons:[{type:\"ok\",title:\"立即分享\",listener:function(){return false}}]});var l=new d({identity:\"activityskin\",target:j=m.footer.find(\".sui-dialog-buttonok\"),text:h.text,url:h.url,pic:h.img,arrowLeft:30,width:200,trigger:\"mouseenter\"});j.on(\"mousedown\",function(){return false})},initSkin:function(){e.listen(\"superplus:skin/skin_control\",\"skinhide\",function(){if(b.isStar()){b.lotreq()}})},isStar:function(){var i=false,h=$(\".s-skin-layer\"),k=h.find(\".choose-nav\");var j=h.find(\".choose-li\");if(j.hasClass(\"nav-1009\")){if(j.parent().find(\".no-img\").length<11){i=true}}return i}};f.init=function(){b.init()}});F.module(\"activity:activity/superplus\",function(b,a){a.init=function(){F.call(\"activity:skin/lottery\",\"init\")}});F.call(\"activity:activity/superplus\",\"init\");"
  },
  {
    "path": "testsample/src/main/assets/baidu_files/all_async_search_57459356.js",
    "content": "var define;var require;var esl;(function(b){var o={};var C={};var x=1;var g=2;var s=3;var p=4;var ah=X();var N;function i(ap,aq){var an=[];function am(ar){if(ar.indexOf(\".\")===0){an.push(ar)}}if(typeof ap===\"string\"){am(ap)}else{aa(ap,function(ar){am(ar)})}if(an.length>0){throw new Error(\"[REQUIRE_FATAL]Relative ID is not allowed in global require: \"+an.join(\", \"))}var ao=n.waitSeconds;if(ao&&(ap instanceof Array)){if(N){clearTimeout(N)}N=setTimeout(I,ao*1000)}return ah(ap,aq)}i.version=\"1.8.6\";i.loader=\"esl\";i.toUrl=ah.toUrl;function I(){var aq=[];var ar=[];var ao={};var ap={};var an={};function am(aw,av){if(an[aw]||l(aw,p)){return}an[aw]=1;if(!l(aw,s)){if(!ao[aw]){ao[aw]=1;aq.push(aw)}}var au=o[aw];if(!au){if(!ap[aw]){ap[aw]=1;ar.push(aw)}}else{if(av){if(!ao[aw]){ao[aw]=1;aq.push(aw)}aa(au.depMs,function(ax){am(ax.absId,ax.hard)})}}}for(var at in C){am(at,1)}if(aq.length||ar.length){throw new Error(\"[MODULE_TIMEOUT]Hang( \"+(aq.join(\", \")||\"none\")+\" ) Miss( \"+(ar.join(\", \")||\"none\")+\" )\")\n}}var z;function R(aq,ap,ao){if(ao==null){if(ap==null){ao=aq;aq=null}else{ao=ap;ap=null;if(aq instanceof Array){ap=aq;aq=null}}}if(ao==null){return}var am=window.opera;if(!aq&&document.attachEvent&&(!(am&&am.toString()===\"[object Opera]\"))){var an=t();aq=an&&an.getAttribute(\"data-require-id\")}if(aq){y(aq,ap,ao);if(z){clearTimeout(z)}}else{r[0]={deps:ap,factory:ao}}}R.amd={};function ad(){var am=n.config[this.id];if(am&&typeof am===\"object\"){return am}return{}}function y(ao,an,am){if(!o[ao]){o[ao]={id:ao,depsDec:an,deps:an||[\"require\",\"exports\",\"module\"],factoryDeps:[],factory:am,exports:{},config:ad,state:x,require:X(ao),depMs:[],depMkv:{},depRs:[],depPMs:[]}}}function ag(ar){var ao=o[ar];if(!ao||l(ar,g)){return}var aq=ao.deps;var an=ao.factory;var ap=0;if(typeof an===\"function\"){ap=Math.min(an.length,aq.length);!ao.depsDec&&an.toString().replace(/(\\/\\*([\\s\\S]*?)\\*\\/|([^:]|^)\\/\\/(.*)$)/mg,\"\").replace(/require\\(\\s*(['\"'])([^'\"]+)\\1\\s*\\)/g,function(au,at,av){aq.push(av)})}var am=[];aa(aq,function(au,at){var ax=W(au);\nvar aw=af(ax.mod,ar);var ay;var av;if(aw&&!B[aw]){if(ax.res){av={id:au,mod:aw,res:ax.res};C[aw]=1;ao.depPMs.push(aw);ao.depRs.push(av)}ay=ao.depMkv[aw];if(!ay){ay={id:ax.mod,absId:aw,hard:at<ap};ao.depMs.push(ay);ao.depMkv[aw]=ay;am.push(aw)}}else{ay={absId:aw}}if(at<ap){ao.factoryDeps.push(av||ay)}});ao.state=g;O(ar);a(am)}function S(){for(var am in C){E(am);al(am)}}function E(ao){var am={};an(ao);function an(ar){if(!l(ar,g)){return false}if(l(ar,s)||am[ar]){return true}am[ar]=1;var ap=o[ar];var aq=true;aa(ap.depMs,function(at){return(aq=an(at.absId))});aq&&aa(ap.depRs,function(at){aq=!!(at.absId&&l(at.absId,p));return aq});if(aq){ap.state=s}return aq}}function O(ap){var an=o[ap];var ao;an.invokeFactory=am;aa(an.depPMs,function(aq){f(aq,function(){aa(an.depRs,function(ar){if(!ar.absId&&ar.mod===aq){ar.absId=af(ar.id,ap);a([ar.absId],S)}})})});function am(){if(ao||an.state!==s){return}ao=1;var aw=1;var ax=[];aa(an.factoryDeps,function(az){var ay=az.absId;if(!B[ay]){al(ay);if(!l(ay,p)){aw=0;\nreturn false}}ax.push(ay)});if(aw){try{var au=ae(ax,{require:an.require,exports:an.exports,module:an});var at=an.factory;var ar=typeof at===\"function\"?at.apply(b,au):at;if(ar!=null){an.exports=ar}an.invokeFactory=null;delete C[ap]}catch(av){ao=0;if(/^\\[MODULE_MISS\\]\"([^\"]+)/.test(av.message)){var aq=an.depMkv[RegExp.$1];aq&&(aq.hard=1);return}throw av}D(ap)}}}function l(an,am){return o[an]&&o[an].state>=am}function al(an){var am=o[an];if(am&&am.invokeFactory){am.invokeFactory()}}function ae(an,ao){var am=[];aa(an,function(aq,ap){am[ap]=ao[aq]||u(aq)});return am}var V={};function f(ao,an){if(l(ao,p)){an();return}var am=V[ao];if(!am){am=V[ao]=[]}am.push(an)}function D(ap){var ao=V[ap]||[];var an=o[ap];an.state=p;var am=ao.length;while(am--){ao[am]()}ao.length=0;delete V[ap]}function u(am){if(l(am,p)){return o[am].exports}return null}var B={require:i,exports:1,module:1};var r=[];function q(am){aa(r,function(an){y(am,an.deps,an.factory)});r.length=0;ag(am)}function a(ap,ar,am,an){if(typeof ap===\"string\"){al(ap);\nif(!l(ap,p)){throw new Error('[MODULE_MISS]\"'+ap+'\" is not exists!')}return u(ap)}an=an||{};var aq=0;if(ap instanceof Array){ao();if(!aq){aa(ap,function(at){if(!(B[at]||l(at,p))){f(at,ao);if(!an[at]){(at.indexOf(\"!\")>0?F:j)(at,am)}ag(at)}});S()}}function ao(){if(!aq){var at=1;aa(ap,function(au){if(!B[au]){return(at=!!l(au,p))}});if(at){aq=1;(typeof ar===\"function\")&&ar.apply(b,ae(ap,B))}}}}var P={};function j(an){if(P[an]||o[an]){return}P[an]=1;var am=document.createElement(\"script\");am.setAttribute(\"data-require-id\",an);am.src=K(an+\".js\");am.async=true;if(am.readyState){am.onreadystatechange=ao}else{am.onload=ao}ak(am);function ao(){var ap=am.readyState;if(typeof ap===\"undefined\"||/^(loaded|complete)$/.test(ap)){am.onload=am.onreadystatechange=null;am=null;q(an);for(var aq in C){ag(aq)}S()}}}function F(am,ao){if(o[am]){return}var ar=W(am);var aq={id:am,state:g};o[am]=aq;function an(at){aq.exports=at||true;D(am)}an.fromText=function(au,at){C[au]=1;new Function(at)();q(au)};function ap(at){var au=ao?o[ao].require:ah;\nat.load(ar.res,au,an,ad.call({id:am}))}ap(u(ar.mod))}var n={baseUrl:\"./\",paths:{},config:{},map:{},packages:[],waitSeconds:0,noRequests:{},urlArgs:{}};i.config=function(an){function ap(ar){am.push(ar)}if(an){for(var ao in n){var aq=an[ao];var am=n[ao];if(aq){if(ao===\"urlArgs\"&&typeof aq===\"string\"){n.urlArgs[\"*\"]=aq}else{if(am instanceof Array){aa(aq,ap)}else{if(typeof am===\"object\"){for(var ao in aq){am[ao]=aq[ao]}}else{n[ao]=aq}}}}}aj()}};aj();var L;var J;var M;var ac;var ab;function H(ao,am){var an=U(ao,1,am);an.sort(m);return an}function aj(){n.baseUrl=n.baseUrl.replace(/\\/$/,\"\")+\"/\";L=H(n.paths);M=H(n.map,1);aa(M,function(am){am.v=H(am.v)});J=[];aa(n.packages,function(am){var an=am;if(typeof am===\"string\"){an={name:am.split(\"/\")[0],location:am,main:\"main\"}}an.location=an.location||an.name;an.main=(an.main||\"main\").replace(/\\.js$/i,\"\");an.reg=Y(an.name);J.push(an)});J.sort(m);ac=H(n.urlArgs,1);ab=H(n.noRequests);aa(ab,function(an){var ao=an.v;var am={};an.v=am;if(!(ao instanceof Array)){ao=[ao]\n}aa(ao,function(ap){am[ap]=1})})}function Z(an,am,ao){aa(am,function(ap){if(ap.reg.test(an)){ao(ap.v,ap.k,ap);return false}})}function K(ap){var au=/(\\.[a-z0-9]+)$/i;var an=/(\\?[^#]*)$/;var ar=\"\";var at=ap;var ao=\"\";if(an.test(ap)){ao=RegExp.$1;ap=ap.replace(an,\"\")}if(au.test(ap)){ar=RegExp.$1;at=ap.replace(au,\"\")}var am=at;var aq;Z(at,L,function(aw,av){am=am.replace(av,aw);aq=1});if(!aq){Z(at,J,function(ax,av,aw){am=am.replace(aw.name,aw.location)})}if(!/^([a-z]{2,10}:\\/)?\\//i.test(am)){am=n.baseUrl+am}am+=ar+ao;Z(at,ac,function(av){am+=(am.indexOf(\"?\")>0?\"&\":\"?\")+av});return am}function X(am){var ao={};function an(ar,av){if(typeof ar===\"string\"){if(!ao[ar]){ao[ar]=a(af(ar,am))}return ao[ar]}else{if(ar instanceof Array){var au=[];var ap=[];var at=[];aa(ar,function(az,aw){var ay=W(az);var ax=af(ay.mod,am);ap.push(ax);C[ax]=1;if(ay.res){au.push(ax);at[aw]=null}else{at[aw]=ax}});var aq={};aa(ap,function(ax){var aw;Z(ax,ab,function(ay){aw=ay});if(aw){if(aw[\"*\"]){aq[ax]=1}else{aa(ap,function(ay){if(aw[ay]){aq[ax]=1;\nreturn false}})}}});a(ap,function(){aa(at,function(ax,aw){if(ax==null){at[aw]=af(ar[aw],am)}});a(at,av,am)},am,aq)}}}an.toUrl=function(ap){return K(af(ap,am))};return an}function af(ar,am){if(!ar){return\"\"}am=am||\"\";var ap=W(ar);if(!ap){return ar}var aq=ap.res;var ao=k(ap.mod,am);aa(J,function(at){var au=at.name;if(au===ao){ao=au+\"/\"+at.main;return false}});Z(am,M,function(at){Z(ao,at,function(av,au){ao=ao.replace(au,av)})});if(aq){var an=u(ao);aq=an.normalize?an.normalize(aq,function(at){return af(at,am)}):af(aq,am);ao+=\"!\"+aq}return ao}function k(an,av){if(an.indexOf(\".\")===0){var aw=av.split(\"/\");var au=an.split(\"/\");var am=aw.length-1;var ao=au.length;var ar=0;var ap=0;pathLoop:for(var at=0;at<ao;at++){var aq=au[at];switch(aq){case\"..\":if(ar<am){ar++;ap++}else{break pathLoop}break;case\".\":ap++;break;default:break pathLoop}}aw.length=am-ar;au=au.slice(ap);return aw.concat(au).join(\"/\")}return an}function W(an){var am=an.split(\"!\");if(am[0]){return{mod:am[0],res:am[1]}}return null}function U(ar,ap,am){var aq=[];\nfor(var an in ar){if(ar.hasOwnProperty(an)){var ao={k:an,v:ar[an]};aq.push(ao);if(ap){ao.reg=an===\"*\"&&am?/^/:Y(an)}}}return aq}var Q;var w;function t(){if(Q){return Q}else{if(w&&w.readyState===\"interactive\"){return w}else{var am=document.getElementsByTagName(\"script\");var ao=am.length;while(ao--){var an=am[ao];if(an.readyState===\"interactive\"){w=an;return an}}}}}var T=document.getElementsByTagName(\"head\")[0];var d=document.getElementsByTagName(\"base\")[0];if(d){T=d.parentNode}function ak(am){Q=am;d?T.insertBefore(am,d):T.appendChild(am);Q=null}function Y(am){return new RegExp(\"^\"+am+\"(/|$)\")}function aa(ap,ao){if(ap instanceof Array){for(var an=0,am=ap.length;an<am;an++){if(ao(ap[an],an)===false){break}}}}function m(an,am){var ap=an.k||an.name;var ao=am.k||am.name;if(ao===\"*\"){return -1}if(ap===\"*\"){return 1}return ao.length-ap.length}if(!b.define){b.define=R;if(!b.require){b.require=i}b.esl=i}})(this);define(\"jquery\",[],function(){return window.jQuery});if(bds&&bds.comm){bds.comm.did=(function(){var a=\"\";\nfor(var b=0;b<32;b++){a+=Math.floor(Math.random()*16).toString(16)}return a})();bds.comm.isAsync=(function(){var a=\"onhashchange\" in window;var b=\"onpopstate\" in window;return(b||a)&&Cookie.get(\"ISSW\")!=1&&!window.__disable_preload})()}jQuery&&jQuery.extend({stringify:function stringify(b){if(\"JSON\" in window){return JSON.stringify(b)}var l=typeof(b);if(l!=\"object\"||b===null){if(l==\"string\"){b='\"'+b+'\"'}return String(b)}else{var d={\"\\b\":\"\\\\b\",\"\\t\":\"\\\\t\",\"\\n\":\"\\\\n\",\"\\f\":\"\\\\f\",\"\\r\":\"\\\\r\",'\"':'\\\\\"',\"\\\\\":\"\\\\\\\\\"};function i(n){if(/[\"\\\\\\x00-\\x1f]/.test(n)){n=n.replace(/[\"\\\\\\x00-\\x1f]/g,function(o){var p=d[o];if(p){return p}p=o.charCodeAt();return\"\\\\u00\"+Math.floor(p/16).toString(16)+(p%16).toString(16)})}return'\"'+n+'\"'}function a(s){var o=[\"[\"],p=s.length,n,q,r;for(q=0;q<p;q++){r=s[q];switch(typeof r){case\"undefined\":case\"function\":case\"unknown\":break;default:if(n){o.push(\",\")}o.push($.stringify(r));n=1}}o.push(\"]\");return o.join(\"\")}switch(typeof b){case\"undefined\":return\"undefined\";case\"number\":return isFinite(b)?String(b):\"null\";\ncase\"string\":return i(b);case\"boolean\":return String(b);default:if(b===null){return\"null\"}else{if(b instanceof Array){return a(b)}else{var m=[\"{\"],g=$.stringify,f,k;for(var j in b){if(Object.prototype.hasOwnProperty.call(b,j)){k=b[j];switch(typeof k){case\"undefined\":case\"unknown\":case\"function\":break;default:if(f){m.push(\",\")}f=1;m.push(g(j)+\":\"+g(k))}}}m.push(\"}\");return m.join(\"\")}}}}},format:function(d,a){d=String(d);var b=Array.prototype.slice.call(arguments,1),f=Object.prototype.toString;if(b.length){b=b.length==1?(a!==null&&(/\\[object Array\\]|\\[object Object\\]/.test(f.call(a)))?a:b):b;return d.replace(/#\\{(.+?)\\}/g,function(g,j){var i=b[j];if(\"[object Function]\"==f.call(i)){i=i(j)}return(\"undefined\"==typeof i?\"\":i)})}return d},subByte:function(m,b,g){var f=[],k=m.split(\"\");g=g||\"…\";for(var j=0,d=k.length;j<d;j++){if(k[j].charCodeAt(0)>255){f.push(\"*\")}f.push(k[j])}if(b&&b>0&&f.length>b){k=f.join(\"\").substring(0,b-1).replace(/\\*/g,\"\")+g}else{return m}return k},getByteLength:function(j){var d=[],g=j.split(\"\");\nfor(var f=0,b=g.length;f<b;f++){if(g[f].charCodeAt(0)>255){d.push(\"*\")}d.push(g[f])}return d.length},_isValidKey:function(a){return(new RegExp('^[^\\\\x00-\\\\x20\\\\x7f\\\\(\\\\)<>@,;:\\\\\\\\\\\\\"\\\\[\\\\]\\\\?=\\\\{\\\\}\\\\/\\\\u0080-\\\\uffff]+\\x24')).test(a)},setCookie:function(d,f,b){f=encodeURIComponent(f);if(!jQuery._isValidKey(d)){return}b=b||{};var a=b.expires;if(\"number\"==typeof b.expires){a=new Date();a.setTime(a.getTime()+b.expires)}document.cookie=d+\"=\"+f+(b.path?\"; path=\"+b.path:\"\")+(a?\"; expires=\"+a.toGMTString():\"\")+(b.domain?\"; domain=\"+b.domain:\"\")+(b.secure?\"; secure\":\"\")},getCookie:function(b){var f=\"\";if(jQuery._isValidKey(b)){var d=new RegExp(\"(^| )\"+b+\"=([^;]*)(;|\\x24)\"),a=d.exec(document.cookie);if(a){f=a[2]||null;if(\"string\"==typeof f){f=decodeURIComponent(f);return f}}}return null},removeCookie:function(b,a){a=a||{};a.expires=new Date(0);jQuery.setCookie(b,\"\",a)},limitWd:function(n,b){if(n===\"\"){return\"\"}n=n+\"\";var f=[],j=n.split(\"\"),d=j.length,k=0,m=b||255;if(d<=parseInt(m/2)){return n}for(var g=0;\ng<d;g++){if(j[g].charCodeAt(0)>255){k+=2}else{k+=1}if(k===m){j=n.substring(0,g+1);return j}else{if(k>m){j=n.substring(0,g);return j}}}return n}});function addEV(d,b,a){if(window.attachEvent){d.attachEvent(\"on\"+b,a)}else{if(window.addEventListener){d.addEventListener(b,a,false)}}}function _aMC(d){var b=d,a=-1;while(b=b.parentNode){a=parseInt(b.getAttribute(\"id\"));if(a>0){return a}}}function al_c(a){while(a.tagName!=\"TABLE\"){a=a.parentNode}return a.getAttribute(\"id\")}function al_c2(b,a){while(a--){while((b=b.parentNode).tagName!=\"TABLE\"){}}return b.getAttribute(\"id\")}function c(a){var k=a.p1;if(a.fm==\"alop\"&&!(\"rsv_xpath\" in a)){if(k&&G(k).getAttribute(\"srcid\")==\"6677\"){}else{return true}}if(k&&!(\"p5\" in a)){a.p5=k}var b=window.document.location.href,g=\"\",d=\"\",m=\"\",f=window[\"BD_PS_C\"+(new Date()).getTime()]=new Image();for(v in a){switch(v){case\"title\":d=a[v].replace(/<[^<>]+>/g,\"\");if(d&&d.length>100){d=d.substring(0,100)}d=encodeURIComponent(d);break;case\"mu\":case\"url\":d=escape(a[v]);break;\ndefault:d=a[v]}g+=\"&\"+v+\"=\"+d}if(!(\"mu\" in a)){try{if((\"p2\" in a)&&G(a.p1).getAttribute(\"mu\")&&a.fm!=\"pl\"){m=\"&mu=\"+escape(G(a.p1).getAttribute(\"mu\"))}}catch(i){}}if(window.bds&&bds.comm){var j=bds.comm.ubsurl+\"?q=\"+bds.comm.queryEnc+g+m+\"&rsv_sid=\"+bds.comm.sid+\"&cid=\"+bds.comm.cid+\"&qid=\"+bds.comm.queryId+\"&t=\"+new Date().getTime();if(bds.comm.inter){j=j+\"&rsv_inter=\"+bds.comm.inter}if(bds.comm.seinfo&&bds.comm.seinfo.rsv_pstg){j=j+\"&rsv_pstg=\"+bds.comm.seinfo.rsv_pstg}if(bds.comm.cftime&&bds.comm.cftime!=0){j=j+\"&rsv_cftime=\"+bds.comm.cftime}if(bds.comm.resultPage){j=j+\"&rsv_iorr=1\"}else{j=j+\"&rsv_iorr=0\"}if(bds.comm.tn){j=j+\"&rsv_tn=\"+bds.comm.tn}if(bds.comm.indexSid){j+=\"&rsv_isid=\"+bds.comm.indexSid}if(bds.comm.lastVoiceQuery){j+=\"&rsv_lavo=\"+encodeURIComponent(bds.comm.lastVoiceQuery)}if(Cookie.get(\"ispeed\")){j+=\"&rsv_ispeed=\"+Cookie.get(\"ispeed\")}if(/ssl_sample/.test(location.href)){var l=location.href.match(/ssl_sample=[^=&]+/i);j+=\"&rsv_\"+l[0]}if(/ssl_s=/.test(location.href)){var l=location.href.match(/ssl_s=[^=&]+/i);\nj+=\"&rsv_\"+l[0]}j+=\"&rsv_ssl=\"+(location.protocol===\"https:\"?1:0);j+=\"&path=\"+encodeURIComponent(b);j+=\"&rsv_did=\"+(bds.comm.did?bds.comm.did:\"\");f.src=j}return true}$(window).on(\"resize\",function(){if(\"pageState\" in window&&pageState!=0){bds.util.setContainerWidth();bds.event.trigger(\"se.window_resize\")}});(function(){var b=bds.util&&bds.util.domain?bds.util.domain.get(\"http://s1.bdstatic.com\"):\"http://s1.bdstatic.com\";var a=bds.util&&bds.util.domain?bds.util.domain.get(\"http://ecmb.bdimg.com\"):\"http://ecmb.bdimg.com\";require.config({baseUrl:b+\"/r/www/cache/biz\",packages:[{name:\"ecma\",location:a+\"/public01\"},{name:\"ecmb\",location:a+\"/public01\"}],paths:{aladdin:b+\"/r/www/aladdin\",ui:b+\"/r/www/cache/amd/ui\",\"ui/config\":b+\"/r/www/cache/amd/ui/Control\",\"ui/lib\":b+\"/r/www/cache/amd/ui/Control\",\"ui/Control\":b+\"/r/www/cache/amd/ui/Control\"},urlArgs:{\"ui/ImgZoomHover\":\"20141104\",\"ui/ImgZoomHover1\":\"20141104\",\"ui/ImgZoomHover2\":\"20141104\",\"ui/ImgZoomHover3\":\"20141104\"}})})();function TagQ(a,b){return b.getElementsByTagName(a)\n}function h(b){b.style.behavior=\"url(#default#homepage)\";b.setHomePage(bds.comm.domain);var a=window[\"BD_PS_C\"+(new Date()).getTime()]=new Image();a.src=bds.comm.ubsurl+\"?fm=hp&tn=\"+bds.comm.tn+\"&t=\"+new Date().getTime()}function setHeadUrl(b){var d=G(\"kw\").value;d=encodeURIComponent(d);var a=b.href;a=a.replace(new RegExp(\"(\"+b.getAttribute(\"wdfield\")+\"=)[^&]*\"),\"\\x241\"+d);b.href=a}bds.util.addStyle=function(b){if(isIE){var d=document.createStyleSheet();d.cssText=b}else{var a=document.createElement(\"style\");a.type=\"text/css\";a.appendChild(document.createTextNode(b));document.getElementsByTagName(\"HEAD\")[0].appendChild(a)}};bds.util.getContentRightHeight=function(){return($(\"#content_right\").get(0))?$(\"#content_right\").get(0).offsetHeight:0};bds.util.getContentLeftHeight=function(){return($(\"#content_left\").get(0))?$(\"#content_left\").get(0).offsetHeight:0};if(!window.A){function G(a){return document.getElementById(a)}window.bds=window.bds||{};bds.util=bds.util||{};bds.util.getWinWidth=function(){return window.document.documentElement.clientWidth\n};bds.util.setContainerWidth=function(){var g=G(\"container\"),b=G(\"wrapper\"),a=function(i,j){j.className=j.className.replace(i,\"\")},f=function(i,j){j.className=(j.className+\" \"+i).replace(/^\\s+/g,\"\")},d=function(i,j){return i.test(j.className)};if(bds.util.getWinWidth()<1207){if(g){a(/\\bcontainer_l\\b/g,g);if(!d(/\\bcontainer_s\\b/,g)){f(\"container_s\",g)}}if(b){a(/\\bwrapper_l\\b/g,b);if(!d(/\\bwrapper_s\\b/,b)){f(\"wrapper_s\",b)}}bds.comm.containerSize=\"s\"}else{if(g){a(/\\bcontainer_s\\b/g,g);if(!d(/\\bcontainer_l\\b/,g)){f(\"container_l\",g)}}if(b){a(/\\bwrapper_s\\b/g,b);if(!d(/\\bwrapper_l\\b/,b)){f(\"wrapper_l\",b)}}bds.comm.containerSize=\"l\"}};(function(){var d=[],i=false;var b=function(k,j){try{k.call(j)}catch(l){}},f=function(){this.ids=[];this.has=true;this.list=[];this.logs=[];this.loadTimes=[];this.groupData=[];this.mergeFns=[];this._currentContainer=null};window.A=bds.aladdin={};b(f,window.A);bds.ready=function(j){if(typeof j!=\"function\"){return}if(i){b(j)}else{d.push(j)}};bds.doReady=function(){i=true;\nwhile(d.length){b(d.shift())}};bds.clearReady=function(){i=false;d=[]};A.__reset=f;var a=(function(){var j=document.getElementsByTagName(\"script\");return function(){var l=j[j.length-1];if(window.currentScriptElem){l=window.currentScriptElem}var k=l;while(k){if(k.className){if(/(?:^|\\s)result(?:-op)?(?:$|\\s)/.test(k.className)){if(tplname=k.getAttribute(\"tpl\")){return k}}}k=k.parentNode}}})(),g=function(j,m,l){var n;if(!j.initIndex){n={container:j,data:{},handlers:[]};j.initIndex=A.groupData.length+1;A.groupData.push(n)}else{n=A.groupData[j.initIndex-1]}if(typeof m==\"function\"){n.handlers.push(m)}else{if(typeof m==\"object\"){for(var o in m){if(m.hasOwnProperty(o)){n.data[o]=m[o]}}}else{n.data[m]=l}}};A.init=A.setup=function(m,l){if(m===undefined||m===null){return}var j=A._currentContainer||a();if(!j){return}g(j,m,l)};A.merge=function(k,j){A.mergeFns.push({tplName:k,fn:j})}})()}function ns_c_pj(i,f){var j=encodeURIComponent(window.document.location.href),d=\"\",a=\"\",b=\"\",g=bds&&bds.comm&&bds.comm.did?bds.comm.did:\"\";\nwd=bds.comm.queryEnc,nsclickDomain=bds&&bds.util&&bds.util.domain?bds.util.domain.get(\"http://nsclick.baidu.com\"):\"http://nsclick.baidu.com\",img=window[\"BD_PS_C\"+(new Date()).getTime()]=new Image(),src=\"\";for(v in i){switch(v){case\"title\":a=encodeURIComponent(i[v].replace(/<[^<>]+>/g,\"\"));break;case\"url\":a=encodeURIComponent(i[v]);break;default:a=i[v]}d+=v+\"=\"+a+\"&\"}b=\"&mu=\"+j;src=nsclickDomain+\"/v.gif?pid=201&\"+(f||\"\")+d+\"path=\"+j+\"&wd=\"+wd+\"&rsv_sid=\"+(bds.comm.ishome&&bds.comm.indexSid?bds.comm.indexSid:bds.comm.sid)+\"&rsv_did=\"+g+\"&t=\"+new Date().getTime();if(Cookie.get(\"H_PS_SKIN\")&&Cookie.get(\"H_PS_SKIN\")!=\"0\"){src+=\"&rsv_skin=1\"}img.src=src;return true}function ns_c(b,a){if(a===true){return ns_c_pj(b,\"pj=www&rsv_sample=1&\")}return ns_c_pj(b,\"pj=www&\")}A.uiPrefix=\"//www.baidu.com/cache/aladdin/ui/\";(function(){var b=window.bds.aladdin;var g=[];var l={},i=0;var d=function(q,p){try{q.call(p)}catch(r){}};var f=function(p){p.ajaxId=++i;l[p.ajaxId]=p};var n=function(p){delete l[p.ajaxId]\n};var k=function(p){if(!p.ajaxId){return false}return l.hasOwnProperty(p.ajaxId)};var m=function(q){var p={};if(q){try{var s=new Function(\"return \"+q)();if(s){p=s}}catch(t){}}return p},a=function(){var r=$(\".result-op\").get().concat($(\".result\").get()),t={};for(var q=0,p,s;s=r[q];q++){if(p=s.getAttribute(\"tpl\")){if(t[p]){t[p].push(s)}else{t[p]=[s]}}}return t};var o=[],j=[];b.addDisposeHandler=function(p){j.push(p)};b.dispose=function(){while(o.length){var r=o.shift();d(r.fn,r.obj)}var p=j;for(var q=0;q<p.length;q++){var r=p[q];d(r.fn,r.obj)}};b.__clearDispose=function(){o=[];j=[]};b.addDisposeHandler({obj:l,fn:function(){for(var p in l){if(l.hasOwnProperty(p)){delete l[p]}}}});b._Aladdin=function(){this.p1=0;this.mu=null};$.extend(b._Aladdin.prototype,{_init:function(){var r=this,p;p=r.container;var q=m(r.container.getAttribute(\"data-click\"));r.p1=q.p1||p.id;r.mu=q.mu||p.getAttribute(\"mu\");r.srcid=q.rsv_srcid||p.getAttribute(\"srcid\")},q:function(q,p){p=p||\"\";return $(this.container).find(p+\".\"+q).get()\n},qq:function(q,p){return this.q(q,p)[0]},find:function(p){return window.jQuery(p,this.container)},ready:function(){$(document).ready.apply(this,arguments)},ajax:function(C,F,u){var D=b.AJAX;var H=+new Date();var s=u.params||{};var w={query:C,co:u.co||\"\",resource_id:F,t:H};$.extend(w,D.PARAMS);$.extend(w,s);var C=$.param(w);var r=D.API_URL+\"?\"+C;var B=function(){var p=new Image();p.src=$.format(D.ERR_URL,{url:r});b.logs.push(p)};var z=new Date().getTime();var y=function(p){var t=new Date().getTime()-z;var I={fm:\"opendataajax\",srcid:F,time:t,status:p};ns_c(I)};var E=function(p){if(!k(E)){return}q();if(p.status==0){u.success(p.data)}else{u.error&&u.error(p.status);B()}y(0)};var x=function(){if(!k(x)){return}q();u.timeout&&u.timeout();B();y(1)};var q=function(){n(E);n(x)};f(E);f(x);$.ajax({url:r,scriptCharset:D.PARAMS.oe,timeout:D.TIMEOUT,dataType:\"jsonp\",jsonp:\"cb\",success:E,error:x})}});b.AJAX={API_URL:bds.util.domain&&bds.util.domain.get?bds.util.domain.get(\"http://opendata.baidu.com/api.php\"):\"http://opendata.baidu.com/api.php\",ERR_URL:bds.util.domain&&bds.util.domain.get?bds.util.domain.get(\"http://open.baidu.com/stat/al_e.gif?ajax_err_url=#{url}\"):\"http://open.baidu.com/stat/al_e.gif?ajax_err_url=#{url}\",PARAMS:{ie:\"utf8\",oe:\"gbk\",cb:\"op_aladdin_callback\",format:\"json\",tn:\"baidu\"},TIMEOUT:6000};\ng.push(function(p){var q=/msie (\\d+\\.\\d+)/i.test(navigator.userAgent)?(document.documentMode||+RegExp[\"\\x241\"]):undefined;if(q){var r=document.charset;$.each(p.container.getElementsByTagName(\"form\"),function(t,u){var w=function(){var x=u.acceptCharset;if(x&&x.toString().toUpperCase()!=\"UNKNOWN\"&&x!=document.charset){document.charset=x;setTimeout(function(){document.charset=r},1000)}};$(u).on(\"submit\",w);var s=u.submit;u.submit=function(){w();try{s.call(u)}catch(x){s()}}})}});b.__runAla=function(){var p=a();$.each(b.mergeFns,function(s,q){var r=p[q.tplName];if(r){$.each(r,function(t,u){b._currentContainer=u;q.fn();b._currentContainer=null})}});$.each(b.groupData,function(t,s){var w=new b._Aladdin(),r,u,x;w.container=s.container;w.data=s.data;w._init();b.list.push(w);var q=s.handlers;r=new Date();while(q.length){d(q.shift(),w)}if(typeof w.dispose==\"function\"){o.push({obj:w,fn:w.dispose});w.dispose=null}u=new Date(),x={srcid:w.srcid};x.tpl=w.container.getAttribute(\"tpl\");x.time=u-r;b.loadTimes.push(x);\n$.each(g,function(y,z){z.call(w,w)})})}})();(function(){var g=window.A,b={},j={},s={},p=document,n=p.getElementsByTagName(\"head\")[0],i=false,f=[\"baidu\"],q=false,d=g.baidu,m=function(){};var l={\"*\":function(t,u){return u+\"?v=2014010100\"},scrollbarv:function(t,u){return u+\"?v=20150226\"},likeshare4:function(t,u){return u+\"?v=20140116\"},mboxsingleton:function(t,u){return u+\"?v=20141008\"},sms:function(t,u){return u+\"?v=20140508\"},tab:function(t,u){return u+\"?v=20140117\"},tabs:function(t,u){return u+\"?v=20140116\"},musicplayer:function(t,u){return u+\"?v=20150310\"},slider:function(t,u){return u+\"?v=20140123\"},suggestion:function(t,u){return u+\"?v=20140924\"},tabs5:function(t,u){return u+\"?v=20150429\"},tabx:function(t,u){return u+\"?v=20140117\"},dropdown1:function(t,u){return u+\"?v=20140117\"},dropdown21:function(t,u){return u+\"?v=20140227\"},advert:function(t,u){return u+\"?v=20140523\"},advert2:function(t,u){return u+\"?v=20141127\"},honourCard:function(t,u){return u+\"?v=20140926\"},share:function(t,u){return u+\"?v=20141107\"\n},qHotCity:function(t,u){return u+\"?v=20150326\"},mapapi:function(t,u){return u+\"?v=20150310\"},qunarfilters:function(t,u){return u+\"?v=20141114\"},renderIframe3:function(t,u){return u+\"?v=20150310\"},share2:function(t,u){return u+\"?v=20150212\"},ALD_feedback:function(t,u){return u+\"?v=20150113\"},addtohome:function(t,u){return u+\"?v=20150310\"},addtohome2:function(t,u){return u+\"?v=20150310\"},gpsApi:function(t,u){return u+\"?v=20150310\"},simGps:function(t,u){return u+\"?v=20150310\"}};$(document).ready(function(){i=true});g.addDisposeHandler({obj:g,fn:function(){for(var t in s){if(s.hasOwnProperty(t)){var u=s[t];while(u.length){u.pop()}}}}});function a(u,z){var x=typeof u===\"string\"?u.split(/\\s*,\\s*/):u;if(x.length>1){if(z){a(x.shift(),function(){if(x.length>0){a(x,z)}})}else{while(x.length){a(x.shift())}}return}u=x[0];if(u===\"jquery\"&&window.jQuery){!g.ui.jquery&&(g.ui.jquery=window.jQuery);z&&z();return}var y=u.replace(/\\./g,\"/\");var t=u.replace(/^[\\s\\S]*\\./,\"\");var w=g.uiPrefix+y+\"/\"+t;if(y.search(\"style/\")==0){o(w+\".css\",z)\n}else{w+=\".js\";if(l.hasOwnProperty(u)){if(typeof l[u]==\"function\"){w=l[u](u,w)}else{if(typeof l[u]==\"string\"){w=l[u]}}}else{if(l.hasOwnProperty(\"*\")){w=l[\"*\"](u,w)}}if(z){r(w,z)}else{k(w)}}}a.cache=b;function o(u,w){w=w||m;if(u in b){w();return}var t=p.createElement(\"link\");t.rel=\"stylesheet\";t.type=\"text/css\";t.href=u;t.setAttribute(\"data-for\",\"A.ui\");n.appendChild(t);b[u]=1;w()}function k(t){if(i){r(t,m);return}if(t in b){return}p.write('<script charset=\"gb2312\" type=\"text/javascript\" src=\"'+t+'\"><\\/script>');b[t]=1}function r(w,x){x=x||m;if(w in b){x();return}if(w in j){s[w].push(x);return}j[w]=1;var u=s[w]=[x];var t=p.createElement(\"script\");t.type=\"text/javascript\";t.charset=\"gb2312\";t.onload=t.onreadystatechange=function(){if((!this.readyState||this.readyState===\"loaded\"||this.readyState===\"complete\")){while(u.length){u.shift()()}delete j[w];b[w]=1;t.onload=t.onreadystatechange=null}};t.src=w;t.setAttribute(\"data-for\",\"A.ui\");n.insertBefore(t,n.firstChild)}g.uicss=function(t){o(g.uiPrefix+t)\n};g.uijs=function(t,u){r(g.uiPrefix+t,u)};g.uijsPathMap=function(t){$.extend(l,t)};g.use=a;g.ui=g.ui||{};g.addCssText=function(x){var B=\"opui-style-tag-id\",u=\"data-for\",t=\"A.ui\",w=document.getElementById(B);if(!w){w=document.createElement(\"style\");w.setAttribute(\"type\",\"text/css\");w.setAttribute(u,t);w.id=B;document.getElementsByTagName(\"head\")[0].appendChild(w)}try{var y=document.createTextNode(x);w.appendChild(y)}catch(z){if(w.styleSheet){w.styleSheet.cssText+=x}}};$(window).on(\"swap_end\",function(){var u=/MSIE\\s?6/.test(window.navigator.userAgent);var t=function(w,y,x){$(w).each(function(C,B){var D=$(B),z=new Image(),E=D.attr(\"src\");z.onload=function(){var K=y,H=x,J=this.width,F=this.height,I=(J/F)/(K/H);if(I>1){if(J>K){J=K}else{J=\"auto\"}F=\"auto\"}else{if(F>H){F=H}else{F=\"auto\"}J=\"auto\"}D.css({height:F,width:J});z.onload=null;z=null};z.src=E})};if(u){t(\"img.result-left-img\",98,121)}$(\".c-feedback\").bind(\"click\",function(){var w=this;g.use(\"ALD_feedback\",function(){var D=\"right\",x,z,C=$(w);\nif(C.parents(\"#content_left\").length){D=\"left\";z=C.parents(\".result-op\"),x=z.attr(\"srcid\")}else{if(C.parents(\"#content_right\").length){z=C.parents(\"#con-ar\")}}var y={query:bds.comm.query,srcid:x,target:z,username:bds.comm.username,flag:D};var B=g.ui.ALD_feedback(y);g.addDisposeHandler({obj:B,fn:B.dispose})})})})})();$(window).on(\"swap_begin\",function(){A.dispose();A.__reset();A.__clearDispose()});$(window).on(\"swap_dom_ready\",function(){bds.ready(A.__runAla);bds.doReady()});bds.event=new function(){var i={};function d(j,l){if(typeof l==\"function\"||l instanceof Function){var k=a(j);i[k.name]=i[k.name]||[];i[k.name].push({prod:k.prod,callback:l})}}function g(l,o){var n=a(l),k=i[n.name]||[],j=0;while(j<k.length){var m=k[j];if(o===m.callback&&f(n.prod,m.prod)){k.splice(j,1)}else{j++}}}function b(j,m){var q=a(j),k=i[q.name]||[],r={data:m,eventId:j};for(var n=0,o=k.length;n<o;n++){var l=k[n];try{if(f(l.prod,q.prod)){l.callback.call(this,r)}}catch(p){}}}function f(j,k){return new RegExp(\"^\"+j.replace(/\\./g,\"\\\\.\").replace(/\\*/g,\".+\")+\"$\").test(k)\n}function a(j){var k=j.match(/(.+)\\.(.+)/);if(k&&k[2]){return{prod:k[1],name:k[2]}}else{return{}}}this.on=d;this.off=g;this.trigger=b;this.events=i};function escapeHTML(a){return a.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/ /g,\"&nbsp;\").replace(/\"/g,\"&#34;\").replace(/'/g,\"&#39;\")}function initPreload(be){document.write=document.writeln=function(){};function K(){Cookie.set(\"ISSW\",\"1\",null,null,new Date(new Date().getTime()+300*1000))}if(bds&&bds.comm&&bds.comm.query==\"clearissw\"){Cookie.clear(\"ISSW\")}(function(){var bs=$.Deferred();bds.comm.registerUnloadHandler=function(bt){bs.done(bt)};bds.comm.resolveUnloadHandler=function(){bs.resolve();bs=$.Deferred()}})();function a9(bs){if(bs&&typeof bs==\"string\"){bs=$.parseJSON(bs)}if(bs&&bs.length){$.each(bs,function(bu,bv){if(bv.indexOf(bh.protocol)===0){var bt=new Image();bt.src=bv}})}}function a5(bs){return $.trim(bs).replace(/\\s+/g,\" \")}function aA(bu){if(typeof bu==\"string\"){var bs,bt=0;for(bs=0;bs<bu.length;bs++){bt+=bu.charCodeAt(bs)\n}return bt}return 0}function bp(bx){var bs={};var bw,bt,bz,bu;if(bx.indexOf(\"?\")>-1){bz=bx.split(\"?\");bu=bz[1]}else{bu=bx}if(bu.indexOf(\"&\")>-1){bw=bu.split(\"&\")}else{bw=new Array(bu)}for(var bv=0;bv<bw.length;bv++){try{bw[bv]=bw[bv].indexOf(\"=\")>-1?bw[bv]:bw[bv]+\"=\";bt=bw[bv].split(\"=\");bs[bt[0]]=decodeURIComponent(bt[1].replace(/\\+/g,\" \"))}catch(by){}}return bs}window.b_rec=function(bu){var bs;if(bu){bs=navigator.userAgent}else{try{bs=(window.external&&window.external.twGetRunPath)?window.external.twGetRunPath():\"\"}catch(bt){bs=\"\"}}bs=bs.replace(/:/,\"~\").replace(/\\t/,\"`\");return bs};window.scr_rec=function(){var bs=\"\";try{bs+=[document.body.clientWidth,document.body.clientHeight,window.screenTop,window.screenLeft,window.screen.height,window.screen.width].join(\"_\")}catch(bt){}return bs};window.reh_rec=function(){var bu=[],bs=[];try{$(\"#content_left\").children(\".result,.result-op\").each(function(bv,bw){bu.push($(bw).height())})}catch(bt){}try{$(\"#con-ar\").children(\".result,.result-op\").each(function(bv,bw){bs.push($(bw).height())\n})}catch(bt){}return bu.join(\"_\")+\"|\"+bs.join(\"_\")};window.onerror=function(){if(window.console&&console.debug){console.debug(arguments)}bds.comm.jserror=Array.prototype.slice.call(arguments).join(\"\\t\");aE(bds.comm.jserror)};window.hash=function(bt,bs){if(!bt){return}if(bt&&!bs&&ad){return ad.p(bt)}if(bt&&bs&&ad){ad.p(bt,bs);bh.href=ad.buildSearchUrl()}};var aq,aJ,ae,aZ,p,br=false;var bn;function u(bs){function bt(bA,by){if(document.all){$(\"style[data-for='result']\").get(0).styleSheet.cssText+=bA}else{var bz=document.createElement(\"style\");bz.type=\"text/css\";bz.appendChild(document.createTextNode(bA));bz.setAttribute(\"data-for\",\"result\");document.getElementsByTagName(\"HEAD\")[0].appendChild(bz)}}if(!br){var bs=$.extend({top:93,\"z-index\":300},bs);var bx=$(window).height();if(!aq){aq=$(\"<div id='_mask'/>\")}aq.css({filter:\"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)\",opacity:0.3,position:\"absolute\",background:\"#fff\",\"z-index\":bs[\"z-index\"],top:bs.top+\"px\",left:\"0\"});br=true;aq.width(B.width());\naq.height(Math.max(bx,B.height())-bs.top);aq.appendTo(B);var bu=$(window).scrollTop();function bw(){aq.css({filter:\"progid:DXImageTransform.Microsoft.Alpha(Opacity=95)\",opacity:0.95});if(!aJ){bt(\".slowmsg{z-index:301;background-color:#fff;border:1px solid #f0f0f0;position:fixed;_position:absolute;top:144px;left:212px;height:95px;width:360px;box-shadow:0 0 5px rgba(0,0,0,0.05)}.slowmsg .ball{width:40px;margin:41px auto 0;position:relative;}.slowmsg .b{left:20px;position:absolute;width:10px;height:10px;-moz-border-radius: 50%;-webkit-border-radius: 50%;border-radius: 50%;}\");aJ=$('<div class=\"slowmsg\"><div class=\"ball\"><div class=\"b\"/><div class=\"b\"/><div class=\"b\"/></div></div>');aJ.find(\".b\").each(function(bB,bD){var by=[[0,40],[20,20],[40,0]][bB];var bA=[\"rgb(55,137,250)\",\"rgb(99,99,99)\",\"rgb(235,67,70)\"];var bC=0;$(bD).css({\"background-color\":bA[bB]});(function bz(){if(!ae){setTimeout(bz,400);return}$(bD).animate({left:by[bC%2]},{duration:800,easing:\"swing\",progress:function(bF,bE){if(bE>=0.5){$(bD).css({\"background-color\":bA[(bC+bB)%3]})\n}},complete:function(){bz()}});bC++})()})}aJ.appendTo(B);ns_c({pj_name:\"loading_msg\"})}function bv(){var by,bz=new Date().getTime();Cookie.set(\"rsv_jmp_slow\",bz);Cookie.set(\"WWW_ST\",bz,null,null,new Date(bz+30000));by=bh.href+(bh.href.indexOf(\"?\")>0?\"&\":\"?\")+\"rsv_jmp=slow\";bh.replace(by)}if(!window.__sam_noloading){ae=setTimeout(bw,3000);p=setTimeout(bv,7000)}bn=function(){if(ae){clearTimeout(ae);ae=setTimeout(bw,3000)}if(p){clearTimeout(p);p=setTimeout(bv,7000)}}}}function aT(){if(aq&&br){br=false;aq.remove();if(aJ){aJ.remove()}if(ae){clearTimeout(ae);ae=false}if(aZ){aZ.remove()}if(p){clearTimeout(p);p=false}}}function q(bs,bv,bt){bt||(bt=0);var bu=bs.length;if(bt<0){bt=bu+bt}for(;bt<bu;bt++){if(bs[bt]===bv){return bt}}return -1}(function(){var bs=$.globalEval;$.globalEval=function(bt){var bv=new Date().getTime();try{bs.apply($,arguments)}catch(bu){}if(new Date().getTime()-bv>500){}}})();if(bds.comm.isDebug){$('<style data-for=\"debug\">#debug{display:none!important;}</style>').appendTo(\"head\");\n$('<div id=\"debug\" style=\"display:block;position:absolute;top:30px;right:30px;border:1px solid;padding:5px 10px;z-index:10000\"></div>').appendTo(\"#wrapper\");$(window).on(\"swap_end\",function(bw,bt){if(bt){var bs=$(\"#isDebugInfo\");if(!bs.size()){bs=$('<div id=\"isDebugInfo\"></div>').appendTo(\"#debug\")}bs.html(bt.html.find(\"#__isDebugInfo\").html());var bv=\"<table>\";for(var bu in bt.log){if(bt.log.hasOwnProperty(bu)){bv+=\"<tr><td>\"+bu+\"</td><td>\"+encodeURIComponent(bt.log[bu])+\"</td></tr>\"}}bv+=\"</table>\";$(\"#debug\").html(bv)}})}function N(bw,bv,bx){var bu=bv.find(\"script:not([src])\"),bt=0;var bs=$.globalEval;$.globalEval=function(by){window.currentScriptElem=bu[bt];bt++;try{bs.apply($,arguments)}catch(bz){if(window.console&&console.debug){console.debug(by);console.debug(bz)}}};if(bx==\"insertBefore\"){bv.insertBefore(bw)}else{bw.append(bv)}window.currentScriptElem=undefined;$.globalEval=bs}function bk(bs){try{bs()}catch(bt){if(window.console&&console.debug){console.debug(bt)}aE(bt.toString())\n}}var aE=(function(){var bs;return function(bt){if(bds.comm.isDebug){alert(bt)}if(bds&&bds.comm&&bds.comm.js_error_monitor){bs=new Image();bs.src=bds.comm.js_error_monitor+\"?\"+$.param({url:bh.href,time:bds.comm.serverTime,explore:navigator.userAgent,info:bt,info_type:1})}}})();window.setSugKey=function(bs){if(a&&bs){if(o&&o.setKey){o.setKey(bs)}else{a.val(bs)}}};window.getCursortPosition=function(bu){var bt=0;if(document.selection){var bs=document.selection.createRange();bs.moveStart(\"character\",-bu.value.length);bt=bs.text.length}else{if(bu.selectionStart||bu.selectionStart==\"0\"){bt=bu.selectionStart}}return(bt)};if(bds.comm.flagTranslateResult){$(\"#wrapper_wrapper\").delegate(\".result\",\"mouseenter\",function(){$(\".c-fanyi\",$(this)).show()});$(\"#wrapper_wrapper\").delegate(\".result\",\"mouseleave\",function(){$(\".c-fanyi\",$(this)).hide()});$(\"#wrapper_wrapper\").delegate(\".result .c-fanyi\",\"click\",function(){var bw=$(this).closest(\".result\"),bt=$(\"h3 a:first\",bw),bu=$(\".c-abstract:first\",bw),bs=$(\".c-fanyi-abstract\",bw).val(0).html(),bv=$(\".c-fanyi-title\",bw).val(0).html();\n$(\".c-fanyi-abstract\",bw).val(0).html(bu.html());$(\".c-fanyi-title\",bw).val(0).html(bt.html());bt.html(bv);bu.html(bs)})}var ar={use_cache_repeatedly:true,index_form:\"#form\",kw:\"#kw\",result_form:\"#form\"};if(be){$.extend(ar,be)}var a4=15;var bo=60000;if(window.__sam_short_cachetime){bo=30000}var aY=window.__confirm_timeout?window.__confirm_timeout:10000;var f=!bds.comm.supportis?10:4;var n=(function(){var bs=[];function bt(bu){if(typeof bu!=\"object\"||bu==null){return}if(bu.xhr&&bu.xhr.abort){bu.xhr.abort()}if(bu.base64){bu.base64.destroy()}if(bu.pdc){bu.pdc.destroy()}if(bu.backspace_preload_timeout_id){clearTimeout(bu.backspace_preload_timeout_id)}delete bu.xhr;delete bu.html}return{find:function(bu){return $.grep(bs,bu)},getCacheList:function(){var bu=$.map(bs,function(bv){if(bv&&(new Date().getTime()-bv.startTime>bo)){return false}else{return bv.querySign}});bu=$.grep(bu,function(bv){return !!bv});return bu.join(\"\\t\")},hasCache:function(bw,bv){if(!bv){bv={}}var bu=bx(bw);if(bu&&(new Date().getTime()-bu.startTime>bo)){this.deleteCache(bu);\nbu=null}return bu;function bx(by){var bz,bA;bA=by.p(\"wd\");if(!bA){return false}$.grep(bs,function(bB){if(bv.loaded&&!bB.loaded){return false}if(bB.real_wd?(by.equals(bB.env.clone({wd:bB.real_wd}))):(by.equals(bB.env))){bz=bB}});if(bz){return bz}return null}},shouldShow:function(bu){if(bu.force){return true}if(!bu.shouldShow&&!bu.force&&bu.no_predict){return false}var bv=a5(a.val());if(!bv||(az&&bu.env.equals(az.env))){return false}if(bu.env.p(\"wd\").indexOf(bv)==0){return true}if(bu.real_wd.indexOf(bv)==0){return true}return false},getCacheBySign:function(bv){var bu=false;$.each(bs,function(bx,bw){if(!bu&&bw.loaded&&bw.querySign==bv&&(!bw.env.p(\"pn\")||bw.env.p(\"pn\")==0)){bu=bw}});return bu},addCache:function(bu){if(q(bs,bu)!=-1){return}if(bu.env.p(\"srcid\")||bu.env.p(\"cq\")){return}bs.unshift(bu);while(bs.length>a4){bt(bs.pop())}},deleteCache:function(bu){bt(bu);bs=$.grep(bs,function(bv){return bv!==bu})},deleteCacheByEnv:function(bu){bs=$.grep(bs,function(bw){var bv=bw.env.equals(bw.env);\nif(bv){bt(bw)}return !bv})},clearCache:function(){bs=$.grep(bs,function(bv,bu){if(bu!==az){bt(bu);return false}else{return true}});bs=[]}}})();var bh=document.location;var av={onurlchange:function(){}};(function(){var bw=\"onhashchange\" in window;var bt=\"onpopstate\" in window;if(window.__disable_popstate){bt=false}var by=bh.pathname.length>1?bh.pathname:\"/s\";if(navigator.userAgent.match(/MSIE (6|7)/)||document.documentMode<8){bw=false;bt=false}if(ar.disable_popstate){bt=false}if(!bw&&!bt){K()}function bv(){var bC=bh.href.match(/#+(.*)$/);return bC?bC[1].replace(/\\+/g,\"%2B\"):\"\"}var bs=(function(){var bD=\"\",bC;return function(bF,bE){if(bE){bD=bE.buildQueryString();bh.hash=bD}if(bF||bD!=bv()){bx(bF);bD=bv()}}})();av.setUrl=function(bC){if(bt){bu(false,bC)}else{if(bw){bs(false,bC)}}};function bz(){var bC=bh.href.match(/\\?([^#]+)/);return bC?bC[1].replace(/\\?/g,\"&\"):\"\"}function bB(bF,bC){var bE=\"\";if(window._thirdLinkSpeed===\"1\"){bE=\"&qid=\"+bds.comm.queryId}if(window._bdlksmp>0){bE=\"&bdlksmp=\"+window._bdlksmp\n}if(window._eclipse===\"1\"&&/^\\/link\\?/.test(bC)){return\"wd=&eqid=\"+bds.comm.eqid+bA([\"pn\",\"rn\",\"ie\"],bF)+bE}var bD=new W(bp(bF));if(bD.p(\"wd\")){return bD.buildQueryString().replace(/&rsv[^=]*=[^&]*/g,\"\").replace(/[^a-zA-Z0-9]url=/g,\"\")+bE}}function bA(bE,bG){var bF=\"\",bD=bp(bG);for(var bC in bE){if(bD.hasOwnProperty(bC)){bF+=\"&\"+encodeURIComponent(bD[bC])}}return bF}function bx(bC){var bD=new W(bp(av.getQueryString()),true);if(!bD.hashCode()){if(pageState!=0){bh.replace(bh.pathname+bh.search.replace(/([?&])isidx=[^&*]&?/,\"$1\"))}else{if(bh.search!=bh.search.replace(/([?&])isidx=[^&*]&?/,\"$1\")){bh.replace(bh.pathname+bh.search.replace(/([?&])isidx=[^&*]&?/,\"$1\"))}}}else{if(pageState==0){ay(bD)}}av.onurlchange(bD,bC)}var bu=(function(){var bC=bz(),bD;return function(bF,bE){if(bE){bC=bE.buildQueryString();window.history.pushState(bE,\"\",bE.buildSyncSearchUrl())}if(bF||bC!=bz()){bx(bF);bC=bz()}else{aT()}}})();av.getQueryString=function(){if(bt){return bz()}else{if(/wd=/.test(bv())){return bv()\n}else{return bz()}}};av.init=function(){if(bt){(function(){var bD=bh.href;var bE=false;$(window).on(\"swap_begin\",function(){bE=true});$(window).bind(\"popstate\",function(){if(bE||!bD||bD!=bh.href){bu()}bD=null});$(window).bind(\"hashchange\",function(){var bF=bv();if(/wd=/.test(bF)){bh.replace(by+\"?\"+bF)}})})()}else{if(bw){$(window).bind(\"hashchange\",function(){bs()});$(function(){bs()})}}var bC=bv();if(/wd=/.test(bC)){if(bt){window.history.replaceState(null,\"\",by+\"?\"+bC);bu()}else{if(bw){bs()}else{bh.replace(by+\"?\"+bC)}}}};av.support=function(){return(bt||bw)&&Cookie.get(\"ISSW\")!=1&&!window.__disable_preload};av.getLinkParams=function(bD){if(!bt){var bC=bv();if(bC==\"\"){bC=bz()}return bB(bC,bD)}if(bh.protocol===\"https:\"||window._eclipse===\"1\"){var bE=bz();if(!bE){bE=bv()}return bB(bE,bD)}return false};av.clickResultLink=function(bC,bE,bD){if(bt){window.history.pushState(null,\"\",new W(bD,true).buildSyncSearchUrl());bu();return false}else{bC.attr(\"href\",bE.buildSearchUrl(bD)).attr(\"target\",\"_self\")\n}};av.submit=function(bD,bC){setTimeout(function(){if(bt){window.history.pushState(bD,\"\",bD.buildSyncSearchUrl());bu(bC)}else{if(bw){bh.href=bD.buildSearchUrl();bs(bC)}else{bh.href=bD.buildSyncSearchUrl()}}},0)};window.changeUrl=function(bD){var bC=new W(bp(bD));av.submit(bC,true)}})();av.onurlchange=function(bu,bt){Y.done(function(){a1.setKey(bu.p(\"wd\"));a1.hide()});aX=new Date().getTime();a.val(bu.p(\"wd\"));a2(\"\");var bs=true;if(bt&&az&&az.env&&az.env.equals(bu)){bs=false}w({env:bu,force:true,use_cache:bs,no_predict:true})};var ax=ar.disable?ar.disable:false;if(window.__disable_preload){ax=true}var T=ax;var F=false;if(window.__disable_predict){F=true}var bg=F;var m=200;var a7=250;var aN=2000;var aU=100;var aG=800;var aS=bds.comm.switchAddMask?bds.comm.switchAddMask:false;if(!aS){aS=window.__switch_add_mask?window.__switch_add_mask:false}aS=true;var k=bds.comm.preloadMouseMoveDistance?bds.comm.preloadMouseMoveDistance:5;var d=300,b=50,z=80;var E=0;var aK=function(){};var au=bp(bh.search);\nif(!av.support()){!function(){function bs(){bh.hash&&bh.hash.match(/[^a-zA-Z0-9](wd|word)=/)&&bh.replace(\"//www.baidu.com/s?\"+bh.href.match(/#(.*)$/)[1])}bh.hash.match(/[^a-zA-Z0-9](wd|word)=/)?(bh.replace(\"//www.baidu.com/s?\"+bh.href.match(/#(.*)$/)[1]),(function(){throw new Error(\"redirect to sync\")})()):(document.getElementById(\"wrapper\").style.display=\"block\",\"onhashchange\" in window?window.onhashchange=bs:setInterval(bs,200))}();T=ax=true}var M=Cookie.get(\"BAIDUID\",\"nobdid\").split(\":\")[0];var aF=M.substr(0,6)+M.substr(M.length-5,5)+parseInt(Math.random()*99999);while(aF.length<16){aF+=\"0\"}aF=encodeURIComponent(aF);var aw,bl,bi,g,a,ac,bc;bi=g=a=$(ar.kw);var aX;var aa,ao,V,a0,ab,aL;var ak=$(\"#wrapper_wrapper\");var bb=[];var Q=window.__async_strategy;aw=$(ar.index_form);if(aw.attr(\"target\")==\"_blank\"){window.__disable_index_predict=true;T=ax=true}var bf=aw.serializeArray();bl=$(ar.result_form);var a3=new Date().getTime();function W(bw,bz){if(!W.__init){W.__init=true;var by=[\"wd\",\"pn\",\"nojc\",\"cl\",\"cq\",\"srcid\",\"gpc\",\"tfflag\",\"si\",\"sl_lang\"];\nvar bu=[\"wd\",\"cl\",\"ct\",\"tn\",\"rn\",\"ie\",\"f\",\"lm\",\"si\",\"gpc\",\"tfflag\",\"usm\",\"z\",\"ch\",\"sts\",\"vit\",\"dsp\",\"trh\",\"trb\",\"tre\",\"la\",\"lo\",\"st\",\"nojc\",\"haobd\",\"rtt\",\"bsst\",\"gvideo\",\"__eis\",\"__eist\",\"oq\",\"fenlei\",\"sid\",\"rsv_idx\",\"rsv_stat\",\"rsv_bp\"];var bv=[\"w\",\"word\"];W.prototype.clone=function(bB){var bC=new W(bx(this.params));if(typeof bB==\"object\"){for(var bA in bB){if(bB.hasOwnProperty(bA)&&q(bu,bA)>=0){bC.p(bA,bB[bA])}}}return bC};W.prototype.h=function(bB){this.header_params=this.header_params||{};for(var bA in bB){this.header_params[bA]=bB[bA]}return this};W.prototype.buildHeaders=function(bC){if(bC){this.setHeader(bC)}var bF={};for(var bB in this.header_params){if(typeof this.header_params[bB]==\"object\"){var bE=[];for(var bD in this.header_params[bB]){var bA=this.header_params[bB][bD];if(bA instanceof Array){bA=bA.join(\"|\")}bE.push(bD+\"=\"+bA)}bF[bB]=bE.join(\"&\")}else{bF[bB]=this.header_params[bB]}}return bF};W.prototype.buildSearchUrl=function(bA){return bh.protocol+\"//\"+bh.host+bh.pathname+bh.search+\"#\"+this.buildQueryString(bA)\n};W.prototype.buildSyncSearchUrl=function(bA){return bh.protocol+\"//\"+bh.host+\"/s?\"+this.buildQueryString(bA)};W.prototype.buildQueryString=function(bC){var bB=bx(this.params);if(typeof bC==\"object\"){for(var bA in bC){if(bC.hasOwnProperty(bA)){bB[bA]=bC[bA]}}}var bD=\"\";bB.wd=$.limitWd(bB.wd);for(param in bB){if(param&&bB.hasOwnProperty(param)&&bB[param]!==\"\"){bD+=param+\"=\"+encodeURIComponent(bB[param]).replace(/'/g,\"%27\")+\"&\"}}return bD.substr(0,bD.length-1)};W.prototype.equals=function(bB){if(!bB||!bB.p){return false}for(var bC=0;bC<by.length;bC++){var bA=by[bC];if(bA==\"pn\"){var bE=this.p(bA)?this.p(bA):\"0\";var bD=bB.p(bA)?bB.p(bA):\"0\";if(bE!=bD){return false}}else{if(this.p(bA)!=bB.p(bA)){return false}}}return true};W.prototype.p=function(bB,bA){if(q(bv,bB)>=0){bB=\"wd\"}if(bA===undefined){return this.params[bB]}this.params[bB]=bA;return this};W.prototype.hashCode=function(){var bB=[];if(!this.p(\"wd\")){return\"\"}for(var bC=0;bC<by.length;bC++){var bA=by[bC];if(bA==\"pn\"&&!this.p(bA)){bB.push(\"0\")\n}else{bB.push(this.p(bA))}}return bB.join(\"\\t\")};W.prototype.filterOtherParams=function(){for(var bA in this.params){if(this.params.hasOwnProperty(bA)&&q(bu,bA)<0){delete this.params[bA]}}};W.prototype.wdSameName=function(){var bA;for(bA=0;bA<bv.length;bA++){if(this.params&&this.params[bv[bA]]){this.params.wd=this.params[bv[bA]];delete this.params[bv[bA]]}}}}this.params={};if(!bz){bf=aw.serializeArray();for(var bt=0;bt<bf.length;bt++){if(!this.p(bf[bt].name)){this.p(bf[bt].name,bf[bt].value)}}}if(typeof bw==\"object\"){for(var bs in bw){if(bw.hasOwnProperty(bs)){this.p(bs,bw[bs])}}}this.wdSameName();function bx(bB){if(typeof bB==\"object\"){var bA={};for(bs in bB){if(bB.hasOwnProperty(bs)){bA[bs]=bB[bs]}}}else{bA=bB}return bA}}window.pageState=0;var ad=null;var az=null;var ba=document.location.href;var at=false;var a1,aO,o;var Y=$.ajax({dataType:\"script\",cache:true,url:(window._is_sugicon_hot===true||window._is_sugicon_none===true||window._is_sugempty_sam===true||window._is_sugemptyhot_sam===true||window._is_sugemptymulti_sam===true)?\"https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/sug/js/bdsug_async_sam_sug_1_6736d47c.js\":bds.comm.logFlagSug===1?\"https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/sug/js/bdsug_async_sam_sug_7179fcb9.js\":window._is_pc_direct_sam?\"https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/sug/js/bdsug_input_event_pc_direct_110b35cf.js\":\"https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/sug/js/bdsug_async_878f6eee.js\"});\nvar ap;var s=\"focus\";var P;(function(){window.PDC_ASYNC={setParam:function(bu,bv){if(az&&az.pdc){az.pdc.setParam(bu,bv)}},setLinkData:function(bu,bv){bs[bu]=bv},sendLinkLog:function(){var bx=\"//www.baidu.com/nocache/fesplg/s.gif?log_type=linksp\",by=\"\";by+=\"&link_t=\"+(new Date().getTime()-bs.click_t)+\"&query=\"+bds.comm.queryEnc+\"&qid=\"+bds.comm.queryId+\"&linkpreload=\"+bs.linkpreload;var bw=Math.random();if(bw<0.01){var bu=new Image(),bv=\"LINK_IMG_\"+(new Date());window[bv]=bu;bu.onload=function(){delete window[bv]};bu.src=bx+by}}};var bt=window.PDC_ASYNC.log={};var bs={};window.bds&&(bds.pdc=window.PDC_ASYNC)})();function aH(bO){var bH={product_id:45,page_id:317,page_type:0},bw={},bS={st:0,pt:0,net:0,dom:0,fs:0},bL=[],bt=$.Callbacks(),bu={},bA=null,bx=null,by=600;function bD(bT){if(typeof bT===\"string\"){bS[bT]=Date.now?Date.now():+new Date()}}function bM(bT,bU){if(typeof bT===\"string\"){bw[bT]=bU}}function bF(){bw.cus_net=bS.net>bS.st&&bS.net-bS.st-bw.cus_srv>0?bS.net-bS.st-bw.cus_srv:1;bw.cus_tti2=bS.dom>bS.st?bS.dom-bS.st:1;\nbw.cus_frdom=bS.dom-bS.pt;bw.cus_fs=bS.fs>bS.st?bS.fs-bS.st:bw.cus_tti2;bw.cus_frext=bw.cus_fs-bw.cus_tti2}function bE(bU){var bV=\"\";for(var bT in bU){if(bT&&bU.hasOwnProperty(bT)&&bU[bT]!==\"\"){bV+=\"&\"+bT+\"=\"+encodeURIComponent(bU[bT])}}return bV}function bK(bU){var bU=[];for(var bV in bu){bU.push(bu[bV])}var bT=bA=$.when.apply($,bU);bA.always(function(){if(bT!==bA){return}bP()})}function bJ(){var bU=Array.apply(null,arguments);if(!bU.length>0){return}for(var bT=0;bT<bU.length;bT++){bu[bU[bT]]=$.Deferred()}}function bB(){bM(\"qid\",bO.qid);bM(\"cus_q\",(bO.real_wd||bO.env.p(\"wd\")));bM(\"sid\",bds.comm.sid);bM(\"cus_newindex\",bds.comm.newindex);bM(\"supportis\",bds.comm.supportis)}function bR(){bO=null;bx=null}function bG(bT){bu[bT].resolve();if(bT==\"swap_end\"){setTimeout(function(){bG(\"swap_end_5s\")},5000)}}function bz(){bJ(\"swap_end\",\"swap_end_5s\");if(bds.comm.supportis||!window._async_merge){bJ(\"confirm\")}bK()}function bN(){bz();bS.st=0;bS.fs=0;bS.dom=0}function bP(){var bX=Math.random(),bZ=/13549|13551|13686|13687|13701|13702|13156|13157|13831|13832|13514|13515|14524|14525|16527|16528|16529|16530|16531|16532|14601|14602|14603|16599|16600|16601/,bT=bX>0.51&&bX<0.52;\nif(((bX>0.51&&bX<0.52)||(bZ.test(bds.comm.sid)&&(bX>0&&bX<0.2))||bds.comm.intrSid)){if(bZ.test(bds.comm.sid)){if(!bT){bM(\"issam\",1)}else{bM(\"issam\",2)}}bF();bC(bx);bv(bx);bM(\"srvInfo\",bI());bM(\"sysv\",navigator.appMinorVersion);bB();bt.fire();var bY=\"//www.baidu.com/nocache/fesplg/s.gif?log_type=sp\",b0=\"\";b0+=bE(bH)+bE(bw);var bV=bY+b0,bU=new Image(),bW=\"_LOG_\"+new Date().getTime();bU.onload=function(){delete window[bW]};window[bW]=bU;bU.src=bV}}function bs(bT){bx=bT;bT.find(\"img\").one(\"load\",function(){var bY=$(this).offset(),bW=bY.top,bX=bY.left,bV=\"\";if(bW<by&&bW>0){bD(\"fs\");var bU=bS.fs-bS.dom;bL.push(bW+\"_\"+bX+\"_\"+bU);if($(this).attr(\"data-src\")||/^http/.test($(this).attr(\"src\"))){bV=$(this).attr(\"data-src\")||$(this).attr(\"src\")}else{bV=\"base64\"}bM(\"ic_lis\",bV)}})}function bI(){var bW=$.parseJSON(bds.comm.speedInfo),bT=\"\",bV=[],bZ,bY;for(var bX in bW){bZ=bW[bX];bY=bZ.ModuleId+\"_\"+bZ.TimeCost+\"_\"+bZ.TimeSelf+\"_\"+bZ.Idc;if(bZ.hasOwnProperty(\"SubProcess\")){for(var bU in bZ.SubProcess){bY+=\",\"+bZ.SubProcess[bU].ProcessId+\"_\"+bZ.SubProcess[bU].TimeCost+\"_\"+bZ.SubProcess[bU].isHitCache+\"_\"+bZ.SubProcess[bU].Idc\n}}bV.push(bY)}return encodeURIComponent(bV.join(\"|\"))}function bC(bU){var bZ=0,bY=bU.find(\"img\"),bX=bU.find(\"#content_left\").find(\"img\"),b0=0,bT=0,bW=0;for(var bV=0;bV<bY.length;bV++){bW=bY.eq(bV).offset().top;if(bW<by&&bW>0){bZ++}}bM(\"cus_ic\",bY.length);bM(\"cus_extic\",bZ);bM(\"cus_extlic\",b0);bM(\"cus_icl\",bX.length);bM(\"cus_icr\",bU.find(\"#content_right\").find(\"img\").length);bM(\"img_info\",bL.join(\",\"));bM(\"psize\",bU.html().length)}function bv(bT){var bY={},bX=[],bW=bT.find(\"#content_left,#con-ar\").children(\"*[tpl]\"),bU=\"\";if(bW.length>0){for(var bV=0;bV<bW.length;bV++){bU=bW.eq(bV).attr(\"tpl\");if(!bY.hasOwnProperty(bU)){bY[bU]=1;bX.push(bU)}}}if(bX.length>0){bM(\"tplp\",bX.join(\"|\"))}}function bQ(bT){bt.add(bT)}bz();return{trigger:bG,mark:bD,setParam:bM,onSendlog:bQ,bindImgLoad:bs,destroy:bR,init:bN}}var aM=(function(bw){function bu(){if(by!=1,(by=1,bA()),by==1){var bD=new Date(),bE=false,bF=function(){var bI=new Date(),bG=bI-bD-bw,bH=bv();0>bG&&(bG=0);if(!bH&&!bE){bs[bB]=bG;bB=(bB+1)%20}bE=bH;\n1==by&&(bD=bI,bt=setTimeout(bF,bw))};bt=setTimeout(bF,bw)}}function bA(){window.clearTimeout(bt)}function bv(){var bE=[\"webkit\",\"moz\",\"ms\",\"o\"];if(\"hidden\" in document){return document.hidden}for(var bD=0;bD<bE.length;bD++){if(bE[bD]+\"Hidden\" in document){return document[bE[bD]+\"Hidden\"]}}return false}function bz(){bs.slice(bB).concat(bs.slice(0,bB))}function bC(bN){try{var bJ=0,bM=Math.max.apply(null,bN);var bO=10,bF=60,bE=4,bL=40;var bH=Cookie.get(\"ispeed_lsm\"),bD=0,bQ=new Date(),bI=0;bQ.setTime(bQ.getTime()+30*86400000);for(var bG=0;bG<bN.length;bG++){var bP=bN[bG];bJ+=bP}bJ=Math.round(bJ/bN.length);if(bM>1000||bJ>150){bD=bH?parseInt(bH):0;if(bD>=bL-bO&&bD<bL){bI=1;Cookie.set(\"ispeed\",2,document.domain,\"/\",bQ)}if(bD<bF){bD=bD+bO>bF?bF:bD+bO;Cookie.set(\"ispeed_lsm\",bD,document.domain,\"/\",bQ)}}else{if(bH&&parseInt(bH)>bL){bE=5}if(bH&&parseInt(bH)>=bE){if(parseInt(bH)<=bL+bE&&parseInt(bH)>bL){bI=2;Cookie.set(\"ispeed\",1,document.domain,\"/\",bQ)}bD=parseInt(bH)-bE;Cookie.set(\"ispeed_lsm\",bD,document.domain,\"/\",bQ)\n}}return bI}catch(bK){}return 0}function bx(){if(Cookie.get(\"ispeed\")&&UPS.get(\"isSwitch\")==1){return parseInt(Cookie.get(\"ispeed\"))==2?true:false}return false}var bs=[],bB=0,by=0,bt=false,bw=bw||250;return{start:bu,stop:function(){window.clearTimeout(bt);by=0},getData:function(){return bs.slice(bB).concat(bs.slice(0,bB))},isSlow:bx,monitor:bC}})();if(bds.comm.supportis&&UPS.get(\"isSwitch\")==1){aM.start()}var U;Y.done(function(){a1=aO=o=bds.se.sug({maxNum:10,withoutRich:bds.comm.supportis,withoutZhixin:true,form:bl[0],ipt:a[0],cbname:\"bdsugresultcb\",submission:aI});a.keydown(function(bu){var bv=getCursortPosition(this);if((bu.keyCode==9||(bu.keyCode==39&&bv==this.value.length))&&bds.comm.supportis&&az&&ac.text()){bu.preventDefault();if(az.real_wd!=this.value){a.val(az.real_wd);a1.check()}a1.show();a2(\"\");x(az,at,22)({tipConfirm:true})}});a1.on(\"start\",function(){s=\"focus\"});$(window).on(\"blur\",function(){a1.hide()});$(document).on(\"click\",function(bu){if(bu.isTrigger==2||bu.isTrigger==3){return false\n}a1.hide()});var bs,bt;a1.on(\"inputChange\",function(bz,by){if(!bs){bs=a.val()}a2(\"\");a8();clearTimeout(U);if((pageState==0&&window.__disable_index_predict)||ax||F||aM.isSlow()){a1.setMaxNum(10);return}a1.setMaxNum(f);var bA=new W({pn:\"\",wd:by.value});if(bds&&bds.comm&&bds.comm.logFlagSug&&bds.comm.logFlagSug===1){bA.p(\"rsv_slog\",\"ipt_change\")}if(pageState==0&&bds.comm.supportis&&$.trim(a.val())){ay(bA);var bx=$(\"<div id='ent_sug'>请按“回车”键发起检索</div>\").insertBefore(\"#head\");$(window).one(\"swap_begin\",function(){bx.remove()})}if(P){P=false;return}if(window.__restart_confirm_timeout){am()}s=\"input\";aX=new Date().getTime();if(bt){clearTimeout(bt);bt=false}if($.trim(by.value)==\"\"){i();return}ap=by.checkStore();if(!/^[a-zA-Z0-9~!@#$%^&*()_+=-]$/.test(by.value)){var bv=a.val();var bu=by.imt.getLog();if(bu.length>0){if(bu[bu.length-1].type.indexOf(\"link\")>-1){bA.p(\"_sglink\",\"1\")}}var bw=by.imt.diffLog();if(bw&&bw.length>1){bw=bw.slice(-3*5).join(\".\");bA.h({is_params:{imes:encodeURIComponent(bw)}})\n}if(!window.__disable_is2&&bs.length>bv.length&&bs.indexOf(bv)===0){bt=setTimeout(function(){w({env:bA,use_cache:true,force:false,pstg:5,shouldShow:bds.comm.supportis});bt=false},250)}else{w({env:bA,use_cache:true,force:false,pstg:5,shouldShow:bds.comm.supportis})}}bs=bv});a1.on(\"selectSug\",function(by,bx,bw,bv){a2(\"\");clearTimeout(U);if((pageState==0&&window.__disable_index_predict)||ax||F||aM.isSlow()){return}if(bw==-1){if(az){a1.setVisibleSug(az.real_wd)}var bz=new W({pn:\"\",wd:bx.value});if(bds&&bds.comm&&bds.comm.logFlagSug&&bds.comm.logFlagSug===1){bz.p(\"rsv_slog\",\"sug_select\")}w({env:bz,use_cache:true,force:false,shouldShow:bds.comm.supportis,pstg:3})}else{a1.setVisibleSug();a2(\"\");var bz=new W({pn:\"\",wd:bv});if(bds&&bds.comm&&bds.comm.logFlagSug&&bds.comm.logFlagSug===1){bz.p(\"rsv_slog\",\"sug_select\")}var bu=(bx.stopRefresh)?false:(bds.comm.supportis);w({env:bz,force:false,use_cache:true,no_predict:true,shouldShow:bu,pstg:3})}});a1.on(\"render\",function(bv,bu){if(az){a1.setVisibleSug(az.real_wd)\n}});a1.on(\"dataReady\",function(bx,bw){var bv=bw&&bw.queryValue&&bw.dataCached&&bw.dataCached[bw.queryValue];if(bv&&bv.gl){for(var bu in bv.gl){if(bv.gl[bu]*1>0){var by=new W({pn:\"\",wd:bv.s[bu]});w({env:by,force:false,use_cache:true,no_predict:true,shouldShow:false,pstg:7})}}}});if(pageState==0){a1.start()}});function aQ(bs,bt){if(bs){bt=$.extend(bs.log,bt)}}function aV(){if(bds.comm.seinfo){bds.comm.seinfo.rsv_pre=encodeURIComponent(D());bds.comm.seinfo.rsv_reh=reh_rec();bds.comm.seinfo.rsv_scr=scr_rec();var bt=null;if(bds&&bds.comm&&bds.comm.personalData){try{if(typeof bds.comm.personalData==\"string\"){bds.comm.personalData=$.parseJSON(bds.comm.personalData)}if(!bds.comm.personalData){bt=null}else{bt=bds.comm.personalData.fullSkinName&&bds.comm.personalData.fullSkinName.value}}catch(bu){bt=null}}if(bt){bds.comm.seinfo.rsv_skin=bt}bds.comm.seinfo.rsv_psid=$.getCookie(\"BIDUPSID\");bds.comm.seinfo.rsv_pstm=$.getCookie(\"PSTM\");bds.comm.seinfo.rsv_idc=(function(){var by=bds.comm.speedInfo||[];\ntry{by=$.parseJSON(by)}catch(bA){by=[]}for(var bz=0,bx=by.length;bz<bx;bz++){if(by[bz][\"ModuleId\"]==9540){return by[bz][\"Idc\"]||\"\"}}return\"\"})();c(bds.comm.seinfo);if(bds.comm._se_click_track_flag===\"ON\"){var bv=new Image(),bw=\"//www.baidu.com/s?wd=\"+bds.comm.queryEnc+\"&qid=\"+bds.comm.queryId+\"&lts=91\";bv.src=bw}}if(bds.comm.cgif){var bs=bds.comm.cgifimg=new Image();bs.src=bds.comm.cgif}(function(){var bC=Math.random(),bA=[],bB=function(bE,bG){var bD=$(bE),bI=\"\",bH;if(bE==\"link\"&&bD.attr(\"rel\")!=\"stylesheet\"){return}for(var bF=0;bF<bD.length;bF++){bH=bD.eq(bF);bI=bH.attr(bG);if(bz(bI)){bA.push(encodeURIComponent(bI))}}},bz=function(bD){if(/^http:\\/\\//.test(bD)){return true}return false},by=function(){var bF=\"//www.baidu.com/nocache/fesplg/s.gif?log_type=hm\",bG=\"\";bG+=\"&q=\"+bds.comm.query;bG+=\"&error=\"+bA.join(\",\");var bD=new Image(),bE=\"_HM_LOG_\"+new Date().getTime();bD.onload=function(){delete window[bE]};window[bE]=bD;bD.src=bF+bG},bx=function(){var bF=Math.floor(Math.random()*4);var bD={www:\"https://www.baidu.com/nocache/pdns/az.gif?t=\"+(+new Date()),cdn:\"https://ss\"+bF+\".baidu.com/6ONWsjip0QIZ8tyhnq/ps_default.gif?t=\"+(+new Date()),passport:\"https://passport.baidu.com/passApi/js/wrapper.js\",idc:\"https://sp\"+bF+\".baidu.com/htpoty.gif?t=\"+(+new Date())};\nvar bE=[],bH=[],bJ={};for(var bG in bD){(function(bN){var bM=\"_SSL_LOG_\"+bN+\"_\"+(+new Date()),bK=new Image(),bL=new Date();bJ[bN]=$.Deferred();bH.push(bJ[bN]);bK.onload=function(){bJ[bN].resolve();delete window[bM]};bK.onerror=function(){bJ[bN].resolve();bE.push(bN+\"_\"+bF+\"=\"+(new Date()-bL));delete window[bM]};bK.src=bD[bN]})(bG)}var bI=$.when.apply($,bH);bI.always(function(){var bM=\"//www.baidu.com/nocache/fesplg/s.gif?log_type=hm&type=ssl&\",bN=bE.join(\"&\");var bK=new Image(),bL=\"_HM_LOG_\"+new Date().getTime();bK.onload=function(){delete window[bL]};window[bL]=bK;bK.src=bM+bN})};if(bh.protocol===\"https:\"&&bC<0.03){bB(\"img\",\"src\");bB(\"script\",\"src\");bB(\"iframe\",\"src\");bB(\"link\",\"href\");if(bA.length>0){by()}}if(bh.protocol===\"http:\"&&bC<0.01){bx()}if(window.ctwin){window.ctwin.sendRequest(bh.href,{content_syns:1})}})()}function D(){return bb.length}var ah,H,bj,y;(function(){var bv;var bz=-1,by=0;var bt=-1,bw=-1,bs=-1,bu=-1;var bx=0;ah=function(bB){if(!bB){return}bs=bB.pageX;bu=bB.pageY;\nbv=bB.target;var bA=$(bB.target);if(bA.attr(\"type\")==\"submit\"){bx=1}var bC=bA.offset();bt=bs-bC.left;bw=bu-bC.top;by=new Date().getTime()};H=function(bA){if(!bA||bA.target!=bv){return}bz=new Date().getTime()-by};y=function(bB){if(bds&&bds.comm&&bds.comm.query){bB=bds.comm.query}var bA=bx+\".\"+bz+\".\"+bt+\".\"+bw+\".\"+bs+\".\"+bu;bA=aA(bA+bB)+\".\"+bA;return bA};bj=function(){bz=-1;by=0;bt=-1;bw=-1;bs=-1;bu=-1;bx=0};$(window).on(\"confirm\",function(){setTimeout(bj,0)})})();$(function(){$(\"#head\").delegate(\".index_tab_top>a,.index_tab_bottom>a,#u1>a,#u>a\",\"mousedown\",function(){if($(this).attr(\"name\")){return ns_c({fm:\"behs\",tab:$(this).attr(\"name\"),query:\"\",un:encodeURIComponent(bds.comm.user||\"\")})}})});$(document).delegate(\"a\",\"mousedown\",function(){x(az,at,22)()});function J(bs){$(document).delegate(\"a\",\"mousedown\",(function(){return function(){var bu=$(this);var bt=an(bu,bs)}})())}function an(bx,bw){var by=bw.prefix;var bs;var bt=bx.attr(\"href\");if(by&&bt&&bt.indexOf(by)==0){bt=bt.substring(by.length)\n}if(!by&&bt){var bu=bt.match(/^http:\\/\\/[^\\/]+/);if(bu){by=bu[0]}else{return}bt=bt.replace(/^http:\\/\\/[^\\/]+/,\"\")}if(bt){bs=bt.match(/^\\/*(link|baidu.php)\\?(.*)$/);bs=bt.match(bw.regex)}if(bs&&bs[2]&&bs[2].match(/&(wd|word)=/)){return}if(bt&&bs){if(bw.convertTable&&bw.convertTable[bs[1]]){bs[1]=bw.convertTable[bs[1]]}var bv=av.getLinkParams(bt);if(bv){if(bh.protocol===\"https:\"&&/Chrome/.test(navigator.userAgent)){by=by.replace(/^http:\\/\\/www\\.baidu\\.com/,\"https://www.baidu.com\")}bt=by+\"/\"+bs[1]+\"?\"+bs[2]+\"&\"+bv;bx.attr(\"href\",by+\"/\"+bs[1]+\"?\"+bs[2]+\"&\"+bv);bx.click(function(){window.PDC_ASYNC.setLinkData(\"click_t\",new Date().getTime());window.PDC_ASYNC.setLinkData(\"linkpreload\",$(this).attr(\"linkpreload\"))})}}return bt}J({prefix:\"http://www.baidu.com\",regex:/^\\/*(link)\\?(.*)$/});J({prefix:\"//www.baidu.com\",regex:/^\\/*(link)\\?(.*)$/});J({prefix:\"http://www.baidu.com\",convertTable:{\"baidu.php\":\"baidu.php\",\"aladdin.php\":\"aladdin.php\",\"siva.php\":\"siva.php\",\"adrc.php\":\"adrc.php\",\"zhixin.php\":\"zhixin.php\"},regex:/^\\/*(baidu\\.php|aladdin\\.php|siva\\.php|adrc\\.php|zhixin\\.php)\\?(.*)$/});\nif(bh.host!=\"www.baidu.com\"){J({prefix:\"\",convertTable:{\"baidu.php\":\"baidu.php\",\"aladdin.php\":\"aladdin.php\",\"siva.php\":\"siva.php\",\"adrc.php\":\"adrc.php\",\"zhixin.php\":\"zhixin.php\"},regex:/^\\/*(baidu\\.php|aladdin\\.php|siva\\.php|adrc\\.php|zhixin\\.php)\\?(.*)$/})}J({prefix:\"http://bzclk.baidu.com\",regex:/^\\/*(adrc\\.php)\\?(.*)$/});if(bh.protocol==\"https:\"&&bds.comm.ishome&&!/Chrome/.test(navigator.userAgent)){$(document).delegate(\"a\",\"mousedown\",function(){var bu=$(this);var bs=bu.attr(\"href\");var bt={\"http://v.baidu.com\":\"/?fr=bd\"};if(bt&&bt.hasOwnProperty(bs)){bu.attr(\"href\",bs+bt[bs])}})}$(document).delegate(\"a\",\"mousedown\",function(){var by=$(this),bt=by.attr(\"href\"),bs=new Image(),bx=\"//www.baidu.com/nocache/fesplg/s.gif?log_type=hm\";var bw=Math.random();if(bw<0.01&&!/www\\.baidu\\.com\\//.test(bt)&&/^http/.test(bt)){var bu=bx+\"&c_url=\"+encodeURIComponent(bt),bs=new Image(),bv=\"_LOG_\"+new Date().getTime();bs.onload=function(){delete window[bv]};window[bv]=bs;bs.src=bu}});if(av.support()){$(document).delegate(\"a\",\"click\",(function(){var bs=bh.protocol+\"//\"+bh.host;\nreturn function(bx){var bw=$(this);if(bw.attr(\"target\")&&bw.attr(\"target\")!=\"_self\"){return}var bu=$.trim(bw.attr(\"href\"));if(bu&&bu.indexOf(bs)==0){bu=bu.substring(bs.length)}if(bu){matched=bu.match(/^\\/*s\\?(.*)/)}if(bu&&matched){var by=bp(matched[0]);if(!by.pn){by.pn=\"\"}if(q([\"baidurt\",\"baiduwb\",\"baidufir\",\"SE_baiduxueshu_c1gjeupa\"],by.tn)<0){var bt=bw.parents(\"#con-at\");if(bt.size()>0){u({top:bt.offset().top+bt.height()})}var bv=av.clickResultLink(bw,ad,by)}return bv}}})())}$(document).delegate(\"a\",\"mousedown\",function(bs){ah(bs)});$(document).delegate(\"a\",\"mouseup\",function(bs){H(bs)});$(document).delegate(\"#su,#su1\",\"mouseup\",function(bs){H(bs)});$(document).delegate(\"#su,#su1\",\"mousedown\",function(bs){ah(bs)});(function(){var bs;if(window._bdlkc>=1){$(document).delegate(\".c-container\",\"mouseenter\",(function(){return function(){var bt=$(this),bu=300;if(window._bdlkc==2){bu=100}bs=setTimeout(function(){var bx=bt.find(\".t>a\"),bv=an(bx,{prefix:\"http://www.baidu.com\",regex:/^\\/*(link)\\?(.*)$/}),bz=bt.attr(\"mu\")||bt.find(\".f13 .g\").text(),bw=/^(http[s]?:\\/\\/)?([^\\/]+)(.*)/,by=bz.match(bw);\nif(bv&&bv.match(bh.protocol)&&/www\\.baidu\\.com\\/link/.test(bv)&&!/bdlkc=1/.test(bv)){if(by[2]){bz=\"http://\"+by[2];bt.append('<link rel=\"dns-prefetch\" href=\"'+bz+'\" />')}$.ajax({url:bv+\"&bdlkc=1\",type:\"GET\",contentType:\"text/html\",success:function(){bx.attr(\"linkpreload\",\"1\")}});bx.attr(\"href\",bv+\"&bdlkc=1\")}},300)}})());$(document).delegate(\".c-container\",\"mouseleave\",(function(){return function(){clearTimeout(bs)}})())}})();var B=$(\"body\");var X=document.title;(function(bt){var bs;bt.fn.textWidth=function(){if(!bs){bs=bt('<div data-for=\"result\" style=\"clear:both;display:block;visibility:hidden;position:absolute;top:0;\"><span style=\"width;inherit;margin:0;font:16px/22px arial;\"></span></div>').appendTo(\"body\").find(\"span\")}bs.html(escapeHTML(bt(this).val()));var bu=bs.width();return bu}})(jQuery);function a2(bs){if(window.__disable_is2&&$.trim(bs)==$.trim(a.val())){return}if(C||!bds.comm.supportis){if(ac){ac.html(\"\")}return}if(pageState==0){return}if(window.__disable_kw_tip){return}if(!ac){ac=$('<div id=\"kw_tip\" style=\"width:initial\" unselectable=\"on\" onselectstart=\"return false;\" class=\"s_ipt_tip\"/>').insertBefore(a);\nac.parent().click(function(bx){var bw=a.get(0);if(bx.target===bw){return true}bw.focus();var bu=bw.value.length;if(document.selection){var bv=bw.createTextRange();bv.moveStart(\"character\",bu);bv.collapse();bv.select()}else{if(typeof bw.selectionStart==\"number\"&&typeof bw.selectionEnd==\"number\"){bw.selectionStart=bw.selectionEnd=bu}}return false});ac.get(0).onselectstart=function(){return false}}ac.text(bs);if(bs!=\"\"){var bt=a.textWidth();ac.css({\"margin-left\":bt+10+\"px\",\"max-width\":ac.parent().width()-bt-14+\"px\"}).text(bs);if(window.__disable_is2){ac.css(\"z-index\",1)}ac.show()}else{ac.hide()}}var C=false;function aC(){C=false}function i(bs){C=true;if(az&&az.real_wd&&$.trim(a.val())){a2(az.real_wd);O(az)}else{a2(\"\");O()}}function O(bs){var bt=a5(a.val());if(bs&&bt==bs.real_wd){$(\"#super_se_tip\").remove()}}$(window).on(\"swap_dom_ready\",function(bu,bs){var bt=\"\";if(bs&&bs.real_wd&&(!bs.no_predict||bs.pstg==6)){bt=bs.real_wd}a2(bt);O(bs)});$(window).on(\"swap_end\",function(bt,bs){if(!bs){return\n}window.cfpromise=new $.Deferred();if(ab){clearTimeout(ab);ab=false;aL=null}bs.confirm=false;if(!bs.force){aL=x(bs,at,21);ab=setTimeout(aL,aY)}else{x(bs,at,20)()}if(window.__async_merge_mod&&((navigator&&navigator.userAgent)?navigator.userAgent:\"\").match(/(msie [2-8])/i)){setTimeout(function(){n.clearCache()},100)}});if(window.__disable_fe_cache){$(window).on(\"confirm\",function(){n.clearCache()})}function aW(bx,bw){var bv=new Date().getTime();if(!bw.force){aQ(bw,{utime:new Date().getTime()-a3})}if(!bw||!bw.loaded){return false}if(typeof bw.html==\"string\"){bw.html=$(bw.html)}$(bw).trigger(\"swap_begin\");bk(function(){bw.pdc.mark(\"pt\");$(window).trigger(\"swap_begin\",[bw,bx]);var bB=aM&&aM.getData();if(bB){setTimeout(function(){bw.pdc.setParam(\"ispeed\",aM.monitor(bB))},3000);bw.pdc.setParam(\"upm\",bB.join(\",\"))}});bk(function(){bw.base64.restart();try{if(!bw.base64_loaded){var bC=$.parseJSON(bw.html.find(\"#img_list\").text());bw.base64.loadImg(bC.right,bC.left)}}catch(bB){}bw.base64.end()});var bz=[$(window).scrollLeft(),$(window).scrollTop()];\nak.hide();oldEnv=ad;ad=bx;at=az;az=bw;bds.comm.cur_disp_query=bx.p(\"wd\");bd();if(bds&&bds.se&&bds.se.certification&&bds.se.certification.data){bds.se.certification.data=[]}if(pageState==0){ay(bx)}bk(function(){aK()});bds.clearReady();ak.empty();var by=bw.html;if(ar.use_cache_repeatedly){by=by.clone()}bk(function(){by.find(\"#head_style\").children().removeAttr(\"data-for\").appendTo(\"head\")});bk(function(){$.globalEval(by.find(\"#head_script\").html())});if(bds.comm&&bds.comm.jsversion&&bds.comm.jsversion!=\"004\"){var bs=ad.buildSyncSearchUrl({jmp:\"jsver\",_vr:Math.random()});bh.replace(bs);return}bk(function(){by.find(\"#content_script script\").each(function(bB,bC){$.globalEval($(bC).html())})});bk(function(){var bB=by.find(\"#s_tab\");if(!bB.size()){return}var bC=$(\"#s_tab\");if(bC.size()){bC.replaceWith(bB)}else{bB.insertBefore(ak)}});var bu=false;(function(){var bD=by.find(\"#con-at\");var bB=$(\"#con-at\");var bE=bB.children().children();if(!bE.size()){if(bD.children().size()){N(ak,bD,\"insertBefore\")\n}}else{if(!bD.children().size()){bB.remove();$(window).trigger(\"top_result_removed\")}else{var bC=bD.children().children();if(bE.attr(\"cq\")!=bC.attr(\"cq\")||bE.attr(\"srcid\")!=bC.attr(\"srcid\")||(bw.force&&oldEnv&&oldEnv.equals(ad))||(!ad.p(\"cq\")||!ad.p(\"srcid\"))||(ad.p(\"_trf\")==1)){bB.remove();$(window).trigger(\"top_result_removed\");N(ak,bD,\"insertBefore\")}else{bu=true}}}})();var bt=by.find(\"#container\");bw.pdc.bindImgLoad(bt);N(ak,bt);if(!$(\"#footer\").size()){var bA=by.find(\"#footer\").children();N(ak,bA)}bk(function(){var bB=new Date().getTime();if(by){$.globalEval(by.find(\"#jsMerge\").html())}aQ(bw,{jsmergetime:new Date().getTime()-bB})});if(bds&&bds.comm&&bds.comm.templateName==bds.comm.resTemplateName){if(bds.comm.seinfo){bds.comm.seinfo.rsv_tpfail=0}}else{if(bds.comm.seinfo){bds.comm.seinfo.rsv_tpfail=1}}if(pageState!=0&&bds&&bds.util&&bds.util.setContainerWidth){bds.util.setContainerWidth()}document.title=bx.p(\"wd\")+\"_百度搜索\";ak.show();aT();aQ(bw,{domtime:new Date().getTime()-bv});aQ(bw,{waittime:new Date().getTime()-aX});\nbw.pdc.mark(\"dom\");$(window).trigger(\"swap_dom_ready\",[bw,bx]);if(window.__lazy_foot_js){setTimeout(function(){Z(bx,bw,bv)},0)}else{Z(bx,bw,bv)}if(!bu){window.scrollTo(0,0)}else{window.scrollTo(bz[0],bz[1])}$(window).trigger(\"scroll\");swap_wait=false}function Z(bt,bs,bv){var bu;if(!bv){bv=0}if(bs){bu=bs.html}bk(function(){bl.get(0).f.value=8});bk(function(){var bw=new Date().getTime();if(bs&&bs.base64){bs.base64.setDomLoad(\"left\");bs.base64.setDomLoad(\"right\")}aQ(bs,{base64time:new Date().getTime()-bw})});$(\"#search\").find(\"form\").submit(function(){var bx=a;a=$(this).find(\"[name='wd']\");var bw=aI.call(this);a=bx;return bw});bk(function(){var bw=new Date().getTime();bds.doReady();aQ(bs,{bdstime:new Date().getTime()-bw})});bk(function(){var bw=new Date().getTime();if(bu){$.globalEval(bu.find(\"#ecomScript\").html())}aQ(bs,{ecomtime:new Date().getTime()-bw})});bk(function(){var bw=new Date().getTime();if(bds.se.tools){if(V){clearTimeout(V)}V=setTimeout(function(){bds.se.tools()},600)}if(bds&&bds.se&&bds.se.certification&&bds.se.certification.build){if(ao){clearTimeout(ao)\n}ao=setTimeout(function(){if($(\".certification\").size()>0){bds.se.certification.build.init()}},1000)}if(bds&&bds.se&&bds.se.safeTip){if(aa){clearTimeout(aa)}aa=setTimeout(function(){if($(\".unsafe_ico_new\").size()>0){bds.se.safeTip.init()}},1200)}aQ(bs,{tiptime:new Date().getTime()-bw})});bk(function(){var bw=new Date().getTime();if(a0){clearTimeout(a0)}a0=setTimeout(function(){if(bds.se.login&&bds.se.login.setUserInfo){bds.se.login.setUserInfo()}if(bds.su&&bds.su.U&&bds.su.U.urTrigger.init){bds.su.U.urTrigger.init()}else{if((bds.comm.newindex||bds.comm.username)&&bds.su.urStatic){var bx=$.ajax({dataType:\"script\",cache:true,url:bds.su.urStatic+\"/static/ur/js/ur/urstatic-async-1.4.js\"});bx.done(function(){bds.su.U.urTrigger.init()})}}},1400);aQ(bs,{urtime:new Date().getTime()-bw})});bk(function(){var bw=new Date().getTime();window.initResultClickLog();aQ(bs,{clicktime:new Date().getTime()-bw})});bk(function(){aQ(bs,{rtime:new Date().getTime()-bv,used:1});if(bds.comm.seinfo&&bs){bds.comm.seinfo.rsv_pstg=bs.type\n}});bk(function(){$(window).trigger(\"swap_end\",[bs,bt]);bm();a3=new Date().getTime();if(bs&&bs.pdc){bs.pdc.mark(\"js\");bs.pdc.trigger(\"swap_end\")}})}function bd(){bk(function(){$.each(bds.comm.tips,function(bs,bt){if(bt&&bt.destroy){bt.destroy()}});$(\"#c-tips-container\").empty();bds.comm.tips=[]});bk(function(){if(window.app&&window.app.dispose){window.app.dispose()}});bk(function(){bds.comm.resolveUnloadHandler()});if(bds&&bds.se&&bds.se.certification&&bds.se.certification.data){bds.se.certification.data=[]}if(bds&&bds.se&&bds.se.userAction){bds.se.userAction.destroy()}}function am(){if(ab&&aL){clearTimeout(ab);ab=setTimeout(aL,aY)}}function x(bs,bu,bt){return function(bv){var bw=$.extend({},bv);if(!bs||bs.confirm){return}bds.comm.cur_query=bs.real_wd;if(!bds.comm.supportis&&bs){bt=bs.pstg||0}bs.confirm=true;ab=false;aL=null;var bA={};if(bu&&bu.env){bA.is_referer=bu.env.buildSyncSearchUrl()}else{bA.is_referer=ba.replace(/\\#.*$/,\"\")}bA.is_xhr=\"1\";var bx=new W(bp(av.getQueryString()),true);\nif(!bs.env.equals(bx)&&!bs.env.clone({wd:bs.prw}).equals(bx)){av.setUrl(bs.env)}if(!bs.seq){bs.seq=1}else{bs.seq++}if(bs.pdc){if(bt!=20&&bds.comm.supportis){bs.pdc.mark(\"st\")}if(bs.pdc&&bs.pdc.setParam){bs.pdc.setParam(\"cus_pstg\",bt)}if(bs.force){bs.pdc.setParam(\"f4s\",1)}bs.pdc.trigger(\"confirm\");window.PRE_CONN.startTimer()}$(window).trigger(\"confirm\",[bs,bt]);var bB=\"/s?ie=utf-8&csq=\"+bs.seq+\"&pstg=\"+bt+(bw.tipConfirm?\"&_cktip=1\":\"\")+\"&mod=2\"+(bds.comm.supportis?\"&isbd=1\":\"\")+\"&cqid=\"+bs.qid+\"&istc=\"+(new Date().getTime()-bs.startTime)+\"&ver=\"+bds.comm.baiduis_verify+\"&chk=\"+bs.chk+\"&isid=\"+aF+\"&\"+bs.env.buildQueryString()+(bs.force?\"&f4s=1\":\"\")+(typeof y==\"function\"?\"&_ck=\"+y(bs.env.p(\"wd\")):\"\");if(bds.comm.indexSid){if(/9998_/.test(bds.comm.indexSid)&&bh.protocol===\"https:\"){bds.comm.indexSid=bds.comm.indexSid.replace(\"9998\",\"8499\")}bB+=\"&rsv_isid=\"+bds.comm.indexSid}if(true&&a1&&a1.getRsvStatus){try{bB+=\"&rsv_stat=\"+a1.getRsvStatus(bs.env.p(\"wd\"))}catch(bz){}}Y.done(function(){if(a1.getStat(\"rsv_sug6\")){bB+=\"&rsv_sug6=\"+a1.getStat(\"rsv_sug6\");\nif(bds.comm.seinfo){bds.comm.seinfo.rsv_sug6=a1.getStat(\"rsv_sug6\")}}if(a1.getStat(\"rsv_bp\")){bB+=\"&rsv_bp=\"+a1.getStat(\"rsv_bp\")}});$.ajax({headers:bA,url:bB}).done(function(bD){$('#form input[name=\"rsv_bp\"]').val(1);var bF=$(bD);if(!window._is_pc_direct_sam){return}if(bF.length==1){var bC,bE;if(bF.attr(\"http-equiv\")&&bF.attr(\"http-equiv\")==\"Refresh\"&&bF.attr(\"id\")&&bF.attr(\"id\")==\"pcDirect\"){bC=bF.attr(\"content\")&&bF.attr(\"content\").match(/url=(.*)/);bE=bC&&bC[1]}if(bE){bh.replace(bE);return}}}).fail(function(){});if(bds.comm.seinfo){bds.comm.seinfo.rsv_prw=encodeURIComponent(a.val());bds.comm.seinfo.rsv_pstg=bt;bds.comm.seinfo.rsv_svoice=window.__supportvoice?\"1\":\"0\";bs.cftime+=1;bds.comm.cftime=bs.cftime+\"\";var by=bs.env.p(\"rsv_bak\");if(by){bds.comm.seinfo.rsv_bak=by}}aV();aF=bs.qid;Y.done(function(){if(bt==20){a1.updateInitData()}else{if(bt==22){if(window.__sug_history_mod==13){a1.updateInitData()}}else{if(!bds.comm.supportis){if(bt>=0&&bt<=5){a1.updateInitData()}}}}a1.clearStat();\nif((window._is_sugicon_hot===true||window._is_sugicon_none===true)&&a1.getHotTrack){var bD=bs.env.p(\"wd\");var bC=a1.getHotTrack(bD);if(bC.cnt){ns_c({hw_type:window._is_sugicon_hot?1:0,hw_track:bC.track.join(\"_\"),hw_tracknow:bC.tracknow.join(\"_\"),hw_cnt:bC.cnt,hw_pos:bC.pos,hw_wd:bD,hw_pstg:bt,hw_is:bds.comm.supportis})}a1.setHotTrack()}});window.cfpromise.resolve()}}$(window).on(\"indexOff\",function(bt,bs){Y.done(function(){a2(bs.p(\"wd\"))})});if(av.support()&&aw.attr(\"target\")!=\"_blank\"){Y.done(function(){a1.setMaxNum(f)})}var aB=false,R;var a6=false;bl.mousedown(function(){a6=false}).delegate(\"a,input\",\"focus\",function(){a6=false});function aI(bt){if(!av.support()){return true}if(a6){return false}a6=true;a.blur();a2(\"\");if($(this).attr(\"target\")){return true}aB=true;R=setTimeout(function(){aB=false},1000);try{if(!$.trim(a.val())){bh.href=\"/\";return false}var bw=new W();var bv=$(this).serializeArray(),bs;for(bs=0;bs<bv.length;bs++){bw.p(bv[bs].name,bv[bs].value)}bw.p(\"wd\",a.val());if(bw.p(\"nojc\")){bw.p(\"nojc\",\"\")\n}if(az){if((bw.equals(az.env.clone({wd:az.real_wd})))&&!az.force){x(az,at,22)();az.force=true;a2(\"\");O(az);return false}if(az.env.p(\"rsv_spt\")){bw.p(\"rsv_spt\",az.env.p(\"rsv_spt\"))}}av.submit(bw,!!bt)}catch(bu){}return false}var aR={};function w(bu){var bv={force:false,no_predict:false,use_cache:false,shouldShow:true,pstg:-1};if(bu){$.extend(bv,bu)}var bx=bv.env,bz=bv.force,by=bv.no_predict,bt=bv.shouldShow,bw=bv.use_cache,bs;if(!bx||!bx.p(\"wd\")||!bx.hashCode()){return}if((ax||Cookie.get(\"ISSW\")==1)&&!bz&&by){return}if((F||Cookie.get(\"ISSW\")==1)&&!bz&&!by){return}if(bw&&(bs=n.hasCache(bx,{loaded:true}))){if(bt){if(!az||!bs.env.clone({wd:bs.real_wd}).equals(az.env.clone({wd:az.real_wd}))){bs.force=bv.force;bs.no_predict=bv.no_predict;bs.pdc.init();if(bs.force){bs.pdc.mark(\"st\");if(window.bds&&bds.comm&&!bds.comm.supportis){bs.pdc.mark(\"net\");bs.pdc.setParam(\"cus_hitpreload\",1)}}aW(bx,bs)}a2((bv.no_predict&&bv.pstg!=6)?\"\":bs.real_wd);O(bs)}return}if(bz&&bt&&by){u()}bs={env:bx,cftime:0,no_predict:by,shouldShow:bt,loaded:false,force:bz,startTime:new Date().getTime(),log:{ctime:new Date().getTime()-a3,wd:bx.p(\"wd\"),ntime:0,stat:0,used:0,rtime:0,utime:(bz?new Date().getTime()-a3:0),res:0}};\nbs.pdc=aH(bs);if(bv.pstg>0){bs.pstg=bv.pstg}if(bs.force){bs.pdc.mark(\"st\")}bs.base64=isbase64(bs.pdc);bb.push(bs.log);E++;if(bz&&bt&&by){if(window.__sam_backup_request&&!bv.is_backup_request){bs.backup_request_timeout=setTimeout(function(){var bA=$.extend({},bu);bA.env=bA.env.clone();bA.env.p(\"rsv_bak\",\"1\");if(bs.env){bs.env.p(\"rsv_bak\",\"2\")}bA.is_backup_request=true;w(bA)},3000)}}j(bs)}function aP(){var bs=[];if(ap){bs=$.map(ap.slice(0,2),function(bt){return bt.value})}return bs.join(\"\\t\")}function bq(bs){K();bh.replace(bs.buildSyncSearchUrl())}var I,L;function al(bt,bs){if(!bs){ax=true;if(I){clearTimeout(I);I=false}I=setTimeout(function(){ax=T},bt)}else{F=true;if(L){clearTimeout(L);L=false}L=setTimeout(function(){F=bg},bt)}}function j(bA){var bz;var bB=bA.env;var bx={};var bs;if(az&&az.env){bx.is_referer=az.env.buildSyncSearchUrl()}else{bx.is_referer=ba.replace(/\\#.*$/,\"\")}$.extend(bx,bB.buildHeaders());bx.is_xhr=\"1\";if(window.bds&&bds.comm&&bds.comm.cur_query){bB.p(\"bs\",bds.comm.cur_query)\n}else{bB.p(\"bs\",\"\")}if(window.bds&&bds.comm&&bds.comm.cur_disp_query){bx.is_pbs=encodeURIComponent(bds.comm.cur_disp_query)}var bt=\"ie=utf-8\"+(bds.comm.newindex?\"&newi=1\":\"\")+(au.sid?\"&sid=\"+encodeURIComponent(au.sid):\"\")+(au.tnp?\"&tnp=\"+encodeURIComponent(au.tnp):\"\")+\"&mod=\"+(bA.no_predict||!bds.comm.supportis?\"1\":\"11\")+(bds.comm.supportis?\"&isbd=1\":\"\")+\"&isid=\"+aF+\"&\"+bB.buildQueryString()+\"&rsv_sid=\"+bds.comm.indexSid+\"&_ss=1&clist=\"+encodeURIComponent(n.getCacheList())+\"&hsug=\"+encodeURIComponent(aP())+(bA.force?\"&f4s=1\":\"\")+\"&csor=\"+getCursortPosition(a.get(0));if(bA.pstg){bt+=\"&pstg=\"+bA.pstg}var bu=\"/s?\"+bt;bu+=\"&_cr1=\"+aA(bu);if(!bA.no_predict){bs=n.find(function(bE){if(!bE.loaded&&!bE.no_predict){return true}});for(bz=0;bz<bs.length;bz++){n.deleteCache(bs[bz])}}if(bA.no_predict&&!bA.force){bs=n.find(function(bE){if(bE.force&&bB.equals(bE.env)){return true}});if(bs.length>0){return}}if(bA.force&&bA.shouldShow){var bC=false;var bv=new Date().getTime();bs=n.find(function(bF){var bE=bB.equals(bF.env);\nif(!bF.loaded&&!bF.no_predict&&bE&&bF!==bA){bF.shouldShow=false}if(!bF.loaded&&bF.no_predict&&bF.force&&bE&&bF!==bA){bF.shouldShow=bF.shouldShow||bA.shouldShow;if(bF.startTime&&bv-bF.startTime<2000){bC=true}if(!window.__sam_backup_request){bC=true}}if(!bF.loaded&&!bE){return true}else{bF.pdc.mark(\"st\")}});if(bC){return}for(bz=0;bz<bs.length;bz++){n.deleteCache(bs[bz])}}var bw=function(bG,bF,bI){if(bF==0){by(bG,bI);if(bA.pdc){bA.pdc.setParam(\"cus_srv\",bds.se.mon.srvt);bA.pdc.setParam(\"bsi\",Cookie.get(\"__bsi\"))}}else{if(bF==1){try{var bE=new Date()*1;bA.b64ildata=$.parseJSON(bG);bA.base64.ilparseTime=new Date()*1-bE;if(bA===az){bA.base64.inline(bA.b64ildata);bA.base64.ilrenderTime=new Date()*1-bE}$(bA).one(\"swap_begin\",function(){this.base64.inline(this.b64ildata,this.html.get(0))})}catch(bH){}}else{if(bF==2){if(bA.base64){bA.base64.ilsum=bG}}}}};var by=function(bY,bN){if((bN&&bN.status==\"302\")||(bY&&bY.indexOf(\"<div>\")>10)){if(bA.force){bq(bB)}else{n.deleteCache(bA)}return}aQ(bA,{ntime:new Date().getTime()-bA.startTime,res:1});\nvar bV;var bX=\"<!--data-->\";var bL=bY.indexOf(bX);if(bL!=-1){bV=$(bY.substr(0,bL));bA.html=bY.substr(bL+bX.length);if(window.__dom_pre_parse&&bV.find(\"#__need_parse_dom\").html()==\"1\"){bA.html=$(bA.html)}try{var bM=$.parseJSON(bV.find(\"#img_list\").text());bA.base64.loadImg(bM.right,bM.left);bA.base64_loaded=true}catch(bU){}try{a9(bV.find(\"#limg_list\").text())}catch(bU){}}else{bV=bA.html=$(bY)}var bG=parseInt(bV.find(\"#__status\").eq(0).html());var bE=parseInt(bV.find(\"#__switchtime\").eq(0).html());var bH=parseInt(bV.find(\"#__redirect\").eq(0).html());var bS={};try{bS=$.parseJSON(bV.find(\"#__sugPreInfo:eq(0)\").html()||\"{}\")||{}}catch(bU){}bA.real_wd=bV.find(\"#__real_wd\").eq(0).text();bA.real_wd_org=bV.find(\"#__real_wd_org\").eq(0).text();var bP=false;if((bB.p(\"wd\")==a5(a.val())||bA.force)&&bA.shouldShow){bP=true}if(bA.real_wd){bA.prw=bB.p(\"wd\");bB.p(\"wd\",bA.real_wd)}var bI=bV.find(\"#__queryId\").html();var bF=bV.find(\"#__querySign\").html();bA.querySign=bF;aQ(bA,{stat:(bG?bG:0)});if(bds.comm.isDebug){$(\"#isDebugInfo\").html(bV.find(\"#__isDebugInfo\").html())\n}if(bI){bA.qid=bI}var bW=bV.find(\"#__chk\").html();bA.chk=bW?bW:0;if(window._is_pc_direct_sam&&bV.length==1){var bO,bK;if(bV.attr(\"http-equiv\")&&bV.attr(\"http-equiv\")==\"Refresh\"&&bV.attr(\"id\")&&bV.attr(\"id\")==\"pcDirect\"){bO=bV.attr(\"content\")&&bV.attr(\"content\").match(/url=(.*)/);bK=bO&&bO[1]}if(bK){bh.replace(bK);return}}if(!bY||(!bI&&!bE&&!bH&&!bG)||(!bF&&bA.force)){if(bA.force){bB.p(\"__eis\",1);bB.p(\"__eist\",bY?bY.length:0);bB.p(\"real_wd\",bA.real_wd);bq(bB);return}else{n.deleteCache(bA);return}}if(bE>0){al(bE*1000,!bA.no_predict)}if(bG==-11){var bR=n.getCacheBySign(bF);if(!bR){w({env:bA.env.clone({wd:bA.real_wd}),force:bA.force,use_cache:false,no_predict:true});n.deleteCache(bA);return}bR.force=bA.force;aC();a2(bR.real_wd);O(bR);n.deleteCache(bA);bA=bR;if(!az||bA.real_wd!=az.real_wd){bP=true}}else{if(bG<0){if(bH==1&&bA.force){aQ(bA,{redirect:1});bq(bB);return}i();if(bG==-12&&bS&&bS.wait_time>0){var bQ=bA.env.clone();U=setTimeout(function(){w({env:bQ,force:false,use_cache:true,no_predict:true,shouldShow:false,pstg:6})\n},bS.wait_time)}n.deleteCache(bA);return}else{if(bG>0){n.deleteCache(bA);return}}}var bJ=n.find(function(bZ){if(!bZ.loaded&&bZ!==bA&&bZ.no_predict&&bB.equals(bZ.env)){if(bZ.shouldShow){bP=true}if(bZ.force){bA.force=true;bA.no_predict=true}return true}});for(var bT=0;bT<bJ.length;bT++){n.deleteCache(bJ[bT])}if(bA.backup_request_timeout){clearTimeout(bA.backup_request_timeout)}bA.loaded=true;if(!bds.comm.supportis&&!bP){return true}if(bP&&bA!==az||bA.force){aC();bA.shouldShow=false;if(bG==-11){bA.pdc.init()}else{bA.pdc.mark(\"net\")}aW(bB,bA)}};var bD;bD=$.ajax({dataType:\"parts\",url:bu,headers:bx,delimiter:\"</*3*/>\"});bD.parts(function(bF,bE,bG){bw(bF,bE,bD)});bD.fail(function(bF,bE){if(!window.__sam_noloading&&bA.force&&bA.shouldShow&&bE!=\"abort\"&&bA.env){bh.replace(bA.env.buildSyncSearchUrl()+\"&rsv_jmp=fail\")}n.deleteCache(bA)});bA.xhr=bD;n.addCache(bA)}function bm(){var bs;bb=[];E=0;aB=false;clearTimeout(R)}$(window).on(\"swap_end\",function(bt,bs){if(!bs){aV()}});function t(){if(window.index_off){window.index_off()\n}if(g[0]!==bi[0]){g.val(\"\")}a=bi;pageState=1;bds.comm.ishome=0;bds.comm.cur_query=bds.comm.query;ad=new W();az={env:ad,real_wd:bds.comm.query,force:true,confirm:true};Y.done((function(bs){return function(){o.start()}})());$(window).trigger(\"index_off\");bds.util.setContainerWidth();bk(function(){$(window).trigger(\"swap_dom_ready\")});if(window.__lazy_foot_js){setTimeout(function(){Z()},0)}else{Z()}}function ay(bs){if(window.index_off){window.index_off()}if(g.get(0)!==bi.get(0)){g.val(\"\");bi.val(bs.p(\"wd\"))}a=bi;pageState=1;bds.comm.ishome=0;Y.done(function(){if(aO!==o){aO.stop();o.hide();o.setKey(bs.p(\"wd\"));o.start()}});bds.util.setContainerWidth();$(window).trigger(\"index_off\",bs)}av.init();$(function(){var bs=$(\"script\").last();var bt=$(\"head\");aK=function(){bs.nextAll().not(\"[data-for]\").not(\"#passport-login-pop\").remove();bt.find(\"*\").not(\"[data-for]\").not(\"meta\").not(\"title\").not(\"script[async]\").not('link[href*=\"passport\"]').remove()}});if(bds.comm.resultPage){t()}B.delegate(\"#s_tab a\",\"mousedown\",function(){setHeadUrl(this)\n}).delegate(\"#s_tab a\",\"focusin\",function(){setHeadUrl(this)});ak.delegate(\"#page strong+a,#page a.n\",\"mouseover\",function(){w({env:new W(bp($(this).attr(\"href\"))),force:false,use_cache:true,no_predict:true,shouldShow:false,pstg:4})});var aj,ag;var l,af,S;function a8(){aj=false;ag=false;af=[];clearTimeout(S);S=false}function r(bs){if(!aj){aj={x:bs.pageX,y:bs.pageY}}l={x:bs.pageX,y:bs.pageY};if(!ag&&aj.x!=bs.pageX&&aj.y!=bs.pageY){ag=true;af=[aj];aD()}}function aD(){af.push(l);var bt=af.length;if(Math.pow((l.x-aj.x),2)+Math.pow((l.y-aj.y),2)>=Math.pow(z,2)||bt*b>=d){var bz=a1;var bw=!bds.comm.supportis?2:1;if(window.__sam_mouse_optimize&&window.pageState==1){var bx;if(bds.comm.containerSize===\"s\"){bx={x:615,y:30}}else{bx={x:715,y:30}}var by=bs(aj,bx);var bv=bs(l,bx);var bA=bs(aj,l);if(by-bv>bA*0.75||bv<100){if(bw&&$.trim(a.val())&&(!az||az.env.p(\"wd\")!=$.trim(a.val()))){var bu=new W().clone({wd:a.val()});w({env:bu,force:false,no_predict:true,use_cache:true,shouldShow:false,pstg:1});bw--}}}if(bw&&bz&&bz.data()&&bz.data()[0]&&bz.visible()){var bu=new W().clone({wd:bz.data()[0].value});\nw({env:bu,force:false,no_predict:true,use_cache:true,shouldShow:false,pstg:1});bw--}if(bw&&bz&&bz.data()&&bz.data()[1]&&bz.visible()){var bu=new W().clone({wd:bz.data()[1].value});w({env:bu,force:false,no_predict:true,use_cache:true,shouldShow:false,pstg:1});bw--}if(!bds.comm.supportis&&bw&&$.trim(a.val())&&(!az||az.env.p(\"wd\")!=$.trim(a.val()))){var bu=new W().clone({wd:$.trim(a.val())});w({env:bu,force:false,no_predict:true,use_cache:true,shouldShow:false,pstg:1});bw--}}else{S=setTimeout(function(){aD()},b)}function bs(bC,bB){return Math.sqrt((bC.x-bB.x)*(bC.x-bB.x)+(bC.y-bB.y)*(bC.y-bB.y))}}Y.done(function(){$(document).mousemove(r)});$(\"#u .back_org\").click(function(){var bs=new Date();bs.setTime(new Date().getTime()+1103760000000);Cookie.set(\"ORIGIN\",2,document.domain,\"/\",bs);if(ad){bh.replace(ad.buildSyncSearchUrl({_r:Math.random()}))}else{bh.href=\"/\"}});$(window).scroll((function(){var bu=$(\"#head\"),bs=$(window);var bt=40;var bx;var bw=bu.offset().top;var bv=function(){if(bx){clearTimeout(bx);\nbx=false}bx=setTimeout(function(){var by=bs.scrollTop();if(by>bt+bw){bx=setTimeout(function(){bu.addClass(\"s_down\");Y.done(function(){o.hide()})},0)}else{if(by<=bt+bw){bx=setTimeout(function(){bu.removeClass(\"s_down\")},0)}}},50)};bv();return bv})());a.bind(\"paste\",function(bt){if((window.__disable_index_predict&&pageState==0)||ax||F){return}var bu=this;var bs=this.value;P=true;setTimeout(function(){if(bu.value&&bu.value!=bs){w({env:new W().clone({wd:$.trim(bu.value)}),force:false,use_cache:true,no_predict:true,shouldShow:bds.comm.supportis,pstg:2})}},0)})}(function(A){var baidu=window.baidu;var LOG_CLASS=[\"TITLE\",\"LINK\",\"IMG\",\"BTN\",\"INPUT\",\"OTHERS\"];var C_LOG_CLASS=[\"btn\"];var contentLeft,contentRight,contentTop;function clickDebug(e){}window.initResultClickLog=function(){contentLeft=$(\"#content_left\").get(0);contentRight=$(\"#con-ar\").get(0);contentTop=$(\"#con-at\").get(0);if(A.has){var aladdin_tables=$(\".result-op\").get(),srcid;$.each(aladdin_tables,function(i,v){if(srcid=v.getAttribute(\"srcid\")){A.ids.push([v.id,srcid])\n}})}bindP5()};$(document).ready(function(){bindLogEvent()});function bindP5(){var item,index=(bds.comm.pageNum-1)*bds.comm.pageSize+1,leftItems=(contentLeft&&contentLeft.children)||[],rightItems=(contentRight&&contentRight.children)||[],topItems=(contentTop&&contentTop.children)||[],isResult=function(o){return(o.nodeType==1&&o.className&&/\\bresult(\\-op)?\\b/.test(o.className))},isFrame=function(o){return(o.nodeType==1&&o.className&&/\\bc\\-frame\\b/.test(o.className))},setClickData=function(wrap,data){var sData=wrap.getAttribute(\"data-click\")||\"{}\";try{var oData=eval(\"(\"+sData+\")\");sData=$.stringify($.extend(oData,data));wrap.setAttribute(\"data-click\",sData)}catch(e){clickDebug(e)}},bindP5ClickData=function(items){for(var i=0,l=items.length;i<l;i++){item=items[i];if(isResult(item)){setClickData(item,{p5:index++})}else{if(isFrame(item)){try{var frameItems=item.children[0].children;for(var j=0,lj=frameItems.length;j<lj;j++){var frameItem=frameItems[j];if(isResult(frameItem)){setClickData(frameItem,{p5:index++})\n}}}catch(e){clickDebug(e)}}}}index=(bds.comm.pageNum-1)*bds.comm.pageSize+1};bindP5ClickData(leftItems);bindP5ClickData(rightItems);bindP5ClickData(topItems)}function getXPath(node,wrap,path){path=path||[];wrap=wrap||document;if(node===wrap){return path}if(node.parentNode!==wrap){path=getXPath(node.parentNode,wrap,path)}if(node.previousSibling){var count=1;var sibling=node.previousSibling;do{if(sibling.nodeType==1&&sibling.nodeName==node.nodeName){count++}sibling=sibling.previousSibling}while(sibling)}if(node.nodeType==1){path.push(node.nodeName.toLowerCase()+(count>1?count:\"\"))}return path}function bindLogEvent(){$body=$(\"body\");$body.on(\"mousedown\",function(e){var e=window.event||e,t=e.srcElement||e.target,$t=$(t);try{var $parent=$t,fm,wrap;while($parent.length&&!($parent.hasClass(\"result\")||$parent.hasClass(\"result-op\")||$parent.hasClass(\"xpath-log\"))){$parent=$parent.parent()}if(!$parent.length){return}if($parent.hasClass(\"result-op\")){fm=\"alop\"}else{if($parent.hasClass(\"result\")){fm=\"as\"\n}}wrap=$parent.get(0);var xpath=getXPath(t,wrap);if(check(xpath,t,wrap)){if(window.__sam_cf_click&&window.cfpromise){cfpromise.done(function(){log(xpath,t,wrap,fm)})}else{log(xpath,t,wrap,fm)}}}catch(e){clickDebug(e)}})}function getType(xpath,t,wrap){var node=t,cs=LOG_CLASS,cl=cs.length,clc=C_LOG_CLASS,clcl=clc.length,xstr=xpath.join(\" \"),i=0;while(node!==wrap){for(i=0;i<cl;i++){if($(node).hasClass(\"OP_LOG_\"+cs[i])){return cs[i].toLowerCase()}}for(i=0;i<clcl;i++){if($(node).hasClass(\"c-\"+clc[i])){return clc[i]}}node=node.parentNode}if(/\\bh3\\d*\\b/.test(xstr)){return\"title\"}if(/\\ba\\d*\\b/.test(xstr)){if(/\\bimg\\d*\\b/.test(xstr)){return\"img\"}return\"link\"}if(/\\b(input|select|button|textarea|datalist)\\d*\\b/.test(xstr)){return\"input\"}if(/\\blabel\\d*\\b/.test(xstr)&&t.getElementsByTagName(\"input\").length>0){return\"input\"}return\"\"}function check(xpath,t,wrap){if(A.LOGTOOL){A.LOGTOOL.call(t,xpath,t,wrap);return false}return true}function log(xpath,t,wrap,fm){if(t.getAttribute(\"data-nolog\")!=null){return\n}var type=getType(xpath,t,wrap);if(!type){return false}if(type==\"title\"&&!/\\ba\\d*\\b/.test(xpath)){return false}var nourl=\"http://nourl.ubs.baidu.com\";var mu=wrap.getAttribute(\"mu\")||nourl;if(mu==nourl){var h3=wrap.getElementsByTagName(\"h3\");if(h3&&h3[0]){var a=h3[0].getElementsByTagName(\"a\");mu=(a&&a[0])?a[0].href:mu}}var l=xpath.length,url,p=t,srcid=wrap.getAttribute(\"srcid\");var title=\"\";var tag=t.nodeType==1?t.tagName.toLowerCase():\"\";if(type==\"input\"){if(/input|textarea/.test(tag)){title=t.value;if(t.type&&t.type.toLowerCase()==\"password\"){title=\"\"}}else{if(/select|datalist/.test(tag)){if(t.children.length>0){var index=t.selectedIndex||0;title=t.children[index>-1?index:0].innerHTML}}else{title=t.innerHTML||t.value||\"\"}}}else{if(tag==\"img\"){title=t.title}if(!title){while(l>0){l--;if(/^a\\d*\\b/.test(xpath[l])){url=p.href;title=p.innerHTML;if(p.getAttribute(\"data-nolog\")!=null){return}break}else{if(p.className&&(/OP_LOG_/.test(p.className))){title=p.innerHTML;break}p=p.parentNode}}}}title=$.trim(title);\nif(!url||url.slice(-1)===\"#\"||!(/^http/.test(url))){url=mu}var data={rsv_xpath:xpath.join(\"-\")+\"(\"+type+\")\",title:title,url:url,rsv_height:wrap.offsetHeight,rsv_width:wrap.offsetWidth,rsv_tpl:wrap.getAttribute(\"tpl\")};var rewritedatakey={url:1,title:1};if(wrap.id&&wrap.id.match(/^\\d+$/)){data.p1=wrap.id}if(srcid){data.rsv_srcid=srcid}var ext_data,attr,is_fm_null;p=t;do{if(p.getAttribute(\"data-nolog\")!=null){return}if(ext_data=p.getAttribute(\"data-click\")){try{ext_data=(new Function(\"return \"+ext_data))();for(attr in ext_data){if(attr==\"fm\"&&ext_data.fm===null){is_fm_null=true}if(ext_data.hasOwnProperty(attr)&&((typeof data[attr]==\"undefined\")||rewritedatakey[attr])){data[attr]=ext_data[attr]}}}catch(e){clickDebug(e)}}p=p.parentNode}while(p&&p!==wrap.parentNode);for(var i in data){if(data[i]===null){delete data[i]}}if(type==\"title\"){if(\"mu\" in data){delete data.mu}}else{if(!data.mu){data.mu=mu}}if(is_fm_null){if(\"fm\" in data){delete data.fm}}else{if(type==\"input\"){data.fm=\"beha\";data.url=nourl\n}if(!data.fm){data.fm=fm}if(!data.fm){return}}window.c(data)}})(window.bds.aladdin);for(ai in al_arr){al_arr[ai]()}$(document).ready(function(){var a;$(document).on(\"click\",\".t>a,.op-se-listen-recommend\",function(g){g=window.event||g;var d=$(\"#wrapper_wrapper\"),b=$(this).closest(\".c-container\"),f=b.length?b.find(\".c-recommend\").eq(0):[];if(!g.ctrlKey&&f.length&&f.css(\"display\")===\"none\"){a=setTimeout(function(){d.find(\".c-recommend\").hide();f.show()},150)}});$(window).on(\"swap_begin\",function(){this.clearTimeout(a)})});window.onunload=function(){};function addEV(d,b,a){if(window.attachEvent){d.attachEvent(\"on\"+b,a)}else{if(window.addEventListener){d.addEventListener(b,a,false)}}}bds.se.openime=function(a){if(!window.bdime){$.ajax({cache:true,dataType:\"script\",url:\"https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/plugins/ime_733231c5.js\",success:function(){if(a){openIme.set(\"py\",true)}}})}else{openIme.set(\"py\",true)}};(function(){$(window).on(\"load\",function(){if(window.pageState===0&&!(bds&&bds.comm&&bds.comm.personalData&&parseInt(bds.comm.personalData.imeSwitch.value,10))){if(bds.se.bear){bds.se.bear.showHomeBear()\n}}});if(/\\bbdime=[12]/.test(document.cookie)){bds.se.openime(false)}else{$(window).one(\"swap_end\",function(){var a=function(){var b=\"\";if(bds.comm.newad&&bds.comm.newad==1){b=$(\"<span class=\\\"shouji\\\"><a href=\\\"http://www.nuomi.com/?cid=bdsywzl\\\" target=\\\"_blank\\\" onmousedown=\\\"return ns_c({'fm':'behs','pj_name':'bdyx_right_link','tab':'bdnuomi'})\\\">百度糯米718，满百返百大放价！</a></span>\");if(b){if(bds.comm.containerSize===\"s\"){b.hide()}b.insertAfter(\"#mHolder\");$(window).on(\"container_resize\",function(f,d){var g=$(\"#mHolder\").nextAll(\".shouji\").eq(0);if(g.length){if(g.css(\"display\")===\"none\"&&d===\"l\"){g.show()}if(d===\"s\"){g.hide()}}})}}else{if(bds.comm.upn&&bds.comm.upn.os===\"windows\"){if(bds.comm.upn.browser!==\"baiduclient\"){b=$(\"<span class=\\\"shouji\\\"><a href=\\\"http://j.br.baidu.com/v1/t/full/p/mini/tn/10000011/ch_dl_url\\\" onmousedown=\\\"return ns_c({'fm':'behs','pj_name':'bdyx_right_link','tab':'bdclient'})\\\">添加百度到桌面，搜索更便捷！</a></span>\")}if(b){if(bds.comm.containerSize===\"s\"){b.hide()}b.insertAfter(\"#mHolder\");\n$(window).on(\"container_resize\",function(f,d){var g=$(\"#mHolder\").nextAll(\".shouji\").eq(0);if(g.length){if(g.css(\"display\")===\"none\"&&d===\"l\"){g.show()}if(d===\"s\"){g.hide()}}})}}}};if(bds.se.bear){bds.se.bear.showResultBear(a)}})}})();if(bds&&bds.comm&&!bds.comm.containerSize){bds.comm.containerSize=\"s\"}bds.util.setContainerWidth=function(){var f=$(\"#container\"),a=$(\"#wrapper\"),b=bds.util.getWinWidth();var d=bds.comm.containerSize;if(b<1217){f.removeClass(\"container_l container_xl\").addClass(\"container_s\");a.removeClass(\"wrapper_l\").addClass(\"wrapper_s\");bds.comm.containerSize=\"s\"}else{if(b>=1217){f.removeClass(\"container_s container_xl\").addClass(\"container_l\");a.removeClass(\"wrapper_s\").addClass(\"wrapper_l\");bds.comm.containerSize=\"l\"}else{return}}if(d!=bds.comm.containerSize){$(window).trigger(\"container_resize\",bds.comm.containerSize)}};bds.util.setFootStyle=function(){this.init();this.bindEvent()};$.extend(bds.util.setFootStyle.prototype,{ie6:bds.comm.upn&&bds.comm.upn.browser===\"msie\"&&bds.comm.upn.ie==6,init:function(){var a=$(\"#foot\");\na.addClass(\"foot_fixed_bottom\");if(this.ie6){var b=$(window).height()+$(window).scrollTop()-a.outerHeight(true);a.css(\"top\",b+\"px\")}},setFixedIe6:function(){var a=$(\"#foot\");var b=$(window).height()+$(window).scrollTop()-a.outerHeight(true);a.css(\"top\",b+\"px\")},bindEvent:function(){var a=this;if(a.ie6){$(window).on(\"resize.setFootStyle, scroll.setFootStyle\",function(){a.setFixedIe6()})}}});var bds=bds||{};bds.se=bds.se||{};bds.se.tip=bds.se.tip||{};bds.comm.tipZIndex=220;bds.comm.tips=[];bds.se.tip=function(a){this.init=function(){this.op={target:a.target||{},mode:a.mode||\"over\",title:a.title||null,content:a.content||null,uncontrolled:(a.uncontrolled)?true:false,arrow:{has:1,offset:10},close:a.close||0,align:a.align||\"left\",offset:{x:10,y:20},arrowSize:16};if(a.arrow){this.op.arrow.has=(a.arrow.has==0)?0:1;this.op.arrow.offset=(a.arrow.offset>=0)?a.arrow.offset:10}if(a.offset){this.op.offset.x=(a.offset.x||a.offset.x==0)?a.offset.x:10;this.op.offset.y=(a.offset.y||a.offset.y==0)?a.offset.y:20\n}this.ext=a.ext||{};this.dom=$(\"<div>\",{\"class\":\"c-tip-con\"});this.visible=false;this.rendered=false;this.isAuto=(this.op.align===\"auto\")?true:false;this.bindEvent()};this.render=function(){if(this.op.close){this.enableCloseIcon()}if(this.op.title){this.setTitle(this.op.title)}if(this.op.content){this.setContent(this.op.content)}if(this.op.arrow.has){this.enableArrow()}$(\"#c-tips-container\").append(this.dom)};this.bindEvent=function(){this.delay={overIcon:null,outIcon:null,overDom:null,outDom:null};if(this.op.mode==\"over\"){var b=this;$(b.op.target).on(\"mouseenter\",function(){window.clearTimeout(b.delay.outIcon);window.clearTimeout(b.delay.outDom);b.delay.overIcon=setTimeout(function(){b.show()},200)});b.dom.on(\"mouseenter\",function(){window.clearTimeout(b.delay.outIcon);window.clearTimeout(b.delay.outDom);b.delay.overDom=setTimeout(function(){b.show()},200)});$(b.op.target).on(\"mouseleave\",function(){window.clearTimeout(b.delay.overIcon);window.clearTimeout(b.delay.overDom);b.delay.outIcon=setTimeout(function(){b.hide()\n},200)});b.dom.on(\"mouseleave\",function(){window.clearTimeout(b.delay.overIcon);window.clearTimeout(b.delay.overDom);b.delay.outIcon=setTimeout(function(){b.hide()},200)})}else{if(this.op.mode==\"none\"){var b=this;b.show()}}};this.enableArrow=function(){var b=$(\"<div>\",{\"class\":\"c-tip-arrow\"}).html(\"<em></em><ins></ins>\").appendTo(this.dom);this.arrow=b};this.enableCloseIcon=function(){var d=this;var b=$(\"<div>\",{\"class\":\"c-tip-close\"}).html(\"<i class='c-icon c-icon-close'></i>\").appendTo(this.dom).click(function(){d.hide()});this.close=b};this.setTitle=function(b){if(b.nodeType){var d=$(\"<h3>\",{\"class\":\"c-tip-title\"}).append(b).appendTo(this.dom)}else{var d=$(\"<h3>\",{\"class\":\"c-tip-title\"}).html(b).appendTo(this.dom)}this.title=d};this.setContent=function(d){var b=$(\"<div>\").html(d).appendTo(this.dom);this.content=b};this.setArrow=function(b){if(b){if(b.offset>=0){this.op.arrow.offset=b.offset}}if(this.op.arrow.has&&this.arrow){switch(this.op.align){case\"left\":this.arrow.css({left:this.op.arrow.offset+\"px\"});\nbreak;case\"right\":this.arrow.css({right:this.op.arrow.offset+16+\"px\"});break;default:break}}};this.setOffset=function(b){if(b){this.op.offset.x=(b.x||b.x==0)?b.x:this.op.offset.x;this.op.offset.y=(b.y||b.y==0)?b.y:this.op.offset.y}switch(this.op.align){case\"left\":var d=$(this.getTarget()).offset();this.getDom().css({top:d.top+this.op.offset.y+\"px\",left:d.left-this.op.offset.x+\"px\"});break;case\"right\":var d=$(this.getTarget()).offset();this.getDom().css({top:d.top+this.op.offset.y+\"px\",left:d.left+this.op.offset.x+$(this.getTarget()).width()-this.getDom().width()+\"px\"});break;default:break}};this.autoOffset=function(o){var d={w:this.dom.outerWidth(),h:this.dom.outerHeight()},m=$(this.getTarget()),n=m.offset(),i={w:m.outerWidth(),h:m.outerHeight()},l=$(window),f=l.scrollTop(),k={w:l.width(),h:l.height()},b={left:0,top:0},j={},g;if((k.h+f-i.h-n.top)>d.h){b.top=i.h+n.top+this.op.arrowSize/2;if(this.arrow){this.arrow.removeClass(\"c-tip-arrow-down\")}}else{if(n.top-f>d.h){b.top=n.top-d.h-this.op.arrowSize/2;\nif(this.arrow){this.arrow.addClass(\"c-tip-arrow-down\")}}else{b.top=i.h+n.top+this.op.arrowSize/2;if(this.arrow){this.arrow.removeClass(\"c-tip-arrow-down\")}}}g=n.left+i.w/2-this.op.arrow.offset-this.op.arrowSize/2;b.left=g;if(b.left>0&&(b.left+d.w)>k.w){b.left=n.left+i.w/2-d.w+this.op.arrow.offset+this.op.arrowSize/2;j.right=this.op.arrow.offset+this.op.arrowSize;j.left=\"auto\";if(b.left<0){b.left=g;j.left=this.op.arrow.offset;j.right=\"auto\"}}else{j.left=this.op.arrow.offset;j.right=\"auto\"}this.dom.css(b);if(this.arrow){this.arrow.css(j)}};this.enable=function(){};this.disable=function(){};this.destroy=function(){};this.show=function(){if(!this.visible){this.onShow();if(!this.rendered){bds.comm.tips.push(this);this.render();this.rendered=true}if(this.isAuto){this.autoOffset()}else{this.setOffset();this.setArrow()}this.dom.css({\"z-index\":bds.comm.tipZIndex});bds.comm.tipZIndex++;this.dom.css({display:\"block\"});this.visible=true}};this.hide=function(){if(this.visible){this.dom.css({display:\"none\"});\nthis.onHide();this.visible=false}};this.onShow=a.onShow||function(){};this.onHide=a.onHide||function(){};this.getTarget=function(){return this.op.target};this.getDom=function(){return this.dom};this.init()};bds.event.trigger(\"se.api_tip_ready\");$(document).mousedown(function(b){b=b||window.event;var a=b.target||b.srcElement;while(a&&a.tagName&&a!=document.body&&a.tagName.toLowerCase()!=\"html\"){if(a.className==\"c-tip-con\"){break}a=a.parentNode}if(a&&a.className!=\"c-tip-con\"){$(bds.comm.tips).each(function(){if(!this.op.uncontrolled){if(this.op.close){this.hide()}}})}});var sethfPos=sethfPos||0;(function(){var q=\"//www.baidu.com/\",n=navigator.userAgent.indexOf(\"MSIE\")!=-1&&!window.opera,r=Math.random()*100,w=\"百度一下，你就知道\",d=\"\";window.fa=function(z){try{if(window.sidebar){window.sidebar.addPanel(w,q,\"\")}else{if(window.opera&&window.print){z.setAttribute(\"rel\",\"sidebar\");z.setAttribute(\"href\",q);z.setAttribute(\"title\",w);z.click()}else{window.external.AddFavorite(q,w)}}}catch(y){}};function f(z){if(z){var y=z.parentNode;\nif(y){y.style.marginBottom=\"20px\";y.style.marginTop=\"2px\"}}}if(n){try{var x=/se /gi.test(navigator.userAgent);var o=/AppleWebKit/gi.test(navigator.userAgent)&&/theworld/gi.test(navigator.userAgent);var l=/theworld/gi.test(navigator.userAgent);var p=/360se/gi.test(navigator.userAgent);var a=/360chrome/gi.test(navigator.userAgent);var g=/greenbrowser/gi.test(navigator.userAgent);var t=/qqbrowser/gi.test(navigator.userAgent);var m=/tencenttraveler/gi.test(navigator.userAgent);var k=/maxthon/gi.test(navigator.userAgent);var u=/krbrowser/gi.test(navigator.userAgent);var b=false;try{b=+external.twGetVersion(external.twGetSecurityID(window)).replace(/\\./g,\"\")>1013}catch(s){}if(x||b||o||l||p||a||g||t||m||k||u){var j=sethfPos?document.getElementById(\"set_f\"):document.getElementById(\"setf\");if(j){j.style.display=\"inline\";if(sethfPos){f(j);d=\"favorites\"}}}else{var i=sethfPos?document.getElementById(\"set_h\"):document.getElementById(\"seth\");if(i){i.style.display=\"inline\";if(sethfPos){f(i);d=\"home\"}}}}catch(s){}}else{var j=sethfPos?document.getElementById(\"set_f\"):document.getElementById(\"setf\");\nif(j){j.style.display=\"inline\"}if(sethfPos){f(j);d=\"favorites\"}}if(d&&sethfPos){ns_c({fm:\"sethf_show\",tab:d})}})();function user_c(i){var g=\"\",f=\"\",a=\"\",b=\"\",k=encodeURIComponent(window.document.location.href),d=window[\"BD_PS_C\"+(new Date()).getTime()]=new Image(),j=bds&&bds.util&&bds.util.domain?bds.util.domain.get(\"http://nsclick.baidu.com\"):\"http://nsclick.baidu.com\";for(v in i){switch(v){case\"title\":a=encodeURIComponent(i[v].replace(/<[^<>]+>/g,\"\"));break;case\"url\":a=encodeURIComponent(i[v]);break;default:a=i[v]}g+=v+\"=\"+a+\"&\"}b=\"&mu=\"+k;d.src=j+\"/v.gif?pid=201&pj=psuser&\"+g+\"path=\"+k+\"&wd=\"+f+\"&t=\"+new Date().getTime();return true}function initPassV3(){var a=bds.comm.passnew?3:2;bds.se.passv3=passport.pop.init({apiOpt:{loginType:1,product:\"mn\",u:window.document.location.href,safeFlag:0,qrcode:a,staticPage:location.protocol+\"//www.baidu.com/cache/user/html/v3Jump.html\"},cache:false,tangram:true,authsite:[\"qzone\",\"tsina\"],authsiteCfg:{act:\"implicit\",display:\"popup\",jumpUrl:location.protocol+\"//www.baidu.com/cache/user/html/xd.html\",onBindSuccess:function(d,f){var b=decodeURIComponent(f.passport_uname||f.displayname);\nbds.se.login.success(b);return false}},onLoginSuccess:function(d){d.returnValue=false;var b=d.rsp.data.userName||d.rsp.data.mail||d.rsp.data.phoneNumber;bds.se.login.success(b)},onSubmitStart:function(b){},onSubmitedErr:function(b){},onSystemErr:function(b){},onShow:function(){},onHide:function(){bds.se.login.setSubpro(\"\");bds.se.login.setMakeText(\"\")},onDestroy:function(){}})}bds.se.loginCallbackFunc=null;bds.se.login=(function(){var f=\"\",g=false,a=\"\";var l=function(){this.setUserInfo();var m=this;bds.comm.loginAction.push(function(n,o){m.setUserInfo(o)})},d=function(n){var m=n||bds.comm.user;if(!m){return}$(\"#lb\").replaceWith('<a href=\"http://i.baidu.com\" class=\"username\">'+escapeHTML(bds.comm.username)+'<i class=\"c-icon\"></i></a>')},i=function(n,m){if(!g){$.getScript(location.protocol+\"//passport.baidu.com/passApi/js/uni_login_wrapper.js?cdnversion=\"+new Date().getTime(),function(){initPassV3();g=true;bds.se.passv3.setSubpro(f);bds.se.passv3.setMakeText(a);bds.se.loginCallbackFunc=n||function(){window.document.location.reload(true)\n};bds.se.passv3.show()})}else{bds.se.passv3.setSubpro(f);bds.se.passv3.setMakeText(a);bds.se.loginCallbackFunc=n||function(){window.document.location.reload(true)};bds.se.passv3.show()}},k=function(m){if(!bds.comm){return}bds.comm.user=m;bds.comm.username=m;window.bdUser=m;bds.se.passv3.hide();bds.se.loginCallbackFunc.call(window,1,m);for(var n=0;n<bds.comm.loginAction.length;n++){bds.comm.loginAction[n].call(window,1,m)}},b=function(m){f=m},j=function(m){a=m};return{setUserInfo:d,open:i,success:k,setSubpro:b,setMakeText:j};l()})();window._invoke_login=function(b,a){bds.se.login.open(b,a)};function isp_hijack(g){var i=document.getElementById(\"wrapper\"),b,a=false,d,f;if(!bds.comm.query){a=true}if(g.stat==1){b=document.createElement(\"div\");b.innerHTML='<div style=\"zoom:1;_margin-left:1024px;\"><div style=\"position:relative;_float:left;_margin-left:-1024px;\"><div style=\"width:100%;min-width:1024px;\"><div style=\"border:2px solid #fd9162;zoom:1;overflow:hidden;padding:0 0 6px 12px;\"><div style=\"position:relative;width:100%;*overflow:auto;padding-top:10px;\"><div style=\"height:18px;margin-bottom:6px;\"><i class=\"c-icon\" style=\"width:18px;height:18px;background-position:-168px -72px;\"></i><strong style=\"display:inline-block;margin-left:8px;font-size:14px;color:#666;\">百度提示您：</strong></div><span style=\"display:block;color:#333;text-indent:26px;font-size:13px;\">我们发现当前您可能受到异常广告弹窗的影响，通常这是受第三方恶意劫持导致。使用 <a href=\"http://shadu.baidu.com/landingpage/competing.html?from=10064\" target=\"_blank\" style=\"color:#0000D0;text-decoration:underline\">防恶意广告专版杀毒软件</a>，可有效改善您的上网体验，免受恶意广告的困扰。</span><a id=\"isp-close-btn\" style=\"display:inline-block;width:9px;height:9px;position:absolute;top:6px;right:6px;background:url(../global/img/wsCloseBtn2.png) no-repeat;\" href=\"javascript:void(0);\"></a></div></div></div></div></div>';\nif(!a){i.style.position=\"relative\";document.getElementById(\"u\").style.top=0;b.style.margin=\"-6px 0 8px 0\";document.body.insertBefore(b,i)}else{i.insertBefore(b,i.children[0])}d=document.getElementById(\"isp-close-btn\");f=d.parentNode.getElementsByTagName(\"a\")[0];d.onclick=function(){if(a){i.removeChild(b)}else{document.body.removeChild(b);i.style.position=\"\";document.getElementById(\"u\").style.top=\"4px\"}};d.onmousedown=function(){ns_c({fm:\"behs\",tab:\"tj_notice\",cont:\"jcbro\",action:\"close\",area:\"topbar\"})};f.onmousedown=function(){ns_c({fm:\"behs\",tab:\"tj_notice\",cont:\"jcbro\",action:\"click\",area:\"topbar\"})};ns_c({fm:\"behs\",tab:\"tj_notice\",cont:\"jcbro\",action:\"show\",area:\"topbar\"})}}(function(){function a(){var d,f=\"http://isphijack.baidu.com/index.php?cb=isp_hijack\",j=[];if(top.location!=self.location){try{var b=top.document.getElementsByTagName(\"frame\");var l=top.document.getElementsByTagName(\"iframe\");for(var g=0;g<b.length;g++){j.push(b[g].getAttribute(\"src\"))}for(var g=0;g<l.length;g++){j.push(l[g].getAttribute(\"src\"))\n}}catch(k){}ns_c({fm:\"frm\",top:encodeURIComponent(top.location.href),furls:encodeURIComponent(j.join(\"|\"))});if(j){d=document.createElement(\"script\");d.src=f+\"&urls=\"+encodeURIComponent(j.join(\"|\"))+\"&t=\"+(+new Date());document.body.appendChild(d)}}}$(a)})();try{if(window.console&&window.console.log){console.log(\"一张网页，要经历怎样的过程，才能抵达用户面前？\\n一位新人，要经历怎样的成长，才能站在技术之巅？\\n探寻这里的秘密；\\n体验这里的挑战；\\n成为这里的主人；\\n加入百度，加入网页搜索，你，可以影响世界。\\n\");console.log(\"请将简历发送至 %c ps_recruiter@baidu.com（ 邮件标题请以“姓名-应聘XX职位-来自console”命名）\",\"color:red\");console.log(\"职位介绍：http://dwz.cn/hr2013\")}}catch(e){}var bds=bds||{};bds.se=bds.se||{};bds.se.tool=bds.se.tool||{};bds.comm.host={bfe:\"//www.baidu.com/tools\",favo:bds.util.domain&&bds.util.domain.get?bds.util.domain.get(\"http://i.baidu.com\"):\"http://i.baidu.com\",share:bds.util.domain&&bds.util.domain.get?bds.util.domain.get(\"http://bdimg.share.baidu.com/static/api/js/custom/resultshare.js\"):\"http://bdimg.share.baidu.com/static/api/js/custom/resultshare.js\",report:\"http://jubao.baidu.com\",koubei:\"http://koubei.baidu.com\"};\nbds.se.tool=function(item){this.init=function(){this.render()};this.render=function(){var ops=eval(\"(\"+item.getAttribute(\"data-tools\")+\")\");var toolsDom=$(\"<div>\",{\"class\":\"c-tip-menu\"});var toolsList=$(\"<ul>\");var toolsFavo=$(\"<li>\");var toolsFavoLink=$(\"<a>\").html(\"收藏\");toolsFavoLink.on(\"mousedown\",function(){bds.se.tool.favo(ops,item.getAttribute(\"id\"));ns_c({fm:\"tools\",tab:\"favo\"})});toolsFavoLink.on(\"mouseover\",function(){$(this).css(\"background-color\",\"#ebebeb\")});toolsFavoLink.on(\"mouseout\",function(){$(this).css(\"background-color\",\"#fff\")});toolsFavo.append(toolsFavoLink);toolsList.append(toolsFavo);var toolsShare=$(\"<li>\");var toolsShareLink=$(\"<a>\").html(\"分享\");toolsShareLink.on(\"mousedown\",function(){bds.se.tool.share(ops,item);ns_c({fm:\"tools\",tab:\"share\"})});toolsShareLink.on(\"mouseover\",function(){$(this).css(\"background-color\",\"#ebebeb\")});toolsShareLink.on(\"mouseout\",function(){$(this).css(\"background-color\",\"#fff\")});toolsShare.append(toolsShareLink);toolsList.append(toolsShare);\nvar toolsKoubei=$(\"<li>\").html(\"<a target=\\\"_blank\\\" onmousedown=\\\"ns_c({'fm': 'tools','tab':'koubei'})\\\" href=\\\"\"+bds.comm.host.bfe+\"?url=\"+encodeURIComponent(ops.url)+\"&jump=\"+encodeURIComponent(bds.comm.host.koubei+\"/womc/p/sentry?title=\"+encodeURIComponent(ops.title)+\"&q=\"+encodeURIComponent(bds.comm.query))+'&key=surl\">评价</a>');toolsList.append(toolsKoubei);var toolsReport=$(\"<li>\").html(\"<a target=\\\"_blank\\\" onmousedown=\\\"ns_c({'fm': 'tools','tab':'report'})\\\" href=\\\"\"+bds.comm.host.bfe+\"?url=\"+encodeURIComponent(ops.url)+\"&jump=\"+encodeURIComponent(bds.comm.host.report+\"/jubao/accu/?title=\"+encodeURIComponent(ops.title)+\"&q=\"+encodeURIComponent(bds.comm.query))+'&key=surl\">举报</a>');toolsList.append(toolsReport);toolsDom.append(toolsList);var tTip=new bds.se.tip({target:$(\".c-icon\",item)[0],mode:\"none\",align:\"left\",offset:{x:33},arrow:{has:1,offset:30},content:toolsDom,ext:{category:\"tools\"}});tTip.onShow=function(){ns_c({fm:\"tools\",tab:\"show\"})}};this.init()};bds.se.tool.share=function(b,a){this.op=b||{};\nthis.init=(function(f,d){$.getScript(bds.comm.host.share,function(){$(bds.comm.tips).each(function(){if(!this.op.uncontrolled){this.hide()}});var g=new bds.se.tip({target:$(\".c-icon\",d)[0],mode:\"none\",offset:{x:33},arrow:{has:0},close:1,content:'<div class=\"c-tools-share\" style=\"width:200px;\"></div>'});var i=$(\".c-tools-share\",g.dom.get(0))[0];__bdshare.render({boxEle:i,url:f.url,txt:f.title+\" -- 分享自百度搜索\"})})})(this.op,a)};bds.se.tool.favo=function(d,b){this.op=d||{};this.init=function(k,j){if(k){var f=document.createElement(\"script\");var g=bds.comm.host.bfe,i=bds.comm.host.favo;f.src=g+\"?url=\"+encodeURIComponent(k.url)+\"&jump=\"+encodeURIComponent(i+\"/myfavorite/set?irt=1&t=\"+encodeURIComponent(k.title)+\"&id=\"+encodeURIComponent(j)+\"&c=bds.se.tool.favo.succ\")+\"&key=url\";document.body.appendChild(f)}};if(bds.comm.user){this.init(this.op,b)}else{if(bds.se.login&&bds.se.login.open){var a=this;bds.se.login.open(function(g,f){if(g==1){a.init(a.op,b)}})}}};bds.se.tool.favo.succ=function(json){if(json.suc){if(json.status){switch(json.status){case 302:if(bds.se.login&&bds.se.login.open){bds.se.login.open(function(stat,user){if(stat==1){bds.se.tool.favo(eval(\"(\"+$(\"#\"+json.id)[0].getAttribute(\"data-tools\")+\")\"),json.id)\n}})}break;case 5:var succContent='<div class=\"c-tip-notice\">';succContent+='<h3 class=\"c-tip-notice-fail\">收藏失败，请稍后再试</h3>';succContent+=\"</div>\";break}}}else{if(json.status){var succContent='<div class=\"c-tip-notice\">';succContent+='<h3 class=\"c-tip-notice-succ\">已收藏至：</h3>';succContent+=\"<ul>\";switch(json.status){case 2:succContent+='<li class=\"c-tip-item-succ\"><i class=\"c-icon c-icon-success\"></i>个人中心“<a href=\"http://i.baidu.com/my/collect\" target=\"_blank\">我的收藏</a>”</li>';succContent+='<li class=\"c-tip-item-succ\"><i class=\"c-icon c-icon-success\"></i>百度首页“<a href=\"http://www.baidu.com\" target=\"_blank\">我的导航</a>”</li>';break;case 3:succContent+='<li class=\"c-tip-item-succ\"><i class=\"c-icon c-icon-success\"></i>个人中心“<a href=\"http://i.baidu.com/my/collect\" target=\"_blank\">我的收藏</a>”</li>';succContent+='<li class=\"c-tip-item-fail\"><i class=\"c-icon c-icon-fail\"></i>百度首页“<a href=\"http://www.baidu.com\" target=\"_blank\">我的导航</a>”</li>';break;case 4:succContent+='<li class=\"c-tip-item-fail\"><i class=\"c-icon c-icon-fail\"></i>个人中心“<a href=\"http://i.baidu.com/my/collect\" target=\"_blank\">我的收藏</a>”</li>';\nsuccContent+='<li class=\"c-tip-item-succ\"><i class=\"c-icon c-icon-success\"></i>百度首页“<a href=\"http://www.baidu.com\" target=\"_blank\">我的导航</a>”</li>';break;default:break}succContent+=\"</ul>\";succContent+=\"</div>\"}}$(bds.comm.tips).each(function(){if(!this.op.uncontrolled){this.hide()}});new bds.se.tip({target:$(\".c-icon\",document.getElementById(json.id))[0],offset:{x:33},arrow:{has:0},mode:\"none\",arrow:{has:0},close:1,content:succContent})};var bds=bds||{};bds.se=bds.se||{};bds.se.tools=bds.se.tools||{};bds.se.tools=function(){var a=delayHideOnIcon=delayShowOnTip=delayHideOnTip={};$(\"#container\").delegate(\".c-tools\",\"mouseover\",function(){var b=this;window.clearTimeout(delayHideOnIcon);window.clearTimeout(delayHideOnTip);a=setTimeout(function(){var d=1;$(bds.comm.tips).each(function(f){if(this.getTarget()==$(\".c-icon\",b)[0]){d=0;this.show();return false}});if(d){tools=new bds.se.tool(b)}},200)}).delegate(\".c-tools\",\"mouseout\",function(){window.clearTimeout(a);window.clearTimeout(delayShowOnTip);\nvar b=this;delayHideOnIcon=setTimeout(function(){$(bds.comm.tips).each(function(d){if(this.getTarget()==$(\".c-icon\",b)[0]){this.hide();return false}})},200)});$(\"#c-tips-container\").delegate(\".c-tip-con\",\"mouseover\",function(){var b=this;window.clearTimeout(delayHideOnIcon);window.clearTimeout(delayHideOnTip);delayShowOnTip=setTimeout(function(){$(bds.comm.tips).each(function(d){if(this.getDom().get(0)==b&&this.ext.category&&this.ext.category==\"tools\"){this.show();return false}})},200)}).delegate(\".c-tip-con\",\"mouseout\",function(){window.clearTimeout(a);window.clearTimeout(delayShowOnTip);var b=this;delayHideOnTip=setTimeout(function(){$(bds.comm.tips).each(function(d){if(this.getDom().get(0)==b&&this.ext.category&&this.ext.category==\"tools\"){this.hide();return false}})},200)})};bds.se.tools();var bds=bds||{};bds.se=bds.se||{};bds.se.slide=function(n){var g=this,f={},i,l,b,j=[],a=0,m=null,k,d;this._default={target:$(\"#lg\"),src:\"\",width:270,height:129,offsetLeft:0,isPad:false,frames:103,animations:[{isAutoPlay:true,frame_start:1,frame_end:30,delay:0,duration:100,repeats:0,process_before:function(){},event_loop:0,process_after:function(){}},{trigger_type:\"click\",trigger_duration:100,trigger_frame:31,trigger_fn:function(){},frame_start:32,frame_end:103,process_before:function(){},process_after:function(){},delay:0,duration:100,repeats:1,event_loop:0}]};\nthis.timer=[];this.otherTimer=[];this.op=$.extend({},g._default,n);this.init=function(){if(!g.op.src){g.createPlayer();return}g.createDom();if(bds.comm.ishome&&g.op.target.length){g.initAnimate()}};this.createPlayer=function(){var q=g.op.target.find(\"map\"),o=q.length?q.find(\"area\").eq(0):\"\",p=g.op.play;if(p){l=$('<img class=\"logo_player\" src=\"'+p.src+'\" style=\"width:'+p.width+\"px; height:\"+p.height+\"px; position:absolute; top:50%; left:50%; margin-left: -\"+(p.width/2)+\"px; margin-top: -\"+(p.height/2)+\"px; cursor:pointer;\\\" onmousedown=\\\"return c({'tab':'logo_button_click'})\\\" />\").appendTo(g.op.target);if(o.length){l.wrap('<a style=\"position:absolute;top:0;left:50%;width:'+g.op.width+\"px;height:\"+g.op.height+\"px;margin-left:-\"+(g.op.width/2)+'px;\" href=\"'+o.attr(\"href\")+'\" target=\"'+o.attr(\"target\")+'\"></a>');if(o.attr(\"title\")){l.attr(\"title\",o.attr(\"title\"))}}else{l.wrap('<div style=\"position:absolute;top:0;left:50%;width:'+g.op.width+\"px;height:\"+g.op.height+\"px;margin-left:-\"+(g.op.width/2)+'px;\"></div>')\n}l.on(p.trigger_type,function(){if(p.trigger_duration){g.timer.push(window.setTimeout(function(){p.trigger_fn.call(g.op)},p.trigger_duration))}else{p.trigger_fn.call(g.op)}return false})}};this.createDom=function(){var s='<div style=\"position:absolute;top:0;left:50%;background:url(#{0}) no-repeat #{1};cursor:#{2};width:#{3}px;height:#{4}px;margin-left:-#{5}px;display:none;\"></div>',w=g.op.offsetLeft+\"px 0\",u=g.op.target.find(\"map\"),B=u.length?u.find(\"area\").eq(0):\"\",x=B?\"pointer\":x,z=g.op.animations instanceof Array?g.op.animations:[g.op.animations],p=g.op.width,y=g.op.height;j=z;k=p;d=y;s=$.format(s,g.op.src,w,x,g.op.width,g.op.height,g.op.width/2);if(g.op.target.css(\"position\")===\"static\"){g.op.target.css({position:\"relative\",width:\"100%\"})}g.op.target.append(s);i=b=g.op.target.find(\"div\").eq(0);if(g.op.play){l=$('<img src=\"'+g.op.play.src+'\" style=\"width:'+g.op.play.width+\"px; height:\"+g.op.play.height+\"px; position:absolute; top:50%; left:50%; margin-left: -\"+(g.op.play.width/2)+\"px; margin-top: -\"+(g.op.play.height/2)+\"px; \\\" onmousedown=\\\"return c({'tab':'logo_button_click'})\\\" />\").insertAfter(i);\nb=l}if(g.op.isPad){i.css(\"background-size\",(g.op.width*g.op.frames/2)+\"px \"+g.op.height+\"px\")}if(B.length){i.wrap('<a href=\"'+B.attr(\"href\")+'\" target=\"'+B.attr(\"target\")+'\"></a>');if(B.attr(\"title\")){i.attr(\"title\",B.attr(\"title\"))}}else{i.on(\"mousedown\",function(){c({tab:\"logo_button_click\"})})}for(var r=0,q=j.length;r<q;r++){var o=j[r];var t=o.frame_start;w=-((t-1)*p)+\"px 0\";f[r]={\"background-position\":w,cursor:x}}};this.initAnimate=function(){if(a>=j.length){return}var r=j[a],u=r.isAutoPlay,s=r.trigger_type,p=r.trigger_fn,w=r.trigger_duration,t=r.trigger_frame;var q=$(\"#lg area\");if(q.length&&q.attr(\"onmousedown\")){i.on(\"mousedown\",function(){return(new Function(q.attr(\"onmousedown\")))()})}m=new Image();m.src=g.op.src;i.bind(\"first_animate\",function(){if(!m.complete){m.onload=o}else{o()}});if(u){i.trigger(\"first_animate\")}else{if(s){g.enablePointer();b.show().on(s,function(){if(p){if(t){g.toPos(t)}p.call(g.op);if(w){g.timer.push(setTimeout(function(){i.trigger(\"first_animate\")},w))}else{i.trigger(\"first_animate\")\n}}})}}function o(){i.show();g.play()}};this.enablePointer=function(){if(!(bds.comm.upn&&bds.comm.upn.browser===\"msie\"&&bds.comm.upn.ie===\"6\")){i.css(\"cursor\",\"pointer\")}else{alert(\"pointer\")}};this.disablePointer=function(){i.css(\"cursor\",\"default\")};this.play=function(){if(a>=j.length){g.dispose();return}var o=j[a],p=o.process_before;g.dispose();if(p){p.call(g)}g.animation()};this.toPos=function(o){var p=-((o-1)*k)+\"px 0\";i.css(\"background-position\",p)};this.animation=function(){var u=j[a],x=u.duration,B=u.frame_start,y=u.frame_end,z=u.delay,w=u.repeats,t=u.process_after,q=u.trigger_type,p=B-1>0?B-1:0,E=u.event_loop||0,s=0;var o;if(E){o=j[a]}else{o=a+1>=j.length?j[a]:j[a+1]}if(o){var D=o.trigger_type,r=o.trigger_fn,C=o.trigger_duration,F=o.trigger_frame;if(D){if(q){b.off(q)}if(a<(j.length-1)||E){g.enablePointer();b.on(D,function(){if(!E){a++}if(t){t.call(g)}if(r){r.call(g)}if(F){g.toPos(F)}if(C){g.dispose();g.timer.push(setTimeout(function(){g.play()},C))}else{g.play()}})}else{g.disablePointer()\n}}}(function(){var H=arguments.callee;g.timer.push(setTimeout(function(){i.css(\"background-position\",-(k*p)+\"px 0\");p++;if(p>=y){g.dispose();s++;if(w!==0&&s>=w){p=null;s=null;if(t){t.call(g)}a++;if(a<j.length){g.play()}if(E){a--}}else{p=B-1>0?B-1:0;g.timer.push(setTimeout(arguments.callee,x))}}else{g.timer.push(setTimeout(arguments.callee,x))}},z))})()};this.dispose=function(p){p=p||g.timer;for(var q=0,o=p.length;q<o;q++){window.clearTimeout(p[q])}p.length=0};this.disposeOther=function(p){p=p||g.otherTimer;for(var q=0,o=p.length;q<o;q++){window.clearTimeout(p[q])}p.length=0};this.clear=function(){g.dispose();g.disposeOther();b.off(\"click\").off(\"hover\")};this.reset=function(o){o=o||0;i.css(f[o])};this.init()};var bds=bds||{};!bds.se&&(bds.se={});(function(){var w,p,g,t=navigator.userAgent,o,k,d,s,q,y,m,B=bds&&bds.util&&bds.util.domain?bds.util.domain.get(\"http://xiaodu.baidu.com\"):\"http://xiaodu.baidu.com\",z=encodeURIComponent(\"百小度\");var f=\"http://s1.bdstatic.com/r/www/xiaodu/bear/\";var r=location.protocol.search(/https/)>-1?bds.util.domain.get(f+\"protocal/https/\"):f;\ntry{y=window.localStorage}catch(x){}if(!y){y={setItem:function(){},getItem:function(){}}}var b=r+\"getversion.js?_=\"+(+new Date);var j=function(C){if(bds.se.xiaodu&&bds.se.xiaodu.loadedVersion){C&&C();return}$.ajax({dataType:\"script\",cache:true,url:b,success:function(){C&&C()}})};o=function(J,E,H,F){var D=F||{};var I=D.source;if((E||H)&&/\\$\\#.+\\#\\$/.test(J)){var C=[],K=[];if($.isArray(E)){C=$.extend(true,[],E)}else{if(E){C=[E]}}if($.isArray(H)){K=$.extend(true,[],H)}else{if(H){K=[H]}}if(C.length>0){var I=D.source;J=J.replace(/\\$\\#(.+?)\\#\\$/g,function(L,N){var M=C.shift()||N;return'<a data-source=\"'+(I||\"link\")+'\" data-type=\"link\" data-query=\"'+encodeURIComponent(M)+'\" href=\"http://www.baidu.com/s?wd='+encodeURIComponent(M)+'&tn=baiduhome_pg\" target=\"_blank\">'+N+\"</a>\"})}else{if(K.length>0){J=J.replace(/\\$\\#(.+?)\\#\\$/g,function(L,N){var M=K.shift()||N;return'<a data-source=\"'+(I||\"link\")+'\" data-type=\"link\" data-query=\"'+encodeURIComponent(N)+'\" href=\"'+M+'\" target=\"_blank\">'+N+\"</a>\"})}}}return J\n};var a=function(){if(!m){return}$.ajax({url:B+\"/s\",data:{sample_name:\"bear_brain\",request_query:\"百小度\",request_type:9,request_time:+new Date(),request_from:3,source_type:m.source_type||\"\",service_id:m.service_id||\"\",action_type:\"tip_close_click\"}})};d=function(J,L,D){var H='<div data-link=\"http://www.baidu.com/s?wd='+z+'&bd_bear=open&tn=baiduhome_pg\" class=\"bd_bear_home_tip\" style=\"cursor: pointer;'+(D?\"display: none;\":\"\")+'\">            <span class=\"bd_bear_home_tip_arrow\"></span>            <span class=\"bd_bear_home_tip_close\"></span>            <span class=\"bd_bear_home_tip_content\">#{content}</span>        </div>',E,C=$(window);if(!L||!L.length){return}E=$(H.replace(\"#{content}\",J||\"\")).appendTo(L);var K=function(){var M=function(){E.remove();L.removeClass(\"bds_bear_home_tip_show bd_bear_home_guide\")};E.click(function(){window.open(E.data(\"link\"));window.ns_c&&ns_c({bear_log:1,from:\"bg_home\",query:decodeURIComponent(z)});M()});$(\".bd_bear_home_bear_head\").click(M);E.find(\".bd_bear_home_tip_close\").click(function(N){N.stopPropagation();\nM();a()});E.delegate(\"a\",\"click\",function(O){var N=$(O.target);window.ns_c&&ns_c({bear_log:1,query:decodeURIComponent(N.data(\"query\")),type:N.data(\"type\"),source:decodeURIComponent(N.data(\"source\")),url:N.attr(\"href\")||\"\"});O.stopPropagation();M()})};if(D){var I=true;L.find(\"a\").click(function(){if(I){x.preventDefault()}});var F=$('<div class=\"bd_bear_home_guide_cursor\"></div>').appendTo(L);setTimeout(function(){F.animate({bottom:40,left:30},1000,function(){L.addClass(\"bds_bear_home_tip_show\").removeClass(\"bd_bear_home_guide\");E.fadeIn(function(){setTimeout(function(){F.remove();I=false;K()},1000)})})},1500)}else{L.addClass(\"bds_bear_home_tip_show\");K()}};k=function(C){$.ajax({url:B+\"/s\",data:{sample_name:\"bear_brain\",request_query:\"百小度\",bear_type:0,request_time:+new Date(),request_from:3},dataType:\"jsonp\",success:function(E){var F,D;if(E.guided==1){C.addClass(\"bd_bear_home_guide\");d(\"Hi，我是小度机器人，点这里可以找我玩耍～\",C,true);return}if(E.status==0&&(F=E.result_list&&E.result_list[0]&&E.result_list[0].result_content?$.parseJSON(E.result_list[0].result_content):null)&&F.tip){if(E.se_query){z=encodeURIComponent(E.se_query)\n}D=o(F.tip,F.sugg||F.sugg_arr,F.link||F.link_arr,{source:encodeURIComponent(E.source_type)});if(D){d(D,C);m=E}}}})};g=function(E,C){var D=y;if(D&&D.getItem(\"BDBEARUSER\")==bds.comm.user&&D.getItem(\"BDBEARSTATUS\")==\"true\"&&new Date(parseInt(D.getItem(\"BDBEARTIME\"),10)).getDate()==new Date().getDate()){E&&E();return}$.ajax({url:B+\"/s\",data:{request_type:8,sample_name:\"bear_brain\"},dataType:\"jsonp\",success:function(F){if(F&&F.adopted==1){D.setItem(\"BDBEARUSER\",bds.comm.user);D.setItem(\"BDBEARSTATUS\",\"true\");D.setItem(\"BDBEARTIME\",+new Date);E&&E()}else{C&&C()}},error:function(){C&&C()}})};p=function(E,C){var D=t.match(/MSIE\\s*(\\d+)/i);if(!bds.comm.user||(D&&(!document.documentMode||document.documentMode<=8||D[1]<=8))){C&&C();return}g(E,C)};var n=$(window);var i=y&&y.getItem(\"BDBEARUSER\")==bds.comm.user&&y.getItem(\"BDBEARSTATUS\")===\"true\";var u={init:function(){var D=bds.comm.sid;if(bds.comm.upn.ie<=8||document.documentMode<=8){return}var F=bds.se.bearObj;if(!D||D.search(/(14662|14423)/)==-1){if(i){var C=$(\"#bd-bear-gaokao-hide\");\nC.size()&&C.remove()}return}this.sid=D;var E=this;if(F&&F.tipAladdin&&F.tipAladdin.hasOpen){return}if(F&&F.ui&&F.ui.type!=0){return}if(!$(\"#bd-bear-gaokao-hide\").size()){$('<style id=\"bd-bear-gaokao-hide\" data-for=\"result\" type=\"text/css\">                            .bd-bear-sprite-icon { display: none; }                            </style>').appendTo(document.head)}this.loadBear(this.checkQuery())},checkQuery:function(){return this.sid.search(/14423/)>-1?\"点击问我关于{query}的问题吧，我是智能机器人百小度！\".replace(\"{query}\",bds.comm.query):\"我是小度机器人，点我帮你填报志愿！\"},loadBear:function(C){j(function(){require([\"bear\"],function(D){if(!bds.se.bearObj){var E=new D();E.init(bds.comm.userid||bds.comm.username||bds.comm.user||$.getCookie(\"BAIDUID\"),bds.comm.query,{needuid:i?false:true,aladdinTip:C})}bds.se.bearObj.ready(function(F){F.showTipAladdin(C,bds.comm.query||\"\")})})})}};var l={checkSid:function(C){return bds.comm.user&&bds.comm.sid.search(C)>-1},checkFlash:function(){var C;try{C=navigator.plugins[\"Shockwave Flash\"]||new ActiveXObject(\"ShockwaveFlash.ShockwaveFlash\")\n}catch(D){C=false}return !!C},init:function(){var C=this;if(bds.comm.upn.ie<=8||document.documentMode<=8){return}if(this.checkSid(\"16170\")&&this.checkFlash()){this.giftFlag=1;this.showGift()}if(this.checkSid(\"16345\")&&this.checkFlash()){this.getPointStatus(function(){C.showPlayer()})}},getPointStatus:function(C){$.ajax({url:B+\"/s?sample_name=bear_brain\",dataType:\"jsonp\",jsonp:\"callback\",data:{request_type:11,register_from:\"point\"},success:function(D){if(D.status==0&&D.isregister==1){C&&C()}}})},showGift:function(){var D=y.getItem(\"BDBEARGIFT\")||null;var C=this;if(D===\"hide\"){return}if(D){D=new Date(+D);if(new Date().getDate()-3>D.getDate()){C.log({gift_hide:1});y.setItem(\"BDBEARGIFT\",\"hide\");return}}else{y.setItem(\"BDBEARGIFT\",+new Date)}var E=$('<img src=\"https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/home/img/gift_aad42725.gif\" style=\"position: absolute;                top: 5px; z-index: 301; left: 828px;cursor:pointer;\"><style type=\"text/css\" data-for=\"result\">.s_form_wrapper .tools{                    display: none;}</style>').appendTo(\".head_wrapper\");\nC.log({gift_show:1});E.click(function(){C.showPlayer();E.remove();C.log({gift_click:1})})},showPlayer:function(){var C=this;if(!bds.se.bearFlashEnd){bds.se.xiaoduFlashEnd=function(){C.$form.show();C.loadEnd=true}}C.log({start:1});this.addCSS();this.loadFlash();this.bindEvent()},addCSS:function(){$('<style type=\"text/css\">                .bd-bear-invitation-container {position: absolute; left: 0; top: 0; z-index: 398; background: rgba(0, 0, 0, .85)}                .bd-bear-invitation-flash {width: 1000px; margin: 0 auto; position: relative; }                .bd-bear-invitation-form {position: absolute; left: 514px; top: 449px; display: none;}                .bd-bear-invitation-form input {margin: 0 0 0 70px; padding: 0 5px; border: 0; display: block; outline: none; width: 141px; height: 25px; font-size: 14px; background: transparent; color: #09f}                .bd-bear-invitation-form .bd-bear-invitation-username {margin-top: 11px;}                .bd-bear-invitation-form a {display: block; float: left; width: 97px; height: 38px; margin: 20px 20px 0 0;}                .bd-bear-invitation-close-btn {position: absolute; top: 65px; right: 110px; width: 50px; height: 50px; background: #333;                    border-radius: 50%;}                .bd-bear-invitation-close-btn::before, .bd-bear-invitation-close-btn::after { content: \" \"; width: 40px; height: 6px;                    overflow: hidden; background: #999;-webkit-transform: rotate(45deg); -moz-transform: rotate(45deg);                    -ms-transform: rotate(45deg); transform: rotate(45deg); position: absolute; left: 5px; top: 22px; display: block;}                .bd-bear-invitation-close-btn::after {-webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg);                    -ms-transform: rotate(-45deg); transform: rotate(-45deg);}               </style>').appendTo(document.head)\n},loadFlash:function(){var C=$(document.body);var E=\"https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/plugins/xiaodu_00f4826c.swf\";var D=$('<div class=\"bd-bear-invitation-container\">                    <div class=\"bd-bear-invitation-flash\">                        <embed width=\"1000\" height=\"700\" src=\"'+E+'\"                         wmode=\"transparent\" type=\"application/x-shockwave-flash\" AllowScriptAccess=\"always\">                        <div class=\"bd-bear-invitation-form\">                            <input type=\"input\" placeholder=\"输入小度的昵称\" max-length=\"20\" value=\"小度\" class=\"bd-bear-invitation-bearname\" />                            <input type=\"input\" placeholder=\"输入你的昵称\" max-length=\"20\" value=\"主人\" class=\"bd-bear-invitation-username\" />                            <a href=\"javascript:;\" class=\"bd-bear-invitation-activate\"></a>                            <a href=\"javascript:;\" class=\"bd-bear-invitation-close\"></a>                        </div>                        <a href=\"javascript:;\" class=\"bd-bear-invitation-close bd-bear-invitation-close-btn\"></a>                    </div>                </div>').css({width:C.width(),height:Math.max(n.height(),C.height())}).appendTo(document.body);\nthis.$container=D;this.$form=D.find(\".bd-bear-invitation-form\");this.startTime=new Date()},bindEvent:function(){var D=this;var F=$(document.body);var I=this.$container;I.find(\".bd-bear-invitation-close\").click(function(){D.$container.remove();bds.se.bearFlashEnd=null;D.log({play_end:D.loadEnd?1:0,cancel:$(this).hasClass(\"bd-bear-invitation-close-btn\")?0:1,play_time:new Date()-D.startTime});var J=new Date();J.setDate(J.getDate()-3);y.setItem(\"BDBEARGIFT\",+J)});var E=function(){I.css({width:F.width(),height:Math.max(n.height(),F.height())})};n.on(\"resize\",E);n.one(\"swap_begin\",function(){bds.se.bearFlashEnd=null;n.off(\"resize\",E)});var C=I.find(\".bd-bear-invitation-bearname\");var H=I.find(\".bd-bear-invitation-username\");I.find(\".bd-bear-invitation-activate\").click(function(){var J=$.trim(C.val())||\"小度\";var K=$.trim(H.val())||\"主人\";D.getBear(K,J);D.log({active:1})})},getBear:function(D,C){$.ajax({url:B+\"/s?sample_name=bear_brain&request_query=123\",dataType:\"jsonp\",jsonp:\"callback\",data:{request_type:4,request_from:0,user_name:D,system_name:C,register_from:this.giftFlag?\"sample\":\"point\"},success:function(E){if(E.status==0){location.href=\"/s?wd=\"+z+\"&bd_bear=guide\"\n}else{alert(\"绑定昵称错误\")}}})},log:function(C){window.ns_c&&ns_c($.extend({bear_invitation:this.giftFlag?1:2,query:bds.comm.query||\"\"},C))}};bds.se.bear={showHomeBear:function(){var C=$(\"#s_main\");if(!C.size()||!C.children().length){C=$('<div class=\"bd_bear_home_nocard\"></div>').appendTo(document.body)}p(function(){var D=$('<div class=\"bd_bear_home_weaker\"></div>').appendTo(C);q=D;D.show().get(0).className=\"bd_bear_home_show\";D.append($('<a class=\"bd_bear_home_bear_head\" href=\"http://www.baidu.com/s?wd='+z+'&bd_bear=open&tn=baiduhome_pg\" target=\"_blank\"></a>'));D.find(\".bd_bear_home_bear_head\").click(function(){window.ns_c&&ns_c({bear_log:1,from:\"bg_home\",query:decodeURIComponent(z)})});n.on(\"index_off\",function(){D&&D.remove&&D.remove()});k(D)})},showResultBear:function(C){u.init();n.on(\"swap_end\",function(){u.init()});p(function(){j(function(){require([\"bear\"],function(D){var E=new D();E.init(bds.comm.userid||bds.comm.username||bds.comm.user||$.getCookie(\"BAIDUID\"),bds.comm.query)})})},function(){l.init();\nC&&C()})}}})();var bds=bds||{};bds.se=bds.se||{};bds.se.banner=function(a,d,b){this.init=function(){b=b||{};this.$dom_panel=$(a);this.hintText=d;this.hintIcon=b.iconClass||\"\";this.downUrl=b.downUrl||\"\";this.hintCookie=b.cookie||\"\";this.showNum=(this.hintCookie&&$.getCookie(this.hintCookie))?Number($.getCookie(this.hintCookie)):0;this.nscTab=b.nscTab||\"\";this.ishome=(bds.comm&&bds.comm.ishome==1)?1:0;if(a&&d&&this.showNum<5&&!$(\".baiduapp_banner\")[0]&&!$(\".res_top_banner\")[0]){this.show()}};this.show=function(){this.render();this.showNum+=1;$.setCookie(this.hintCookie,this.showNum,{expires:30*24*60*60*1000});this.$dom_panel.prepend(this.bannerHtml);if(this.ishome!=1){this.headFloat()}this.bindEvent();ns_c({fm:\"behs\",tab:((this.ishome==1)?\"tj_\":\"\")+\"baidu_\"+(this.nscTab?this.nscTab:\"topbanner\")+\"show\"})};this.render=function(){var f=[];f=f.concat(['<div class=\"res_top_banner\">','<i class=\"c-icon '+(this.hintIcon?this.hintIcon:\"res_top_banner_icon\")+'\"></i>',\"<span>\"+this.hintText+\"</span>\",(this.downUrl)?'<a href=\"'+this.downUrl+'\" class=\"res_top_banner_download\">立即体验</a>':\"\",'<i class=\"c-icon res_top_banner_close\"></i>',\"</div>\"]);\nthis.bannerHtml=f.join(\"\")};this.headFloat=function(){var g=$(\"#head\"),j=$(window),f=$(\".res_top_banner\");var i=g.css(\"position\");$(window).scroll(function(){var l=f.height()||0,k=j.scrollTop();if(k<=l){g.attr(\"style\",\"position:absolute;\")}else{g.attr(\"style\",\"top:0px;_top:\"+l+\"px;\")}})};this.bindEvent=function(){var f=$(\".res_top_banner\"),g=this;$(\".res_top_banner_download\",f).on(\"mousedown\",function(){g.hintCookie&&$.setCookie(g.hintCookie,5,{expires:30*24*60*60*1000});ns_c({fm:\"behs\",tab:((g.ishome==1)?\"tj_\":\"\")+\"baidu_\"+(g.nscTab?g.nscTab:\"topbanner\")+\"down\"})});$(\".res_top_banner_close\",f).on(\"mousedown\",function(){f.detach();g.hintCookie&&$.setCookie(g.hintCookie,5,{expires:30*24*60*60*1000});ns_c({fm:\"behs\",tab:((g.ishome==1)?\"tj_\":\"\")+\"baidu_\"+(g.nscTab?g.nscTab:\"topbanner\")+\"close\"})});$(window).on(\"swap_begin\",function(){f.detach()})};this.init()};(function(){$(window).on(\"swap_end\",function(){var a=[\"union\",\"union2baidu\",\"union_cpro\",\"union_nosearch\",\"redbull\",\"hao123\"],f=bds.comm.upn,b=navigator.userAgent.toLowerCase().search(/msie [6-8]/);\nif(bds.comm.tng&&$.inArray(bds.comm.tng,a)==-1){if(f&&f.browser&&f.browser==\"msie\"&&f.ie&&(f.ie==\"6\"||f.ie==\"7\"||f.ie==\"8\")&&b>0){var d=(f.ie==\"6\")?\"您的浏览器采用的IE6内核已停止维护，推荐升级到更快更安全的百度浏览器！\":\"您的IE浏览器版本较低，即将停止更新维护，建议升级到更快、更安全的百度浏览器。\";bds.se.banner($(\"body\")[0],d,{downUrl:\"http://j.br.baidu.com/v1/t/ui/p/browser/tn/10105001/ch_dl_url\",cookie:\"H_PS_BBANNER\",nscTab:\"browser\"})}}})})();bds.se.safeTip=(function(){var selfCSS=[\".unsafe_content{margin-top:4px;}\",\"a.unsafe_ico_new{color:#b95b07;}\",\".safe_icons{width:60px;line-height:15px;font-zise:12px;color:#666;text-align:center;display:inline-block;vertical-align:top}\",\".safe_icons_bd{width:16px;height:16px;display:inline-block;background:url(//www.baidu.com/cache/spam/img/safe-icons-1.1.png) no-repeat -17px 0;position:relative;z-index:0}\",\".safe_icons_qq{width:16px;height:16px;display:inline-block;background:url(//www.baidu.com/cache/spam/img/safe-icons-1.1.png) no-repeat -173px 0;position:relative;z-index:0}\",\".safe_icons_hs{width:16px;height:16px;display:inline-block;background:url(//www.baidu.com/cache/spam/img/safe-icons-1.1.png) no-repeat -68px 0;position:relative;z-index:0}\",\".safe_icons_js{width:16px;height:16px;display:inline-block;background:url(//www.baidu.com/cache/spam/img/safe-icons-1.1.png) no-repeat 0 0;position:relative;z-index:0}\",\".safe_icons_sc{width:16px;height:16px;display:inline-block;background:url(//www.baidu.com/cache/spam/img/safe-icons-1.1.png) no-repeat -51px 0;position:relative;z-index:0}\",\".safe_icons_fail{width:14px;height:14px;display:inline-block;background:url(//www.baidu.com/cache/spam/img/safe-icons-1.1.png)  no-repeat -159px 0;position:absolute;left:9px;top:7px}\"];\nfunction init(){bds.util.addStyle(selfCSS.join(\"\"));var num_unsafe=0,tj_which=[],data_tpl=\"\",data_id=[];var unsafe=$(\".unsafe_ico_new\").get();for(var i=0;i<unsafe.length;i++){var obj=unsafe[i];var s_data=eval(\"(\"+obj.getAttribute(\"data-safe\")+\")\");data_id.push(obj.getAttribute(\"data-id\"));data_tpl=obj.getAttribute(\"data-tpl\");var s_type={qq:\"0\",bd:\"0\",sc:\"0\",js:\"0\",hs:\"0\"};if(s_data){s_item=s_data.hintItem;for(var j=0;j<s_item.length;j++){s_type[s_item[j]]=\"1\"}for(var key in s_type){if(s_type[key]==\"1\"){tj_which.push(key)}}}while(obj.className.indexOf(\"result\")==-1){obj=obj.parentNode}if(obj.className.indexOf(\"result\")!=-1){var h3=obj.getElementsByTagName(\"h3\");if(h3){var links=h3[0].getElementsByTagName(\"a\");if(links){var html=links[0].innerHTML;links[0].href=unsafe[i].href;links[0].innerHTML=html}}}num_unsafe++;var safedata=eval(\"(\"+unsafe[i].getAttribute(\"data-safe\")+\")\");var tip_id=unsafe[i].getAttribute(\"data-id\");var tip_tpl=unsafe[i].getAttribute(\"data-tpl\");setTipCon(unsafe[i],safedata,tip_id,tip_tpl)\n}if(num_unsafe>0){ns_c({tab:\"safetip\",num_unsafe:num_unsafe,prd:tj_which.join(\"|\"),hintId:data_id,hintTpl:data_tpl})}}function setTipCon(obj,data,tip_id,tip_tpl){var safeName={qq:\"电脑<br>管家\",bd:\"百度安<br>全检测\",sc:\"SCANV<br>安全中心\",js:\"金山<br>云安全\",hs:\"小红伞\"};var groupName={qq:0,js:0,bd:0,sc:0,hs:0},nameHtml=[],typeHtml=[],html=\"\";if(data==\"\"){return}var group=data.hintItem;for(var i=0;i<group.length;i++){groupName[group[i]]=1}for(var key in groupName){if(groupName[key]==1){nameHtml.push('<span class=\"safe_icons\"><span class=\"safe_icons_'+key+'\"><span class=\"safe_icons_fail\"></span></span><br>'+safeName[key]+\"</span>\")}}html='<div class=\"c-tip-info\"><strong><em>'+data.hintLabelMid+\"</em>&nbsp;&nbsp;\"+data.hintLabelSuf+\"</strong>\";html+='<p class=\"c-gap-top-small c-gap-bottom-small\">'+nameHtml.join(\"\")+\"</p></div>\";new bds.se.tip({target:obj,title:data.hintLabelPre+\"：\",content:html,offset:{x:-20,y:25},onShow:function(){ns_c({tab:\"safetip\",safe:0,which:data.hintItem.join(\"|\"),hintId:tip_id,hintTpl:tip_tpl})\n}})}return{init:init}})();var bds=bds||{};bds.se=bds.se||{};bds.se.trust=bds.se.trust||{};bds.se.trust=function(){var p=4;var q=[];var o=[];if(bds.util&&bds.util.domain&&bds.util.domain.get){var d=bds.util.domain.get(\"http://tag.baidu.com\")}else{var d=\"http://tag.baidu.com\"}var k=null;var n=null;var m=false;function r(){q=[],o=[];$(\".c-trust\").each(function(){var t=$(this);var s=this.getAttribute(\"data_key\");if(t.parent(\".c-icons-inner\").length==0){t.wrap(\"<span class='c-icons-outer'><span class='c-icons-inner'></span></span>\")}if($.inArray(s,q)==-1){q.push(this.getAttribute(\"data_key\"))}if($.inArray(this,o)==-1){o.push(this)}});$(\".c-trust-as\").each(function(){n=$.parseJSON($(this).attr(\"hint-data\"));if(n&&!$(this).attr(\"render\")){k=$(this);l(n,$(this).attr(\"hint-type\"));$(this).attr(\"render\",\"render\")}});if(q.length<1){return}j()}function j(){if(m){return}$.getJSON(d+\"/?urls=\"+q.join(\",\")+\"&sid=\"+bds.comm.sid+\"&qid=\"+bds.comm.qid+\"&v=\"+p+\"&callback=?\",b);m=true}function b(s){m=false;if(s.code!=0){return\n}$(o).each(function(){var t=this.getAttribute(\"data_key\");n=s.data[t];if(!n){return}k=$(this);k.html(\"\");if(n.vstar&&n.vstar.hint&&n.vstar.hint.length>0){f(n.vstar.hint[0].vlevel,n.vstar.url)}if(n.medical){g()}if(n.aviation){i()}})}function f(w,s){var t=$(\"<span>\",{\"class\":\"c-vline\"});var u=$(\"<a>\",{\"class\":\"c-icon c-icon-v\"+w,target:\"_blank\",onclick:\"return false\",href:\"#\"});if(s){u.attr({href:s,onclick:\"\"})}k.append(t);k.append(u);l(n.vstar,\"vstar\")}function g(){var s=$(\"<span>\",{\"class\":\"c-vline\"});var t=$(\"<a>\",{\"class\":\"c-icon c-icon-med\",target:\"_blank\",onclick:\"return false\",href:\"#\"});k.append(s);k.append(t);l(n.medical,\"medical\")}function i(){var s=$(\"<span>\",{\"class\":\"c-vline\"});var t=$(\"<a>\",{\"class\":\"c-icon c-icon-air\",target:\"_blank\",onclick:\"return false\",href:\"#\"});k.append(s);k.append(t);l(n.aviation,\"aviation\")}function l(u,x){var B=u.hint;var z=\"over\";var t=u.url;if(!u||!B){return}if(x==\"vstar\"){var y=\"<div class='c-tip-cer hitcon'><ul>\"}else{var y=\"<div class='c-tip-info hitcon'><ul>\"\n}for(var w=0;w<B.length;w++){if(B[w]==\"\"){z=\"none\";continue}y+=\"<li \";if(B[w].icon){y+=\"class='c-tip-item-i'><img src='\"+B[w].icon+\"' class='c-customicon c-gap-icon-right-small c-tip-item-icon' />\"}else{y+=\">\"}y+=a(B[w].txt);y+=\"</li>\"}y+=\"</ul></div>\";if(window._sam_new_v&&x==\"vstar\"){var s=new bds.se.tip({target:k,mode:z,align:\"auto\",content:y,arrow:{has:1,offset:109},offset:{x:0,y:25}})}else{var s=new bds.se.tip({target:k,mode:z,align:\"auto\",title:u.label+\"：\",content:y,offset:{x:3,y:25}})}s.onShow=function(){if(window._sam_new_v){A.use(\"honourCard2\",function(){})}else{A.use(\"honourCard\",function(){})}var D=B[0].vlevel,C=B[0].unfixedInfo;ns_c({hintUrl:k.attr(\"data_key\"),hintTpl:x,hintId:D});if(y.indexOf(\"ecard\")!=-1){setTimeout(function(){if(window._sam_new_v){A.use(\"honourCard2\",function(){var F=$(s.getDom()).find(\".c-trust-ecard2\");var E={compName:u.label+\":\",vLevel:D,centerPageUrl:t};if(C){E.unfixedInfo=C}A.ui.honourCard2(F,E)})}else{A.use(\"honourCard\",function(){var E=$(s.getDom()).find(\".c-trust-ecard\");\nA.ui.honourCard(E,t,D,E.attr(\"value\"))})}},0)}$(\"li\",this.dom).each(function(E){$(\"a\",this).each(function(F){this.onmousedown=function(){ns_c({hintUrl:t,hintTpl:x,title:this.innerHTML,pos:F})}})})}}function a(t){var s=t;s=s.replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/'/g,\"&#39;\").replace(/\"/g,\"&quot;\");s=s.replace(\"[/url]\",\"</a>\").replace(/\\[url ([^\\s]*)\\]/,\"<a href='$1' target='_blank'>\");s=s.replace(/\\[img ([^\\s]*)\\]/,\"<img src='$1' />\");if(window._sam_new_v){s=s.replace(/\\[ecard (-?[\\d]{0,3})\\]/,\"<div class='c-trust-ecard2' value='$1'></div>\")}else{s=s.replace(/\\[ecard (-?[\\d]{0,3})\\]/,\"<div class='c-trust-ecard' value='$1'></div>\")}return s}r();return{init:r,render:b}}();var __callback_names={};function isbase64(p){var w;if(bds&&bds._base64){w=bds._base64}else{w={domain:bds.util.domain&&bds.util.domain.get?bds.util.domain.get(\"http://b1.bdstatic.com/\"):\"http://b1.bdstatic.com/\",b64Exp:-1,pdc:false,sep:16};bds._base64=w}var d={left:\"content_left\",right:\"container\"};var D=w.domain;\nvar o={};var m=[];var t={left:$.Deferred(),right:$.Deferred()};var M={left:{},right:{}};var u=false;var H=0;var s=0;var B=0;var O=null;var g=1;w.inline=false;var f=[];function L(){t={left:$.Deferred(),right:$.Deferred()}}p.onSendlog(function(){var Q=[];if(o){$.each(o,function(R,S){Q.push(R+\"_\"+S)})}p.setParam(\"cus_cusval\",Q.join(\"|\"));if(b.isinline()){p.setParam(\"cus_b64il\",b.ilsum);if(b.ilparseTime){p.setParam(\"cus_b64ilpt\",b.ilparseTime)}if(b.ilrenderTime){p.setParam(\"cus_b64ilrt\",b.ilrenderTime)}}});function P(S,U){B++;var S=S||[],U=U||[];S=$.grep(S,function(V){if(M.right.hasOwnProperty(V)){return false}M.right[V]=false;return true});U=$.grep(U,function(V){if(M.left.hasOwnProperty(V)){return false}M.left[V]=false;return true});if(w.b64Exp==2){if(U.length>0){u=true;k(U,\"left\",\"reql\")}}if(S.length>0){if(S.length>12){var T=Math.round(S.length/2);var R=[],Q=[];$.each(S,function(V,W){V<T?R.push(W):Q.push(W)});k(R,\"right\",\"reqr2\");k(Q,\"right\",\"reqr1\")}else{k(S,\"right\",\"reqr\")}}}function C(Q){var S=Q,R=0;\nwhile(__callback_names.hasOwnProperty(Q)||window[Q]){Q=S+\"_\"+R;R++}__callback_names[Q]=1;return Q}function a(T){if(typeof T==\"string\"){var R,S=0,Q=0;for(R=0;R<T.length;R++){Q=R%20+1;S+=T.charCodeAt(R)<<Q}return Math.abs(S)}return 0}function k(Q,U,V){var S=D+\"image?imglist=\"+Q.join(\",\");var R=a(Q.join(\"\"));R=\"cb_\"+(R+\"\").substr(Math.max(0,R.length-8),8)+\"_\"+f.length;R=C(R);S+=\"&cb=\"+R;var T=new Date()*1;var W=$.ajax({url:S,cache:true,dataType:\"jsonp\",jsonp:false,timeout:1500,jsonpCallback:R,success:function(X){o[V]=new Date()*1-T;if(U==\"right\"){q(X)}else{if(U==\"left\"){y(X)}}}});W.always(function(){delete __callback_names[R]});f.push(W)}function r(){var R=f.concat(t.left,t.right);var Q=O=$.when.apply($,R);O.always(function(){var S=+(new Date());if(Q!==O){return}if(w.b64Exp==2){N(\"left\")}N(\"right\")})}var x=function(U,T,Q,R){if(!R){R=document.getElementById(d[T])}else{R=$(R).find(\"#\"+d[T])[0]}if(!R){return}var W=R.getElementsByTagName(\"IMG\");for(var S=0;S<W.length;S++){var V=W[S].getAttribute(Q);\nif(V){if(U.hasOwnProperty(V)&&U[V]){z(W[S],U[V])}else{E(W[S])}}}};var N=function(Q){x(M[Q],Q,\"data-b64-id\")};var K=false;var I=false;var n=function(R,Q){if(!K){x(R,\"right\",\"data-b64il-id\",Q)}if(Q){K=true}I=true};function i(){setTimeout(function(){for(var Q=0;Q<m.length;Q++){var R=m[Q];if(!R.loaded){E(R.obj)}}m=[]},200)}function z(Q,R){try{Q.onerror=function(){E(this)};m.push({obj:Q,loaded:false});Q.onload=function(){for(var U=0;U<m.length;U++){var T=m[U];if(T.obj==this){T.loaded=true}}};Q.src=\"data:image/jpeg;base64,\"+R}catch(S){E(Q)}}var j=0;var E=function(Q){if((Q.getAttribute(\"data-b64-id\")||Q.getAttribute(\"data-b64il-id\"))&&Q.getAttribute(\"data-src\")!=null){Q.src=Q.getAttribute(\"data-src\");p.setParam(\"cus_b64fails\",++j)}};var q=function(Q){F(Q,\"right\")};var y=function(Q){F(Q,\"left\")};var F=function(S,R){for(var Q in S){if(S.hasOwnProperty(Q)){M[R][Q]=S[Q]}}};var l=function(Q){t[Q].resolve()};var J=function(){M=null;m=null;t=null;$.each(f,function(){this.abort()})};var b={loadImg:P,setDomLoad:l,end:r,isinline:function(){return I\n},restart:L,destroy:J,reqT:o,inline:n};return b}$(function(){if(bds.comm.user&&bds.comm.user!=\"\"){setTimeout(function(){$.ajax({dataType:\"script\",cache:true,url:(bds.su&&bds.su.urStatic?bds.su.urStatic:\"http://ss.bdimg.com\")+\"/static/message/js/mt_show_1.7.js\",success:function(){function a(){if($(\"#imsg\")[0]&&$(\"#u\")[0]&&$(\"#user\")[0]){bds.se.message&&bds.se.message.init&&bds.se.message.init({button:$(\"#imsg\"),refer:$(\"#u\")});$(\"#user\").on(\"mouseover\",function(){$(\"#s_mod_msg\").hide()})}if($(\"#imsg1\")[0]&&$(\"#u1\")[0]&&$(\"#user1\")[0]){bds.se.message&&bds.se.message.init&&bds.se.message.init({button:$(\"#imsg1\"),refer:$(\"#u1\")});$(\"#user1\").on(\"mouseover\",function(){$(\"#s_mod_msg\").hide()})}}function b(){bds.se.message&&bds.se.message.addStyle&&bds.se.message.addStyle()}bds.comm.loginAction.push(function(d,f){if(d==1){a();b()}});if(bds.comm.newindex){$(window).on(\"index_off\",function(){setTimeout(function(){a();b()},0)})}else{a();b()}$(window).on(\"swap_end\",b)}})},0)}});$(window).on(\"swap_end\",function(){var f='<div id=\"_FP_userDataDiv\" style=\"behavior:url(#default#userdata);width:0px;height:0px;position:absolute;top:-1000px;left:-1000px\"></div><div id=\"_FP_comDiv\" style=\"behavior:url(#default#clientCaps);width:0px;height:0px;position:absolute;top:-1000px;left:-1000px\"></div>';\nvar p=\"//www.baidu.com/cache/fpid/o_0108.swf\";var l=\"//www.baidu.com/cache/fpid/ielib_0108.js\";var d=\"//www.baidu.com/cache/fpid/chromelib_0108.js\";var j=document.title;var i={flashDomId:\"_FP_userDataDiv\",flashUrl:p,comDomId:\"_FP_comDiv\",IEStoreDomId:\"_FP_userDataDiv\"};var b=navigator.userAgent.toLowerCase();var g=false;if(b.indexOf(\"msie\")>=0||new RegExp(\"trident(.*)rv.(\\\\d+)\\\\.(\\\\d+)\").test(b)){g=true}var a=false;var n;var k=new RegExp(\"chrome/(\\\\d+)\");var m=b.match(k);if(!!m){a=true;n=m[1]}if(a&&n>=39){return}$(\"body\").append(f);var o=function(s){if(g){window.setTimeout(function(){document.title=j},0)}window._FPID_CACHE=s;$(\"#_FP_userDataDiv\").remove();$(\"#_FP_comDiv\").remove();var y=bds.comm.qid;var x=\"_WWW_BR_API_\"+(new Date()).getTime();var r=window[x]=new Image();r.onload=function(){window[x]=null};var q=$.getCookie(\"BAIDUID\");var u=$.getCookie(\"BIDUPSID\");var w=bds&&bds.util&&bds.util.domain?bds.util.domain.get(\"http://eclick.baidu.com/ps_fp.htm?\"):\"http://eclick.baidu.com/ps_fp.htm?\";\nvar t=w+\"pid=ps&fp=\"+s.data.fp+\"&im=\"+s.data.im+\"&wf=\"+s.data.wf+\"&br=\"+s.data.br+\"&qid=\"+y+\"&bi=\"+q+\"&psid=\"+u;r.src=t};if(window._FPID_CACHE){window._FPIDTimer=window.setTimeout(function(){o(window._FPID_CACHE)},2500);return}window._FPIDTimer=window.setTimeout(function(){var q=\"\";if(g){q=l}else{q=d}$.ajax({url:q,cache:true,dataType:\"script\",success:function(){fpLib.getFp(o,i)}})},2500)});$(window).on(\"swap_begin\",function(){if(window._FPIDTimer){window.clearTimeout(window._FPIDTimer);$(\"#_FP_userDataDiv\").remove();$(\"#_FP_comDiv\").remove()}});var bds=bds||{};bds.se=bds.se||{};bds.se.upn={regexp:/BD_UPN=([\\w|\\d]*)/,cookieset:[],write:function(a){document.cookie=\"BD_UPN=\"+a+\"; expires=\"+(new Date(new Date().getTime()+864000000)).toGMTString()},set:function(a){var b=this;try{if($.isArray(a)){b.cookieset=b.cookieset.concat(a)}}catch(d){}},run:function(){var f=this;try{var g=\"\";for(var d=0;d<f.cookieset.length;d++){if(f.cookieset[d]&&f.cookieset[d].k&&f.cookieset[d].v){var b=f.cookieset[d].k+\"\";\nvar a=f.cookieset[d].v+\"\";if(b.length==a.length==1){var l={};l[b]=a;g=g+b+a}}}f.write(g)}catch(j){}}};bds.se.upn.set((function(){var a=navigator.userAgent;var g=a.toLowerCase();function m(){if(g.indexOf(\"lbbrowser\")>0){return g.match(/lbbrowser/gi)}if(g.indexOf(\"maxthon\")>0){return g.match(/maxthon\\/[\\d.]+/gi)}if(g.indexOf(\"bidubrowser\")>0){return g.match(/bidubrowser/gi)}if(g.indexOf(\"baiduclient\")>0){return g.match(/baiduclient/gi)}if(g.indexOf(\"metasr\")>0){return g.match(/metasr/gi)}if(g.indexOf(\"qqbrowser\")>0){return g.match(/qqbrowser/gi)}if(!(function(){if(navigator.mimeTypes.length>0){var b;for(b in navigator.mimeTypes){if(navigator.mimeTypes[b][\"type\"]==\"application/vnd.chromium.remoting-viewer\"){return true}}}return false})()&&((\"track\" in document.createElement(\"track\"))&&!(\"scoped\" in document.createElement(\"style\"))&&!(\"v8Locale\" in window)&&/Gecko\\)\\s+Chrome/.test(navigator.appVersion))&&((\"track\" in document.createElement(\"track\"))&&(\"scoped\" in document.createElement(\"style\"))&&(\"v8Locale\" in window))){return\"qihu\"\n}if(g.indexOf(\"msie\")>0){return g.match(/msie [\\d.]+;/gi)}if(window.document.documentMode){return\"msie\"}if(g.indexOf(\"firefox\")>0){return g.match(/firefox\\/[\\d.]+/gi)}if(g.indexOf(\"opr\")>0){return g.match(/opr\\/[\\d.]+/gi)}if(g.indexOf(\"chrome\")>0){return g.match(/chrome\\/[\\d.]+/gi)}if(g.indexOf(\"safari\")>0&&g.indexOf(\"chrome\")<0){return g.match(/safari\\/[\\d.]+/gi)}return\"\"}browser=(m()+\"\").replace(/[0-9.\\/|;|\\s]/ig,\"\");browserversion=(function(){if(browser==\"msie\"){if(a.search(/MSIE [2-5]/)>0){return\"ie5\"}if(a.indexOf(\"MSIE 6\")>0){return\"ie6\"}if(a.indexOf(\"MSIE 7\")>0){return\"ie7\"}if(a.indexOf(\"MSIE 8\")>0){return\"ie8\"}if(a.indexOf(\"MSIE 9\")>0){return\"ie9\"}if(a.indexOf(\"MSIE 10\")>0){return\"ie10\"}if(window.document.documentMode==\"11\"){return\"ie11\"}return\"other\"}else{return\"\"}})();browsertype=(function(){if(g.indexOf(\"msie\")>0||new RegExp(\"trident(.*)rv.(\\\\d+)\\\\.(\\\\d+)\").test(g)){return\"ie\"}if(g.indexOf(\"firefox\")>0){return\"firefox\"}if(g.indexOf(\"chrome\")>0){return\"chrome\"}if(g.indexOf(\"safari\")>0&&g.indexOf(\"chrome\")<0){return\"safari\"\n}return\"other\"})();function l(){var n=(navigator.platform==\"Win32\")||(navigator.platform==\"Windows\");var o=(navigator.platform==\"Mac68K\")||(navigator.platform==\"MacPPC\")||(navigator.platform==\"Macintosh\")||(navigator.platform==\"MacIntel\");if(o){return\"mac\"}var b=(navigator.platform==\"X11\")&&!n&&!o;if(b){return\"unix\"}var p=(String(navigator.platform).indexOf(\"Linux\")>-1);if(p){return\"linux\"}if(n){return\"windows\"}return\"other\"}os=l();osversion=(function(){if(os==\"windows\"){if(a.indexOf(\"Windows NT 5.1\")>-1||a.indexOf(\"Windows XP\")>-1){return\"xp\"}if(isWinVista=a.indexOf(\"Windows NT 6.0\")>-1||a.indexOf(\"Windows Vista\")>-1){return\"vista\"}if(a.indexOf(\"Windows NT 6.1\")>-1||a.indexOf(\"Windows 7\")>-1){return\"win7\"}if(a.indexOf(\"Windows NT 6.2\")>-1||a.indexOf(\"Windows 8\")>-1){return\"win8\"}if(a.indexOf(\"Windows NT 6.3\")>-1||a.indexOf(\"Windows 8.1\")>-1){return\"win8.1\"}return\"other\"}})();var i=(function(n){var b=0;switch(n){case\"msie\":b=1;break;case\"chrome\":b=2;break;case\"firefox\":b=3;break;case\"safari\":b=4;\nbreak;case\"opr\":b=5;break;case\"lbbrowser\":b=6;break;case\"maxthon\":b=7;break;case\"bidubrowser\":b=8;break;case\"metasr\":b=9;break;case\"qqbrowser\":b=\"a\";break;case\"qihu\":b=\"b\";break;case\"baiduclient\":b=\"c\";break}return b})(browser);var j=(function(n){var b=0;switch(n){case\"ie6\":b=1;break;case\"ie7\":b=2;break;case\"ie8\":b=3;break;case\"ie9\":b=4;break;case\"ie10\":b=5;break;case\"ie11\":b=6;break;case\"other\":b=7;break;case\"ie5\":b=8;break}return b})(browserversion);var d=(function(n){var b=0;switch(n){case\"windows\":b=1;break;case\"mac\":b=2;break;case\"linux\":b=3;break;case\"unix\":b=4;break}return b})(os);var f=(function(n){var b=0;switch(n){case\"xp\":b=1;break;case\"vista\":b=2;break;case\"win7\":b=3;break;case\"win8\":b=4;break;case\"win8.1\":b=5;break;case\"other\":b=6;break}return b})(osversion);var k=(function(n){var b=0;switch(n){case\"ie\":b=1;break;case\"firefox\":b=2;break;case\"chrome\":b=3;break;case\"safari\":b=4;break}return b})(browsertype);return[{k:1,v:i},{k:2,v:j},{k:3,v:d},{k:4,v:f},{k:5,v:k}]})());bds.se.upn.run();\nbds.se.heightControl={check:function(){return $(\"#content_right\").height()>$(\"#content_left\").height()},cleanEC:function(){var d=$(\".ec_bdtg\"),b=$(\"#ec_im_container\").children(\"div\"),g=b.length,f=g-1;if(bds.se.heightControl.check()){if(d&&d.length){d.css(\"display\",\"none\")}}while(bds.se.heightControl.check()&&f>=0){var a=b[f];$(a).css(\"display\",\"none\");f--}},cleanRes:function(){var g=$(\"#content_right\").find(\".result-op\"),b=g.length,a=b-1;if(a==0){var f=$(g[0]).parent();if(($(\"#content_right\").height()+g.height())<$(\"#content_left\").height()){f.css({position:\"static\"})}}else{while(bds.se.heightControl.check()&&a>0){var d=g[a];$(d).css(\"display\",\"none\");a--}}},init:function(){bds.se.heightControl.cleanEC();bds.se.heightControl.cleanRes()}};(function(){function a(){this.start=null;this.mouse=[];this.mouseTime=null;this.mouseSpeed=500;this.key=[];this.scroll=[];this.scrollTime=null;this.scrollSpeed=500;this.debug=false;this.dataStore={};this.t=null;this.cycle=null;this.MIN_SPEED=2*1000;this.MAX_SPEED=10*1000;\nthis.curSpeed=5*1000;this.stayTime=0;this.heartTime=[];this.heartT=null;this.MAX_LEN=2000;this.storeLen=-1;this.MAX_SEND=100;this.hostEnum={SCLICK:0,NSCLICK:1};this.keyMap={new_input:0,new_disp:0,new_view:0,new_user:0,new_heart:0};this.hostAddr=[bds&&bds.comm&&bds.comm.ubsurl?bds.comm.ubsurl+\"?\":\"\",(bds&&bds.util&&bds.util.domain?bds.util.domain.get(\"http://nsclick.baidu.com\"):\"http://nsclick.baidu.com\")+\"/v.gif?\"];this.commLog={};this.isFirst=true;this.sendNum={};this.init()}a.prototype={setCommLog:function(g,f,b){if(!bds||!bds.comm){return false}if(!(g in this.commLog)){var d={};if(f&&b){d.log=f;d.len=b}else{d.log=\"&q=\"+bds.comm.queryEnc+\"&qid=\"+bds.comm.qid+\"&rsv_did=\"+bds.comm.did+\"&rsv_tn=\"+bds.comm.tn+\"&rsv_sid=\"+bds.comm.sid;d.len=(d.log+\"&t=\"+new Date().getTime()).length}this.commLog[g]=d}return true},fb:function(){var b=this.heartTime.length;var d;if(b===0||b===1){d=3*1000}else{d=this.heartTime[b-1]+this.heartTime[b-2]}this.heartTime.push(d);return d},sendHeart:function(b){var f=b===0?this.stayTime:new Date().getTime()-this.start;\nvar g=bds&&bds.comm&&bds.comm.qid;if(g&&g in this.commLog&&g in this.sendNum){var d=[{stay_time:f,send_num:this.sendNum[g]}];this.send({type:b,fm:\"new_heart\",data:d})}else{return}},startHeart:function(){var d=this;var b=d.fb();d.stayTime+=b;d.heartT=setTimeout(function(){d.sendHeart(0);d.startHeart()},b)},preInit:function(){this.start=new Date().getTime();this.mouse=[];if(this.mouseTime!==null){clearTimeout(this.mouseTime)}this.mouseTime=null;this.key=[];this.scroll=[];if(this.scrollTime!==null){clearTimeout(this.scrollTime)}this.scrollTime=null;this.cycle=null;if(this.t!==null){clearTimeout(this.t)}this.t=null;this.storeLen=-1;var b=bds&&bds.comm&&bds.comm.qid?bds.comm.qid:\"\";if(b){this.setCommLog(b);this.sendNum[b]=0}if(bds&&bds.comm&&(bds.comm.logFlagSug===1||bds.comm.globalLogFlag===1)&&bds.comm.ishome===0){if(this.heartT!==null){clearTimeout(this.heartT)}this.heartT=null;this.stayTime=0;this.heartTime=[];this.startHeart()}},collectPoint:function(d,j){var f=d+\"Time\";var i=this[d+\"Speed\"];\nvar k=this;if(k[d].length===0){var b=g(d,j);if(b.length<2){return}k[d].push([new Date().getTime()-k.start,b[0],b[1]]);return}if(k[f]===null){k[f]=setTimeout(function(){var l=g(d,j);if(l.length<2){k[f]=null;return}k[d].push([new Date().getTime()-k.start,l[0],l[1]]);k[f]=null},i)}function g(m,n){var l=[];if(m===\"mouse\"){l[0]=n.pageX;l[1]=n.pageY}else{if(m===\"scroll\"){var o=$(window);l[0]=o.scrollLeft();l[1]=o.scrollTop()}}return l}},singleInit:function(){var b=this;$(\"body\").on(\"mousemove\",function(d){b.collectPoint(\"mouse\",d)}).on(\"keydown\",function(d){b.key.push([new Date().getTime()-b.start,d.keyCode])});$(window).on(\"scroll\",function(d){b.collectPoint(\"scroll\",d)});b.singleInit=function(){}},flushData:function(b){if(this.t!==null){clearTimeout(this.t);this.t=null}this.startSend(this.fetchData(b,true),true);this.startSend(this.fetchData(b,true));if(bds&&bds.comm&&(bds.comm.logFlagSug===1||bds.comm.globalLogFlag===1)){if(this.heartT!==null){clearTimeout(this.heartT);this.heartT=null}this.sendHeart(b)\n}},init:function(){var b=this;b.preInit();$(window).on(\"swap_begin\",function(){if(b.t!==null){clearTimeout(b.t);b.t=null}if(bds&&bds.comm&&bds.comm.ishome===0&&(bds.comm.logFlag===1||bds.comm.globalLogFlag===1)&&b.isFirst===false){b.sendHeart(1)}}).on(\"unload\",function(){if(bds&&bds.comm&&bds.comm.ishome===0&&(bds.comm.logFlagSug===1||bds.comm.globalLogFlag===1)){b.flushData(2)}}).on(\"swap_end\",function(){b.preInit();if(b.isFirst===true){b.isFirst=false}if(!b.hostAddr[0]&&bds&&bds.comm&&bds.comm.ubsurl){b.hostAddr[0]=bds.comm.ubsurl+\"?\"}})},getData:function(j,l,b){if(this.start===null||j.length===0){return{startTime:this.start,record:[]}}var d={startTime:this.start,record:[]};var g=l;var k=b;if(g===undefined){g=0;k=j[j.length-1][0]}else{if(g!==undefined&&typeof g===\"number\"&&k===undefined){g=g-this.start;k=j[j.length-1][0]}else{if(g!==undefined&&typeof g===\"number\"&&k!==undefined&&typeof k===\"number\"){g=g-this.start;k=k-this.start}else{g=0;k=0}}}for(var f in j){if(j[f][0]<g){continue}if(j[f][0]<k){d.record.push(j[f])\n}if(j[f][0]>=k){break}}return d},send:function(j,g,m){if(!j){return false}if(this.debug){}if(g===0&&!this.hostAddr[0]){if(bds&&bds.comm&&bds.comm.ubsurl){this.hostAddr[0]=bds.comm.ubsurl+\"?\"}else{return false}}var f=\"\";var i=\"\";var l=\"\";if(typeof j===\"object\"){for(var d in j){f=j[d];if(typeof f===\"object\"){f=$.stringify(f)}i+=d+\"=\"+encodeURIComponent(f)+\"&\"}i=i.substring(0,i.length-1)}else{if(typeof j===\"string\"){i=j}}if(!m&&bds&&bds.comm&&bds.comm.qid){m=bds.comm.qid}if(m&&m in this.commLog){i+=this.commLog[m][\"log\"];i+=\"&t=\"+new Date().getTime()}else{return false}if(typeof g!==\"number\"||g<0||g>=this.hostAddr.length){g=0}l=this.hostAddr[g]+i;if(l.length>this.MAX_LEN){return false}else{var b=window[\"BD_PS_C\"+(new Date()).getTime()]=new Image();b.src=this.hostAddr[g]+i}return true},sendNow:function(b,g,d){if(!b||typeof b!==\"string\"||!(b in this.keyMap)||!g){return}var f=\"type=3&fm=\"+b+\"&data=\"+encodeURIComponent($.stringify([g]));if(d&&d.qid&&d.log&&d.len){this.setCommLog(d.qid,d.log,d);\nthis.send(f,this.keyMap[b],d.qid)}else{send(f,this.keyMap[b])}},pushData:function(b,g,d){var i=bds&&bds.comm&&bds.comm.qid?bds.comm.qid:\"\";if(!i){return false}if(d&&d.qid&&d.log&&d.len){this.setCommLog(d.qid,d.log,d.len);i=d.qid}else{this.setCommLog(i)}if(!(i in this.dataStore)){this.dataStore[i]={}}var f=this.dataStore[i];if(!(b in f)){f[b]=[[],[]]}if(d&&d.level===true){f[b][0].push(encodeURIComponent($.stringify(g)))}else{f[b][1].push(encodeURIComponent($.stringify(g)))}},fetchData:function(l,b){var f=this.dataStore;var k;var o;var n=[];var p=0;var i=false;var d=bds&&bds.comm&&bds.comm.qid?bds.comm.qid:\"\";if(!d){return[]}for(var j in f){if(j!==d){i=true}else{i=false}k=f[j];for(var m in k){if(!(m in this.keyMap)){continue}p=this.keyMap[m];if(typeof p!==\"number\"||this.hostAddr[p]===undefined){continue}if(k[m][0].length>0){o=k[m][0]}else{o=k[m][1]}g.call(this);if((i===true||b!==true)&&o.length===0&&k[m][1].length>0){o=k[m][1];g.call(this)}if(i===true){delete this.dataStore[j]}}}return n;\nfunction g(){var q;var x=0;var t=[];var z=false;var u=this.commLog[j][\"len\"];var y=this.hostAddr[p].length;var w=y+(\"type=\"+l+\"&fm=\"+m+\"&data=\").length+u;var s=w+6;var r=s;while(o.length!==0&&x<this.MAX_SEND){if(i===false&&l===0){x++}q=o.shift();t.push(q);r=s+q.length+3;if(s>=this.MAX_LEN||r>=this.MAX_LEN){if(t.length>=2){t.pop();z=true}n.push({qid:j,key:m,type:l,data:\"%5B\"+t.join(\"%2C\")+\"%5D\",host:p});t=[];if(z){t[0]=q;z=false}if(t.length>0){r=w+3+q.length+3}else{r=w+6}}s=r}if(t.length>0){n.push({qid:j,key:m,type:l,data:\"%5B\"+t.join(\"%2C\")+\"%5D\",host:p})}}},startSend:function(i,j){var k=this;var b;var g;var f=j===true?0:100;var d=setInterval(function(){if(i.length<=0){clearInterval(d);return}b=i.shift();if(b&&b.qid&&b.qid in k.commLog){g=\"type=\"+b.type+\"&fm=\"+b.key+\"&data=\"+b.data}else{return}k.send(g,b.host,b.qid);if(b.qid in k.sendNum){k.sendNum[b.qid]+=1}},f)},startCycle:function(){var b=this;if(b.cycle===null){b.cycle=1}b.t=setTimeout(function(){var f=b.fetchData(0);var d=f.length;\nif(b.storeLen===-1){b.storeLen=d}if(b.storeLen!==0&&d/b.storeLen>=2&&b.curSpeed>b.MIN_SPEED){b.curSpeed-=1000}if((d===0||b.storeLen/d>=2)&&b.curSpeed<b.MAX_SPEED){b.curSpeed+=1000}b.startSend(f,0);b.startCycle()},b.curSpeed)},outInterface:function(){var b=this;return{hostEnum:b.hostEnum,api:{getMouseLocus:function(f,d){return b.getData(b.mouse,f,d)},getKeyRecord:function(f,d){return b.getData(b.key,f,d)},getScrollRecord:function(f,d){return b.getData(b.scroll,f,d)},startAPI:function(){b.singleInit()}},send:{debug:function(){b.debug=true},send:function(f,d){return b.send(f,d)},sendNow:function(d,g,f){return b.sendNow(d,g,f)},sendPack:function(d,g,f){if(!d||typeof d!==\"string\"||!(d in b.keyMap)||!g){return}b.pushData(d,g,f);if(b.cycle===null){b.startCycle()}}}}}};bds.log=new a().outInterface()})();$(window).on(\"swap_end\",function(){if(bds.comm.encTn){$.setCookie(\"H_PS_645EC\",bds.comm.encTn,{expires:24*60*60*30})}if(bds.se.trust){bds.se.trust.init()}bds.se.heightControl.init();bds.util.setContainerWidth();\nif($(\".content_none\").length>0){new bds.util.setFootStyle()}$(document).delegate(\".feedback\",\"click\",function(){var d=this;$.getScript(\"https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/plugins/feedback_e510124a.js\",function(){var i=d.getAttribute(\"data-feedbackid\")||1;var g={product_id:18,entrance_id:i};var f={username:bds.comm.username,query:bds.comm.query,fb_qid:bds.comm.qid};bds.qa.ShortCut.initRightBar(g,f)})});var a=$(\"#form\").find('input[type=\"hidden\"][name=rsv_pq]');if(a.length){$(a).val(bds.comm.qid)}else{$(\"#form\").append('<input type=\"hidden\" name=\"rsv_pq\" value=\"'+bds.comm.qid+'\"/>')}var b=$(\"#form\").find('input[type=\"hidden\"][name=rsv_t]');if(b.length){$(b).val(bds.comm.encTn)}else{$(\"#form\").append('<input type=\"hidden\" name=\"rsv_t\" value=\"'+bds.comm.encTn+'\"/>')}bds.comm.did=(function(){var d=\"\";for(var f=0;f<32;f++){d+=Math.floor(Math.random()*16).toString(16)}return d})()});(function(){$(window).one(\"swap_end\",function(){$(\"body\").on(\"mousedown\",\".se_common_hint a\",function(){var a=$(this),f=a.parents(\".se_common_hint\"),g=f.attr(\"data-id\")||\"\",d=f.attr(\"data-tpl\")||\"\",b=f.find(\"a\").index(a);\nns_c_pj({hintId:g,hintTpl:d,title:a.html(),pos:b,qid:bds.comm.qid||\"\"},\"pj=hint&\")})})})();$(function(){$(\"#u,#u1\").delegate(\".lb\",\"click\",function(){var a=$(this).attr(\"data-subpro\");if(a){bds.se.login.setSubpro(a)}try{bds.se.login.open()}catch(b){}})});$.ajax({dataType:\"script\",cache:true,url:\"https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/home/js/nu_instant_search_024814e9.js\"});window.PRE_CONN=(function(){var d=function(l,m){var p=new Date()*1;l=bds.util.domain&&bds.util.domain.get?bds.util.domain.get(l):l;var n=/^(http[s]?:\\/\\/)?([^\\/]+)(.*)/,o=l.match(n);if(o[2]&&!b[o[2]]){b.push(o[2]);var q=new Image();q.src=l+\"?_t=\"+(m?m:p);q.onload=(q.onerror=function(){q=null})}},k,g=0,b=[],j=function(){try{if(!window.pageState||window.pageState==0||g==1){$(\"#kw1,#kw\").one(\"keydown\",function(){if(location.protocol===\"https:\"){d(\"https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/ps_default.gif\");d(\"https://ss1.baidu.com/6ONWsjip0QIZ8tyhnq/ps_default.gif\");d(\"https://ss2.baidu.com/6ONWsjip0QIZ8tyhnq/ps_default.gif\");\nd(\"https://ss3.baidu.com/6ONWsjip0QIZ8tyhnq/ps_default.gif\")}else{d(\"http://b1.bdstatic.com/img/pc.gif\",parseInt(Math.random()*1000));d(\"http://ecmb.bdimg.com/public03/pc.gif\");$.each([\"i7\",\"i8\",\"i9\",\"t10\",\"t11\",\"t12\"],function(m,n){d(\"http://\"+n+\".baidu.com/ps_default.gif\")})}});if(g==1){$(\"#kw1,#kw\").one(\"focus\",function(){if(location.protocol===\"https:\"){d(\"https://www.baidu.com/con?from=self\")}})}}}catch(l){}},a=function(){g=1;j();i()},f=function(){i();k=setTimeout(a,1000*55)},i=function(){clearTimeout(k);g=0};j();return{init:j,startTimer:f}})();(function(){$.ajaxPrefilter(\"parts\",function(b,a,d){b.__partsCallback=[];b.__partsIndex=0;d.parts=function(f){b.__partsCallback.push(f)};if(b.parts){d.parts(b.parts)}b.converters[\"* parts\"]=function(f){return f}});$.ajaxTransport(\"parts\",function(a){if(!a.crossDomain||support.cors){var b;return{send:function(j,d){var f,g=a.xhr();g.open(a.type,a.url,a.async,a.username,a.password);if(a.xhrFields){for(f in a.xhrFields){g[f]=a.xhrFields[f]}}if(a.mimeType&&g.overrideMimeType){g.overrideMimeType(a.mimeType)\n}if(!a.crossDomain&&!j[\"X-Requested-With\"]){j[\"X-Requested-With\"]=\"XMLHttpRequest\"}for(f in j){if(j[f]!==undefined){g.setRequestHeader(f,j[f]+\"\")}}g.send((a.hasContent&&a.data)||null);b=function(m,l){var k,q,o,n;if((g.readyState===3||g.readyState===4)&&!l){(function(){var r=a.delimiter;var w=\"\";try{w=g.responseText}catch(x){}if(w==\"\"){return}var y=-1,u,t=0,s;if(r){while(true){for(;t<=a.__partsIndex;t++){u=(y==-1)?0:y+r.length;y=w.indexOf(r,u);if(y==-1){break}}if(y==-1&&g.readyState!==4){return}for(s=0;s<a.__partsCallback.length;s++){a.__partsCallback[s].call(g,w.substring(u,y==-1?w.length:y),a.__partsIndex,w)}a.__partsIndex++;if(y==-1){return}}}else{for(t=0;t<a.__partsCallback.length;t++){a.__partsCallback[t].call(g,w)}}})()}if(b&&(l||g.readyState===4)){b=undefined;g.onreadystatechange=jQuery.noop;if(l){if(g.readyState!==4){g.abort()}}else{o={};k=g.status;if(typeof g.responseText===\"string\"){o.text=g.responseText}try{q=g.statusText}catch(p){q=\"\"}if(!k&&a.isLocal&&!a.crossDomain){k=o.text?200:404\n}else{if(k===1223){k=204}}}}if(o){d(k,q,o,g.getAllResponseHeaders())}};if(!a.async){b()}else{if(g.readyState===4){setTimeout(b)}else{g.onreadystatechange=b}}},abort:function(){if(b){b(undefined,true)}}}}})})();(function(){var defaultOptions={sugSet:1,sugStoreSet:1,isSwitch:1,isJumpHttps:1,imeSwitch:0,resultNum:10,skinOpen:1,resultLang:0},options={},tmpName;var expire30y=new Date();expire30y.setTime(expire30y.getTime()+30*365*86400000);try{if(bds&&bds.comm&&bds.comm.personalData){if(typeof bds.comm.personalData==\"string\"){bds.comm.personalData=eval(\"(\"+bds.comm.personalData+\")\")}if(!bds.comm.personalData){return}for(tmpName in bds.comm.personalData){if(defaultOptions.hasOwnProperty(tmpName)&&bds.comm.personalData.hasOwnProperty(tmpName)){if(bds.comm.personalData[tmpName].ErrMsg==\"SUCCESS\"){options[tmpName]=bds.comm.personalData[tmpName].value}}}}try{if(!parseInt(options.resultNum)){delete (options.resultNum)}if(!parseInt(options.resultLang)&&options.resultLang!=\"0\"){delete (options.resultLang)\n}}catch(e){}writeCookie();if(!(\"sugSet\" in options)){options.sugSet=(Cookie.get(\"sug\",3)!=3?0:1)}if(!(\"sugStoreSet\" in options)){options.sugStoreSet=Cookie.get(\"sugstore\",0)}var BAIDUID=Cookie.get(\"BAIDUID\");if(!(\"resultNum\" in options)){if(/NR=(\\d+)/.test(BAIDUID)){options.resultNum=RegExp.$1?parseInt(RegExp.$1):10}else{options.resultNum=10}}if(!(\"resultLang\" in options)){if(/SL=(\\d+)/.test(BAIDUID)){options.resultLang=RegExp.$1?parseInt(RegExp.$1):0}else{options.resultLang=0}}if(!(\"isSwitch\" in options)){options.isSwitch=(Cookie.get(\"ORIGIN\",0)==2?0:(Cookie.get(\"ORIGIN\",0)==1?2:1))}if(!(\"imeSwitch\" in options)){options.imeSwitch=Cookie.get(\"bdime\",0)}}catch(e){}function save(callback){var optionsStr=[];for(tmpName in options){if(options.hasOwnProperty(tmpName)){optionsStr.push('\"'+tmpName+'\":\"'+options[tmpName]+'\"')}}var str=\"{\"+optionsStr.join(\",\")+\"}\";if(bds.comm.personalData){$.ajax({url:\"//www.baidu.com/ups/submit/addtips/?product=ps&tips=\"+encodeURIComponent(str)+\"&_r=\"+new Date().getTime(),success:function(){writeCookie();\nif(typeof callback==\"function\"){callback()}}})}else{writeCookie();if(typeof callback==\"function\"){setTimeout(callback,0)}}}function set(optionName,value){options[optionName]=value}function get(optionName){return options[optionName]}function writeCookie(){if(options.hasOwnProperty(\"sugSet\")){var value=options.sugSet==\"0\"?\"0\":\"3\";clearCookie(\"sug\");Cookie.set(\"sug\",value,document.domain,\"/\",expire30y)}if(options.hasOwnProperty(\"sugStoreSet\")){var value=options.sugStoreSet==0?\"0\":\"1\";clearCookie(\"sugstore\");Cookie.set(\"sugstore\",value,document.domain,\"/\",expire30y)}if(options.hasOwnProperty(\"isSwitch\")){var ORINGIN_MAP={0:\"2\",1:\"0\",2:\"1\"};var value=ORINGIN_MAP[options.isSwitch];clearCookie(\"ORIGIN\");Cookie.set(\"ORIGIN\",value,document.domain,\"/\",expire30y)}if(options.hasOwnProperty(\"imeSwitch\")){var value=options.imeSwitch;clearCookie(\"bdime\");Cookie.set(\"bdime\",value,document.domain,\"/\",expire30y)}}function writeBAIDUID(){var BAIDUID=Cookie.get(\"BAIDUID\"),NR,FG,SL;if(/FG=(\\d+)/.test(BAIDUID)){FG=RegExp.$1\n}if(/SL=(\\d+)/.test(BAIDUID)){SL=RegExp.$1}if(/NR=(\\d+)/.test(BAIDUID)){NR=RegExp.$1}if(options.hasOwnProperty(\"resultNum\")){NR=options.resultNum}if(options.hasOwnProperty(\"resultLang\")){SL=options.resultLang}Cookie.set(\"BAIDUID\",BAIDUID.replace(/:.*$/,\"\")+(typeof SL!=\"undefined\"?\":SL=\"+SL:\"\")+(typeof NR!=\"undefined\"?\":NR=\"+NR:\"\")+(typeof FG!=\"undefined\"?\":FG=\"+FG:\"\"),\".baidu.com\",\"/\",expire30y,true)}function clearCookie(name){Cookie.clear(name,\"/\");Cookie.clear(name,\"/\",document.domain);Cookie.clear(name,\"/\",\".\"+document.domain);Cookie.clear(name,\"/\",\".baidu.com\")}function reset(callback){options=defaultOptions;save(callback)}window.UPS={writeBAIDUID:writeBAIDUID,reset:reset,get:get,set:set,save:save}})();var ie=navigator.userAgent.toLowerCase().match(/msie\\s+(\\d*)/);var ie6=ie&&ie[1]==6;if(window._is_skin_sam&&!ie6){var url=\"\";if(window._is_skin_sam==\"1\"){url=\"https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/skin/js/skin_1_47132044.js\"}else{if(window._is_skin_sam==\"2\"){url=\"https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/skin/js/skin_2_29b21d24.js\"\n}else{if(window._is_skin_sam==\"3\"){url=\"https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/skin/js/skin_3_ddcfc386.js\"}}}var skinDefer=null;if(url){var skinDefer=$.ajax({dataType:\"script\",cache:true,url:url})}skinDefer&&skinDefer.done(function(){$(window).on(\"swap_end\",function(){bds.se.skin&&new bds.se.skin()});$(window).on(\"swap_begin\",function(){bds.se.skin&&bds.se.skin.prototype.dispose()})})}(function(){var i={};var d=function(k){var j=f(k);a(j)},b=function(j,l){var m=Math.random();if(m>0.2&&m<0.201&&location.protocol==\"http:\"){i.url=j;i.headers=l;var k=$.ajax({url:j,headers:l,success:d})}},f=function(j){if(typeof j===\"string\"&&typeof i.headers===\"object\"){if(i.headers.hasOwnProperty(\"content_syni\")&&j.length!==12495){return j}if(i.headers.hasOwnProperty(\"content_syns\")&&j.length!==19295){return j}}return\"normal\"},a=function(j){$.ajax({url:\"//www.baidu.com/r/plog\",type:\"post\",data:{page_html:j}})};var g=window.ctwin={sendRequest:b}})();var bds=bds||{};bds.se=bds.se||{};bds.se.speedTester=(function(){function a(){}function b(j,i,g){g=g||19558;\nf(j,(function(k){return function(m,n,l){d(k,n,l)}})(i),(function(k){return function(l){d(k)}})(i),g)}function f(k,l,m,g){l=l||a;m=m||a;var i=new Image();i.onload=function(){this.onload=this.onerror=null;g=this.fileSize||g;var o=new Date(),p=o-j,n=g/p;l(this,p,n)};i.onerror=function(){this.onload=this.onerror=null;m(this)};var j=new Date();i.src=k}function d(j,k,i){var g=new Image();g.onload=g.onerror=function(){this.onload=this.onerror=null};g.src=(j+(k?(\"&t=\"+k+\"&v=\"+i):\"&t=-1&v=-1\")+\"&r=\"+Math.random())}return{start:b}})();bds.se.speedMonitor=function(k){var b=k.logPath||\"\",l=k.flag||\"default\",j=k.sleep||\"1000\",i=false,n=null;var g=[];var a=b+\"?flag=\"+l;function f(){var o=g.pop();if(o){d(o)}if(i){n=window.setTimeout(f,j)}}function d(o){var r=o.url,p=o.size||-1,q=[];q.push(\"id=\"+encodeURIComponent(o.id));q.push(\"name=\"+encodeURIComponent(o.name));q.push(\"url=\"+encodeURIComponent(o.url));q.push(\"size=\"+encodeURIComponent(o.id));for(key in o.logData){q.push(key+\"=\"+encodeURIComponent(o.logData[key]))\n}bds.se.speedTester.start(r,a+\"&\"+q.join(\"&\"),p)}function m(){return true}this.start=function(){this.stop();i=true;f()};this.stop=function(){i=false;window.clearInterval(n)};this.addTask=function(o){if(m(o)){g.push(o)}};this.clear=function(){g=[]}};setTimeout(function(){var b=Math.random();if(b<0.001&&location.protocol==\"http:\"){var a=document.createElement(\"script\");a.src=\"http://velocity.baidu.com/sp.php\";document.body.appendChild(a)}},1000);(function(a){var a=a||{};a.se=a.se||{};a.se.QuickDelete=function(f,d){this.form=f;this.options=d;this._init()};a.se.QuickDelete.prototype={constructor:a.se.QuickDelete,_init:function(){this._create_elem();this._bind_event()},_create_elem:function(){var g=this.form,i=this.options,m=i.top||0,j=i.right||0,f=$.trim(g.val())?\"block\":\"none\",l=\"quickdelete\",k=g.parent(),d=$('<a href=\"javascript:;\"></a>').attr(\"id\",l).attr(\"title\",\"清空\").addClass(\"quickdelete\");k.addClass(\"quickdelete-wrap\").append(d);d.css({top:m+\"px\",right:j+\"px\",display:f});i.wrapElem=k;\ni.elem=d},_show:function(){if(a.comm.ishome===0){this.options.elem.show()}},_hide:function(){this.options.elem.hide()},_bind_event:function(){var f=this.form,d=this.options.elem,g=this;f.on(\"focus\",function(){$.trim(f.val())?g._show():g._hide()}).on(\"keyup input propertychange\",function(){$.trim(f.val())?g._show():g._hide()});d.on(\"click\",function(){var i=a.comm.supportis?2:0;ns_c({input_clear:a.comm.ishome+i,delete_query:encodeURIComponent(f.val())});f.val(\"\").focus();g._hide();return false});$(window).on(\"swap_end index_off\",function(){$.trim(f.val())?g._show():g._hide()})}};var b=new a.se.QuickDelete($(\"#kw\"),{top:0,right:0})})(bds);if(window.bds&&bds.comm&&bds.comm.ishome){$(window).on(\"load\",function(){if(window.ctwin){window.ctwin.sendRequest(\"//www.baidu.com/?tn=baidu\",{content_syni:1})}if(window.performance&&performance.timing){var f=function(){var i=g(\"navigation\"),n=g(\"domainLookup\"),q=g(\"connect\"),j=g(\"secureConnection\"),o=g(\"redirect\"),m=g(\"request\"),k=g(\"response\"),l={start:performance.timing.domLoading,end:performance.timing.domComplete},p=g(\"loadEvent\");\nreturn{navigation:q.start-i.start,dns:n.value,tcp:q.value,ssl:j.start>0?q.end-j.start:0,request:k.start-m.start,response:k.value,dom:l.end-l.start,loadEvent:p.end-i.start}};var a=Cookie.get(\"__bsi\");var g=function(i){var k=performance.timing,l=k[i+\"Start\"]?k[i+\"Start\"]:0,j=k[i+\"End\"]?k[i+\"End\"]:0;return{start:l,end:j,value:j-l>0?j-l:0}};var b=function(){var o=[],n=f();for(var l in n){o.push(l+\"=\"+n[l])}o.push(\"protocol=\"+encodeURIComponent(location.protocol));var p=\"//www.baidu.com/nocache/fesplg/s.gif?log_type=hm&type=timing&\",q=\"\";q+=o.join(\"&\");q+=\"&newindex=\"+(window.bds&&bds.comm?bds.comm.newindex:-1);if(a){q+=\"&bsi=\"+a}var k=p+q,j=new Image(),m=\"_LOG_\"+new Date().getTime();j.onload=function(){delete window[m]};window[m]=j;j.src=k};var d=Math.random();if(/8498/.test(bds.comm.indexSid)&&d<0.01){setTimeout(b,500)}}})}function formatDate(a,d){var b=function(f){return f>9?f:\"0\"+f};if(typeof(a)==\"number\"||typeof(a)==\"string\"){a=new Date(a)}return[a.getFullYear(),b(a.getMonth()+1),b(a.getDate())].join(d||\"\")\n}function baseChangeUrl(a){if(bds.comm.search_tool.st&&bds.comm.search_tool.et&&bds.comm.search_tool.stftype){if(a.indexOf(\"&gpc=\")<0){a+=\"&gpc=\"+encodeURIComponent(\"stf=\"+bds.comm.search_tool.st+\",\"+bds.comm.search_tool.et+\"|stftype=\"+bds.comm.search_tool.stftype+\"\")}}if(bds.comm.search_tool.si){if(a.indexOf(\"&si=\")<0){a+=\"&si=\"+encodeURIComponent(bds.comm.search_tool.si)+\"&ct=2097152\"}}if(bds.comm.search_tool.sl_lang){if(a.indexOf(\"&sl_lang=\")<0){a+=\"&sl_lang=\"+encodeURIComponent(bds.comm.search_tool.sl_lang);a+=\"&rsv_rq=\"+encodeURIComponent(bds.comm.search_tool.sl_lang)}}changeUrl(a)}function langChangeUrl(a,d,b){ns_c({fm:\"advTool\",qid:bds.comm.qid,title:encodeURI(b),rsv_advTool_lang:d});baseChangeUrl(\"wd=\"+encodeURIComponent($(\"#kw\").val())+\"&\"+a+\"=\"+encodeURIComponent(d)+\"&rsv_rq=\"+encodeURIComponent(d))}function advChangeUrl(d,g,f,a){if(g.indexOf(\"=\")!=-1){var b=1}else{var b=0}ns_c({fm:\"advTool\",qid:bds.comm.qid,title:encodeURI(f),rsv_advTool_time:a,rsv_advTool_stet:g.substr(4).replace(\",\",\"_\")});\nbaseChangeUrl(\"wd=\"+encodeURIComponent($(\"#kw\").val())+\"&\"+d+\"=\"+encodeURIComponent(g)+\"&tfflag=\"+b)}function fileChangeUrl(d,b,a){ns_c({fm:\"advTool\",qid:bds.comm.qid,title:encodeURI(b),rsv_advTool_ft:a});baseChangeUrl(\"wd=\"+encodeURIComponent(queryReplace(\"filetype\",d)))}function queryReplace(f,d){if(f&&(f==\"filetype\"||f==\"site\")){var b=new RegExp(\"(\"+f+\"):[^\\\\s]*[ ]?\");var a=$(\"#kw\").val();if(d==\" \"||d==null){return a.replace(b,\"\")}else{if(a.match(b)){return a.replace(b,\"$1:\"+d+\" \")}else{return f+\":\"+d+\" \"+a}}}else{return a}}function extChangeUrl(a){if(a){ns_c({fm:\"advTool\",qid:bds.comm.qid,title:encodeURI(\"精确匹配\"),rsv_advTool_ext:1});baseChangeUrl('wd=\"'+encodeURIComponent($(\"#kw\").val())+'\"')}else{ns_c({fm:\"advTool\",qid:bds.comm.qid,title:encodeURI(\"智能匹配\"),rsv_advTool_ext:0});baseChangeUrl(\"wd=\"+encodeURIComponent($(\"#kw\").val().replace(/^\\\"(.*)\\\"$/,\"$1\")))}}$(window).on(\"swap_end\",function(){bds.comm.search_tool&&(bds.comm.search_tool.init=false)});$(window).on(\"swap_begin\",function(){$(document).off(\"click.searchTool\")\n});var langfilterTip,timefilterTip,fileTypeTip,insideSearchTip;$(document).delegate(\".head_nums_cont_outer\",\"mousedown\",function(b){if(typeof(bds.comm.search_tool)!=\"undefined\"){if(bds.comm.search_tool.init){return}bds.comm.search_tool.init=true;var f=$(this),q=f.find(\".search_tool\").eq(0),d=f.find(\".search_tool_close\").eq(0),a=f.find(\".head_nums_cont_inner\").eq(0);q.on(\"click\",function(){a.animate({top:0},250);ns_c({fm:\"advTool\",qid:bds.comm.qid,title:encodeURI(\"搜索工具\"),rsv_advTool:0})});d.on(\"click\",function(){a.animate({top:-42},250,function(){if(bds.comm.search_tool.sl_lang==\"en\"||bds.comm.search_tool.st||bds.comm.search_tool.et||bds.comm.search_tool.si||bds.comm.search_tool.ft||bds.comm.search_tool.exact){ns_c({fm:\"advTool\",qid:bds.comm.qid,title:encodeURI(\"清除\"),rsv_advTool:2});baseChangeUrl(\"wd=\"+encodeURIComponent($(\"#kw\").val().replace(/(filetype:[^\\s]* )|(site:[^\\s]*)/g,\"\").replace(/^\\\"+(.+)\\\"+$/,\"$1\"))+\"&sl_lang=&rsv_rq=&ct=0&si=&tfflag=0&gpc=\"+encodeURIComponent(\"stf=\"));$(\"input[name='gpc'],input[name='si'],input[name='ct']\",\"form\").val(\"\")\n}else{ns_c({fm:\"advTool\",qid:bds.comm.qid,title:encodeURI(\"收起工具\"),rsv_advTool:1})}})});var p=f.find(\".search_tool_la\").eq(0);if(p.length>0){var g=\"<div class='c-tip-menu c-tip-langfilter'><ul>\";if(bds.comm.search_tool.sl_lang==\"en\"){g+=\"<li><span>英文网页</span></li>\";g+=\"<li><a href='javascript:;' onClick='langChangeUrl(\\\"sl_lang\\\",\\\"cn\\\",this.innerHTML)'>所有网页</a></li>\"}else{if(bds.comm.search_tool.sl_lang==\"cn\"){g+=\"<li><a href='javascript:;' onClick='langChangeUrl(\\\"sl_lang\\\",\\\"en\\\",this.innerHTML)'>英文网页</a></li>\";g+=\"<li><span>所有网页</span></li>\"}}g+=\"</li></ul></div>\";langfilterTip=new bds.se.tip({target:p,mode:\"none\",content:$(g),arrow:{has:0,offset:0},offset:{x:15,y:21}});langfilterTip.hide()}var n=f.find(\".search_tool_tf\").eq(0);if(n.length>0){var t=\"<div class='c-tip-menu c-tip-timerfilter'><ul>\";if(!bds.comm.search_tool.st&&!bds.comm.search_tool.et){t+=\" <li><span>时间不限</span></li>\"}else{t+=\" <li><a href='javascript:;' onClick='advChangeUrl(\\\"gpc\\\",\\\"stf\\\",this.innerHTML,0)'>时间不限</a></li>\"\n}if(bds.comm.search_tool.st>=bds.comm.search_tool.thisDay&&bds.comm.search_tool.stftype==\"1\"){t+=\" <li><span>一天内</span></li>\"}else{t+=\" <li><a href='javascript:;' onClick='advChangeUrl(\\\"gpc\\\",\\\"stf=\"+bds.comm.search_tool.oneDay+\",\"+bds.comm.serverTime+\"|stftype=1\\\",this.innerHTML,1)'>一天内</a></li>\"}if(bds.comm.search_tool.st>=bds.comm.search_tool.thisWeek&&bds.comm.search_tool.st<bds.comm.search_tool.thisDay&&bds.comm.search_tool.stftype==\"1\"){t+=\" <li><span>一周内</span></li>\"}else{t+=\" <li><a href='javascript:;' onClick='advChangeUrl(\\\"gpc\\\",\\\"stf=\"+bds.comm.search_tool.oneWeek+\",\"+bds.comm.serverTime+\"|stftype=1\\\",this.innerHTML,2)'>一周内</a></li>\"}if(bds.comm.search_tool.st>=bds.comm.search_tool.thisMonth&&bds.comm.search_tool.st<bds.comm.search_tool.thisWeek&&bds.comm.search_tool.stftype==\"1\"){t+=\" <li><span>一月内</span></li>\"}else{t+=\" <li><a href='javascript:;' onClick='advChangeUrl(\\\"gpc\\\",\\\"stf=\"+bds.comm.search_tool.oneMonth+\",\"+bds.comm.serverTime+\"|stftype=1\\\",this.innerHTML,3)'>一月内</a></li>\"\n}if(bds.comm.search_tool.st>=bds.comm.search_tool.thisYear&&bds.comm.search_tool.st<bds.comm.search_tool.thisMonth&&bds.comm.search_tool.stftype==\"1\"){t+=\" <li><span>一年内</span></li>\"}else{t+=\" <li><a href='javascript:;' onClick='advChangeUrl(\\\"gpc\\\",\\\"stf=\"+bds.comm.search_tool.oneYear+\",\"+bds.comm.serverTime+\"|stftype=1\\\",this.innerHTML,4)'>一年内</a></li>\"}t+=\" <li class='c-tip-custom'>\";t+=\" <hr />自定义\";t+=\" <p class='c-tip-custom-st'>从<input name='st' date-min='0' date-max='\"+formatDate(bds.comm.serverTime*1000)+\"' type='txt' autocomplete='off' \";if(bds.comm.search_tool.st&&bds.comm.search_tool.et&&bds.comm.search_tool.stftype==\"2\"){t+=\"value='\"+formatDate(bds.comm.search_tool.st*1000,\"-\")+\"' data-value='\"+bds.comm.search_tool.st*1000+\"' class='c-tip-custom-input'/></p>\"}else{t+=\"value='\"+formatDate(bds.comm.serverTime*1000,\"-\")+\"' data-value='' class='c-tip-custom-input c-tip-custom-input-init'/></p>\"}t+=\"  <p class='c-tip-custom-et'>至<input name='et' date-min='0' date-max='\"+formatDate(bds.comm.serverTime*1000)+\"' type='txt' autocomplete='off' \";\nif(bds.comm.search_tool.st&&bds.comm.search_tool.et&&bds.comm.search_tool.stftype==\"2\"){t+=\"value='\"+formatDate(bds.comm.search_tool.et*1000,\"-\")+\"' data-value='\"+bds.comm.search_tool.et*1000+\"' class='c-tip-custom-input'/></p>\"}else{t+=\"value='\"+formatDate(bds.comm.serverTime*1000,\"-\")+\"' data-value='' class='c-tip-custom-input c-tip-custom-input-init'/></p>\"}t+=\"<div class='c-tip-timerfilter-custom-error'>自定义时间错误！</div>\";t+=\"<a href='javascript:;' class='c-tip-custom-submit'>确认</a>\";t+=\"</li></ul></div>\";timefilterTip=new bds.se.tip({target:n,mode:\"none\",content:$(t),arrow:{has:0,offset:0},offset:{x:15,y:21},onShow:function(){if($(this.getTarget()).width()>95){$(\"ul\",this.getDom()).width($(this.getTarget()).width()+20)}$(\".c-tip-custom-input\").on(\"click\",function(D){var E=this,y=null,x=new Date(),C=$(E).parents(\".c-tip-custom\"),w=C.find(\"input[name='st']\"),z=C.find(\"input[name='et']\");if($(E).attr(\"data-value\")){x.setTime($(E).attr(\"data-value\"))}$(E).parents(\".c-tip-custom\").find(\".c-tip-custom-input\").removeClass(\"c-tip-custom-input-focus\");\n$(E).addClass(\"c-tip-custom-input-focus\");if($(\"#c-tip-custom-calenderCont\").length==0){$(E).parents(\".c-tip-custom\").append(\"<div id='c-tip-custom-calenderCont'></div>\")}$(\"#c-tip-custom-calenderCont\").html(\"\");var B={element:\"c-tip-custom-calenderCont\",date:formatDate(x),between:[$(E).attr(\"date-min\")-0,$(E).attr(\"date-max\")-0],onSelectDay:function(H,I){H+=\"\";if(E.name==\"st\"){var F=new Date(H.substr(0,4),H.substr(4,2)-1,H.substr(6,2),0,0,0);z.attr(\"date-min\",H)}else{var F=new Date(H.substr(0,4),H.substr(4,2)-1,H.substr(6,2),23,59,59);w.attr(\"date-max\",H)}$(E).val(formatDate(F,\"-\"));$(E).attr(\"data-value\",F.getTime());$(\"#c-tip-custom-calenderCont\").hide();$(E).removeClass(\"c-tip-custom-input-focus\").removeClass(\"c-tip-custom-input-init\")}};if(typeof(WCal)==\"undefined\"){$.getScript(\"https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/plugins/new_wcal_caae086b.js\",function(){y=new WCal(B);if(x){y.setDay(formatDate(x),function(F){F.className+=\" op_mon_day_selected\"})}})}else{y=new WCal(B);if(x){y.setDay(formatDate(x),function(F){F.className+=\" op_mon_day_selected\"\n})}}$(\"#c-tip-custom-calenderCont\").css({top:$(this).position().top-2,left:$(this).position().left+$(this).width()+15,display:\"block\"});D.stopPropagation()});$(\".c-tip-custom-input\").on(\"focus\",function(w){$(this).removeClass(\"c-tip-custom-input-init\")});$(\".c-tip-custom-input\").on(\"blur\",function(x){var z=this;function y(D){var C=/^\\s*(\\d{4})-(\\d\\d)-(\\d\\d)\\s*$/,B=new Date(NaN),F,E=C.exec(D);if(E){F=+E[2];B.setFullYear(E[1],F-1,E[3]);if(F!=B.getMonth()+1){B.setTime(NaN)}}return B}var w=y($(z).val());if(w instanceof Date&&w.getTime()){$(z).attr(\"data-value\",w.getTime());$(\".c-tip-timerfilter-custom-error\").hide()}else{if($(z).val()==\"\"){$(z).attr(\"data-value\",\"0\");$(\".c-tip-timerfilter-custom-error\").hide()}else{$(z).attr(\"data-value\",\"\");$(\".c-tip-timerfilter-custom-error\").show()}}});try{$(\".c-tip-custom-submit\").off(\"click.searchTool\").on(\"click.searchTool\",function(y){var B=this,z=$(B).parents(\".c-tip-custom\"),w=parseInt($(\".c-tip-custom-input\",z)[0].getAttribute(\"data-value\")/1000),x=parseInt($(\".c-tip-custom-input\",z)[1].getAttribute(\"data-value\")/1000);\n$(\"#c-tip-custom-calenderCont\").hide();if(w==\"\"||!w){w=0}if((x==\"\"||!x)&&w&&w!=\"\"){x=parseInt((new Date()).setHours(23,59,58)/1000)}if(x>bds.comm.serverTime){if(w<=0){w=\"\",x=\"\"}else{x=parseInt((new Date()).setHours(23,59,58)/1000)}}if(w>x||w>bds.comm.serverTime){$(\".c-tip-timerfilter-custom-error\").show();y.stopPropagation();return}if(w==0&&x==0){w=\"\",x=\"\"}$(\".c-tip-timerfilter-custom-error\").hide();advChangeUrl(\"gpc\",\"stf=\"+w+\",\"+x+\"|stftype=2\",\"自定义时间:\"+w+\"|\"+x,5)})}catch(u){}}});timefilterTip.hide()}var m=f.find(\".search_tool_ft\").eq(0);if(m.length>0){var l=\"<div class='c-tip-menu c-tip-timerfilter c-tip-timerfilter-ft'><ul>\";if(!bds.comm.search_tool.ft){l+=\" <li><span>所有网页和文件(不限格式)</span></li>\"}else{l+=\" <li><a href='javascript:;' onClick='fileChangeUrl(null,this.innerHTML,0)'>所有网页和文件(不限格式)</a></li>\"}if(bds.comm.search_tool.ft==\"pdf\"){l+=\" <li><span>Adobe Acrobat PDF(.pdf)</span></li>\"}else{l+=\" <li><a href='javascript:;' onClick='fileChangeUrl(\\\"pdf\\\",this.innerHTML,1)'>Adobe Acrobat PDF(.pdf)</a></li>\"\n}if(bds.comm.search_tool.ft==\"doc\"){l+=\" <li><span>微软 Word(.doc)</span></li>\"}else{l+=\" <li><a href='javascript:;' onClick='fileChangeUrl(\\\"doc\\\",this.innerHTML,2)'>微软 Word(.doc)</a></li>\"}if(bds.comm.search_tool.ft==\"xls\"){l+=\" <li><span>微软 Excel(.xls)</span></li>\"}else{l+=\" <li><a href='javascript:;' onClick='fileChangeUrl(\\\"xls\\\",this.innerHTML,3)'>微软 Excel(.xls)</a></li>\"}if(bds.comm.search_tool.ft==\"ppt\"){l+=\" <li><span>微软 PowerPoint(.ppt)</span></li>\"}else{l+=\" <li><a href='javascript:;' onClick='fileChangeUrl(\\\"ppt\\\",this.innerHTML,4)'>微软 PowerPoint(.ppt)</a></li>\"}if(bds.comm.search_tool.ft==\"rtf\"){l+=\" <li><span>RTF 文件(.rtf)</span></li>\"}else{l+=\" <li><a href='javascript:;' onClick='fileChangeUrl(\\\"rtf\\\",this.innerHTML,5)'>RTF 文件(.rtf)</a></li>\"}l+=\"</ul></div>\";var o=new bds.se.tip({target:m,mode:\"none\",content:$(l),arrow:{has:0,offset:0},offset:{x:15,y:21}});o.hide()}var k=f.find(\".search_tool_si\").eq(0);if(k.length>0){insideSearchTip=new bds.se.tip({target:k,mode:\"none\",content:$(\"<div class='c-tip-menu c-tip-timerfilter c-tip-timerfilter-si'><ul> <li><input name='si' type='txt' class='c-tip-si-input c-gap-bottom-small c-gap-right-small' autocomplete='off' value='\"+bds.comm.search_tool.si+\"' placeholder='例如:baidu.com' /><a href='javascript:;' class='c-tip-timerfilter-si-submit'>确认</a></li> <li><p class='c-tip-timerfilter-si-error'>无法识别，正确格式：baidu.com</p></li></ul></div>\"),arrow:{has:0,offset:0},offset:{x:15,y:21},onShow:function(){$(\".c-tip-si-input\").on(\"focus\",function(w){$(this).addClass(\"c-tip-si-input-focus\")\n});$(\".c-tip-si-input\").on(\"blur\",function(w){$(this).removeClass(\"c-tip-si-input-focus\")});try{$(\".c-tip-timerfilter-si-submit\").off(\"click.searchTool\").on(\"click.searchTool\",function(y){var B=this,z=$(B).parents(\".c-tip-timerfilter-si\"),w=$(\"input\",z).val(),x=queryReplace(\"site\");if(w==\"\"){ns_c({fm:\"advTool\",qid:bds.comm.qid,title:encodeURI(\"站内检索:\"+w),rsv_advTool_si:encodeURI(w)});baseChangeUrl(\"wd=\"+encodeURIComponent(x)+\"&si=&ct=0\")}else{if(w.match(/^[\\w\\-_]+(\\.[\\w\\-_]+)+$/)){$(\".c-tip-timerfilter-si-error\").hide();ns_c({fm:\"advTool\",qid:bds.comm.qid,title:encodeURI(\"站内检索:\"+w),rsv_advTool_si:encodeURI(w)});baseChangeUrl(\"wd=\"+encodeURIComponent(x)+\"&si=\"+encodeURIComponent(w)+\"&ct=2097152\")}else{$(\".c-tip-timerfilter-si-error\").show();y.stopPropagation();y.preventDefault();return false}}})}catch(u){}}});insideSearchTip.hide()}var j=true;p.on(\"click\",function(u){if(j){langfilterTip&&langfilterTip.show();j=false;timefilterTip&&timefilterTip.hide();i=true;o&&o.hide();s=true;insideSearchTip&&insideSearchTip.hide();\nr=true;ns_c({fm:\"advTool\",qid:bds.comm.qid,title:encodeURI(\"语言筛选浮层展现\"),rsv_advTool_tip:1});$(document).on(\"click.searchTool\",function(w){if($(w.target).parents(\".c-tip-langfilter\").length==0&&langfilterTip){langfilterTip.hide();j=true;$(document).off(\"click.searchTool\")}})}else{langfilterTip&&langfilterTip.hide();j=true;$(document).off(\"click.searchTool\")}u.stopPropagation()});var i=true;n.on(\"click\",function(u){if(i){langfilterTip&&langfilterTip.hide();j=true;timefilterTip&&timefilterTip.show();i=false;o&&o.hide();s=true;insideSearchTip&&insideSearchTip.hide();r=true;ns_c({fm:\"advTool\",qid:bds.comm.qid,title:encodeURI(\"时间筛选浮层展现\"),rsv_advTool_tip:0});$(document).on(\"click.searchTool\",function(w){if($(w.target).parents(\".c-tips-container,#c-tip-custom-calenderCont\").length==0&&timefilterTip){timefilterTip.hide();$(\"#c-tip-custom-calenderCont\").hide();timefilterTip.getDom().find(\".c-tip-custom-input-focus\").removeClass(\"c-tip-custom-input-focus\");i=true;$(document).off(\"click.searchTool\")\n}})}else{timefilterTip&&timefilterTip.hide();i=true;$(document).off(\"click.searchTool\")}u.stopPropagation()});var s=true;m.on(\"click\",function(u){if(s){langfilterTip&&langfilterTip.hide();j=true;timefilterTip&&timefilterTip.hide();i=true;o&&o.show();s=false;insideSearchTip&&insideSearchTip.hide();r=true;ns_c({fm:\"advTool\",qid:bds.comm.qid,title:encodeURI(\"网页格式浮层展现\"),rsv_advTool_tip:2});$(document).on(\"click.searchTool\",function(w){if($(w.target).parents(\".c-tip-timerfilter-ft\").length==0&&o){o.hide();s=true;$(document).off(\"click.searchTool\")}})}else{o&&o.hide();s=true;$(document).off(\"click.searchTool\")}u.stopPropagation()});var r=true;k.on(\"click\",function(u){if(r){langfilterTip&&langfilterTip.hide();j=true;timefilterTip&&timefilterTip.hide();i=true;o&&o.hide();s=true;insideSearchTip&&insideSearchTip.show();r=false;ns_c({fm:\"advTool\",qid:bds.comm.qid,title:encodeURI(\"站内搜索浮层展现\"),rsv_advTool_tip:3});$(document).on(\"click.searchTool\",function(w){if($(w.target).parents(\".c-tip-timerfilter-si\").length==0&&insideSearchTip){insideSearchTip.hide();\nr=true;$(document).off(\"click.searchTool\")}})}else{insideSearchTip&&insideSearchTip.hide();r=true;$(document).off(\"click.searchTool\")}u.stopPropagation()})}});(function(){bds.se.skeleton=function(){var b;return function(){if(!b){b=a();$(window).one(\"swap_begin\",function(){b=null})}return b}}();function a(){var d={},b={};var g=$(\"#wrapper\");d.topResult=g.find(\"#con-at\").find(\".result-op\");d.rightResult=g.find(\"#con-ar\").find(\".result-op\");d.leftResult=g.find(\"#content_left\").find(\".result, .result-op\");if(d.topResult.length){b.T=[];d.topResult.each(function(){b.T.push(f(\"T\",$(this)))})}if(d.rightResult.length){b.R=[];d.rightResult.each(function(){b.R.push(f(\"R\",$(this)))})}if(d.leftResult.length){b.L=[];d.leftResult.each(function(){b.L.push(f(\"L\",$(this)))})}return b;function f(j,i){var n={top:i.offset().top,left:i.offset().left};var k={width:i.width(),height:i.height()};var l=function(){var p=i.attr(\"data-click\");if(p){try{return $.parseJSON(p)}catch(o){}}}()||{};var m=j+(l.p5||\"\");return{id:m,pos:n,size:k,dataClick:l,dom:i}\n}}})();(function(){bds.se.display=function(){var b=new a()};function a(){var b=this;b.display={};b.expand={};b.dom={};b.init()}a.prototype={init:function(){var b=this;b.dom=bds.se.skeleton();var d=$(\"#wrapper\");b.dom.rsResult=d.find(\"#rs a\");b.dom.hintResult=d.find(\".se_common_hint\");b.rs=b.dom.rsResult.length||0;b.hint=b.dom.hintResult.length||0;b.display.base=b.getBase();b.dom.L&&b.getResult(b.dom.L);b.dom.R&&b.getResult(b.dom.R);b.dom.T&&b.getResult(b.dom.T);if(b.rs){b.display.rs=b.getRS()}if(b.hint){b.display.hint=b.getHint()}b.send()},send:function(){var j=this;for(var m in j.display){var g={};g[m]=j.display[m];bds.log.send.sendPack(\"new_disp\",g)}for(var l in j.expand){if(l&&j.expand[l]){for(var d in j.expand[l]){if(d&&j.expand[l][d]&&j.expand[l][d].length){var k=j.expand[l][d];for(var b=0;b<k.length;b++){var f={};f[l]={expand:{}};f[l].expand[d]={};f[l].expand[d][b]=k[b];bds.log.send.sendPack(\"new_disp\",f)}}}}}},getBase:function(){var b=this;var d={};d.qid=bds.comm.qid||\"\";d.tpl=bds.comm.resTemplateName||\"\";\nd.async=bds.comm.supportis?1:0;d.page=bds.comm.pageNum||1;d.upn=$.getCookie(\"BD_UPN\")||\"\";b.dom.L&&(d.left=b.dom.L.length);b.dom.R&&(d.right=b.dom.R.length);b.dom.T&&(d.top=b.dom.T.length);d.size={};d.size.doc={w:$(document).width(),h:$(document).height()};d.size.wind={w:$(window).width(),h:$(window).height()};d.size.scr={w:screen.width,h:screen.height};return d},getRS:function(){var d=this;var b={};b.num=d.rs;b.query=[];d.dom.rsResult.each(function(g){var f=this.textContent||this.innerText;b.query.push(f)});return b},getHint:function(){var b=this;var d={};d.result=[];b.dom.hintResult.each(function(g){var f={};f.id=this.getAttribute(\"data-id\")||0;f.tpl=this.getAttribute(\"data-tpl\")||\"\";d.result.push(f)});return d},getResult:function(d){var j=this,b=d;for(var g=0,f=Math.min(b.length,10);g<f;g++){var l=b[g].id,k=j.getResultDisplay(b[g]);j.expand[l]=k.expand;delete k.expand;j.display[l]=k}},getResultDisplay:function(d){var m=this;var s=d.dom,j=d.dataClick,g={};g.id=j.p5||\"\";g.srcid=j.rsv_srcid||s.attr(\"srcid\")||0;\ng.tpl=s.attr(\"tpl\")||\"\";g.mu=j.mu||s.attr(\"mu\")||\"\";g.fm=j.fm||\"as\";s.is(\":hidden\")&&(g.show=0);if(g.show==0){return g}g.size=r();g.pos=l();q()&&(g.bdr=q());g.com=i();var f=n(),k=b(),o=p();if(f||k||o){g.expand={};if(f){g.link=f.length;g.expand.links=f}if(k){g.img=k.length;g.expand.imgs=k}if(o){g.app=o.length;g.expand.apps=o}}return g;function r(){var t=d.size;return{w:t.width||0,h:t.height||0}}function l(){var t=d.pos;return{t:t.top||0,l:t.left||0}}function q(){if(j.rsv_bdr&&j.rsv_bdr!=0){return j.rsv_bdr}else{if(s.hasClass(\".c-border\")||s.find(\".c-border\").length){return 5}else{return 0}}}function i(){var u={};t(\".favurl\")&&(u.fi=1);t(\".c-text-public.c-text-mult\")&&(u.gwi=1);t(\".icon-unsafe-icon\")&&(u.fxi=1);t(\".c-icon-v\")&&(u.vi=1);t(\".c-icon-med\")&&(u.yjji=1);t(\".c-icon-air\")&&(u.hxi=1);t(\".c-recommend\")&&(u.cr=1);return u;function t(x){var w;if(x){w=s.find(x)}if(w&&w.length){return true}else{return false}}}function n(){var w=s.find(\"a\").not(\":hidden\").not(\"h3 a, .m\");var t=[];var x=/^((https?:)?\\/\\/)?([\\da-z\\.-]+)\\.([a-z\\.]{2,6})([\\/\\w \\.-]*)*(:\\d+)*(\\/.*)*/;\nvar u=/^(\\/s\\?)/;w.each(function(B){var y=this.getAttribute(\"href\");if(y&&x.test(y)){var z=y&&y.match(/.*\\/link\\?url=([^&]*).*/);if(z&&z.length&&z.length>0&&z[1]){t.push(z[1])}else{t.push(y)}}else{if(y&&u.test(y)){t.push(y)}}});if(t.length){return t}else{return false}}function b(){var t=[];var u=s.find(\"img\").not(\":hidden\").not(\"[data-nolog]\");if(u.length){u.each(function(x){var w={w:this.width,h:this.height};t.push({size:w})});return t}else{return false}}function p(){var u=[];var t=s.find(\"object, video, audio\");if(t.length){t.each(function(x){var w=$(this);var y={};if(w.is(\"object\")&&w.attr(\"type\")&&w.attr(\"type\").indexOf(\"flash\")>=0){y.type=1}else{if(w.is(\"video\")){y.type=2}else{if(w.is(\"audio\")){y.type=3}else{y.type=0}}}y.size={w:w.width(),h:w.height()};u.push(y)});return u}else{return false}}}}})();(function(){function a(){this.pageElementsList=[];this.scrollTime=null;this.scrollChange=false;this.resizeTime=null;this.resizeChange=false;this.scrollTop=$(document).scrollTop();this.scrollLeft=$(document).scrollLeft();\nthis.windowHeight=$(window).height();this.windowWidth=$(window).width()}a.prototype={init:function(){var b=bds.se.skeleton();var d=this;$.each([\"L\",\"R\",\"T\"],function(f,g){if(b[g]){$.merge(d.pageElementsList,d.getDom(b[g]));d.bindEvent(b[g])}})},getDom:function(b){var d=[];$.each(b,function(f,j){var g={};g.top=j.pos.top;g.height=j.size.height;g.id=j.id;g.visible=0;d.push(g)});return d},bindEvent:function(b){$.each(b,function(g,l){var k=200;var j=false;var f=null;l.dom.bind(\"mouseenter.useraction\",function(){if(f!==null){clearTimeout(f)}f=setTimeout(function(){bds.log.send.sendPack(\"new_view\",{type:\"mouseIn\",id:l.id,t:new Date().getTime()});j=true;f=null},k)}).bind(\"mouseleave.useraction\",function(){if(f!==null){clearTimeout(f);f=null}if(j){bds.log.send.sendPack(\"new_view\",{type:\"mouseOut\",id:l.id,t:new Date().getTime()});j=false}})})},destroy:function(){$(window).unbind(\".useraction\");this.pageElementsList.splice(0,this.pageElementsList.length)},sight:function(){var b=this;$.each(this.pageElementsList,function(d,g){var f=(b.scrollTop<g.top+g.height)&&(b.scrollTop+b.windowHeight>g.top);\nif(g.visible===1&&!f){bds.log.send.sendPack(\"new_view\",{type:\"sight\",resid:g.id,action:\"out\",t:new Date().getTime()});g.visible=0}else{if(g.visible===0&&f){bds.log.send.sendPack(\"new_view\",{type:\"sight\",resid:g.id,action:\"in\",t:new Date().getTime()});g.visible=1}}})},collectPoint:function(d,i){var f=d+\"Time\";var k=d+\"Change\";var j=this;if(j[f]===null){g()}function g(){j[f]=setTimeout(function(){bds.log.send.sendPack(\"new_view\",b(d));j[k]=false;j.sight();if(j[k]){g()}else{j[f]=null}},1000)}function b(l){if(l===\"resize\"){var n=$(window);j.windowHeight=n.height();j.windowWidth=n.width();return{type:\"resize\",t:new Date().getTime(),height:j.windowHeight,width:j.windowWidth}}else{if(l===\"scroll\"){var m=$(document);j.scrollTop=m.scrollTop();j.scrollLeft=m.scrollLeft();return{type:\"scroll\",t:new Date().getTime(),offsetX:j.scrollTop,offsetY:j.scrollLeft}}}}},collect:function(){this.init();var b=this;if(this.resizeTime!==null){clearTimeout(this.resizeTime)}this.resizeTime=null;if(this.scrollTime!==null){clearTimeout(this.scrollTime)\n}this.scrollTime=null;$(window).bind(\"focus.useraction\",function(){bds.log.send.sendPack(\"new_view\",{type:\"focus\",t:new Date().getTime()})}).bind(\"blur.useraction\",function(){bds.log.send.sendPack(\"new_view\",{type:\"blur\",t:new Date().getTime()})}).bind(\"resize.useraction\",function(d){b.resizeChange=true;b.collectPoint(\"resize\",d)}).bind(\"scroll.useraction\",function(d){b.scrollChange=true;b.collectPoint(\"scroll\",d)});this.sight()},outInterface:function(){var b=this;return{collect:function(){b.collect()},destroy:function(){b.destroy()}}}};bds.se.userAction=new a().outInterface()})();bds.comm.recommends={};bds.comm.recommends.recommWidth=0;bds.se.recommend=function(b){var a=this;a.op=$.extend({},a._default,b);a.id=a.op.target.attr(\"id\");a.init()};bds.se.recommend.prototype={constructor:bds.se.recommend,__init__:false,currInstance:null,recommDom:null,arrowDom:null,cssDom:null,loadDom:null,global:{},_default:{target:\"\",arrowOffset_s:-54,arrowOffset_l:-151,container_s:276,container_l:368,startOpacity:0.3,endOpacity:1},init:function(){var a=this;\nif(a.currInstance&&a.currInstance.id==a.id){return}a.delay={overIcon:null,loader:null,overArrow:null};a.doWhat(function(){if(!a.__init__){bds.se.recommend.prototype.__init__=true;a.createRecommDom()}a.createArrowDom();a.delay.overArrow=setTimeout(function(){var b=a.op.arrowDom.find(\".rrecom-btn\");if(b.css(\"display\")==\"none\"){b.show()}a.moveArrow(function(){b.addClass(\"rrecom-btn-hover\");a.showRecommDom()})},100)})},dispose:function(){bds.se.recommend.prototype.currInstance=null;bds.se.recommend.prototype.recommDom&&bds.se.recommend.prototype.recommDom.remove();bds.se.recommend.prototype.cssDom&&bds.se.recommend.prototype.cssDom.remove();bds.comm.recommends={};bds.se.recommend.prototype.__init__=false;$(window).off(\"resize.recommend container_resize.recommend scroll.recommend\")},createArrowDom:function(){var d=this;var a=d.op.target.find(\".rrecom-btn-parent\");if(a.length){d.op.arrowDom=a}else{var b=['<span class=\"rrecom-btn-parent rrecom-btn-s\">','<span class=\"rrecom-btn\">',\"<span></span>\",\"</span>\",\"</span>\"].join(\"\");\nd.op.arrowDom=$(b);d.op.arrowDom.on(\"click\",\".rrecom-btn\",function(){d.hideRecommDom();return});d.op.target.css({position:\"relative\"}).append(d.op.arrowDom)}},resetArrow:function(){var a=this;a.op.arrowDom.css({right:a.op.arrowOffset_s}).removeClass(\"rrecom-btn-click rrecom-btn-moving\").find(\".rrecom-btn\").stop().hide().removeClass(\"rrecom-btn-hover\")},setArrowPos:function(){var a=this;if(a.currInstance){if(bds.comm.containerSize===\"l\"){a.currInstance.op.arrowDom.css(\"right\",a.op.arrowOffset_l)}else{a.currInstance.op.arrowDom.css(\"right\",a.op.arrowOffset_s)}}},moveArrow:function(a){var d=this;var b={opacity:d.op.endOpacity};if(bds.comm.containerSize===\"l\"){b.right=d.op.arrowOffset_l}else{b.right=d.op.arrowOffset_s}d.op.arrowDom.stop().addClass(\"rrecom-btn-moving rrecom-btn-click\").animate(b,0,function(){if(d.currInstance&&d.currInstance!==d){d.currInstance.resetArrow()}a()})},log:function(a){var g={};var l=this.op.target.attr(\"data-click\");var o=this.op.target.attr(\"srcid\");var k=this.op.target.attr(\"tpl\");\nvar p=this.op.target.attr(\"mu\");if(o){g.rsv_srcid=o}if(k){g.rsv_tpl=k}if(p){g.mu=p}if(l){$.extend(g,$.parseJSON(l))}if(g.p1&&!g.p5){g.p5=g.p1}if(g.p5&&!g.p1){g.p1=g.p5}if(!g.p1&&!g.p5){var n=$(\"#content_left\").get(0);var d=n.children;var m=1;for(var f=0,j=d.length;f<j;f++){if(d[f].nodeType==1&&d[f].className&&/\\bresult(\\-op)?\\b/.test(d[f].className)){if(d[f]===this.op.target.get(0)){g.p1=m;g.p5=m;break}m++}}}g.fm=\"beha\";var b=this.op.target.find(\".t>a\").eq(0);g.rsv_re_fcurl=b.length?b.attr(\"href\"):p;g.rsv_re_fcurl=g.rsv_re_fcurl||\"\";g.rsv_re_fcurl=encodeURIComponent(g.rsv_re_fcurl);return c($.extend(g,a))},getLeftP:function(){var a=this.op.target.attr(\"data-click\");a=$.parseJSON(a)||{};if(a.p1&&!a.p5){a.p5=a.p1}if(a.p5&&!a.p1){a.p1=a.p5}if(!a.p5&&!a.p1){a.p1=1;a.p5=1}return{p1:a.p1,p5:a.p5}},s_log:function(){this.log({rsv_re_fc:2})},setCacheData:function(a){bds.comm.recommends[this.id]=a},getCacheData:function(){return bds.comm.recommends[this.id]},doWhat:function(a){var b=this.getCacheData();\nif(b!==\"[NO DATA]\"){if(b){a()}else{this.getRemoteData(a)}}else{}},getJsonp:function(a){var i=this.op.target.find(\".t>a\").eq(0);var f=(i.length?i.attr(\"href\"):this.op.target.attr(\"mu\"))||\"\";var d=f&&f.match(/.*url=([^&]*).*/);if(d&&d.length&&d.length>0&&d[1]){f=d[1];var b=\"http://lcr.open.baidu.com/link?url=\"+encodeURIComponent(f);var g=window.bds&&bds.util&&bds.util.domain&&bds.util.domain.get(b);return($.ajax({url:g,dataType:\"jsonp\",jsonp:\"cb\",data:{data_name:a,ie:\"utf-8\",oe:\"utf-8\",format:\"json\",t:Date.parse(new Date())}}))}},getRemoteData:function(a){var b=this;$.when(this.getJsonp(\"recommend_common_merger\")).then(function(d){if(d&&d.data&&d.data.length&&d.data[0]){b.setCacheData(d.data);a()}else{b.setCacheData(\"[NO DATA]\")}},function(d){})},buildURL:function(f){var i=\"/s?\";var d={tn:bds.comm.tn};var b=$(\"#form\");var a=b.find(\"input[name=rsv_idx]\");var g=\"\";d.rsv_idx=a.length?a.val():\"\";for(var j in d){if(d.hasOwnProperty(j)&&d[j]){g+=j+\"=\"+encodeURIComponent(d[j])+\"&\"}}return(i+g+f)\n},renderTpl:function(f,d){var b=this;if(!f||!d){return}var a={};a.url_right_recommends_merge=function(k){var k=k||d;var p=\"\";var j=12;var m=0;if(k.Right_Resources.card&&!k.Right_Resources.card.length){k.Right_Resources.card=[k.Right_Resources.card]}for(var n=0,g=k.Right_Resources.card.length;n<g;n++){var l=k.Right_Resources.card[n];m+=parseInt(l.shownums||0);if(m>j){break}p+=o(l,(n+1))}return p;function o(t,w){var F='<div class=\"cr-content\" data-click=\\'#{2}\\'><div class=\"cr-title c-clearfix\"><span title=\"#{0}\">#{1}</span></div>';var y='<div class=\"c-row c-gap-top\">';var B='<div class=\"c-span4#{5} rrecom-item\" data-click=\\'#{6}\\'><div class=\"rrecom-p\"><a target=\"_blank\" href=\"#{0}\"><img class=\"c-img c-img4 rrecom-img\" src=\"#{1}\"></a></div><div class=\"c-gap-top-small\"><a target=\"_blank\" title=\"#{2}\" href=\"#{3}\">#{4}</a></div><div><img src=\"#{7}\" class=\"opr-recommends-merge-imgtext\" data-nolog=\"1\"></div>';var q='<div class=\"c-span4#{5} rrecom-item\" data-click=\\'#{6}\\'><div class=\"rrecom-p\"><a target=\"_blank\" href=\"#{0}\"><img class=\"c-img c-img4 rrecom-img\" src=\"#{1}\"></a></div><div class=\"c-gap-top-small\"><a target=\"_blank\" title=\"#{2}\" href=\"#{3}\">#{4}</a></div>';\nvar J=\"</div>\";var z=\"\";var x=t.showrow;var i=t.shownums;var I;var u={rsv_srcid:k.StdStg||0};if(t.list&&!t.list.length){t.list=[t.list]}z+=$.format(F,t.subtitle,t.subtitle,$.stringify(u));z+='<div class=\"rrecom-panel\">';var r=b.op.target.find(\".t>a\").eq(0);var s=r.length?r.attr(\"href\"):b.op.target.attr(\"mu\");for(var C=0,E=t.list.length;C<E;C++){I=t.list[C];var H={rsv_re_ename:I.name,rsv_re_uri:I.uri,rsv_re_fcpoi:w+\"-\"+(C+1),rsv_clk_url:s};var D=b.buildURL(I.params+\"&euri=\"+(I.uri||\"\"));if(C==i){break}if(C%4===0){z+=y}if(bds.util&&bds.util.domain&&bds.util.domain.get){I.img=bds.util.domain.get(I.img)}z+=$.format(q,D,I.img,I.name,D,$.subByte(I.name,20),((C+1)%4===0)?\" c-span-last rrecom-item-rowLast\":(((C+1)%4===3)?\" rrecom-item-s\":\"\"),$.stringify(H),I.attrpic);z+=J;if((C+1)%4===0||C==E-1){z+=J}}z+=J;z+=J;return z}};if(a[f]){return a[f]()}},render:function(f){var b=\"\";for(var a=0;a<f.length;a++){b+=this.renderTpl(f[a].extData.tplt,f[a].tplData)}var d=this.getLeftP();d.fm=\"alxr\";this.recommDom.attr(\"data-click\",$.stringify(d)).find(\".rrecom-content\").eq(0).empty().append(b);\nthis.setRecommPosition()},createRecommDom:function(){var d=['<div style=\"position:fixed;left:-1px;background:#fff;border:1px solid #eee;z-index:103\" class=\"result-op xpath-log\" data-click=\\'{\"fm\":\"alxr\",\"p1\":1,\"p5\":1}\\'>','<div class=\"rrecom-ajax-loading c-loading\"></div>','<div class=\"rrecom-container\">','<a href=\"javascript:;\" class=\"rrecom-btn-close\" data-click=\\'{\"rsv_re_fc\":4,\"fm\":\"beha\"}\\'></a>','<div class=\"rrecom-content\"></div>',\"</div>\",\"</div>\"].join(\"\");var b=[\"<style>\",\".rrecom-btn-close,.rrecom-btn span{background:url(https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/global/img/rrecom_icon_034abe03.png) no-repeat;}\",\".rrecom-btn-close{display:inline-block;width:13px;height:13px;position:absolute;top:26px;right:10px;background-position:0 -20px;}\",\".rrecom-btn-parent{z-index:104;position:absolute;right:-37px;top:50%;margin-top:-50px;height:59px;width:40px;cursor:default;padding:20px 0px;}\",\".rrecom-btn{display:none;background-color:#fff;padding:20px 5px;position:absolute;right:10px;width:20px;height:19px;border:1px solid transparent;}\",\".rrecom-btn-hover{right:-1px;border:1px solid #eee;border-right:1px solid #fff;z-index:104;box-shadow:0px 2px 0px rgba(0,0,0,0.072);-webkit-box-shadow:0px 2px 0px rgba(0,0,0,0.072);-moz-box-shadow:0px 2px 0px rgba(0,0,0,0.072);-o-box-shadow:0px 2px 0px rgba(0,0,0,0.072);}\",\".rrecom-btn span{cursor:pointer;background-position:0 0;width:20px;height:19px;position:absolute;top:50%;left:50%;margin:-10px 0 0 -10px;}\",\".rrecom-container{width:368px;padding-top:43px;overflow:hidden;background-color:#fff;}\",\".rrecom-ajax-loading{position:absolute;left:50%;margin-left:-25px;top:50px;display:none;}\",\".rrecom-content{margin-left:17px;}\",\".rrecom-content .cr-content{width:100%;margin-bottom:28px;}\",\".rrecom_content_s{padding-left:0px;width:276px;}\",\".rrecom_content_s .rrecom-item-rowLast{display:none}\",\".rrecom_content_s .rrecom-item-s{margin-right:0;}\",\".rrecom-panel{text-align:center;}\",\"</style>\"].join(\"\");\nbds.se.recommend.prototype.recommDom=$(d);bds.se.recommend.prototype.cssDom=$(b);bds.se.recommend.prototype.loadDom=this.recommDom.find(\".rrecom-ajax-loading\");this.setRecommSize();$(\"body\").append(this.cssDom).append(this.recommDom.hide());this.bindRecommEvent();$(window).trigger(\"container_resize.recommend\",bds.comm.containerSize);var a=$(\"#foot\");if(a.css(\"position\")===\"static\"){a.css({position:\"relative\",\"z-index\":104})}},setRecommSize:function(){var g=$(\"#content_right\");var d=$(\"#wrapper_wrapper\");var f=$(\"body\");var b=$(window);var j=g.offset();var a={w:f.width()};var i={h:b.height()};var m=b.scrollTop();d.prevAll().each(function(){var n;if(this.nodeName.toLowerCase()===\"div\"){n=parseInt($(this).css(\"margin-bottom\"));bds.se.recommend.prototype.global.topGap=isNaN(n)?0:n;return false}});bds.se.recommend.prototype.global.topDom=d;bds.se.recommend.prototype.global.headDom=$(\"#head\");var k={top:this.global.topDom.offset().top-this.global.topGap};var l=this.global.headDom.offset().top-m+56;\nthis.recommDom.height(i.h);bds.comm.recommends.recommWidth=a.w-j.left-2,this.recommDom.css({width:a.w-j.left-2,top:(m<=(k.top-l))?(k.top):l,position:(m<=(k.top-l))?\"absolute\":\"fixed\",left:j.left})},setRecommPosition:function(){this.setRecommTop();this.setRecommLeft()},setRecommTop:function(){var b=$(window).scrollTop();var a={top:this.global.topDom.offset().top-this.global.topGap};var d=this.global.headDom.offset().top-b+56;this.recommDom.css({top:(b<=(a.top-d))?(a.top):d,position:(b<=(a.top-d))?\"absolute\":\"fixed\"}).find(\".rrecom-container\").css({\"margin-top\":\"0px\"});bds.se.recommend.prototype.global.originalTop=(b<a.top-d)?a.top-d:b},setRecommLeft:function(){var b,a;if(this.recommDom.css(\"position\")===\"fixed\"){b=$(\"#content_right\").offset().left;a=$(window).scrollLeft();this.recommDom.css(\"left\",parseInt(b)-a)}},bindRecommEvent:function(){var a=this;this.recommDom.find(\".rrecom-btn-close\").eq(0).on(\"click\",function(){a.hideRecommDom()});$(window).on(\"scroll.recommend\",function(i){var b={top:a.global.topDom.offset().top-a.global.topGap};\nvar l=a.global.headDom.offset().top+a.global.headDom.outerHeight();var g=$(this);var k;var d;var f;if(a.recommDom&&a.recommDom.css(\"display\")!==\"none\"){k=g.scrollTop();d=g.scrollLeft();l-=k;if(k<=(b.top-l)){if(a.recommDom.css(\"position\")===\"fixed\"){a.recommDom.css(\"position\",\"absolute\");a.recommDom.css(\"top\",b.top)}}else{if(a.recommDom.css(\"position\")===\"absolute\"){a.recommDom.css(\"position\",\"fixed\");a.recommDom.css(\"top\",l)}}var j=a.recommDom.find(\".rrecom-container\");if(a.global.originalTop<k){maxMargin=Math.min(a.recommDom.height()-j.height()-82-75,0);j.css({\"margin-top\":Math.max(a.global.originalTop-k,maxMargin)})}else{j.css({\"margin-top\":\"0px\"})}if(d){f=$(\"#content_right\").offset().left;if(a.recommDom.css(\"position\")===\"fixed\"){a.recommDom.css(\"left\",parseInt(f)-d)}else{a.recommDom.css(\"left\",parseInt(f))}}}}).on(\"resize.recommend\",function(){a.setRecommSize();a.setArrowPos()}).on(\"container_resize.recommend\",function(d,b){var f=a.recommDom.find(\".rrecom-container\");if(b===\"s\"&&!f.hasClass(\"rrecom_content_s\")){f.addClass(\"rrecom_content_s\");\nf.find(\".rrecom-content\").css(\"width\",(a.op.container_s-17)+\"px\")}else{if(b===\"l\"){f.removeClass(\"rrecom_content_s\");f.find(\".rrecom-content\").css(\"width\",(a.op.container_l-17)+\"px\")}}})},hideRecommDom:function(){var a=this;a.recommDom.find(\".rrecom-container\").animate({width:\"0px\"},200,function(){a.recommDom.hide()});a.currInstance&&window.clearTimeout(a.currInstance.delay.overArrow);a.currInstance&&a.currInstance.resetArrow();bds.se.recommend.prototype.currInstance=null},showRecommDom:function(){var d=this;if(d.currInstance!==d){}if(d.recommDom.css(\"display\")===\"none\"){d.recommDom.css({opacity:0.3}).show().animate({opacity:1},100);var b=d.recommDom.find(\".rrecom-container\");var a=bds.comm.recommends.recommWidth;b.css({width:0}).animate({width:a+\"px\"},200)}if(d.recommDom.find(\".rrecom_content_s\").length>0){d.recommDom.find(\".rrecom-content\").css(\"width\",(d.op.container_s-17)+\"px\")}else{d.recommDom.find(\".rrecom-content\").css(\"width\",(d.op.container_l-17)+\"px\")}bds.se.recommend.prototype.currInstance=d;\nd.render(d.getCacheData())},showLoading:function(){this.loadDom.show()},hideLoading:function(){this.loadDom.hide()}};if(window._sam_rcmd_none){}else{if(window._sam_rcmd_noie){$(window).one(\"swap_end\",function(){if(!(bds.comm.upn.ie&&(bds.comm.upn.ie==6||bds.comm.upn.ie==7||bds.comm.upn.ie==8))){$(document).on(\"click\",\"#content_left .result .t>a, #content_left .result-op .t>a\",function(b){if(!b.ctrlKey&&bds.comm.urlRecFlag==\"0\"){var a=$(this).closest(\".result, .result-op\");new bds.se.recommend({target:a})}})}})}else{$(window).one(\"swap_end\",function(){if(!(bds.comm.upn.ie&&bds.comm.upn.ie==6)){$(document).on(\"click\",\"#content_left .result .t>a, #content_left .result-op .t>a\",function(b){if(!b.ctrlKey&&bds.comm.urlRecFlag==\"0\"){var a=$(this).closest(\".result, .result-op\");new bds.se.recommend({target:a})}})}})}}$(window).on(\"swap_begin\",function(){bds.se.recommend.prototype.currInstance&&bds.se.recommend.prototype.hideRecommDom();bds.se.recommend.prototype.currInstance=null;bds.se.recommend.prototype.__init__=false;\nbds.comm.recommends={}});bds.se.asynAds=function(a){var k=a.dom||\"\",d=a.id||\"\",b=a.tnp||\"\",f=a.wd||\"\",g=(a.cb&&typeof(a.cb)==\"function\")?a.cb:null;if(k&&b&&f&&d){c({fm:\"inlo\",rsv_ad:\"ad_asyn_start\"});var m=[\"wd\",\"tnp\",\"tn\",\"pn\",\"bs\",\"fenlei\",\"adext\"];var j=\"ie=utf-8&oe=utf-8&dsp=pc\";for(var l=0;l<m.length;l++){var n=m[l];if(a[n]){j+=\"&\"+n+\"=\"+a[n]}}$.ajax({url:\"/s\",dataType:\"json\",data:j,success:function(p){var i=$(k);if(p&&p.results&&p.results.length&&i.length){var o=\"\";$.each(p.results,function(r,s){if(s.id==d){var q=s;o+=\"<style>\"+q.css+\"</style>\";o+=q.html;o+=\"<script>\"+q.js+\"<\\/script>\"}});i.html(o);if(($(document).scrollTop()<i.position().top+i.height())&&($(document).scrollTop()+$(window).height()>i.position().top)){c({fm:\"inlo\",rsv_ad:\"ad_asyn_shake\"})}if(g){g()}}else{c({fm:\"inlo\",rsv_ad:\"ad_asyn_net_error\"})}},error:function(){c({fm:\"inlo\",rsv_ad:\"ad_asyn_net_error\"})}})}else{c({fm:\"inlo\",rsv_ad:\"ad_asyn_param_error\"})}};$(window).on(\"swap_begin\",function(){if(bds&&bds.se&&bds.se.displayTime!==undefined&&bds.se.displayTime!==null){clearTimeout(bds.se.displayTime);\nbds.se.displayTime=null}}).on(\"confirm\",function(){if(bds&&bds.comm&&bds.comm.globalLogFlag&&bds.comm.globalLogFlag==1){if(bds.comm.logFlagNoNetwork==1||bds.comm.logFlagNoIntegration==1){}else{bds.se.displayTime=setTimeout(function(){bds&&bds.se&&bds.se.display();bds.se.displayTime=null},5000);bds.se.userAction.collect()}}}).on(\"swap_end\",function(b,a){if(!a&&bds&&bds.comm&&bds.comm.globalLogFlag&&bds.comm.globalLogFlag==1){if(bds.comm.logFlagNoNetwork==1||bds.comm.logFlagNoIntegration==1){}else{bds.se.displayTime=setTimeout(function(){bds&&bds.se&&bds.se.display();bds.se.displayTime=null},5000);bds.se.userAction.collect()}}});$(window).on(\"swap_end\",function(){if(bds.comm.__rdNum&&bds.comm.__rdNum>9000){setTimeout(function(){$.ajax({dataType:\"script\",cache:true,url:\"https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/plugins/clean_5610f03f.js\",success:function(){bds.se.cleanCookie.init()}})},0)}});(function(){if(!location.href.match(/voice=1/)&&!navigator.userAgent.match(/mac os x/i)&&!window.__sam_voice_flash){return\n}require.config({paths:{Recorder:\"https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/voice/js/voice_3f76ec0c.js\".replace(/\\.js$/,\"\")}});require.config({paths:{swfobject:\"https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/plugins/swfobject_c1c7185a.js\".replace(/\\.js$/,\"\")}});function a(i){var g=[\"voice_beha=1\"],f=window.bds&&bds.util&&bds.util.domain?bds.util.domain.get(\"http://nsclick.baidu.com\"):\"http://nsclick.baidu.com\";for(var d in i){if(i.hasOwnProperty(d)){g.push(d+\"=\"+i[d])}}var b=window[\"nsIMG\"+(+new Date())]=new Image();b.src=f+\"/v.gif?pid=201&\"+g.join(\"&\");return true}require([\"swfobject\",\"Recorder\"],function(d,b){b.log=a;if(!b||!b.support()){return}b.addStyle();window.__supportvoice=true;var f=$(\"#form .ipt_rec\");f.css(\"display\",\"block\");f.click(function(){var g=b.init({url:bds.util.domain.get(\"http://vse.baidu.com\")+\"/echo.fcgi\"});g.done(function(i){i.openUI();i.onfinish(function(j){var l=j.content.item[0];var k=(j&&j.result)?j.result.corpus_no:\"\";changeUrl(\"wd=\"+encodeURIComponent(l)+\"&rsv_voice=1&rsv_vcorpus=\"+encodeURIComponent(k));\nbds.comm.lastVoiceQuery=l});b.log({q:\"resolve\"})}).fail(function(){b.log({q:\"reject\"});alert(\"不能获得麦克风的权限\")});b.log({q:\"start\"})})})})();"
  },
  {
    "path": "testsample/src/main/assets/baidu_files/jquery-1.10.2_d88366fd.js",
    "content": "/*!\n * jQuery JavaScript Library v1.10.2\n * http://jquery.com/\n *\n * Includes Sizzle.js\n * http://sizzlejs.com/\n *\n * Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2013-07-03T13:48Z\n */\n(function(a1,aE){var ag,w,aA=typeof aE,aJ=a1.location,l=a1.document,bV=l.documentElement,bh=a1.jQuery,G=a1.$,Y={},a5=[],s=\"1.10.2\",aG=a5.concat,am=a5.push,a3=a5.slice,aK=a5.indexOf,y=Y.toString,T=Y.hasOwnProperty,aO=s.trim,bI=function(e,b3){return new bI.fn.init(e,b3,w)},bz=/[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/.source,aa=/\\S+/g,B=/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,bq=/^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]*))$/,a=/^<(\\w+)\\s*\\/?>(?:<\\/\\1>|)$/,bg=/^[\\],:{}\\s]*$/,bj=/(?:^|:|,)(?:\\s*\\[)+/g,bF=/\\\\(?:[\"\\\\\\/bfnrt]|u[\\da-fA-F]{4})/g,aX=/\"[^\"\\\\\\r\\n]*\"|true|false|null|-?(?:\\d+\\.|)\\d+(?:[eE][+-]?\\d+|)/g,bR=/^-ms-/,aT=/-([\\da-z])/gi,K=function(e,b3){return b3.toUpperCase()},bW=function(e){if(l.addEventListener||e.type===\"load\"||l.readyState===\"complete\"){bk();bI.ready()}},bk=function(){if(l.addEventListener){l.removeEventListener(\"DOMContentLoaded\",bW,false);a1.removeEventListener(\"load\",bW,false)}else{l.detachEvent(\"onreadystatechange\",bW);a1.detachEvent(\"onload\",bW)}};bI.fn=bI.prototype={jquery:s,constructor:bI,init:function(e,b5,b4){var b3,b6;if(!e){return this}if(typeof e===\"string\"){if(e.charAt(0)===\"<\"&&e.charAt(e.length-1)===\">\"&&e.length>=3){b3=[null,e,null]}else{b3=bq.exec(e)}if(b3&&(b3[1]||!b5)){if(b3[1]){b5=b5 instanceof bI?b5[0]:b5;bI.merge(this,bI.parseHTML(b3[1],b5&&b5.nodeType?b5.ownerDocument||b5:l,true));if(a.test(b3[1])&&bI.isPlainObject(b5)){for(b3 in b5){if(bI.isFunction(this[b3])){this[b3](b5[b3])}else{this.attr(b3,b5[b3])}}}return this}else{b6=l.getElementById(b3[2]);if(b6&&b6.parentNode){if(b6.id!==b3[2]){return b4.find(e)}this.length=1;this[0]=b6}this.context=l;this.selector=e;return this}}else{if(!b5||b5.jquery){return(b5||b4).find(e)}else{return this.constructor(b5).find(e)}}}else{if(e.nodeType){this.context=this[0]=e;this.length=1;return this}else{if(bI.isFunction(e)){return b4.ready(e)}}}if(e.selector!==aE){this.selector=e.selector;this.context=e.context}return bI.makeArray(e,this)},selector:\"\",length:0,toArray:function(){return a3.call(this)},get:function(e){return e==null?this.toArray():(e<0?this[this.length+e]:this[e])},pushStack:function(e){var b3=bI.merge(this.constructor(),e);b3.prevObject=this;b3.context=this.context;return b3},each:function(b3,e){return bI.each(this,b3,e)},ready:function(e){bI.ready.promise().done(e);return this},slice:function(){return this.pushStack(a3.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(b4){var e=this.length,b3=+b4+(b4<0?e:0);return this.pushStack(b3>=0&&b3<e?[this[b3]]:[])},map:function(e){return this.pushStack(bI.map(this,function(b4,b3){return e.call(b4,b3,b4)}))},end:function(){return this.prevObject||this.constructor(null)},push:am,sort:[].sort,splice:[].splice};bI.fn.init.prototype=bI.fn;bI.extend=bI.fn.extend=function(){var e,b8,b3,b4,cb,b9,b7=arguments[0]||{},b6=1,b5=arguments.length,ca=false;if(typeof b7===\"boolean\"){ca=b7;b7=arguments[1]||{};b6=2}if(typeof b7!==\"object\"&&!bI.isFunction(b7)){b7={}}if(b5===b6){b7=this;--b6}for(;b6<b5;b6++){if((cb=arguments[b6])!=null){for(b4 in cb){e=b7[b4];b3=cb[b4];if(b7===b3){continue}if(ca&&b3&&(bI.isPlainObject(b3)||(b8=bI.isArray(b3)))){if(b8){b8=false;b9=e&&bI.isArray(e)?e:[]}else{b9=e&&bI.isPlainObject(e)?e:{}}b7[b4]=bI.extend(ca,b9,b3)}else{if(b3!==aE){b7[b4]=b3}}}}}return b7};bI.extend({expando:\"jQuery\"+(s+Math.random()).replace(/\\D/g,\"\"),noConflict:function(e){if(a1.$===bI){a1.$=G}if(e&&a1.jQuery===bI){a1.jQuery=bh}return bI},isReady:false,readyWait:1,holdReady:function(e){if(e){bI.readyWait++}else{bI.ready(true)}},ready:function(e){if(e===true?--bI.readyWait:bI.isReady){return}if(!l.body){return setTimeout(bI.ready)}bI.isReady=true;if(e!==true&&--bI.readyWait>0){return}ag.resolveWith(l,[bI]);if(bI.fn.trigger){bI(l).trigger(\"ready\").off(\"ready\")}},isFunction:function(e){return bI.type(e)===\"function\"},isArray:Array.isArray||function(e){return bI.type(e)===\"array\"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return !isNaN(parseFloat(e))&&isFinite(e)},type:function(e){if(e==null){return String(e)}return typeof e===\"object\"||typeof e===\"function\"?Y[y.call(e)]||\"object\":typeof e},isPlainObject:function(b5){var b3;if(!b5||bI.type(b5)!==\"object\"||b5.nodeType||bI.isWindow(b5)){return false}try{if(b5.constructor&&!T.call(b5,\"constructor\")&&!T.call(b5.constructor.prototype,\"isPrototypeOf\")){return false}}catch(b4){return false}if(bI.support.ownLast){for(b3 in b5){return T.call(b5,b3)}}for(b3 in b5){}return b3===aE||T.call(b5,b3)},isEmptyObject:function(b3){var e;for(e in b3){return false}return true},error:function(e){throw new Error(e)},parseHTML:function(b6,b4,b5){if(!b6||typeof b6!==\"string\"){return null}if(typeof b4===\"boolean\"){b5=b4;b4=false}b4=b4||l;var b3=a.exec(b6),e=!b5&&[];if(b3){return[b4.createElement(b3[1])]}b3=bI.buildFragment([b6],b4,e);if(e){bI(e).remove()}return bI.merge([],b3.childNodes)},parseJSON:function(e){if(a1.JSON&&a1.JSON.parse){return a1.JSON.parse(e)}if(e===null){return e}if(typeof e===\"string\"){e=bI.trim(e);if(e){if(bg.test(e.replace(bF,\"@\").replace(aX,\"]\").replace(bj,\"\"))){return(new Function(\"return \"+e))()}}}bI.error(\"Invalid JSON: \"+e)},parseXML:function(b5){var b3,b4;if(!b5||typeof b5!==\"string\"){return null}try{if(a1.DOMParser){b4=new DOMParser();b3=b4.parseFromString(b5,\"text/xml\")}else{b3=new ActiveXObject(\"Microsoft.XMLDOM\");b3.async=\"false\";b3.loadXML(b5)}}catch(b6){b3=aE}if(!b3||!b3.documentElement||b3.getElementsByTagName(\"parsererror\").length){bI.error(\"Invalid XML: \"+b5)}return b3},noop:function(){},globalEval:function(e){if(e&&bI.trim(e)){(a1.execScript||function(b3){a1[\"eval\"].call(a1,b3)})(e)}},camelCase:function(e){return e.replace(bR,\"ms-\").replace(aT,K)},nodeName:function(b3,e){return b3.nodeName&&b3.nodeName.toLowerCase()===e.toLowerCase()},each:function(b7,b8,b3){var b6,b4=0,b5=b7.length,e=Z(b7);if(b3){if(e){for(;b4<b5;b4++){b6=b8.apply(b7[b4],b3);if(b6===false){break}}}else{for(b4 in b7){b6=b8.apply(b7[b4],b3);if(b6===false){break}}}}else{if(e){for(;b4<b5;b4++){b6=b8.call(b7[b4],b4,b7[b4]);if(b6===false){break}}}else{for(b4 in b7){b6=b8.call(b7[b4],b4,b7[b4]);if(b6===false){break}}}}return b7},trim:aO&&!aO.call(\"\\uFEFF\\xA0\")?function(e){return e==null?\"\":aO.call(e)}:function(e){return e==null?\"\":(e+\"\").replace(B,\"\")},makeArray:function(e,b4){var b3=b4||[];if(e!=null){if(Z(Object(e))){bI.merge(b3,typeof e===\"string\"?[e]:e)}else{am.call(b3,e)}}return b3},inArray:function(b5,b3,b4){var e;if(b3){if(aK){return aK.call(b3,b5,b4)}e=b3.length;b4=b4?b4<0?Math.max(0,e+b4):b4:0;for(;b4<e;b4++){if(b4 in b3&&b3[b4]===b5){return b4}}}return -1},merge:function(b6,b4){var e=b4.length,b5=b6.length,b3=0;if(typeof e===\"number\"){for(;b3<e;b3++){b6[b5++]=b4[b3]}}else{while(b4[b3]!==aE){b6[b5++]=b4[b3++]}}b6.length=b5;return b6},grep:function(b3,b8,e){var b7,b4=[],b5=0,b6=b3.length;e=!!e;for(;b5<b6;b5++){b7=!!b8(b3[b5],b5);if(e!==b7){b4.push(b3[b5])}}return b4},map:function(b4,b9,e){var b8,b6=0,b7=b4.length,b3=Z(b4),b5=[];if(b3){for(;b6<b7;b6++){b8=b9(b4[b6],b6,e);if(b8!=null){b5[b5.length]=b8}}}else{for(b6 in b4){b8=b9(b4[b6],b6,e);if(b8!=null){b5[b5.length]=b8}}}return aG.apply([],b5)},guid:1,proxy:function(b6,b5){var e,b4,b3;if(typeof b5===\"string\"){b3=b6[b5];b5=b6;b6=b3}if(!bI.isFunction(b6)){return aE}e=a3.call(arguments,2);b4=function(){return b6.apply(b5||this,e.concat(a3.call(arguments)))};b4.guid=b6.guid=b6.guid||bI.guid++;return b4},access:function(e,b7,b9,b8,b5,cb,ca){var b4=0,b3=e.length,b6=b9==null;if(bI.type(b9)===\"object\"){b5=true;for(b4 in b9){bI.access(e,b7,b4,b9[b4],true,cb,ca)}}else{if(b8!==aE){b5=true;if(!bI.isFunction(b8)){ca=true}if(b6){if(ca){b7.call(e,b8);b7=null}else{b6=b7;b7=function(cd,cc,ce){return b6.call(bI(cd),ce)}}}if(b7){for(;b4<b3;b4++){b7(e[b4],b9,ca?b8:b8.call(e[b4],b4,b7(e[b4],b9)))}}}}return b5?e:b6?b7.call(e):b3?b7(e[0],b9):cb},now:function(){return(new Date()).getTime()},swap:function(b7,b6,b8,b5){var b4,b3,e={};for(b3 in b6){e[b3]=b7.style[b3];b7.style[b3]=b6[b3]}b4=b8.apply(b7,b5||[]);for(b3 in b6){b7.style[b3]=e[b3]}return b4}});bI.ready.promise=function(b6){if(!ag){ag=bI.Deferred();if(l.readyState===\"complete\"){setTimeout(bI.ready)}else{if(l.addEventListener){l.addEventListener(\"DOMContentLoaded\",bW,false);a1.addEventListener(\"load\",bW,false)}else{l.attachEvent(\"onreadystatechange\",bW);a1.attachEvent(\"onload\",bW);var b5=false;try{b5=a1.frameElement==null&&l.documentElement}catch(b4){}if(b5&&b5.doScroll){(function b3(){if(!bI.isReady){try{b5.doScroll(\"left\")}catch(b7){return setTimeout(b3,50)}bk();bI.ready()}})()}}}}return ag.promise(b6)};bI.each(\"Boolean Number String Function Array Date RegExp Object Error\".split(\" \"),function(b3,e){Y[\"[object \"+e+\"]\"]=e.toLowerCase()});function Z(b4){var b3=b4.length,e=bI.type(b4);if(bI.isWindow(b4)){return false}if(b4.nodeType===1&&b3){return true}return e===\"array\"||e!==\"function\"&&(b3===0||typeof b3===\"number\"&&b3>0&&(b3-1) in b4)}w=bI(l);\n/*!\n * Sizzle CSS Selector Engine v1.10.2\n * http://sizzlejs.com/\n *\n * Copyright 2013 jQuery Foundation, Inc. and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2013-07-03\n */\n(function(dc,ch){var cw,df,cc,cm,cF,cI,cT,dj,cG,cW,cA,cn,c5,c0,dd,cb,cD,c7=\"sizzle\"+-(new Date()),cH=dc.document,dg=0,c1=0,b6=cy(),c6=cy(),cE=cy(),cU=false,cC=function(dk,e){if(dk===e){cU=true;return 0}return 0},db=typeof ch,cO=1<<31,cM=({}).hasOwnProperty,c9=[],da=c9.pop,cK=c9.push,b4=c9.push,cl=c9.slice,ca=c9.indexOf||function(dl){var dk=0,e=this.length;for(;dk<e;dk++){if(this[dk]===dl){return dk}}return -1},b5=\"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",co=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",b3=\"(?:\\\\\\\\.|[\\\\w-]|[^\\\\x00-\\\\xa0])+\",cJ=b3.replace(\"w\",\"w#\"),c3=\"\\\\[\"+co+\"*(\"+b3+\")\"+co+\"*(?:([*^$|!~]?=)\"+co+\"*(?:(['\\\"])((?:\\\\\\\\.|[^\\\\\\\\])*?)\\\\3|(\"+cJ+\")|)|)\"+co+\"*\\\\]\",cj=\":(\"+b3+\")(?:\\\\(((['\\\"])((?:\\\\\\\\.|[^\\\\\\\\])*?)\\\\3|((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\"+c3.replace(3,8)+\")*)|.*)\\\\)|)\",cq=new RegExp(\"^\"+co+\"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\"+co+\"+$\",\"g\"),ct=new RegExp(\"^\"+co+\"*,\"+co+\"*\"),cz=new RegExp(\"^\"+co+\"*([>+~]|\"+co+\")\"+co+\"*\"),cY=new RegExp(co+\"*[+~]\"),cs=new RegExp(\"=\"+co+\"*([^\\\\]'\\\"]*)\"+co+\"*\\\\]\",\"g\"),cQ=new RegExp(cj),cR=new RegExp(\"^\"+cJ+\"$\"),cZ={ID:new RegExp(\"^#(\"+b3+\")\"),CLASS:new RegExp(\"^\\\\.(\"+b3+\")\"),TAG:new RegExp(\"^(\"+b3.replace(\"w\",\"w*\")+\")\"),ATTR:new RegExp(\"^\"+c3),PSEUDO:new RegExp(\"^\"+cj),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\"+co+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+co+\"*(?:([+-]|)\"+co+\"*(\\\\d+)|))\"+co+\"*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+b5+\")$\",\"i\"),needsContext:new RegExp(\"^\"+co+\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+co+\"*((?:-\\\\d)?\\\\d*)\"+co+\"*\\\\)|)(?=[^-]|$)\",\"i\")},cN=/^[^{]+\\{\\s*\\[native \\w/,cP=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,b9=/^(?:input|select|textarea|button)$/i,ck=/^h\\d$/i,cL=/'|\\\\/g,cr=new RegExp(\"\\\\\\\\([\\\\da-f]{1,6}\"+co+\"?|(\"+co+\")|.)\",\"ig\"),c2=function(e,dm,dk){var dl=\"0x\"+dm-65536;return dl!==dl||dk?dm:dl<0?String.fromCharCode(dl+65536):String.fromCharCode(dl>>10|55296,dl&1023|56320)};try{b4.apply((c9=cl.call(cH.childNodes)),cH.childNodes);c9[cH.childNodes.length].nodeType}catch(cB){b4={apply:c9.length?function(dk,e){cK.apply(dk,cl.call(e))}:function(dm,dl){var e=dm.length,dk=0;while((dm[e++]=dl[dk++])){}dm.length=e-1}}}function cu(ds,dk,dw,dy){var dx,dp,dq,du,dv,dn,dm,e,dl,dt;if((dk?dk.ownerDocument||dk:cH)!==cA){cW(dk)}dk=dk||cA;dw=dw||[];if(!ds||typeof ds!==\"string\"){return dw}if((du=dk.nodeType)!==1&&du!==9){return[]}if(c5&&!dy){if((dx=cP.exec(ds))){if((dq=dx[1])){if(du===9){dp=dk.getElementById(dq);if(dp&&dp.parentNode){if(dp.id===dq){dw.push(dp);return dw}}else{return dw}}else{if(dk.ownerDocument&&(dp=dk.ownerDocument.getElementById(dq))&&cD(dk,dp)&&dp.id===dq){dw.push(dp);return dw}}}else{if(dx[2]){b4.apply(dw,dk.getElementsByTagName(ds));return dw}else{if((dq=dx[3])&&df.getElementsByClassName&&dk.getElementsByClassName){b4.apply(dw,dk.getElementsByClassName(dq));return dw}}}}if(df.qsa&&(!c0||!c0.test(ds))){e=dm=c7;dl=dk;dt=du===9&&ds;if(du===1&&dk.nodeName.toLowerCase()!==\"object\"){dn=cf(ds);if((dm=dk.getAttribute(\"id\"))){e=dm.replace(cL,\"\\\\$&\")}else{dk.setAttribute(\"id\",e)}e=\"[id='\"+e+\"'] \";dv=dn.length;while(dv--){dn[dv]=e+cg(dn[dv])}dl=cY.test(ds)&&dk.parentNode||dk;dt=dn.join(\",\")}if(dt){try{b4.apply(dw,dl.querySelectorAll(dt));return dw}catch(dr){}finally{if(!dm){dk.removeAttribute(\"id\")}}}}}return de(ds.replace(cq,\"$1\"),dk,dw,dy)}function cy(){var dk=[];function e(dl,dm){if(dk.push(dl+=\" \")>cm.cacheLength){delete e[dk.shift()]}return(e[dl]=dm)}return e}function ci(e){e[c7]=true;return e}function cd(dk){var dm=cA.createElement(\"div\");try{return !!dk(dm)}catch(dl){return false}finally{if(dm.parentNode){dm.parentNode.removeChild(dm)}dm=null}}function dh(dk,dm){var e=dk.split(\"|\"),dl=dk.length;while(dl--){cm.attrHandle[e[dl]]=dm}}function b7(dk,e){var dm=e&&dk,dl=dm&&dk.nodeType===1&&e.nodeType===1&&(~e.sourceIndex||cO)-(~dk.sourceIndex||cO);if(dl){return dl}if(dm){while((dm=dm.nextSibling)){if(dm===e){return -1}}}return dk?1:-1}function cv(e){return function(dl){var dk=dl.nodeName.toLowerCase();return dk===\"input\"&&dl.type===e}}function b8(e){return function(dl){var dk=dl.nodeName.toLowerCase();return(dk===\"input\"||dk===\"button\")&&dl.type===e}}function c4(e){return ci(function(dk){dk=+dk;return ci(function(dl,dq){var dn,dm=e([],dl.length,dk),dp=dm.length;while(dp--){if(dl[(dn=dm[dp])]){dl[dn]=!(dq[dn]=dl[dn])}}})})}cI=cu.isXML=function(e){var dk=e&&(e.ownerDocument||e).documentElement;return dk?dk.nodeName!==\"HTML\":false};df=cu.support={};cW=cu.setDocument=function(dk){var dl=dk?dk.ownerDocument||dk:cH,e=dl.defaultView;if(dl===cA||dl.nodeType!==9||!dl.documentElement){return cA}cA=dl;cn=dl.documentElement;c5=!cI(dl);if(e&&e.attachEvent&&e!==e.top){e.attachEvent(\"onbeforeunload\",function(){cW()})}df.attributes=cd(function(dm){dm.className=\"i\";return !dm.getAttribute(\"className\")});df.getElementsByTagName=cd(function(dm){dm.appendChild(dl.createComment(\"\"));return !dm.getElementsByTagName(\"*\").length});df.getElementsByClassName=cd(function(dm){dm.innerHTML=\"<div class='a'></div><div class='a i'></div>\";dm.firstChild.className=\"i\";return dm.getElementsByClassName(\"i\").length===2});df.getById=cd(function(dm){cn.appendChild(dm).id=c7;return !dl.getElementsByName||!dl.getElementsByName(c7).length});if(df.getById){cm.find.ID=function(dp,dn){if(typeof dn.getElementById!==db&&c5){var dm=dn.getElementById(dp);return dm&&dm.parentNode?[dm]:[]}};cm.filter.ID=function(dn){var dm=dn.replace(cr,c2);return function(dp){return dp.getAttribute(\"id\")===dm}}}else{delete cm.find.ID;cm.filter.ID=function(dn){var dm=dn.replace(cr,c2);return function(dq){var dp=typeof dq.getAttributeNode!==db&&dq.getAttributeNode(\"id\");return dp&&dp.value===dm}}}cm.find.TAG=df.getElementsByTagName?function(dm,dn){if(typeof dn.getElementsByTagName!==db){return dn.getElementsByTagName(dm)}}:function(dm,dr){var ds,dq=[],dp=0,dn=dr.getElementsByTagName(dm);if(dm===\"*\"){while((ds=dn[dp++])){if(ds.nodeType===1){dq.push(ds)}}return dq}return dn};cm.find.CLASS=df.getElementsByClassName&&function(dn,dm){if(typeof dm.getElementsByClassName!==db&&c5){return dm.getElementsByClassName(dn)}};dd=[];c0=[];if((df.qsa=cN.test(dl.querySelectorAll))){cd(function(dm){dm.innerHTML=\"<select><option selected=''></option></select>\";if(!dm.querySelectorAll(\"[selected]\").length){c0.push(\"\\\\[\"+co+\"*(?:value|\"+b5+\")\")}if(!dm.querySelectorAll(\":checked\").length){c0.push(\":checked\")}});cd(function(dn){var dm=dl.createElement(\"input\");dm.setAttribute(\"type\",\"hidden\");dn.appendChild(dm).setAttribute(\"t\",\"\");if(dn.querySelectorAll(\"[t^='']\").length){c0.push(\"[*^$]=\"+co+\"*(?:''|\\\"\\\")\")}if(!dn.querySelectorAll(\":enabled\").length){c0.push(\":enabled\",\":disabled\")}dn.querySelectorAll(\"*,:x\");c0.push(\",.*:\")})}if((df.matchesSelector=cN.test((cb=cn.webkitMatchesSelector||cn.mozMatchesSelector||cn.oMatchesSelector||cn.msMatchesSelector)))){cd(function(dm){df.disconnectedMatch=cb.call(dm,\"div\");cb.call(dm,\"[s!='']:x\");dd.push(\"!=\",cj)})}c0=c0.length&&new RegExp(c0.join(\"|\"));dd=dd.length&&new RegExp(dd.join(\"|\"));cD=cN.test(cn.contains)||cn.compareDocumentPosition?function(dn,dm){var dq=dn.nodeType===9?dn.documentElement:dn,dp=dm&&dm.parentNode;return dn===dp||!!(dp&&dp.nodeType===1&&(dq.contains?dq.contains(dp):dn.compareDocumentPosition&&dn.compareDocumentPosition(dp)&16))}:function(dn,dm){if(dm){while((dm=dm.parentNode)){if(dm===dn){return true}}}return false};cC=cn.compareDocumentPosition?function(dn,dm){if(dn===dm){cU=true;return 0}var dp=dm.compareDocumentPosition&&dn.compareDocumentPosition&&dn.compareDocumentPosition(dm);if(dp){if(dp&1||(!df.sortDetached&&dm.compareDocumentPosition(dn)===dp)){if(dn===dl||cD(cH,dn)){return -1}if(dm===dl||cD(cH,dm)){return 1}return cG?(ca.call(cG,dn)-ca.call(cG,dm)):0}return dp&4?-1:1}return dn.compareDocumentPosition?-1:1}:function(dn,dm){var du,dr=0,dt=dn.parentNode,dq=dm.parentNode,dp=[dn],ds=[dm];if(dn===dm){cU=true;return 0}else{if(!dt||!dq){return dn===dl?-1:dm===dl?1:dt?-1:dq?1:cG?(ca.call(cG,dn)-ca.call(cG,dm)):0}else{if(dt===dq){return b7(dn,dm)}}}du=dn;while((du=du.parentNode)){dp.unshift(du)}du=dm;while((du=du.parentNode)){ds.unshift(du)}while(dp[dr]===ds[dr]){dr++}return dr?b7(dp[dr],ds[dr]):dp[dr]===cH?-1:ds[dr]===cH?1:0};return dl};cu.matches=function(dk,e){return cu(dk,null,null,e)};cu.matchesSelector=function(dl,dn){if((dl.ownerDocument||dl)!==cA){cW(dl)}dn=dn.replace(cs,\"='$1']\");if(df.matchesSelector&&c5&&(!dd||!dd.test(dn))&&(!c0||!c0.test(dn))){try{var dk=cb.call(dl,dn);if(dk||df.disconnectedMatch||dl.document&&dl.document.nodeType!==11){return dk}}catch(dm){}}return cu(dn,cA,null,[dl]).length>0};cu.contains=function(e,dk){if((e.ownerDocument||e)!==cA){cW(e)}return cD(e,dk)};cu.attr=function(dl,e){if((dl.ownerDocument||dl)!==cA){cW(dl)}var dk=cm.attrHandle[e.toLowerCase()],dm=dk&&cM.call(cm.attrHandle,e.toLowerCase())?dk(dl,e,!c5):ch;return dm===ch?df.attributes||!c5?dl.getAttribute(e):(dm=dl.getAttributeNode(e))&&dm.specified?dm.value:null:dm};cu.error=function(e){throw new Error(\"Syntax error, unrecognized expression: \"+e)};cu.uniqueSort=function(dl){var dm,dn=[],e=0,dk=0;cU=!df.detectDuplicates;cG=!df.sortStable&&dl.slice(0);dl.sort(cC);if(cU){while((dm=dl[dk++])){if(dm===dl[dk]){e=dn.push(dk)}}while(e--){dl.splice(dn[e],1)}}return dl};cF=cu.getText=function(dn){var dm,dk=\"\",dl=0,e=dn.nodeType;if(!e){for(;(dm=dn[dl]);dl++){dk+=cF(dm)}}else{if(e===1||e===9||e===11){if(typeof dn.textContent===\"string\"){return dn.textContent}else{for(dn=dn.firstChild;dn;dn=dn.nextSibling){dk+=cF(dn)}}}else{if(e===3||e===4){return dn.nodeValue}}}return dk};cm=cu.selectors={cacheLength:50,createPseudo:ci,match:cZ,attrHandle:{},find:{},relative:{\">\":{dir:\"parentNode\",first:true},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:true},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(e){e[1]=e[1].replace(cr,c2);e[3]=(e[4]||e[5]||\"\").replace(cr,c2);if(e[2]===\"~=\"){e[3]=\" \"+e[3]+\" \"}return e.slice(0,4)},CHILD:function(e){e[1]=e[1].toLowerCase();if(e[1].slice(0,3)===\"nth\"){if(!e[3]){cu.error(e[0])}e[4]=+(e[4]?e[5]+(e[6]||1):2*(e[3]===\"even\"||e[3]===\"odd\"));e[5]=+((e[7]+e[8])||e[3]===\"odd\")}else{if(e[3]){cu.error(e[0])}}return e},PSEUDO:function(dk){var e,dl=!dk[5]&&dk[2];if(cZ.CHILD.test(dk[0])){return null}if(dk[3]&&dk[4]!==ch){dk[2]=dk[4]}else{if(dl&&cQ.test(dl)&&(e=cf(dl,true))&&(e=dl.indexOf(\")\",dl.length-e)-dl.length)){dk[0]=dk[0].slice(0,e);dk[2]=dl.slice(0,e)}}return dk.slice(0,3)}},filter:{TAG:function(dk){var e=dk.replace(cr,c2).toLowerCase();return dk===\"*\"?function(){return true}:function(dl){return dl.nodeName&&dl.nodeName.toLowerCase()===e}},CLASS:function(e){var dk=b6[e+\" \"];return dk||(dk=new RegExp(\"(^|\"+co+\")\"+e+\"(\"+co+\"|$)\"))&&b6(e,function(dl){return dk.test(typeof dl.className===\"string\"&&dl.className||typeof dl.getAttribute!==db&&dl.getAttribute(\"class\")||\"\")})},ATTR:function(dl,dk,e){return function(dn){var dm=cu.attr(dn,dl);if(dm==null){return dk===\"!=\"}if(!dk){return true}dm+=\"\";return dk===\"=\"?dm===e:dk===\"!=\"?dm!==e:dk===\"^=\"?e&&dm.indexOf(e)===0:dk===\"*=\"?e&&dm.indexOf(e)>-1:dk===\"$=\"?e&&dm.slice(-e.length)===e:dk===\"~=\"?(\" \"+dm+\" \").indexOf(e)>-1:dk===\"|=\"?dm===e||dm.slice(0,e.length+1)===e+\"-\":false}},CHILD:function(dk,dn,dm,dp,dl){var dr=dk.slice(0,3)!==\"nth\",e=dk.slice(-4)!==\"last\",dq=dn===\"of-type\";return dp===1&&dl===0?function(ds){return !!ds.parentNode}:function(dy,dw,dB){var ds,dE,dz,dD,dA,dv,dx=dr!==e?\"nextSibling\":\"previousSibling\",dC=dy.parentNode,du=dq&&dy.nodeName.toLowerCase(),dt=!dB&&!dq;if(dC){if(dr){while(dx){dz=dy;while((dz=dz[dx])){if(dq?dz.nodeName.toLowerCase()===du:dz.nodeType===1){return false}}dv=dx=dk===\"only\"&&!dv&&\"nextSibling\"}return true}dv=[e?dC.firstChild:dC.lastChild];if(e&&dt){dE=dC[c7]||(dC[c7]={});ds=dE[dk]||[];dA=ds[0]===dg&&ds[1];dD=ds[0]===dg&&ds[2];dz=dA&&dC.childNodes[dA];while((dz=++dA&&dz&&dz[dx]||(dD=dA=0)||dv.pop())){if(dz.nodeType===1&&++dD&&dz===dy){dE[dk]=[dg,dA,dD];break}}}else{if(dt&&(ds=(dy[c7]||(dy[c7]={}))[dk])&&ds[0]===dg){dD=ds[1]}else{while((dz=++dA&&dz&&dz[dx]||(dD=dA=0)||dv.pop())){if((dq?dz.nodeName.toLowerCase()===du:dz.nodeType===1)&&++dD){if(dt){(dz[c7]||(dz[c7]={}))[dk]=[dg,dD]}if(dz===dy){break}}}}}dD-=dl;return dD===dp||(dD%dp===0&&dD/dp>=0)}}},PSEUDO:function(dm,dl){var e,dk=cm.pseudos[dm]||cm.setFilters[dm.toLowerCase()]||cu.error(\"unsupported pseudo: \"+dm);if(dk[c7]){return dk(dl)}if(dk.length>1){e=[dm,dm,\"\",dl];return cm.setFilters.hasOwnProperty(dm.toLowerCase())?ci(function(dq,ds){var dp,dn=dk(dq,dl),dr=dn.length;while(dr--){dp=ca.call(dq,dn[dr]);dq[dp]=!(ds[dp]=dn[dr])}}):function(dn){return dk(dn,0,e)}}return dk}},pseudos:{not:ci(function(e){var dk=[],dl=[],dm=cT(e.replace(cq,\"$1\"));return dm[c7]?ci(function(dp,du,ds,dq){var dt,dn=dm(dp,null,dq,[]),dr=dp.length;while(dr--){if((dt=dn[dr])){dp[dr]=!(du[dr]=dt)}}}):function(dq,dp,dn){dk[0]=dq;dm(dk,null,dn,dl);return !dl.pop()}}),has:ci(function(e){return function(dk){return cu(e,dk).length>0}}),contains:ci(function(e){return function(dk){return(dk.textContent||dk.innerText||cF(dk)).indexOf(e)>-1}}),lang:ci(function(e){if(!cR.test(e||\"\")){cu.error(\"unsupported lang: \"+e)}e=e.replace(cr,c2).toLowerCase();return function(dl){var dk;do{if((dk=c5?dl.lang:dl.getAttribute(\"xml:lang\")||dl.getAttribute(\"lang\"))){dk=dk.toLowerCase();return dk===e||dk.indexOf(e+\"-\")===0}}while((dl=dl.parentNode)&&dl.nodeType===1);return false}}),target:function(e){var dk=dc.location&&dc.location.hash;return dk&&dk.slice(1)===e.id},root:function(e){return e===cn},focus:function(e){return e===cA.activeElement&&(!cA.hasFocus||cA.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===false},disabled:function(e){return e.disabled===true},checked:function(e){var dk=e.nodeName.toLowerCase();return(dk===\"input\"&&!!e.checked)||(dk===\"option\"&&!!e.selected)},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling){if(e.nodeName>\"@\"||e.nodeType===3||e.nodeType===4){return false}}return true},parent:function(e){return !cm.pseudos.empty(e)},header:function(e){return ck.test(e.nodeName)},input:function(e){return b9.test(e.nodeName)},button:function(dk){var e=dk.nodeName.toLowerCase();return e===\"input\"&&dk.type===\"button\"||e===\"button\"},text:function(dk){var e;return dk.nodeName.toLowerCase()===\"input\"&&dk.type===\"text\"&&((e=dk.getAttribute(\"type\"))==null||e.toLowerCase()===dk.type)},first:c4(function(){return[0]}),last:c4(function(e,dk){return[dk-1]}),eq:c4(function(e,dl,dk){return[dk<0?dk+dl:dk]}),even:c4(function(e,dl){var dk=0;for(;dk<dl;dk+=2){e.push(dk)}return e}),odd:c4(function(e,dl){var dk=1;for(;dk<dl;dk+=2){e.push(dk)}return e}),lt:c4(function(e,dm,dl){var dk=dl<0?dl+dm:dl;for(;--dk>=0;){e.push(dk)}return e}),gt:c4(function(e,dm,dl){var dk=dl<0?dl+dm:dl;for(;++dk<dm;){e.push(dk)}return e})}};cm.pseudos.nth=cm.pseudos.eq;for(cw in {radio:true,checkbox:true,file:true,password:true,image:true}){cm.pseudos[cw]=cv(cw)}for(cw in {submit:true,reset:true}){cm.pseudos[cw]=b8(cw)}function cS(){}cS.prototype=cm.filters=cm.pseudos;cm.setFilters=new cS();function cf(dn,dt){var dk,dp,dr,ds,dq,dl,e,dm=c6[dn+\" \"];if(dm){return dt?0:dm.slice(0)}dq=dn;dl=[];e=cm.preFilter;while(dq){if(!dk||(dp=ct.exec(dq))){if(dp){dq=dq.slice(dp[0].length)||dq}dl.push(dr=[])}dk=false;if((dp=cz.exec(dq))){dk=dp.shift();dr.push({value:dk,type:dp[0].replace(cq,\" \")});dq=dq.slice(dk.length)}for(ds in cm.filter){if((dp=cZ[ds].exec(dq))&&(!e[ds]||(dp=e[ds](dp)))){dk=dp.shift();dr.push({value:dk,type:ds,matches:dp});dq=dq.slice(dk.length)}}if(!dk){break}}return dt?dq.length:dq?cu.error(dn):c6(dn,dl).slice(0)}function cg(dm){var dl=0,dk=dm.length,e=\"\";for(;dl<dk;dl++){e+=dm[dl].value}return e}function cp(dn,dl,dm){var e=dl.dir,dp=dm&&e===\"parentNode\",dk=c1++;return dl.first?function(ds,dr,dq){while((ds=ds[e])){if(ds.nodeType===1||dp){return dn(ds,dr,dq)}}}:function(du,ds,dr){var dw,dq,dt,dv=dg+\" \"+dk;if(dr){while((du=du[e])){if(du.nodeType===1||dp){if(dn(du,ds,dr)){return true}}}}else{while((du=du[e])){if(du.nodeType===1||dp){dt=du[c7]||(du[c7]={});if((dq=dt[e])&&dq[0]===dv){if((dw=dq[1])===true||dw===cc){return dw===true}}else{dq=dt[e]=[dv];dq[1]=dn(du,ds,dr)||cc;if(dq[1]===true){return true}}}}}}}function di(e){return e.length>1?function(dn,dm,dk){var dl=e.length;while(dl--){if(!e[dl](dn,dm,dk)){return false}}return true}:e[0]}function cX(e,dk,dl,dm,dq){var dn,dt=[],dp=0,dr=e.length,ds=dk!=null;for(;dp<dr;dp++){if((dn=e[dp])){if(!dl||dl(dn,dm,dq)){dt.push(dn);if(ds){dk.push(dp)}}}}return dt}function ce(dl,dk,dn,dm,dp,e){if(dm&&!dm[c7]){dm=ce(dm)}if(dp&&!dp[c7]){dp=ce(dp,e)}return ci(function(dA,dx,ds,dz){var dC,dy,du,dt=[],dB=[],dr=dx.length,dq=dA||cx(dk||\"*\",ds.nodeType?[ds]:ds,[]),dv=dl&&(dA||!dk)?cX(dq,dt,dl,ds,dz):dq,dw=dn?dp||(dA?dl:dr||dm)?[]:dx:dv;if(dn){dn(dv,dw,ds,dz)}if(dm){dC=cX(dw,dB);dm(dC,[],ds,dz);dy=dC.length;while(dy--){if((du=dC[dy])){dw[dB[dy]]=!(dv[dB[dy]]=du)}}}if(dA){if(dp||dl){if(dp){dC=[];dy=dw.length;while(dy--){if((du=dw[dy])){dC.push((dv[dy]=du))}}dp(null,(dw=[]),dC,dz)}dy=dw.length;while(dy--){if((du=dw[dy])&&(dC=dp?ca.call(dA,du):dt[dy])>-1){dA[dC]=!(dx[dC]=du)}}}}else{dw=cX(dw===dx?dw.splice(dr,dw.length):dw);if(dp){dp(null,dx,dw,dz)}else{b4.apply(dx,dw)}}})}function c8(dq){var dk,dn,dl,dp=dq.length,dt=cm.relative[dq[0].type],du=dt||cm.relative[\" \"],dm=dt?1:0,dr=cp(function(dv){return dv===dk},du,true),ds=cp(function(dv){return ca.call(dk,dv)>-1},du,true),e=[function(dx,dw,dv){return(!dt&&(dv||dw!==dj))||((dk=dw).nodeType?dr(dx,dw,dv):ds(dx,dw,dv))}];for(;dm<dp;dm++){if((dn=cm.relative[dq[dm].type])){e=[cp(di(e),dn)]}else{dn=cm.filter[dq[dm].type].apply(null,dq[dm].matches);if(dn[c7]){dl=++dm;for(;dl<dp;dl++){if(cm.relative[dq[dl].type]){break}}return ce(dm>1&&di(e),dm>1&&cg(dq.slice(0,dm-1).concat({value:dq[dm-2].type===\" \"?\"*\":\"\"})).replace(cq,\"$1\"),dn,dm<dl&&c8(dq.slice(dm,dl)),dl<dp&&c8((dq=dq.slice(dl))),dl<dp&&cg(dq))}e.push(dn)}}return di(e)}function cV(dm,dl){var dp=0,e=dl.length>0,dn=dm.length>0,dk=function(dz,dt,dy,dx,dF){var du,dv,dA,dE=[],dD=0,dw=\"0\",dq=dz&&[],dB=dF!=null,dC=dj,ds=dz||dn&&cm.find.TAG(\"*\",dF&&dt.parentNode||dt),dr=(dg+=dC==null?1:Math.random()||0.1);if(dB){dj=dt!==cA&&dt;cc=dp}for(;(du=ds[dw])!=null;dw++){if(dn&&du){dv=0;while((dA=dm[dv++])){if(dA(du,dt,dy)){dx.push(du);break}}if(dB){dg=dr;cc=++dp}}if(e){if((du=!dA&&du)){dD--}if(dz){dq.push(du)}}}dD+=dw;if(e&&dw!==dD){dv=0;while((dA=dl[dv++])){dA(dq,dE,dt,dy)}if(dz){if(dD>0){while(dw--){if(!(dq[dw]||dE[dw])){dE[dw]=da.call(dx)}}}dE=cX(dE)}b4.apply(dx,dE);if(dB&&!dz&&dE.length>0&&(dD+dl.length)>1){cu.uniqueSort(dx)}}if(dB){dg=dr;dj=dC}return dq};return e?ci(dk):dk}cT=cu.compile=function(e,dp){var dl,dk=[],dn=[],dm=cE[e+\" \"];if(!dm){if(!dp){dp=cf(e)}dl=dp.length;while(dl--){dm=c8(dp[dl]);if(dm[c7]){dk.push(dm)}else{dn.push(dm)}}dm=cE(e,cV(dn,dk))}return dm};function cx(dk,dn,dm){var dl=0,e=dn.length;for(;dl<e;dl++){cu(dk,dn[dl],dm)}return dm}function de(dl,e,dm,dq){var dn,ds,dk,dt,dr,dp=cf(dl);if(!dq){if(dp.length===1){ds=dp[0]=dp[0].slice(0);if(ds.length>2&&(dk=ds[0]).type===\"ID\"&&df.getById&&e.nodeType===9&&c5&&cm.relative[ds[1].type]){e=(cm.find.ID(dk.matches[0].replace(cr,c2),e)||[])[0];if(!e){return dm}dl=dl.slice(ds.shift().value.length)}dn=cZ.needsContext.test(dl)?0:ds.length;while(dn--){dk=ds[dn];if(cm.relative[(dt=dk.type)]){break}if((dr=cm.find[dt])){if((dq=dr(dk.matches[0].replace(cr,c2),cY.test(ds[0].type)&&e.parentNode||e))){ds.splice(dn,1);dl=dq.length&&cg(ds);if(!dl){b4.apply(dm,dq);return dm}break}}}}}cT(dl,dp)(dq,e,!c5,dm,cY.test(dl));return dm}df.sortStable=c7.split(\"\").sort(cC).join(\"\")===c7;df.detectDuplicates=cU;cW();df.sortDetached=cd(function(e){return e.compareDocumentPosition(cA.createElement(\"div\"))&1});if(!cd(function(e){e.innerHTML=\"<a href='#'></a>\";return e.firstChild.getAttribute(\"href\")===\"#\"})){dh(\"type|href|height|width\",function(dk,e,dl){if(!dl){return dk.getAttribute(e,e.toLowerCase()===\"type\"?1:2)}})}if(!df.attributes||!cd(function(e){e.innerHTML=\"<input/>\";e.firstChild.setAttribute(\"value\",\"\");return e.firstChild.getAttribute(\"value\")===\"\"})){dh(\"value\",function(dk,e,dl){if(!dl&&dk.nodeName.toLowerCase()===\"input\"){return dk.defaultValue}})}if(!cd(function(e){return e.getAttribute(\"disabled\")==null})){dh(b5,function(dk,e,dm){var dl;if(!dm){return(dl=dk.getAttributeNode(e))&&dl.specified?dl.value:dk[e]===true?e.toLowerCase():null}})}bI.find=cu;bI.expr=cu.selectors;bI.expr[\":\"]=bI.expr.pseudos;bI.unique=cu.uniqueSort;bI.text=cu.getText;bI.isXMLDoc=cu.isXML;bI.contains=cu.contains})(a1);var bY={};function ac(b3){var e=bY[b3]={};bI.each(b3.match(aa)||[],function(b5,b4){e[b4]=true});return e}bI.Callbacks=function(cc){cc=typeof cc===\"string\"?(bY[cc]||ac(cc)):bI.extend({},cc);var b6,b5,e,b7,b8,b4,b9=[],ca=!cc.once&&[],b3=function(cd){b5=cc.memory&&cd;e=true;b8=b4||0;b4=0;b7=b9.length;b6=true;for(;b9&&b8<b7;b8++){if(b9[b8].apply(cd[0],cd[1])===false&&cc.stopOnFalse){b5=false;break}}b6=false;if(b9){if(ca){if(ca.length){b3(ca.shift())}}else{if(b5){b9=[]}else{cb.disable()}}}},cb={add:function(){if(b9){var ce=b9.length;(function cd(cf){bI.each(cf,function(ch,cg){var ci=bI.type(cg);if(ci===\"function\"){if(!cc.unique||!cb.has(cg)){b9.push(cg)}}else{if(cg&&cg.length&&ci!==\"string\"){cd(cg)}}})})(arguments);if(b6){b7=b9.length}else{if(b5){b4=ce;b3(b5)}}}return this},remove:function(){if(b9){bI.each(arguments,function(cf,cd){var ce;while((ce=bI.inArray(cd,b9,ce))>-1){b9.splice(ce,1);if(b6){if(ce<=b7){b7--}if(ce<=b8){b8--}}}})}return this},has:function(cd){return cd?bI.inArray(cd,b9)>-1:!!(b9&&b9.length)},empty:function(){b9=[];b7=0;return this},disable:function(){b9=ca=b5=aE;return this},disabled:function(){return !b9},lock:function(){ca=aE;if(!b5){cb.disable()}return this},locked:function(){return !ca},fireWith:function(ce,cd){if(b9&&(!e||ca)){cd=cd||[];cd=[ce,cd.slice?cd.slice():cd];if(b6){ca.push(cd)}else{b3(cd)}}return this},fire:function(){cb.fireWith(this,arguments);return this},fired:function(){return !!e}};return cb};bI.extend({Deferred:function(b4){var b3=[[\"resolve\",\"done\",bI.Callbacks(\"once memory\"),\"resolved\"],[\"reject\",\"fail\",bI.Callbacks(\"once memory\"),\"rejected\"],[\"notify\",\"progress\",bI.Callbacks(\"memory\")]],b5=\"pending\",b6={state:function(){return b5},always:function(){e.done(arguments).fail(arguments);return this},then:function(){var b7=arguments;return bI.Deferred(function(b8){bI.each(b3,function(ca,b9){var cc=b9[0],cb=bI.isFunction(b7[ca])&&b7[ca];e[b9[1]](function(){var cd=cb&&cb.apply(this,arguments);if(cd&&bI.isFunction(cd.promise)){cd.promise().done(b8.resolve).fail(b8.reject).progress(b8.notify)}else{b8[cc+\"With\"](this===b6?b8.promise():this,cb?[cd]:arguments)}})});b7=null}).promise()},promise:function(b7){return b7!=null?bI.extend(b7,b6):b6}},e={};b6.pipe=b6.then;bI.each(b3,function(b8,b7){var ca=b7[2],b9=b7[3];b6[b7[1]]=ca.add;if(b9){ca.add(function(){b5=b9},b3[b8^1][2].disable,b3[2][2].lock)}e[b7[0]]=function(){e[b7[0]+\"With\"](this===e?b6:this,arguments);return this};e[b7[0]+\"With\"]=ca.fireWith});b6.promise(e);if(b4){b4.call(e,e)}return e},when:function(b6){var b4=0,b8=a3.call(arguments),e=b8.length,b3=e!==1||(b6&&bI.isFunction(b6.promise))?e:0,cb=b3===1?b6:bI.Deferred(),b5=function(cd,ce,cc){return function(cf){ce[cd]=this;cc[cd]=arguments.length>1?a3.call(arguments):cf;if(cc===ca){cb.notifyWith(ce,cc)}else{if(!(--b3)){cb.resolveWith(ce,cc)}}}},ca,b7,b9;if(e>1){ca=new Array(e);b7=new Array(e);b9=new Array(e);for(;b4<e;b4++){if(b8[b4]&&bI.isFunction(b8[b4].promise)){b8[b4].promise().done(b5(b4,b9,b8)).fail(cb.reject).progress(b5(b4,b7,ca))}else{--b3}}}if(!b3){cb.resolveWith(b9,b8)}return cb.promise()}});bI.support=(function(ce){var cd,cb,ca,cc,b9,b5,b7,b4,b6,b3=l.createElement(\"div\");b3.setAttribute(\"className\",\"t\");b3.innerHTML=\"  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>\";cd=b3.getElementsByTagName(\"*\")||[];cb=b3.getElementsByTagName(\"a\")[0];if(!cb||!cb.style||!cd.length){return ce}cc=l.createElement(\"select\");b5=cc.appendChild(l.createElement(\"option\"));ca=b3.getElementsByTagName(\"input\")[0];cb.style.cssText=\"top:1px;float:left;opacity:.5\";ce.getSetAttribute=b3.className!==\"t\";ce.leadingWhitespace=b3.firstChild.nodeType===3;ce.tbody=!b3.getElementsByTagName(\"tbody\").length;ce.htmlSerialize=!!b3.getElementsByTagName(\"link\").length;ce.style=/top/.test(cb.getAttribute(\"style\"));ce.hrefNormalized=cb.getAttribute(\"href\")===\"/a\";ce.opacity=/^0.5/.test(cb.style.opacity);ce.cssFloat=!!cb.style.cssFloat;ce.checkOn=!!ca.value;ce.optSelected=b5.selected;ce.enctype=!!l.createElement(\"form\").enctype;ce.html5Clone=l.createElement(\"nav\").cloneNode(true).outerHTML!==\"<:nav></:nav>\";ce.inlineBlockNeedsLayout=false;ce.shrinkWrapBlocks=false;ce.pixelPosition=false;ce.deleteExpando=true;ce.noCloneEvent=true;ce.reliableMarginRight=true;ce.boxSizingReliable=true;ca.checked=true;ce.noCloneChecked=ca.cloneNode(true).checked;cc.disabled=true;ce.optDisabled=!b5.disabled;try{delete b3.test}catch(b8){ce.deleteExpando=false}ca=l.createElement(\"input\");ca.setAttribute(\"value\",\"\");ce.input=ca.getAttribute(\"value\")===\"\";ca.value=\"t\";ca.setAttribute(\"type\",\"radio\");ce.radioValue=ca.value===\"t\";ca.setAttribute(\"checked\",\"t\");ca.setAttribute(\"name\",\"t\");b9=l.createDocumentFragment();b9.appendChild(ca);ce.appendChecked=ca.checked;ce.checkClone=b9.cloneNode(true).cloneNode(true).lastChild.checked;if(b3.attachEvent){b3.attachEvent(\"onclick\",function(){ce.noCloneEvent=false});b3.cloneNode(true).click()}for(b6 in {submit:true,change:true,focusin:true}){b3.setAttribute(b7=\"on\"+b6,\"t\");ce[b6+\"Bubbles\"]=b7 in a1||b3.attributes[b7].expando===false}b3.style.backgroundClip=\"content-box\";b3.cloneNode(true).style.backgroundClip=\"\";ce.clearCloneStyle=b3.style.backgroundClip===\"content-box\";for(b6 in bI(ce)){break}ce.ownLast=b6!==\"0\";bI(function(){var cf,ci,ch,cg=\"padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;\",e=l.getElementsByTagName(\"body\")[0];if(!e){return}cf=l.createElement(\"div\");cf.style.cssText=\"border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px\";e.appendChild(cf).appendChild(b3);b3.innerHTML=\"<table><tr><td></td><td>t</td></tr></table>\";ch=b3.getElementsByTagName(\"td\");ch[0].style.cssText=\"padding:0;margin:0;border:0;display:none\";b4=(ch[0].offsetHeight===0);ch[0].style.display=\"\";ch[1].style.display=\"none\";ce.reliableHiddenOffsets=b4&&(ch[0].offsetHeight===0);b3.innerHTML=\"\";b3.style.cssText=\"box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;\";bI.swap(e,e.style.zoom!=null?{zoom:1}:{},function(){ce.boxSizing=b3.offsetWidth===4});if(a1.getComputedStyle){ce.pixelPosition=(a1.getComputedStyle(b3,null)||{}).top!==\"1%\";ce.boxSizingReliable=(a1.getComputedStyle(b3,null)||{width:\"4px\"}).width===\"4px\";ci=b3.appendChild(l.createElement(\"div\"));ci.style.cssText=b3.style.cssText=cg;ci.style.marginRight=ci.style.width=\"0\";b3.style.width=\"1px\";ce.reliableMarginRight=!parseFloat((a1.getComputedStyle(ci,null)||{}).marginRight)}if(typeof b3.style.zoom!==aA){b3.innerHTML=\"\";b3.style.cssText=cg+\"width:1px;padding:1px;display:inline;zoom:1\";ce.inlineBlockNeedsLayout=(b3.offsetWidth===3);b3.style.display=\"block\";b3.innerHTML=\"<div></div>\";b3.firstChild.style.width=\"5px\";ce.shrinkWrapBlocks=(b3.offsetWidth!==3);if(ce.inlineBlockNeedsLayout){e.style.zoom=1}}e.removeChild(cf);cf=b3=ch=ci=null});cd=cc=b9=b5=cb=ca=null;return ce})({});var bv=/(?:\\{[\\s\\S]*\\}|\\[[\\s\\S]*\\])$/,aL=/([A-Z])/g;function a9(b5,b3,b7,b6){if(!bI.acceptData(b5)){return}var b9,b8,ca=bI.expando,cb=b5.nodeType,e=cb?bI.cache:b5,b4=cb?b5[ca]:b5[ca]&&ca;if((!b4||!e[b4]||(!b6&&!e[b4].data))&&b7===aE&&typeof b3===\"string\"){return}if(!b4){if(cb){b4=b5[ca]=a5.pop()||bI.guid++}else{b4=ca}}if(!e[b4]){e[b4]=cb?{}:{toJSON:bI.noop}}if(typeof b3===\"object\"||typeof b3===\"function\"){if(b6){e[b4]=bI.extend(e[b4],b3)}else{e[b4].data=bI.extend(e[b4].data,b3)}}b8=e[b4];if(!b6){if(!b8.data){b8.data={}}b8=b8.data}if(b7!==aE){b8[bI.camelCase(b3)]=b7}if(typeof b3===\"string\"){b9=b8[b3];if(b9==null){b9=b8[bI.camelCase(b3)]}}else{b9=b8}return b9}function X(b6,b4,e){if(!bI.acceptData(b6)){return}var b8,b5,b7=b6.nodeType,b3=b7?bI.cache:b6,b9=b7?b6[bI.expando]:bI.expando;if(!b3[b9]){return}if(b4){b8=e?b3[b9]:b3[b9].data;if(b8){if(!bI.isArray(b4)){if(b4 in b8){b4=[b4]}else{b4=bI.camelCase(b4);if(b4 in b8){b4=[b4]}else{b4=b4.split(\" \")}}}else{b4=b4.concat(bI.map(b4,bI.camelCase))}b5=b4.length;while(b5--){delete b8[b4[b5]]}if(e?!L(b8):!bI.isEmptyObject(b8)){return}}}if(!e){delete b3[b9].data;if(!L(b3[b9])){return}}if(b7){bI.cleanData([b6],true)}else{if(bI.support.deleteExpando||b3!=b3.window){delete b3[b9]}else{b3[b9]=null}}}bI.extend({cache:{},noData:{applet:true,embed:true,object:\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"},hasData:function(e){e=e.nodeType?bI.cache[e[bI.expando]]:e[bI.expando];return !!e&&!L(e)},data:function(b3,e,b4){return a9(b3,e,b4)},removeData:function(b3,e){return X(b3,e)},_data:function(b3,e,b4){return a9(b3,e,b4,true)},_removeData:function(b3,e){return X(b3,e,true)},acceptData:function(b3){if(b3.nodeType&&b3.nodeType!==1&&b3.nodeType!==9){return false}var e=b3.nodeName&&bI.noData[b3.nodeName.toLowerCase()];return !e||e!==true&&b3.getAttribute(\"classid\")===e}});bI.fn.extend({data:function(b5,b8){var b3,e,b7=null,b4=0,b6=this[0];if(b5===aE){if(this.length){b7=bI.data(b6);if(b6.nodeType===1&&!bI._data(b6,\"parsedAttrs\")){b3=b6.attributes;for(;b4<b3.length;b4++){e=b3[b4].name;if(e.indexOf(\"data-\")===0){e=bI.camelCase(e.slice(5));bx(b6,e,b7[e])}}bI._data(b6,\"parsedAttrs\",true)}}return b7}if(typeof b5===\"object\"){return this.each(function(){bI.data(this,b5)})}return arguments.length>1?this.each(function(){bI.data(this,b5,b8)}):b6?bx(b6,b5,bI.data(b6,b5)):null},removeData:function(e){return this.each(function(){bI.removeData(this,e)})}});function bx(b5,b4,b6){if(b6===aE&&b5.nodeType===1){var b3=\"data-\"+b4.replace(aL,\"-$1\").toLowerCase();b6=b5.getAttribute(b3);if(typeof b6===\"string\"){try{b6=b6===\"true\"?true:b6===\"false\"?false:b6===\"null\"?null:+b6+\"\"===b6?+b6:bv.test(b6)?bI.parseJSON(b6):b6}catch(b7){}bI.data(b5,b4,b6)}else{b6=aE}}return b6}function L(b3){var e;for(e in b3){if(e===\"data\"&&bI.isEmptyObject(b3[e])){continue}if(e!==\"toJSON\"){return false}}return true}bI.extend({queue:function(b4,b3,b5){var e;if(b4){b3=(b3||\"fx\")+\"queue\";e=bI._data(b4,b3);if(b5){if(!e||bI.isArray(b5)){e=bI._data(b4,b3,bI.makeArray(b5))}else{e.push(b5)}}return e||[]}},dequeue:function(b7,b6){b6=b6||\"fx\";var b3=bI.queue(b7,b6),b8=b3.length,b5=b3.shift(),e=bI._queueHooks(b7,b6),b4=function(){bI.dequeue(b7,b6)};if(b5===\"inprogress\"){b5=b3.shift();b8--}if(b5){if(b6===\"fx\"){b3.unshift(\"inprogress\")}delete e.stop;b5.call(b7,b4,e)}if(!b8&&e){e.empty.fire()}},_queueHooks:function(b4,b3){var e=b3+\"queueHooks\";return bI._data(b4,e)||bI._data(b4,e,{empty:bI.Callbacks(\"once memory\").add(function(){bI._removeData(b4,b3+\"queue\");bI._removeData(b4,e)})})}});bI.fn.extend({queue:function(e,b3){var b4=2;if(typeof e!==\"string\"){b3=e;e=\"fx\";b4--}if(arguments.length<b4){return bI.queue(this[0],e)}return b3===aE?this:this.each(function(){var b5=bI.queue(this,e,b3);bI._queueHooks(this,e);if(e===\"fx\"&&b5[0]!==\"inprogress\"){bI.dequeue(this,e)}})},dequeue:function(e){return this.each(function(){bI.dequeue(this,e)})},delay:function(b3,e){b3=bI.fx?bI.fx.speeds[b3]||b3:b3;e=e||\"fx\";return this.queue(e,function(b5,b4){var b6=setTimeout(b5,b3);b4.stop=function(){clearTimeout(b6)}})},clearQueue:function(e){return this.queue(e||\"fx\",[])},promise:function(b4,b8){var b3,b5=1,b9=bI.Deferred(),b7=this,e=this.length,b6=function(){if(!(--b5)){b9.resolveWith(b7,[b7])}};if(typeof b4!==\"string\"){b8=b4;b4=aE}b4=b4||\"fx\";while(e--){b3=bI._data(b7[e],b4+\"queueHooks\");if(b3&&b3.empty){b5++;b3.empty.add(b6)}}b6();return b9.promise(b8)}});var a7,bZ,bL=/[\\t\\r\\n\\f]/g,ah=/\\r/g,aD=/^(?:input|select|textarea|button|object)$/i,C=/^(?:a|area)$/i,ao=/^(?:checked|selected)$/i,bO=bI.support.getSetAttribute,bE=bI.support.input;bI.fn.extend({attr:function(e,b3){return bI.access(this,bI.attr,e,b3,arguments.length>1)},removeAttr:function(e){return this.each(function(){bI.removeAttr(this,e)})},prop:function(e,b3){return bI.access(this,bI.prop,e,b3,arguments.length>1)},removeProp:function(e){e=bI.propFix[e]||e;return this.each(function(){try{this[e]=aE;delete this[e]}catch(b3){}})},addClass:function(b9){var b3,e,ca,b6,b4,b5=0,b7=this.length,b8=typeof b9===\"string\"&&b9;if(bI.isFunction(b9)){return this.each(function(cb){bI(this).addClass(b9.call(this,cb,this.className))})}if(b8){b3=(b9||\"\").match(aa)||[];for(;b5<b7;b5++){e=this[b5];ca=e.nodeType===1&&(e.className?(\" \"+e.className+\" \").replace(bL,\" \"):\" \");if(ca){b4=0;while((b6=b3[b4++])){if(ca.indexOf(\" \"+b6+\" \")<0){ca+=b6+\" \"}}e.className=bI.trim(ca)}}}return this},removeClass:function(b9){var b3,e,ca,b6,b4,b5=0,b7=this.length,b8=arguments.length===0||typeof b9===\"string\"&&b9;if(bI.isFunction(b9)){return this.each(function(cb){bI(this).removeClass(b9.call(this,cb,this.className))})}if(b8){b3=(b9||\"\").match(aa)||[];for(;b5<b7;b5++){e=this[b5];ca=e.nodeType===1&&(e.className?(\" \"+e.className+\" \").replace(bL,\" \"):\"\");if(ca){b4=0;while((b6=b3[b4++])){while(ca.indexOf(\" \"+b6+\" \")>=0){ca=ca.replace(\" \"+b6+\" \",\" \")}}e.className=b9?bI.trim(ca):\"\"}}}return this},toggleClass:function(b4,e){var b3=typeof b4;if(typeof e===\"boolean\"&&b3===\"string\"){return e?this.addClass(b4):this.removeClass(b4)}if(bI.isFunction(b4)){return this.each(function(b5){bI(this).toggleClass(b4.call(this,b5,this.className,e),e)})}return this.each(function(){if(b3===\"string\"){var b7,b6=0,b5=bI(this),b8=b4.match(aa)||[];while((b7=b8[b6++])){if(b5.hasClass(b7)){b5.removeClass(b7)}else{b5.addClass(b7)}}}else{if(b3===aA||b3===\"boolean\"){if(this.className){bI._data(this,\"__className__\",this.className)}this.className=this.className||b4===false?\"\":bI._data(this,\"__className__\")||\"\"}}})},hasClass:function(e){var b5=\" \"+e+\" \",b4=0,b3=this.length;for(;b4<b3;b4++){if(this[b4].nodeType===1&&(\" \"+this[b4].className+\" \").replace(bL,\" \").indexOf(b5)>=0){return true}}return false},val:function(b5){var b3,e,b6,b4=this[0];if(!arguments.length){if(b4){e=bI.valHooks[b4.type]||bI.valHooks[b4.nodeName.toLowerCase()];if(e&&\"get\" in e&&(b3=e.get(b4,\"value\"))!==aE){return b3}b3=b4.value;return typeof b3===\"string\"?b3.replace(ah,\"\"):b3==null?\"\":b3}return}b6=bI.isFunction(b5);return this.each(function(b7){var b8;if(this.nodeType!==1){return}if(b6){b8=b5.call(this,b7,bI(this).val())}else{b8=b5}if(b8==null){b8=\"\"}else{if(typeof b8===\"number\"){b8+=\"\"}else{if(bI.isArray(b8)){b8=bI.map(b8,function(b9){return b9==null?\"\":b9+\"\"})}}}e=bI.valHooks[this.type]||bI.valHooks[this.nodeName.toLowerCase()];if(!e||!(\"set\" in e)||e.set(this,b8,\"value\")===aE){this.value=b8}})}});bI.extend({valHooks:{option:{get:function(e){var b3=bI.find.attr(e,\"value\");return b3!=null?b3:e.text}},select:{get:function(e){var b8,b4,ca=e.options,b6=e.selectedIndex,b5=e.type===\"select-one\"||b6<0,b9=b5?null:[],b7=b5?b6+1:ca.length,b3=b6<0?b7:b5?b6:0;for(;b3<b7;b3++){b4=ca[b3];if((b4.selected||b3===b6)&&(bI.support.optDisabled?!b4.disabled:b4.getAttribute(\"disabled\")===null)&&(!b4.parentNode.disabled||!bI.nodeName(b4.parentNode,\"optgroup\"))){b8=bI(b4).val();if(b5){return b8}b9.push(b8)}}return b9},set:function(b6,b7){var b8,b5,b3=b6.options,e=bI.makeArray(b7),b4=b3.length;while(b4--){b5=b3[b4];if((b5.selected=bI.inArray(bI(b5).val(),e)>=0)){b8=true}}if(!b8){b6.selectedIndex=-1}return e}}},attr:function(b6,b5,b7){var e,b4,b3=b6.nodeType;if(!b6||b3===3||b3===8||b3===2){return}if(typeof b6.getAttribute===aA){return bI.prop(b6,b5,b7)}if(b3!==1||!bI.isXMLDoc(b6)){b5=b5.toLowerCase();e=bI.attrHooks[b5]||(bI.expr.match.bool.test(b5)?bZ:a7)}if(b7!==aE){if(b7===null){bI.removeAttr(b6,b5)}else{if(e&&\"set\" in e&&(b4=e.set(b6,b7,b5))!==aE){return b4}else{b6.setAttribute(b5,b7+\"\");return b7}}}else{if(e&&\"get\" in e&&(b4=e.get(b6,b5))!==null){return b4}else{b4=bI.find.attr(b6,b5);return b4==null?aE:b4}}},removeAttr:function(b4,b6){var e,b5,b3=0,b7=b6&&b6.match(aa);if(b7&&b4.nodeType===1){while((e=b7[b3++])){b5=bI.propFix[e]||e;if(bI.expr.match.bool.test(e)){if(bE&&bO||!ao.test(e)){b4[b5]=false}else{b4[bI.camelCase(\"default-\"+e)]=b4[b5]=false}}else{bI.attr(b4,e,\"\")}b4.removeAttribute(bO?e:b5)}}},attrHooks:{type:{set:function(e,b3){if(!bI.support.radioValue&&b3===\"radio\"&&bI.nodeName(e,\"input\")){var b4=e.value;e.setAttribute(\"type\",b3);if(b4){e.value=b4}return b3}}}},propFix:{\"for\":\"htmlFor\",\"class\":\"className\"},prop:function(b7,b5,b8){var b4,e,b6,b3=b7.nodeType;if(!b7||b3===3||b3===8||b3===2){return}b6=b3!==1||!bI.isXMLDoc(b7);if(b6){b5=bI.propFix[b5]||b5;e=bI.propHooks[b5]}if(b8!==aE){return e&&\"set\" in e&&(b4=e.set(b7,b8,b5))!==aE?b4:(b7[b5]=b8)}else{return e&&\"get\" in e&&(b4=e.get(b7,b5))!==null?b4:b7[b5]}},propHooks:{tabIndex:{get:function(b3){var e=bI.find.attr(b3,\"tabindex\");return e?parseInt(e,10):aD.test(b3.nodeName)||C.test(b3.nodeName)&&b3.href?0:-1}}}});bZ={set:function(b3,b4,e){if(b4===false){bI.removeAttr(b3,e)}else{if(bE&&bO||!ao.test(e)){b3.setAttribute(!bO&&bI.propFix[e]||e,e)}else{b3[bI.camelCase(\"default-\"+e)]=b3[e]=true}}return e}};bI.each(bI.expr.match.bool.source.match(/\\w+/g),function(b4,b3){var e=bI.expr.attrHandle[b3]||bI.find.attr;bI.expr.attrHandle[b3]=bE&&bO||!ao.test(b3)?function(b8,b6,b9){var b7=bI.expr.attrHandle[b6],b5=b9?aE:(bI.expr.attrHandle[b6]=aE)!=e(b8,b6,b9)?b6.toLowerCase():null;bI.expr.attrHandle[b6]=b7;return b5}:function(b6,b5,b7){return b7?aE:b6[bI.camelCase(\"default-\"+b5)]?b5.toLowerCase():null}});if(!bE||!bO){bI.attrHooks.value={set:function(b3,b4,e){if(bI.nodeName(b3,\"input\")){b3.defaultValue=b4}else{return a7&&a7.set(b3,b4,e)}}}}if(!bO){a7={set:function(b4,b5,b3){var e=b4.getAttributeNode(b3);if(!e){b4.setAttributeNode((e=b4.ownerDocument.createAttribute(b3)))}e.value=b5+=\"\";return b3===\"value\"||b5===b4.getAttribute(b3)?b5:aE}};bI.expr.attrHandle.id=bI.expr.attrHandle.name=bI.expr.attrHandle.coords=function(b4,b3,b5){var e;return b5?aE:(e=b4.getAttributeNode(b3))&&e.value!==\"\"?e.value:null};bI.valHooks.button={get:function(b4,b3){var e=b4.getAttributeNode(b3);return e&&e.specified?e.value:aE},set:a7.set};bI.attrHooks.contenteditable={set:function(b3,b4,e){a7.set(b3,b4===\"\"?false:b4,e)}};bI.each([\"width\",\"height\"],function(b3,e){bI.attrHooks[e]={set:function(b4,b5){if(b5===\"\"){b4.setAttribute(e,\"auto\");return b5}}}})}if(!bI.support.hrefNormalized){bI.each([\"href\",\"src\"],function(b3,e){bI.propHooks[e]={get:function(b4){return b4.getAttribute(e,4)}}})}if(!bI.support.style){bI.attrHooks.style={get:function(e){return e.style.cssText||aE},set:function(e,b3){return(e.style.cssText=b3+\"\")}}}if(!bI.support.optSelected){bI.propHooks.selected={get:function(b3){var e=b3.parentNode;if(e){e.selectedIndex;if(e.parentNode){e.parentNode.selectedIndex}}return null}}}bI.each([\"tabIndex\",\"readOnly\",\"maxLength\",\"cellSpacing\",\"cellPadding\",\"rowSpan\",\"colSpan\",\"useMap\",\"frameBorder\",\"contentEditable\"],function(){bI.propFix[this.toLowerCase()]=this});if(!bI.support.enctype){bI.propFix.enctype=\"encoding\"}bI.each([\"radio\",\"checkbox\"],function(){bI.valHooks[this]={set:function(e,b3){if(bI.isArray(b3)){return(e.checked=bI.inArray(bI(e).val(),b3)>=0)}}};if(!bI.support.checkOn){bI.valHooks[this].get=function(e){return e.getAttribute(\"value\")===null?\"on\":e.value}}});var bG=/^(?:input|select|textarea)$/i,a2=/^key/,bM=/^(?:mouse|contextmenu)|click/,bA=/^(?:focusinfocus|focusoutblur)$/,bt=/^([^.]*)(?:\\.(.+)|)$/;function P(){return true}function V(){return false}function ai(){try{return l.activeElement}catch(e){}}bI.event={global:{},add:function(b6,cb,cg,b8,b7){var b9,ch,ci,b4,cd,ca,cf,b5,ce,e,b3,cc=bI._data(b6);if(!cc){return}if(cg.handler){b4=cg;cg=b4.handler;b7=b4.selector}if(!cg.guid){cg.guid=bI.guid++}if(!(ch=cc.events)){ch=cc.events={}}if(!(ca=cc.handle)){ca=cc.handle=function(cj){return typeof bI!==aA&&(!cj||bI.event.triggered!==cj.type)?bI.event.dispatch.apply(ca.elem,arguments):aE};ca.elem=b6}cb=(cb||\"\").match(aa)||[\"\"];ci=cb.length;while(ci--){b9=bt.exec(cb[ci])||[];ce=b3=b9[1];e=(b9[2]||\"\").split(\".\").sort();if(!ce){continue}cd=bI.event.special[ce]||{};ce=(b7?cd.delegateType:cd.bindType)||ce;cd=bI.event.special[ce]||{};cf=bI.extend({type:ce,origType:b3,data:b8,handler:cg,guid:cg.guid,selector:b7,needsContext:b7&&bI.expr.match.needsContext.test(b7),namespace:e.join(\".\")},b4);if(!(b5=ch[ce])){b5=ch[ce]=[];b5.delegateCount=0;if(!cd.setup||cd.setup.call(b6,b8,e,ca)===false){if(b6.addEventListener){b6.addEventListener(ce,ca,false)}else{if(b6.attachEvent){b6.attachEvent(\"on\"+ce,ca)}}}}if(cd.add){cd.add.call(b6,cf);if(!cf.handler.guid){cf.handler.guid=cg.guid}}if(b7){b5.splice(b5.delegateCount++,0,cf)}else{b5.push(cf)}bI.event.global[ce]=true}b6=null},remove:function(b5,cb,ci,b6,ca){var b8,cf,b9,b7,ch,cg,cd,b4,ce,e,b3,cc=bI.hasData(b5)&&bI._data(b5);if(!cc||!(cg=cc.events)){return}cb=(cb||\"\").match(aa)||[\"\"];ch=cb.length;while(ch--){b9=bt.exec(cb[ch])||[];ce=b3=b9[1];e=(b9[2]||\"\").split(\".\").sort();if(!ce){for(ce in cg){bI.event.remove(b5,ce+cb[ch],ci,b6,true)}continue}cd=bI.event.special[ce]||{};ce=(b6?cd.delegateType:cd.bindType)||ce;b4=cg[ce]||[];b9=b9[2]&&new RegExp(\"(^|\\\\.)\"+e.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\");b7=b8=b4.length;while(b8--){cf=b4[b8];if((ca||b3===cf.origType)&&(!ci||ci.guid===cf.guid)&&(!b9||b9.test(cf.namespace))&&(!b6||b6===cf.selector||b6===\"**\"&&cf.selector)){b4.splice(b8,1);if(cf.selector){b4.delegateCount--}if(cd.remove){cd.remove.call(b5,cf)}}}if(b7&&!b4.length){if(!cd.teardown||cd.teardown.call(b5,e,cc.handle)===false){bI.removeEvent(b5,ce,cc.handle)}delete cg[ce]}}if(bI.isEmptyObject(cg)){delete cc.handle;bI._removeData(b5,\"events\")}},trigger:function(b3,ca,b6,ch){var cb,b5,cf,cg,cd,b9,b8,b7=[b6||l],ce=T.call(b3,\"type\")?b3.type:b3,b4=T.call(b3,\"namespace\")?b3.namespace.split(\".\"):[];cf=b9=b6=b6||l;if(b6.nodeType===3||b6.nodeType===8){return}if(bA.test(ce+bI.event.triggered)){return}if(ce.indexOf(\".\")>=0){b4=ce.split(\".\");ce=b4.shift();b4.sort()}b5=ce.indexOf(\":\")<0&&\"on\"+ce;b3=b3[bI.expando]?b3:new bI.Event(ce,typeof b3===\"object\"&&b3);b3.isTrigger=ch?2:3;b3.namespace=b4.join(\".\");b3.namespace_re=b3.namespace?new RegExp(\"(^|\\\\.)\"+b4.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null;b3.result=aE;if(!b3.target){b3.target=b6}ca=ca==null?[b3]:bI.makeArray(ca,[b3]);cd=bI.event.special[ce]||{};if(!ch&&cd.trigger&&cd.trigger.apply(b6,ca)===false){return}if(!ch&&!cd.noBubble&&!bI.isWindow(b6)){cg=cd.delegateType||ce;if(!bA.test(cg+ce)){cf=cf.parentNode}for(;cf;cf=cf.parentNode){b7.push(cf);b9=cf}if(b9===(b6.ownerDocument||l)){b7.push(b9.defaultView||b9.parentWindow||a1)}}b8=0;while((cf=b7[b8++])&&!b3.isPropagationStopped()){b3.type=b8>1?cg:cd.bindType||ce;cb=(bI._data(cf,\"events\")||{})[b3.type]&&bI._data(cf,\"handle\");if(cb){cb.apply(cf,ca)}cb=b5&&cf[b5];if(cb&&bI.acceptData(cf)&&cb.apply&&cb.apply(cf,ca)===false){b3.preventDefault()}}b3.type=ce;if(!ch&&!b3.isDefaultPrevented()){if((!cd._default||cd._default.apply(b7.pop(),ca)===false)&&bI.acceptData(b6)){if(b5&&b6[ce]&&!bI.isWindow(b6)){b9=b6[b5];if(b9){b6[b5]=null}bI.event.triggered=ce;try{b6[ce]()}catch(cc){}bI.event.triggered=aE;if(b9){b6[b5]=b9}}}}return b3.result},dispatch:function(e){e=bI.event.fix(e);var b6,b7,cb,b3,b5,ca=[],b9=a3.call(arguments),b4=(bI._data(this,\"events\")||{})[e.type]||[],b8=bI.event.special[e.type]||{};b9[0]=e;e.delegateTarget=this;if(b8.preDispatch&&b8.preDispatch.call(this,e)===false){return}ca=bI.event.handlers.call(this,e,b4);b6=0;while((b3=ca[b6++])&&!e.isPropagationStopped()){e.currentTarget=b3.elem;b5=0;while((cb=b3.handlers[b5++])&&!e.isImmediatePropagationStopped()){if(!e.namespace_re||e.namespace_re.test(cb.namespace)){e.handleObj=cb;e.data=cb.data;b7=((bI.event.special[cb.origType]||{}).handle||cb.handler).apply(b3.elem,b9);if(b7!==aE){if((e.result=b7)===false){e.preventDefault();e.stopPropagation()}}}}}if(b8.postDispatch){b8.postDispatch.call(this,e)}return e.result},handlers:function(e,b4){var b3,b9,b7,b6,b8=[],b5=b4.delegateCount,ca=e.target;if(b5&&ca.nodeType&&(!e.button||e.type!==\"click\")){for(;ca!=this;ca=ca.parentNode||this){if(ca.nodeType===1&&(ca.disabled!==true||e.type!==\"click\")){b7=[];for(b6=0;b6<b5;b6++){b9=b4[b6];b3=b9.selector+\" \";if(b7[b3]===aE){b7[b3]=b9.needsContext?bI(b3,this).index(ca)>=0:bI.find(b3,this,null,[ca]).length}if(b7[b3]){b7.push(b9)}}if(b7.length){b8.push({elem:ca,handlers:b7})}}}}if(b5<b4.length){b8.push({elem:this,handlers:b4.slice(b5)})}return b8},fix:function(b5){if(b5[bI.expando]){return b5}var b3,b8,b7,b4=b5.type,e=b5,b6=this.fixHooks[b4];if(!b6){this.fixHooks[b4]=b6=bM.test(b4)?this.mouseHooks:a2.test(b4)?this.keyHooks:{}}b7=b6.props?this.props.concat(b6.props):this.props;b5=new bI.Event(e);b3=b7.length;while(b3--){b8=b7[b3];b5[b8]=e[b8]}if(!b5.target){b5.target=e.srcElement||l}if(b5.target.nodeType===3){b5.target=b5.target.parentNode}b5.metaKey=!!b5.metaKey;return b6.filter?b6.filter(b5,e):b5},props:\"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which\".split(\" \"),fixHooks:{},keyHooks:{props:\"char charCode key keyCode\".split(\" \"),filter:function(b3,e){if(b3.which==null){b3.which=e.charCode!=null?e.charCode:e.keyCode}return b3}},mouseHooks:{props:\"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement\".split(\" \"),filter:function(b5,b4){var e,b6,b7,b3=b4.button,b8=b4.fromElement;if(b5.pageX==null&&b4.clientX!=null){b6=b5.target.ownerDocument||l;b7=b6.documentElement;e=b6.body;b5.pageX=b4.clientX+(b7&&b7.scrollLeft||e&&e.scrollLeft||0)-(b7&&b7.clientLeft||e&&e.clientLeft||0);b5.pageY=b4.clientY+(b7&&b7.scrollTop||e&&e.scrollTop||0)-(b7&&b7.clientTop||e&&e.clientTop||0)}if(!b5.relatedTarget&&b8){b5.relatedTarget=b8===b5.target?b4.toElement:b8}if(!b5.which&&b3!==aE){b5.which=(b3&1?1:(b3&2?3:(b3&4?2:0)))}return b5}},special:{load:{noBubble:true},focus:{trigger:function(){if(this!==ai()&&this.focus){try{this.focus();return false}catch(b3){}}},delegateType:\"focusin\"},blur:{trigger:function(){if(this===ai()&&this.blur){this.blur();return false}},delegateType:\"focusout\"},click:{trigger:function(){if(bI.nodeName(this,\"input\")&&this.type===\"checkbox\"&&this.click){this.click();return false}},_default:function(e){return bI.nodeName(e.target,\"a\")}},beforeunload:{postDispatch:function(e){if(e.result!==aE){e.originalEvent.returnValue=e.result}}}},simulate:function(b4,b6,b5,b3){var b7=bI.extend(new bI.Event(),b5,{type:b4,isSimulated:true,originalEvent:{}});if(b3){bI.event.trigger(b7,null,b6)}else{bI.event.dispatch.call(b6,b7)}if(b7.isDefaultPrevented()){b5.preventDefault()}}};bI.removeEvent=l.removeEventListener?function(b3,e,b4){if(b3.removeEventListener){b3.removeEventListener(e,b4,false)}}:function(b4,b3,b5){var e=\"on\"+b3;if(b4.detachEvent){if(typeof b4[e]===aA){b4[e]=null}b4.detachEvent(e,b5)}};bI.Event=function(b3,e){if(!(this instanceof bI.Event)){return new bI.Event(b3,e)}if(b3&&b3.type){this.originalEvent=b3;this.type=b3.type;this.isDefaultPrevented=(b3.defaultPrevented||b3.returnValue===false||b3.getPreventDefault&&b3.getPreventDefault())?P:V}else{this.type=b3}if(e){bI.extend(this,e)}this.timeStamp=b3&&b3.timeStamp||bI.now();this[bI.expando]=true};bI.Event.prototype={isDefaultPrevented:V,isPropagationStopped:V,isImmediatePropagationStopped:V,preventDefault:function(){var b3=this.originalEvent;this.isDefaultPrevented=P;if(!b3){return}if(b3.preventDefault){b3.preventDefault()}else{b3.returnValue=false}},stopPropagation:function(){var b3=this.originalEvent;this.isPropagationStopped=P;if(!b3){return}if(b3.stopPropagation){b3.stopPropagation()}b3.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=P;this.stopPropagation()}};bI.each({mouseenter:\"mouseover\",mouseleave:\"mouseout\"},function(b3,e){bI.event.special[b3]={delegateType:e,bindType:e,handle:function(b6){var b4,b8=this,b7=b6.relatedTarget,b5=b6.handleObj;if(!b7||(b7!==b8&&!bI.contains(b8,b7))){b6.type=b5.origType;b4=b5.handler.apply(this,arguments);b6.type=e}return b4}}});if(!bI.support.submitBubbles){bI.event.special.submit={setup:function(){if(bI.nodeName(this,\"form\")){return false}bI.event.add(this,\"click._submit keypress._submit\",function(b5){var b4=b5.target,b3=bI.nodeName(b4,\"input\")||bI.nodeName(b4,\"button\")?b4.form:aE;if(b3&&!bI._data(b3,\"submitBubbles\")){bI.event.add(b3,\"submit._submit\",function(e){e._submit_bubble=true});bI._data(b3,\"submitBubbles\",true)}})},postDispatch:function(e){if(e._submit_bubble){delete e._submit_bubble;if(this.parentNode&&!e.isTrigger){bI.event.simulate(\"submit\",this.parentNode,e,true)}}},teardown:function(){if(bI.nodeName(this,\"form\")){return false}bI.event.remove(this,\"._submit\")}}}if(!bI.support.changeBubbles){bI.event.special.change={setup:function(){if(bG.test(this.nodeName)){if(this.type===\"checkbox\"||this.type===\"radio\"){bI.event.add(this,\"propertychange._change\",function(e){if(e.originalEvent.propertyName===\"checked\"){this._just_changed=true}});bI.event.add(this,\"click._change\",function(e){if(this._just_changed&&!e.isTrigger){this._just_changed=false}bI.event.simulate(\"change\",this,e,true)})}return false}bI.event.add(this,\"beforeactivate._change\",function(b4){var b3=b4.target;if(bG.test(b3.nodeName)&&!bI._data(b3,\"changeBubbles\")){bI.event.add(b3,\"change._change\",function(e){if(this.parentNode&&!e.isSimulated&&!e.isTrigger){bI.event.simulate(\"change\",this.parentNode,e,true)}});bI._data(b3,\"changeBubbles\",true)}})},handle:function(b3){var e=b3.target;if(this!==e||b3.isSimulated||b3.isTrigger||(e.type!==\"radio\"&&e.type!==\"checkbox\")){return b3.handleObj.handler.apply(this,arguments)}},teardown:function(){bI.event.remove(this,\"._change\");return !bG.test(this.nodeName)}}}if(!bI.support.focusinBubbles){bI.each({focus:\"focusin\",blur:\"focusout\"},function(b5,e){var b3=0,b4=function(b6){bI.event.simulate(e,b6.target,bI.event.fix(b6),true)};bI.event.special[e]={setup:function(){if(b3++===0){l.addEventListener(b5,b4,true)}},teardown:function(){if(--b3===0){l.removeEventListener(b5,b4,true)}}}})}bI.fn.extend({on:function(b4,e,b7,b6,b3){var b5,b8;if(typeof b4===\"object\"){if(typeof e!==\"string\"){b7=b7||e;e=aE}for(b5 in b4){this.on(b5,e,b7,b4[b5],b3)}return this}if(b7==null&&b6==null){b6=e;b7=e=aE}else{if(b6==null){if(typeof e===\"string\"){b6=b7;b7=aE}else{b6=b7;b7=e;e=aE}}}if(b6===false){b6=V}else{if(!b6){return this}}if(b3===1){b8=b6;b6=function(b9){bI().off(b9);return b8.apply(this,arguments)};b6.guid=b8.guid||(b8.guid=bI.guid++)}return this.each(function(){bI.event.add(this,b4,b6,b7,e)})},one:function(b3,e,b5,b4){return this.on(b3,e,b5,b4,1)},off:function(b4,e,b6){var b3,b5;if(b4&&b4.preventDefault&&b4.handleObj){b3=b4.handleObj;bI(b4.delegateTarget).off(b3.namespace?b3.origType+\".\"+b3.namespace:b3.origType,b3.selector,b3.handler);return this}if(typeof b4===\"object\"){for(b5 in b4){this.off(b5,e,b4[b5])}return this}if(e===false||typeof e===\"function\"){b6=e;e=aE}if(b6===false){b6=V}return this.each(function(){bI.event.remove(this,b4,b6,e)})},trigger:function(e,b3){return this.each(function(){bI.event.trigger(e,b3,this)})},triggerHandler:function(e,b4){var b3=this[0];if(b3){return bI.event.trigger(e,b4,b3,true)}}});var al=/^.[^:#\\[\\.,]*$/,bs=/^(?:parents|prev(?:Until|All))/,x=bI.expr.match.needsContext,bw={children:true,contents:true,next:true,prev:true};bI.fn.extend({find:function(b3){var b6,b5=[],b4=this,e=b4.length;if(typeof b3!==\"string\"){return this.pushStack(bI(b3).filter(function(){for(b6=0;b6<e;b6++){if(bI.contains(b4[b6],this)){return true}}}))}for(b6=0;b6<e;b6++){bI.find(b3,b4[b6],b5)}b5=this.pushStack(e>1?bI.unique(b5):b5);b5.selector=this.selector?this.selector+\" \"+b3:b3;return b5},has:function(b5){var b4,b3=bI(b5,this),e=b3.length;return this.filter(function(){for(b4=0;b4<e;b4++){if(bI.contains(this,b3[b4])){return true}}})},not:function(e){return this.pushStack(aM(this,e||[],true))},filter:function(e){return this.pushStack(aM(this,e||[],false))},is:function(e){return !!aM(this,typeof e===\"string\"&&x.test(e)?bI(e):e||[],false).length},closest:function(b6,b5){var b7,b4=0,e=this.length,b3=[],b8=x.test(b6)||typeof b6!==\"string\"?bI(b6,b5||this.context):0;for(;b4<e;b4++){for(b7=this[b4];b7&&b7!==b5;b7=b7.parentNode){if(b7.nodeType<11&&(b8?b8.index(b7)>-1:b7.nodeType===1&&bI.find.matchesSelector(b7,b6))){b7=b3.push(b7);break}}}return this.pushStack(b3.length>1?bI.unique(b3):b3)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.first().prevAll().length:-1}if(typeof e===\"string\"){return bI.inArray(this[0],bI(e))}return bI.inArray(e.jquery?e[0]:e,this)},add:function(e,b3){var b5=typeof e===\"string\"?bI(e,b3):bI.makeArray(e&&e.nodeType?[e]:e),b4=bI.merge(this.get(),b5);return this.pushStack(bI.unique(b4))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}});function aV(b3,e){do{b3=b3[e]}while(b3&&b3.nodeType!==1);return b3}bI.each({parent:function(b3){var e=b3.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return bI.dir(e,\"parentNode\")},parentsUntil:function(b3,e,b4){return bI.dir(b3,\"parentNode\",b4)},next:function(e){return aV(e,\"nextSibling\")},prev:function(e){return aV(e,\"previousSibling\")},nextAll:function(e){return bI.dir(e,\"nextSibling\")},prevAll:function(e){return bI.dir(e,\"previousSibling\")},nextUntil:function(b3,e,b4){return bI.dir(b3,\"nextSibling\",b4)},prevUntil:function(b3,e,b4){return bI.dir(b3,\"previousSibling\",b4)},siblings:function(e){return bI.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return bI.sibling(e.firstChild)},contents:function(e){return bI.nodeName(e,\"iframe\")?e.contentDocument||e.contentWindow.document:bI.merge([],e.childNodes)}},function(e,b3){bI.fn[e]=function(b6,b4){var b5=bI.map(this,b3,b6);if(e.slice(-5)!==\"Until\"){b4=b6}if(b4&&typeof b4===\"string\"){b5=bI.filter(b4,b5)}if(this.length>1){if(!bw[e]){b5=bI.unique(b5)}if(bs.test(e)){b5=b5.reverse()}}return this.pushStack(b5)}});bI.extend({filter:function(b5,e,b4){var b3=e[0];if(b4){b5=\":not(\"+b5+\")\"}return e.length===1&&b3.nodeType===1?bI.find.matchesSelector(b3,b5)?[b3]:[]:bI.find.matches(b5,bI.grep(e,function(b6){return b6.nodeType===1}))},dir:function(b4,b3,b6){var e=[],b5=b4[b3];while(b5&&b5.nodeType!==9&&(b6===aE||b5.nodeType!==1||!bI(b5).is(b6))){if(b5.nodeType===1){e.push(b5)}b5=b5[b3]}return e},sibling:function(b4,b3){var e=[];for(;b4;b4=b4.nextSibling){if(b4.nodeType===1&&b4!==b3){e.push(b4)}}return e}});function aM(b4,e,b3){if(bI.isFunction(e)){return bI.grep(b4,function(b6,b5){return !!e.call(b6,b5,b6)!==b3})}if(e.nodeType){return bI.grep(b4,function(b5){return(b5===e)!==b3})}if(typeof e===\"string\"){if(al.test(e)){return bI.filter(e,b4,b3)}e=bI.filter(e,b4)}return bI.grep(b4,function(b5){return(bI.inArray(b5,e)>=0)!==b3})}function z(e){var b4=d.split(\"|\"),b3=e.createDocumentFragment();if(b3.createElement){while(b4.length){b3.createElement(b4.pop())}}return b3}var d=\"abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video\",ay=/ jQuery\\d+=\"(?:null|\\d+)\"/g,I=new RegExp(\"<(?:\"+d+\")[\\\\s/>]\",\"i\"),b2=/^\\s+/,aB=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:]+)[^>]*)\\/>/gi,m=/<([\\w:]+)/,bX=/<tbody/i,H=/<|&#?\\w+;/,aj=/<(?:script|style|link)/i,q=/^(?:checkbox|radio)$/i,bT=/checked\\s*(?:[^=]|=\\s*.checked.)/i,by=/^$|\\/(?:java|ecma)script/i,ap=/^true\\/(.*)/,aI=/^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g,R={option:[1,\"<select multiple='multiple'>\",\"</select>\"],legend:[1,\"<fieldset>\",\"</fieldset>\"],area:[1,\"<map>\",\"</map>\"],param:[1,\"<object>\",\"</object>\"],thead:[1,\"<table>\",\"</table>\"],tr:[2,\"<table><tbody>\",\"</tbody></table>\"],col:[2,\"<table><tbody></tbody><colgroup>\",\"</colgroup></table>\"],td:[3,\"<table><tbody><tr>\",\"</tr></tbody></table>\"],_default:bI.support.htmlSerialize?[0,\"\",\"\"]:[1,\"X<div>\",\"</div>\"]},aQ=z(l),j=aQ.appendChild(l.createElement(\"div\"));R.optgroup=R.option;R.tbody=R.tfoot=R.colgroup=R.caption=R.thead;R.th=R.td;bI.fn.extend({text:function(e){return bI.access(this,function(b3){return b3===aE?bI.text(this):this.empty().append((this[0]&&this[0].ownerDocument||l).createTextNode(b3))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var b3=aZ(this,e);b3.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var b3=aZ(this,e);b3.insertBefore(e,b3.firstChild)}})},before:function(){return this.domManip(arguments,function(e){if(this.parentNode){this.parentNode.insertBefore(e,this)}})},after:function(){return this.domManip(arguments,function(e){if(this.parentNode){this.parentNode.insertBefore(e,this.nextSibling)}})},remove:function(e,b6){var b5,b3=e?bI.filter(e,this):this,b4=0;for(;(b5=b3[b4])!=null;b4++){if(!b6&&b5.nodeType===1){bI.cleanData(k(b5))}if(b5.parentNode){if(b6&&bI.contains(b5.ownerDocument,b5)){br(k(b5,\"script\"))}b5.parentNode.removeChild(b5)}}return this},empty:function(){var b3,e=0;for(;(b3=this[e])!=null;e++){if(b3.nodeType===1){bI.cleanData(k(b3,false))}while(b3.firstChild){b3.removeChild(b3.firstChild)}if(b3.options&&bI.nodeName(b3,\"select\")){b3.options.length=0}}return this},clone:function(b3,e){b3=b3==null?false:b3;e=e==null?b3:e;return this.map(function(){return bI.clone(this,b3,e)})},html:function(e){return bI.access(this,function(b6){var b5=this[0]||{},b4=0,b3=this.length;if(b6===aE){return b5.nodeType===1?b5.innerHTML.replace(ay,\"\"):aE}if(typeof b6===\"string\"&&!aj.test(b6)&&(bI.support.htmlSerialize||!I.test(b6))&&(bI.support.leadingWhitespace||!b2.test(b6))&&!R[(m.exec(b6)||[\"\",\"\"])[1].toLowerCase()]){b6=b6.replace(aB,\"<$1></$2>\");try{for(;b4<b3;b4++){b5=this[b4]||{};if(b5.nodeType===1){bI.cleanData(k(b5,false));b5.innerHTML=b6}}b5=0}catch(b7){}}if(b5){this.empty().append(b6)}},null,e,arguments.length)},replaceWith:function(){var e=bI.map(this,function(b4){return[b4.nextSibling,b4.parentNode]}),b3=0;this.domManip(arguments,function(b6){var b5=e[b3++],b4=e[b3++];if(b4){if(b5&&b5.parentNode!==b4){b5=this.nextSibling}bI(this).remove();b4.insertBefore(b6,b5)}},true);return b3?this:this.remove()},detach:function(e){return this.remove(e,true)},domManip:function(cb,cg,b4){cb=aG.apply([],cb);var b9,b5,e,b7,ce,ca,b8=0,b6=this.length,cd=this,cf=b6-1,cc=cb[0],b3=bI.isFunction(cc);if(b3||!(b6<=1||typeof cc!==\"string\"||bI.support.checkClone||!bT.test(cc))){return this.each(function(ci){var ch=cd.eq(ci);if(b3){cb[0]=cc.call(this,ci,ch.html())}ch.domManip(cb,cg,b4)})}if(b6){ca=bI.buildFragment(cb,this[0].ownerDocument,false,!b4&&this);b9=ca.firstChild;if(ca.childNodes.length===1){ca=b9}if(b9){b7=bI.map(k(ca,\"script\"),t);e=b7.length;for(;b8<b6;b8++){b5=ca;if(b8!==cf){b5=bI.clone(b5,true,true);if(e){bI.merge(b7,k(b5,\"script\"))}}cg.call(this[b8],b5,b8)}if(e){ce=b7[b7.length-1].ownerDocument;bI.map(b7,bc);for(b8=0;b8<e;b8++){b5=b7[b8];if(by.test(b5.type||\"\")&&!bI._data(b5,\"globalEval\")&&bI.contains(ce,b5)){if(b5.src){bI._evalUrl(b5.src)}else{bI.globalEval((b5.text||b5.textContent||b5.innerHTML||\"\").replace(aI,\"\"))}}}}ca=b9=null}}return this}});function aZ(b3,e){return bI.nodeName(b3,\"table\")&&bI.nodeName(e.nodeType===1?e:e.firstChild,\"tr\")?b3.getElementsByTagName(\"tbody\")[0]||b3.appendChild(b3.ownerDocument.createElement(\"tbody\")):b3}function t(e){e.type=(bI.find.attr(e,\"type\")!==null)+\"/\"+e.type;return e}function bc(b3){var e=ap.exec(b3.type);if(e){b3.type=e[1]}else{b3.removeAttribute(\"type\")}return b3}function br(e,b4){var b5,b3=0;for(;(b5=e[b3])!=null;b3++){bI._data(b5,\"globalEval\",!b4||bI._data(b4[b3],\"globalEval\"))}}function aq(b9,b3){if(b3.nodeType!==1||!bI.hasData(b9)){return}var b6,b5,e,b8=bI._data(b9),b7=bI._data(b3,b8),b4=b8.events;if(b4){delete b7.handle;b7.events={};for(b6 in b4){for(b5=0,e=b4[b6].length;b5<e;b5++){bI.event.add(b3,b6,b4[b6][b5])}}}if(b7.data){b7.data=bI.extend({},b7.data)}}function O(b6,b3){var b7,b5,b4;if(b3.nodeType!==1){return}b7=b3.nodeName.toLowerCase();if(!bI.support.noCloneEvent&&b3[bI.expando]){b4=bI._data(b3);for(b5 in b4.events){bI.removeEvent(b3,b5,b4.handle)}b3.removeAttribute(bI.expando)}if(b7===\"script\"&&b3.text!==b6.text){t(b3).text=b6.text;bc(b3)}else{if(b7===\"object\"){if(b3.parentNode){b3.outerHTML=b6.outerHTML}if(bI.support.html5Clone&&(b6.innerHTML&&!bI.trim(b3.innerHTML))){b3.innerHTML=b6.innerHTML}}else{if(b7===\"input\"&&q.test(b6.type)){b3.defaultChecked=b3.checked=b6.checked;if(b3.value!==b6.value){b3.value=b6.value}}else{if(b7===\"option\"){b3.defaultSelected=b3.selected=b6.defaultSelected}else{if(b7===\"input\"||b7===\"textarea\"){b3.defaultValue=b6.defaultValue}}}}}}bI.each({appendTo:\"append\",prependTo:\"prepend\",insertBefore:\"before\",insertAfter:\"after\",replaceAll:\"replaceWith\"},function(e,b3){bI.fn[e]=function(b4){var b5,b7=0,b6=[],b9=bI(b4),b8=b9.length-1;for(;b7<=b8;b7++){b5=b7===b8?this:this.clone(true);bI(b9[b7])[b3](b5);am.apply(b6,b5.get())}return this.pushStack(b6)}});function k(b5,e){var b3,b6,b4=0,b7=typeof b5.getElementsByTagName!==aA?b5.getElementsByTagName(e||\"*\"):typeof b5.querySelectorAll!==aA?b5.querySelectorAll(e||\"*\"):aE;if(!b7){for(b7=[],b3=b5.childNodes||b5;(b6=b3[b4])!=null;b4++){if(!e||bI.nodeName(b6,e)){b7.push(b6)}else{bI.merge(b7,k(b6,e))}}}return e===aE||e&&bI.nodeName(b5,e)?bI.merge([b5],b7):b7}function bU(e){if(q.test(e.type)){e.defaultChecked=e.checked}}bI.extend({clone:function(b3,b5,e){var b7,b4,ca,b6,b8,b9=bI.contains(b3.ownerDocument,b3);if(bI.support.html5Clone||bI.isXMLDoc(b3)||!I.test(\"<\"+b3.nodeName+\">\")){ca=b3.cloneNode(true)}else{j.innerHTML=b3.outerHTML;j.removeChild(ca=j.firstChild)}if((!bI.support.noCloneEvent||!bI.support.noCloneChecked)&&(b3.nodeType===1||b3.nodeType===11)&&!bI.isXMLDoc(b3)){b7=k(ca);b8=k(b3);for(b6=0;(b4=b8[b6])!=null;++b6){if(b7[b6]){O(b4,b7[b6])}}}if(b5){if(e){b8=b8||k(b3);b7=b7||k(ca);for(b6=0;(b4=b8[b6])!=null;b6++){aq(b4,b7[b6])}}else{aq(b3,ca)}}b7=k(ca,\"script\");if(b7.length>0){br(b7,!b9&&k(b3,\"script\"))}b7=b8=b4=null;return ca},buildFragment:function(b3,b5,ca,cf){var cb,b7,b9,ce,cg,cd,b4,b8=b3.length,b6=z(b5),e=[],cc=0;for(;cc<b8;cc++){b7=b3[cc];if(b7||b7===0){if(bI.type(b7)===\"object\"){bI.merge(e,b7.nodeType?[b7]:b7)}else{if(!H.test(b7)){e.push(b5.createTextNode(b7))}else{ce=ce||b6.appendChild(b5.createElement(\"div\"));cg=(m.exec(b7)||[\"\",\"\"])[1].toLowerCase();b4=R[cg]||R._default;ce.innerHTML=b4[1]+b7.replace(aB,\"<$1></$2>\")+b4[2];cb=b4[0];while(cb--){ce=ce.lastChild}if(!bI.support.leadingWhitespace&&b2.test(b7)){e.push(b5.createTextNode(b2.exec(b7)[0]))}if(!bI.support.tbody){b7=cg===\"table\"&&!bX.test(b7)?ce.firstChild:b4[1]===\"<table>\"&&!bX.test(b7)?ce:0;cb=b7&&b7.childNodes.length;while(cb--){if(bI.nodeName((cd=b7.childNodes[cb]),\"tbody\")&&!cd.childNodes.length){b7.removeChild(cd)}}}bI.merge(e,ce.childNodes);ce.textContent=\"\";while(ce.firstChild){ce.removeChild(ce.firstChild)}ce=b6.lastChild}}}}if(ce){b6.removeChild(ce)}if(!bI.support.appendChecked){bI.grep(k(e,\"input\"),bU)}cc=0;while((b7=e[cc++])){if(cf&&bI.inArray(b7,cf)!==-1){continue}b9=bI.contains(b7.ownerDocument,b7);ce=k(b6.appendChild(b7),\"script\");if(b9){br(ce)}if(ca){cb=0;while((b7=ce[cb++])){if(by.test(b7.type||\"\")){ca.push(b7)}}}}ce=null;return b6},cleanData:function(b3,cb){var b5,ca,b4,b6,b7=0,cc=bI.expando,e=bI.cache,b8=bI.support.deleteExpando,b9=bI.event.special;for(;(b5=b3[b7])!=null;b7++){if(cb||bI.acceptData(b5)){b4=b5[cc];b6=b4&&e[b4];if(b6){if(b6.events){for(ca in b6.events){if(b9[ca]){bI.event.remove(b5,ca)}else{bI.removeEvent(b5,ca,b6.handle)}}}if(e[b4]){delete e[b4];if(b8){delete b5[cc]}else{if(typeof b5.removeAttribute!==aA){b5.removeAttribute(cc)}else{b5[cc]=null}}a5.push(b4)}}}}},_evalUrl:function(e){return bI.ajax({url:e,type:\"GET\",dataType:\"script\",async:false,global:false,\"throws\":true})}});bI.fn.extend({wrapAll:function(e){if(bI.isFunction(e)){return this.each(function(b4){bI(this).wrapAll(e.call(this,b4))})}if(this[0]){var b3=bI(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){b3.insertBefore(this[0])}b3.map(function(){var b4=this;while(b4.firstChild&&b4.firstChild.nodeType===1){b4=b4.firstChild}return b4}).append(this)}return this},wrapInner:function(e){if(bI.isFunction(e)){return this.each(function(b3){bI(this).wrapInner(e.call(this,b3))})}return this.each(function(){var b3=bI(this),b4=b3.contents();if(b4.length){b4.wrapAll(e)}else{b3.append(e)}})},wrap:function(e){var b3=bI.isFunction(e);return this.each(function(b4){bI(this).wrapAll(b3?e.call(this,b4):e)})},unwrap:function(){return this.parent().each(function(){if(!bI.nodeName(this,\"body\")){bI(this).replaceWith(this.childNodes)}}).end()}});var aC,bn,D,bf=/alpha\\([^)]*\\)/i,aR=/opacity\\s*=\\s*([^)]*)/,bm=/^(top|right|bottom|left)$/,E=/^(none|table(?!-c[ea]).+)/,aW=/^margin/,a8=new RegExp(\"^(\"+bz+\")(.*)$\",\"i\"),U=new RegExp(\"^(\"+bz+\")(?!px)[a-z%]+$\",\"i\"),Q=new RegExp(\"^([+-])=(\"+bz+\")\",\"i\"),bi={BODY:\"block\"},bb={position:\"absolute\",visibility:\"hidden\",display:\"block\"},bB={letterSpacing:0,fontWeight:400},bS=[\"Top\",\"Right\",\"Bottom\",\"Left\"],at=[\"Webkit\",\"O\",\"Moz\",\"ms\"];function b(b5,b3){if(b3 in b5){return b3}var b6=b3.charAt(0).toUpperCase()+b3.slice(1),e=b3,b4=at.length;while(b4--){b3=at[b4]+b6;if(b3 in b5){return b3}}return e}function N(b3,e){b3=e||b3;return bI.css(b3,\"display\")===\"none\"||!bI.contains(b3.ownerDocument,b3)}function p(b8,e){var b9,b6,b7,b3=[],b4=0,b5=b8.length;for(;b4<b5;b4++){b6=b8[b4];if(!b6.style){continue}b3[b4]=bI._data(b6,\"olddisplay\");b9=b6.style.display;if(e){if(!b3[b4]&&b9===\"none\"){b6.style.display=\"\"}if(b6.style.display===\"\"&&N(b6)){b3[b4]=bI._data(b6,\"olddisplay\",bD(b6.nodeName))}}else{if(!b3[b4]){b7=N(b6);if(b9&&b9!==\"none\"||!b7){bI._data(b6,\"olddisplay\",b7?b9:bI.css(b6,\"display\"))}}}}for(b4=0;b4<b5;b4++){b6=b8[b4];if(!b6.style){continue}if(!e||b6.style.display===\"none\"||b6.style.display===\"\"){b6.style.display=e?b3[b4]||\"\":\"none\"}}return b8}bI.fn.extend({css:function(e,b3){return bI.access(this,function(b8,b5,b9){var b4,b7,ca={},b6=0;if(bI.isArray(b5)){b7=bn(b8);b4=b5.length;for(;b6<b4;b6++){ca[b5[b6]]=bI.css(b8,b5[b6],false,b7)}return ca}return b9!==aE?bI.style(b8,b5,b9):bI.css(b8,b5)},e,b3,arguments.length>1)},show:function(){return p(this,true)},hide:function(){return p(this)},toggle:function(e){if(typeof e===\"boolean\"){return e?this.show():this.hide()}return this.each(function(){if(N(this)){bI(this).show()}else{bI(this).hide()}})}});bI.extend({cssHooks:{opacity:{get:function(b4,b3){if(b3){var e=D(b4,\"opacity\");return e===\"\"?\"1\":e}}}},cssNumber:{columnCount:true,fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,order:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{\"float\":bI.support.cssFloat?\"cssFloat\":\"styleFloat\"},style:function(b5,b4,cb,b6){if(!b5||b5.nodeType===3||b5.nodeType===8||!b5.style){return}var b9,ca,cc,b7=bI.camelCase(b4),b3=b5.style;b4=bI.cssProps[b7]||(bI.cssProps[b7]=b(b3,b7));cc=bI.cssHooks[b4]||bI.cssHooks[b7];if(cb!==aE){ca=typeof cb;if(ca===\"string\"&&(b9=Q.exec(cb))){cb=(b9[1]+1)*b9[2]+parseFloat(bI.css(b5,b4));ca=\"number\"}if(cb==null||ca===\"number\"&&isNaN(cb)){return}if(ca===\"number\"&&!bI.cssNumber[b7]){cb+=\"px\"}if(!bI.support.clearCloneStyle&&cb===\"\"&&b4.indexOf(\"background\")===0){b3[b4]=\"inherit\"}if(!cc||!(\"set\" in cc)||(cb=cc.set(b5,cb,b6))!==aE){try{b3[b4]=cb}catch(b8){}}}else{if(cc&&\"get\" in cc&&(b9=cc.get(b5,false,b6))!==aE){return b9}return b3[b4]}},css:function(b8,b6,b3,b7){var b5,b9,e,b4=bI.camelCase(b6);b6=bI.cssProps[b4]||(bI.cssProps[b4]=b(b8.style,b4));e=bI.cssHooks[b6]||bI.cssHooks[b4];if(e&&\"get\" in e){b9=e.get(b8,true,b3)}if(b9===aE){b9=D(b8,b6,b7)}if(b9===\"normal\"&&b6 in bB){b9=bB[b6]}if(b3===\"\"||b3){b5=parseFloat(b9);return b3===true||bI.isNumeric(b5)?b5||0:b9}return b9}});if(a1.getComputedStyle){bn=function(e){return a1.getComputedStyle(e,null)};D=function(b6,b4,b8){var b5,b3,ca,b7=b8||bn(b6),b9=b7?b7.getPropertyValue(b4)||b7[b4]:aE,e=b6.style;if(b7){if(b9===\"\"&&!bI.contains(b6.ownerDocument,b6)){b9=bI.style(b6,b4)}if(U.test(b9)&&aW.test(b4)){b5=e.width;b3=e.minWidth;ca=e.maxWidth;e.minWidth=e.maxWidth=e.width=b9;b9=b7.width;e.width=b5;e.minWidth=b3;e.maxWidth=ca}}return b9}}else{if(l.documentElement.currentStyle){bn=function(e){return e.currentStyle};D=function(b5,b3,b8){var b4,b7,b9,b6=b8||bn(b5),ca=b6?b6[b3]:aE,e=b5.style;if(ca==null&&e&&e[b3]){ca=e[b3]}if(U.test(ca)&&!bm.test(b3)){b4=e.left;b7=b5.runtimeStyle;b9=b7&&b7.left;if(b9){b7.left=b5.currentStyle.left}e.left=b3===\"fontSize\"?\"1em\":ca;ca=e.pixelLeft+\"px\";e.left=b4;if(b9){b7.left=b9}}return ca===\"\"?\"auto\":ca}}}function aH(e,b4,b5){var b3=a8.exec(b4);return b3?Math.max(0,b3[1]-(b5||0))+(b3[2]||\"px\"):b4}function au(b6,b3,e,b8,b5){var b4=e===(b8?\"border\":\"content\")?4:b3===\"width\"?1:0,b7=0;for(;b4<4;b4+=2){if(e===\"margin\"){b7+=bI.css(b6,e+bS[b4],true,b5)}if(b8){if(e===\"content\"){b7-=bI.css(b6,\"padding\"+bS[b4],true,b5)}if(e!==\"margin\"){b7-=bI.css(b6,\"border\"+bS[b4]+\"Width\",true,b5)}}else{b7+=bI.css(b6,\"padding\"+bS[b4],true,b5);if(e!==\"padding\"){b7+=bI.css(b6,\"border\"+bS[b4]+\"Width\",true,b5)}}}return b7}function u(b6,b3,e){var b5=true,b7=b3===\"width\"?b6.offsetWidth:b6.offsetHeight,b4=bn(b6),b8=bI.support.boxSizing&&bI.css(b6,\"boxSizing\",false,b4)===\"border-box\";if(b7<=0||b7==null){b7=D(b6,b3,b4);if(b7<0||b7==null){b7=b6.style[b3]}if(U.test(b7)){return b7}b5=b8&&(bI.support.boxSizingReliable||b7===b6.style[b3]);b7=parseFloat(b7)||0}return(b7+au(b6,b3,e||(b8?\"border\":\"content\"),b5,b4))+\"px\"}function bD(b4){var b3=l,e=bi[b4];if(!e){e=a0(b4,b3);if(e===\"none\"||!e){aC=(aC||bI(\"<iframe frameborder='0' width='0' height='0'/>\").css(\"cssText\",\"display:block !important\")).appendTo(b3.documentElement);b3=(aC[0].contentWindow||aC[0].contentDocument).document;b3.write(\"<!doctype html><html><body>\");b3.close();e=a0(b4,b3);aC.detach()}bi[b4]=e}return e}function a0(e,b5){var b3=bI(b5.createElement(e)).appendTo(b5.body),b4=bI.css(b3[0],\"display\");b3.remove();return b4}bI.each([\"height\",\"width\"],function(b3,e){bI.cssHooks[e]={get:function(b6,b5,b4){if(b5){return b6.offsetWidth===0&&E.test(bI.css(b6,\"display\"))?bI.swap(b6,bb,function(){return u(b6,e,b4)}):u(b6,e,b4)}},set:function(b6,b7,b4){var b5=b4&&bn(b6);return aH(b6,b7,b4?au(b6,e,b4,bI.support.boxSizing&&bI.css(b6,\"boxSizing\",false,b5)===\"border-box\",b5):0)}}});if(!bI.support.opacity){bI.cssHooks.opacity={get:function(b3,e){return aR.test((e&&b3.currentStyle?b3.currentStyle.filter:b3.style.filter)||\"\")?(0.01*parseFloat(RegExp.$1))+\"\":e?\"1\":\"\"},set:function(b6,b7){var b5=b6.style,b3=b6.currentStyle,e=bI.isNumeric(b7)?\"alpha(opacity=\"+b7*100+\")\":\"\",b4=b3&&b3.filter||b5.filter||\"\";b5.zoom=1;if((b7>=1||b7===\"\")&&bI.trim(b4.replace(bf,\"\"))===\"\"&&b5.removeAttribute){b5.removeAttribute(\"filter\");if(b7===\"\"||b3&&!b3.filter){return}}b5.filter=bf.test(b4)?b4.replace(bf,e):b4+\" \"+e}}}bI(function(){if(!bI.support.reliableMarginRight){bI.cssHooks.marginRight={get:function(b3,e){if(e){return bI.swap(b3,{display:\"inline-block\"},D,[b3,\"marginRight\"])}}}}if(!bI.support.pixelPosition&&bI.fn.position){bI.each([\"top\",\"left\"],function(e,b3){bI.cssHooks[b3]={get:function(b5,b4){if(b4){b4=D(b5,b3);return U.test(b4)?bI(b5).position()[b3]+\"px\":b4}}}})}});if(bI.expr&&bI.expr.filters){bI.expr.filters.hidden=function(e){return e.offsetWidth<=0&&e.offsetHeight<=0||(!bI.support.reliableHiddenOffsets&&((e.style&&e.style.display)||bI.css(e,\"display\"))===\"none\")};bI.expr.filters.visible=function(e){return !bI.expr.filters.hidden(e)}}bI.each({margin:\"\",padding:\"\",border:\"Width\"},function(e,b3){bI.cssHooks[e+b3]={expand:function(b6){var b5=0,b4={},b7=typeof b6===\"string\"?b6.split(\" \"):[b6];for(;b5<4;b5++){b4[e+bS[b5]+b3]=b7[b5]||b7[b5-2]||b7[0]}return b4}};if(!aW.test(e)){bI.cssHooks[e+b3].set=aH}});var bu=/%20/g,aP=/\\[\\]$/,S=/\\r?\\n/g,c=/^(?:submit|button|image|reset|file)$/i,ar=/^(?:input|select|textarea|keygen)/i;bI.fn.extend({serialize:function(){return bI.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=bI.prop(this,\"elements\");return e?bI.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!bI(this).is(\":disabled\")&&ar.test(this.nodeName)&&!c.test(e)&&(this.checked||!q.test(e))}).map(function(e,b3){var b4=bI(this).val();return b4==null?null:bI.isArray(b4)?bI.map(b4,function(b5){return{name:b3.name,value:b5.replace(S,\"\\r\\n\")}}):{name:b3.name,value:b4.replace(S,\"\\r\\n\")}}).get()}});bI.param=function(e,b4){var b5,b3=[],b6=function(b7,b8){b8=bI.isFunction(b8)?b8():(b8==null?\"\":b8);b3[b3.length]=encodeURIComponent(b7)+\"=\"+encodeURIComponent(b8)};if(b4===aE){b4=bI.ajaxSettings&&bI.ajaxSettings.traditional}if(bI.isArray(e)||(e.jquery&&!bI.isPlainObject(e))){bI.each(e,function(){b6(this.name,this.value)})}else{for(b5 in e){i(b5,e[b5],b4,b6)}}return b3.join(\"&\").replace(bu,\"+\")};function i(b4,b6,b3,b5){var e;if(bI.isArray(b6)){bI.each(b6,function(b8,b7){if(b3||aP.test(b4)){b5(b4,b7)}else{i(b4+\"[\"+(typeof b7===\"object\"?b8:\"\")+\"]\",b7,b3,b5)}})}else{if(!b3&&bI.type(b6)===\"object\"){for(e in b6){i(b4+\"[\"+e+\"]\",b6[e],b3,b5)}}else{b5(b4,b6)}}}bI.each((\"blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu\").split(\" \"),function(b3,e){bI.fn[e]=function(b5,b4){return arguments.length>0?this.on(e,null,b5,b4):this.trigger(e)}});bI.fn.extend({hover:function(e,b3){return this.mouseenter(e).mouseleave(b3||e)},bind:function(e,b4,b3){return this.on(e,null,b4,b3)},unbind:function(e,b3){return this.off(e,null,b3)},delegate:function(e,b3,b5,b4){return this.on(b3,e,b5,b4)},undelegate:function(e,b3,b4){return arguments.length===1?this.off(e,\"**\"):this.off(b3,e||\"**\",b4)}});var b1,W,bN=bI.now(),ax=/\\?/,an=/#.*$/,M=/([?&])_=[^&]*/,ae=/^(.*?):[ \\t]*([^\\r\\n]*)\\r?$/mg,A=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,o=/^(?:GET|HEAD)$/,aF=/^\\/\\//,aS=/^([\\w.+-]+:)(?:\\/\\/([^\\/?#:]*)(?::(\\d+)|)|)/,b0=bI.fn.load,v={},a6={},aU=\"*/\".concat(\"*\");try{W=aJ.href}catch(be){W=l.createElement(\"a\");W.href=\"\";W=W.href}b1=aS.exec(W.toLowerCase())||[];function bK(e){return function(b6,b7){if(typeof b6!==\"string\"){b7=b6;b6=\"*\"}var b3,b4=0,b5=b6.toLowerCase().match(aa)||[];if(bI.isFunction(b7)){while((b3=b5[b4++])){if(b3[0]===\"+\"){b3=b3.slice(1)||\"*\";(e[b3]=e[b3]||[]).unshift(b7)}else{(e[b3]=e[b3]||[]).push(b7)}}}}}function n(e,b4,b8,b5){var b3={},b6=(e===a6);function b7(b9){var ca;b3[b9]=true;bI.each(e[b9]||[],function(cc,cb){var cd=cb(b4,b8,b5);if(typeof cd===\"string\"&&!b6&&!b3[cd]){b4.dataTypes.unshift(cd);b7(cd);return false}else{if(b6){return !(ca=cd)}}});return ca}return b7(b4.dataTypes[0])||!b3[\"*\"]&&b7(\"*\")}function r(b4,b5){var e,b3,b6=bI.ajaxSettings.flatOptions||{};for(b3 in b5){if(b5[b3]!==aE){(b6[b3]?b4:(e||(e={})))[b3]=b5[b3]}}if(e){bI.extend(true,b4,e)}return b4}bI.fn.load=function(b5,b8,b9){if(typeof b5!==\"string\"&&b0){return b0.apply(this,arguments)}var e,b4,b6,b3=this,b7=b5.indexOf(\" \");if(b7>=0){e=b5.slice(b7,b5.length);b5=b5.slice(0,b7)}if(bI.isFunction(b8)){b9=b8;b8=aE}else{if(b8&&typeof b8===\"object\"){b6=\"POST\"}}if(b3.length>0){bI.ajax({url:b5,type:b6,dataType:\"html\",data:b8}).done(function(ca){b4=arguments;b3.html(e?bI(\"<div>\").append(bI.parseHTML(ca)).find(e):ca)}).complete(b9&&function(cb,ca){b3.each(b9,b4||[cb.responseText,ca,cb])})}return this};bI.each([\"ajaxStart\",\"ajaxStop\",\"ajaxComplete\",\"ajaxError\",\"ajaxSuccess\",\"ajaxSend\"],function(e,b3){bI.fn[b3]=function(b4){return this.on(b3,b4)}});bI.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:W,type:\"GET\",isLocal:A.test(b1[1]),global:true,processData:true,async:true,contentType:\"application/x-www-form-urlencoded; charset=UTF-8\",accepts:{\"*\":aU,text:\"text/plain\",html:\"text/html\",xml:\"application/xml, text/xml\",json:\"application/json, text/javascript\"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:\"responseXML\",text:\"responseText\",json:\"responseJSON\"},converters:{\"* text\":String,\"text html\":true,\"text json\":bI.parseJSON,\"text xml\":bI.parseXML},flatOptions:{url:true,context:true}},ajaxSetup:function(b3,e){return e?r(r(b3,bI.ajaxSettings),e):r(bI.ajaxSettings,b3)},ajaxPrefilter:bK(v),ajaxTransport:bK(a6),ajax:function(b7,b4){if(typeof b7===\"object\"){b4=b7;b7=aE}b4=b4||{};var cg,ci,b8,cn,cc,b3,cj,b5,cb=bI.ajaxSetup({},b4),cp=cb.context||cb,ce=cb.context&&(cp.nodeType||cp.jquery)?bI(cp):bI.event,co=bI.Deferred(),cl=bI.Callbacks(\"once memory\"),b9=cb.statusCode||{},cf={},cm={},b6=0,ca=\"canceled\",ch={readyState:0,getResponseHeader:function(cq){var e;if(b6===2){if(!b5){b5={};while((e=ae.exec(cn))){b5[e[1].toLowerCase()]=e[2]}}e=b5[cq.toLowerCase()]}return e==null?null:e},getAllResponseHeaders:function(){return b6===2?cn:null},setRequestHeader:function(cq,cr){var e=cq.toLowerCase();if(!b6){cq=cm[e]=cm[e]||cq;cf[cq]=cr}return this},overrideMimeType:function(e){if(!b6){cb.mimeType=e}return this},statusCode:function(cq){var e;if(cq){if(b6<2){for(e in cq){b9[e]=[b9[e],cq[e]]}}else{ch.always(cq[ch.status])}}return this},abort:function(cq){var e=cq||ca;if(cj){cj.abort(e)}cd(0,e);return this}};co.promise(ch).complete=cl.add;ch.success=ch.done;ch.error=ch.fail;cb.url=((b7||cb.url||W)+\"\").replace(an,\"\").replace(aF,b1[1]+\"//\");cb.type=b4.method||b4.type||cb.method||cb.type;cb.dataTypes=bI.trim(cb.dataType||\"*\").toLowerCase().match(aa)||[\"\"];if(cb.crossDomain==null){cg=aS.exec(cb.url.toLowerCase());cb.crossDomain=!!(cg&&(cg[1]!==b1[1]||cg[2]!==b1[2]||(cg[3]||(cg[1]===\"http:\"?\"80\":\"443\"))!==(b1[3]||(b1[1]===\"http:\"?\"80\":\"443\"))))}if(cb.data&&cb.processData&&typeof cb.data!==\"string\"){cb.data=bI.param(cb.data,cb.traditional)}n(v,cb,b4,ch);if(b6===2){return ch}b3=cb.global;if(b3&&bI.active++===0){bI.event.trigger(\"ajaxStart\")}cb.type=cb.type.toUpperCase();cb.hasContent=!o.test(cb.type);b8=cb.url;if(!cb.hasContent){if(cb.data){b8=(cb.url+=(ax.test(b8)?\"&\":\"?\")+cb.data);delete cb.data}if(cb.cache===false){cb.url=M.test(b8)?b8.replace(M,\"$1_=\"+bN++):b8+(ax.test(b8)?\"&\":\"?\")+\"_=\"+bN++}}if(cb.ifModified){if(bI.lastModified[b8]){ch.setRequestHeader(\"If-Modified-Since\",bI.lastModified[b8])}if(bI.etag[b8]){ch.setRequestHeader(\"If-None-Match\",bI.etag[b8])}}if(cb.data&&cb.hasContent&&cb.contentType!==false||b4.contentType){ch.setRequestHeader(\"Content-Type\",cb.contentType)}ch.setRequestHeader(\"Accept\",cb.dataTypes[0]&&cb.accepts[cb.dataTypes[0]]?cb.accepts[cb.dataTypes[0]]+(cb.dataTypes[0]!==\"*\"?\", \"+aU+\"; q=0.01\":\"\"):cb.accepts[\"*\"]);for(ci in cb.headers){ch.setRequestHeader(ci,cb.headers[ci])}if(cb.beforeSend&&(cb.beforeSend.call(cp,ch,cb)===false||b6===2)){return ch.abort()}ca=\"abort\";for(ci in {success:1,error:1,complete:1}){ch[ci](cb[ci])}cj=n(a6,cb,b4,ch);if(!cj){cd(-1,\"No Transport\")}else{ch.readyState=1;if(b3){ce.trigger(\"ajaxSend\",[ch,cb])}if(cb.async&&cb.timeout>0){cc=setTimeout(function(){ch.abort(\"timeout\")},cb.timeout)}try{b6=1;cj.send(cf,cd)}catch(ck){if(b6<2){cd(-1,ck)}else{throw ck}}}function cd(cu,cq,cv,cs){var e,cy,cw,ct,cx,cr=cq;if(b6===2){return}b6=2;if(cc){clearTimeout(cc)}cj=aE;cn=cs||\"\";ch.readyState=cu>0?4:0;e=cu>=200&&cu<300||cu===304;if(cv){ct=g(cb,ch,cv)}ct=ad(cb,ct,ch,e);if(e){if(cb.ifModified){cx=ch.getResponseHeader(\"Last-Modified\");if(cx){bI.lastModified[b8]=cx}cx=ch.getResponseHeader(\"etag\");if(cx){bI.etag[b8]=cx}}if(cu===204||cb.type===\"HEAD\"){cr=\"nocontent\"}else{if(cu===304){cr=\"notmodified\"}else{cr=ct.state;cy=ct.data;cw=ct.error;e=!cw}}}else{cw=cr;if(cu||!cr){cr=\"error\";if(cu<0){cu=0}}}ch.status=cu;ch.statusText=(cq||cr)+\"\";if(e){co.resolveWith(cp,[cy,cr,ch])}else{co.rejectWith(cp,[ch,cr,cw])}ch.statusCode(b9);b9=aE;if(b3){ce.trigger(e?\"ajaxSuccess\":\"ajaxError\",[ch,cb,e?cy:cw])}cl.fireWith(cp,[ch,cr]);if(b3){ce.trigger(\"ajaxComplete\",[ch,cb]);if(!(--bI.active)){bI.event.trigger(\"ajaxStop\")}}}return ch},getJSON:function(e,b3,b4){return bI.get(e,b3,b4,\"json\")},getScript:function(e,b3){return bI.get(e,aE,b3,\"script\")}});bI.each([\"get\",\"post\"],function(e,b3){bI[b3]=function(b4,b6,b7,b5){if(bI.isFunction(b6)){b5=b5||b7;b7=b6;b6=aE}return bI.ajax({url:b4,type:b3,dataType:b5,data:b6,success:b7})}});function g(ca,b9,b6){var e,b5,b4,b7,b3=ca.contents,b8=ca.dataTypes;while(b8[0]===\"*\"){b8.shift();if(b5===aE){b5=ca.mimeType||b9.getResponseHeader(\"Content-Type\")}}if(b5){for(b7 in b3){if(b3[b7]&&b3[b7].test(b5)){b8.unshift(b7);break}}}if(b8[0] in b6){b4=b8[0]}else{for(b7 in b6){if(!b8[0]||ca.converters[b7+\" \"+b8[0]]){b4=b7;break}if(!e){e=b7}}b4=b4||e}if(b4){if(b4!==b8[0]){b8.unshift(b4)}return b6[b4]}}function ad(ce,b6,cb,b4){var b3,b9,cc,b7,b5,cd={},ca=ce.dataTypes.slice();if(ca[1]){for(cc in ce.converters){cd[cc.toLowerCase()]=ce.converters[cc]}}b9=ca.shift();while(b9){if(ce.responseFields[b9]){cb[ce.responseFields[b9]]=b6}if(!b5&&b4&&ce.dataFilter){b6=ce.dataFilter(b6,ce.dataType)}b5=b9;b9=ca.shift();if(b9){if(b9===\"*\"){b9=b5}else{if(b5!==\"*\"&&b5!==b9){cc=cd[b5+\" \"+b9]||cd[\"* \"+b9];if(!cc){for(b3 in cd){b7=b3.split(\" \");if(b7[1]===b9){cc=cd[b5+\" \"+b7[0]]||cd[\"* \"+b7[0]];if(cc){if(cc===true){cc=cd[b3]}else{if(cd[b3]!==true){b9=b7[0];ca.unshift(b7[1])}}break}}}}if(cc!==true){if(cc&&ce[\"throws\"]){b6=cc(b6)}else{try{b6=cc(b6)}catch(b8){return{state:\"parsererror\",error:cc?b8:\"No conversion from \"+b5+\" to \"+b9}}}}}}}}return{state:\"success\",data:b6}}bI.ajaxSetup({accepts:{script:\"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"},contents:{script:/(?:java|ecma)script/},converters:{\"text script\":function(e){bI.globalEval(e);return e}}});bI.ajaxPrefilter(\"script\",function(e){if(e.cache===aE){e.cache=false}if(e.crossDomain){e.type=\"GET\";e.global=false}});bI.ajaxTransport(\"script\",function(b4){if(b4.crossDomain){var e,b3=l.head||bI(\"head\")[0]||l.documentElement;return{send:function(b5,b6){e=l.createElement(\"script\");e.async=true;if(b4.scriptCharset){e.charset=b4.scriptCharset}e.src=b4.url;e.onload=e.onreadystatechange=function(b8,b7){if(b7||!e.readyState||/loaded|complete/.test(e.readyState)){e.onload=e.onreadystatechange=null;if(e.parentNode){e.parentNode.removeChild(e)}e=null;if(!b7){b6(200,\"success\")}}};b3.insertBefore(e,b3.firstChild)},abort:function(){if(e){e.onload(aE,true)}}}}});var bp=[],a4=/(=)\\?(?=&|$)|\\?\\?/;bI.ajaxSetup({jsonp:\"callback\",jsonpCallback:function(){var e=bp.pop()||(bI.expando+\"_\"+(bN++));this[e]=true;return e}});bI.ajaxPrefilter(\"json jsonp\",function(b5,e,b6){var b8,b3,b4,b7=b5.jsonp!==false&&(a4.test(b5.url)?\"url\":typeof b5.data===\"string\"&&!(b5.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&a4.test(b5.data)&&\"data\");if(b7||b5.dataTypes[0]===\"jsonp\"){b8=b5.jsonpCallback=bI.isFunction(b5.jsonpCallback)?b5.jsonpCallback():b5.jsonpCallback;if(b7){b5[b7]=b5[b7].replace(a4,\"$1\"+b8)}else{if(b5.jsonp!==false){b5.url+=(ax.test(b5.url)?\"&\":\"?\")+b5.jsonp+\"=\"+b8}}b5.converters[\"script json\"]=function(){if(!b4){bI.error(b8+\" was not called\")}return b4[0]};b5.dataTypes[0]=\"json\";b3=a1[b8];a1[b8]=function(){b4=arguments};b6.always(function(){a1[b8]=b3;if(b5[b8]){b5.jsonpCallback=e.jsonpCallback;bp.push(b8)}if(b4&&bI.isFunction(b3)){b3(b4[0])}b4=b3=aE});return\"script\"}});var af,av,aw=0,aN=a1.ActiveXObject&&function(){var e;for(e in af){af[e](aE,true)}};function bC(){try{return new a1.XMLHttpRequest()}catch(b3){}}function bd(){try{return new a1.ActiveXObject(\"Microsoft.XMLHTTP\")}catch(b3){}}bI.ajaxSettings.xhr=a1.ActiveXObject?function(){return !this.isLocal&&bC()||bd()}:bC;av=bI.ajaxSettings.xhr();bI.support.cors=!!av&&(\"withCredentials\" in av);av=bI.support.ajax=!!av;if(av){bI.ajaxTransport(function(e){if(!e.crossDomain||bI.support.cors){var b3;return{send:function(b9,b4){var b7,b5,b8=e.xhr();if(e.username){b8.open(e.type,e.url,e.async,e.username,e.password)}else{b8.open(e.type,e.url,e.async)}if(e.xhrFields){for(b5 in e.xhrFields){b8[b5]=e.xhrFields[b5]}}if(e.mimeType&&b8.overrideMimeType){b8.overrideMimeType(e.mimeType)}if(!e.crossDomain&&!b9[\"X-Requested-With\"]){b9[\"X-Requested-With\"]=\"XMLHttpRequest\"}try{for(b5 in b9){b8.setRequestHeader(b5,b9[b5])}}catch(b6){}b8.send((e.hasContent&&e.data)||null);b3=function(cc,cb){var ca,cd,cg,ce;try{if(b3&&(cb||b8.readyState===4)){b3=aE;if(b7){b8.onreadystatechange=bI.noop;if(aN){delete af[b7]}}if(cb){if(b8.readyState!==4){b8.abort()}}else{ce={};ca=b8.status;cd=b8.getAllResponseHeaders();if(typeof b8.responseText===\"string\"){ce.text=b8.responseText}try{cg=b8.statusText}catch(cf){cg=\"\"}if(!ca&&e.isLocal&&!e.crossDomain){ca=ce.text?200:404}else{if(ca===1223){ca=204}}}}}catch(ch){if(!cb){b4(-1,ch)}}if(ce){b4(ca,cg,ce,cd)}};if(!e.async){b3()}else{if(b8.readyState===4){setTimeout(b3)}else{b7=++aw;if(aN){if(!af){af={};bI(a1).unload(aN)}af[b7]=b3}b8.onreadystatechange=b3}}},abort:function(){if(b3){b3(aE,true)}}}}})}var J,ab,bQ=/^(?:toggle|show|hide)$/,bJ=new RegExp(\"^(?:([+-])=|)(\"+bz+\")([a-z%]*)$\",\"i\"),bP=/queueHooks$/,az=[h],aY={\"*\":[function(e,b8){var ca=this.createTween(e,b8),b6=ca.cur(),b5=bJ.exec(b8),b9=b5&&b5[3]||(bI.cssNumber[e]?\"\":\"px\"),b3=(bI.cssNumber[e]||b9!==\"px\"&&+b6)&&bJ.exec(bI.css(ca.elem,e)),b4=1,b7=20;if(b3&&b3[3]!==b9){b9=b9||b3[3];b5=b5||[];b3=+b6||1;do{b4=b4||\".5\";b3=b3/b4;bI.style(ca.elem,e,b3+b9)}while(b4!==(b4=ca.cur()/b6)&&b4!==1&&--b7)}if(b5){b3=ca.start=+b3||+b6||0;ca.unit=b9;ca.end=b5[1]?b3+(b5[1]+1)*b5[2]:+b5[2]}return ca}]};function bl(){setTimeout(function(){J=aE});return(J=bI.now())}function ba(b6,b8,b5){var b3,b7=(aY[b8]||[]).concat(aY[\"*\"]),e=0,b4=b7.length;for(;e<b4;e++){if((b3=b7[e].call(b5,b8,b6))){return b3}}}function f(b4,b8,cb){var cc,e,b7=0,b3=az.length,ca=bI.Deferred().always(function(){delete b6.elem}),b6=function(){if(e){return false}var ci=J||bl(),cf=Math.max(0,b5.startTime+b5.duration-ci),cd=cf/b5.duration||0,ch=1-cd,ce=0,cg=b5.tweens.length;for(;ce<cg;ce++){b5.tweens[ce].run(ch)}ca.notifyWith(b4,[b5,ch,cf]);if(ch<1&&cg){return cf}else{ca.resolveWith(b4,[b5]);return false}},b5=ca.promise({elem:b4,props:bI.extend({},b8),opts:bI.extend(true,{specialEasing:{}},cb),originalProperties:b8,originalOptions:cb,startTime:J||bl(),duration:cb.duration,tweens:[],createTween:function(cf,cd){var ce=bI.Tween(b4,b5.opts,cf,cd,b5.opts.specialEasing[cf]||b5.opts.easing);b5.tweens.push(ce);return ce},stop:function(ce){var cd=0,cf=ce?b5.tweens.length:0;if(e){return this}e=true;for(;cd<cf;cd++){b5.tweens[cd].run(1)}if(ce){ca.resolveWith(b4,[b5,ce])}else{ca.rejectWith(b4,[b5,ce])}return this}}),b9=b5.props;ak(b9,b5.opts.specialEasing);for(;b7<b3;b7++){cc=az[b7].call(b5,b4,b9,b5.opts);if(cc){return cc}}bI.map(b9,ba,b5);if(bI.isFunction(b5.opts.start)){b5.opts.start.call(b4,b5)}bI.fx.timer(bI.extend(b6,{elem:b4,anim:b5,queue:b5.opts.queue}));return b5.progress(b5.opts.progress).done(b5.opts.done,b5.opts.complete).fail(b5.opts.fail).always(b5.opts.always)}function ak(b5,b7){var b4,b3,b8,b6,e;for(b4 in b5){b3=bI.camelCase(b4);b8=b7[b3];b6=b5[b4];if(bI.isArray(b6)){b8=b6[1];b6=b5[b4]=b6[0]}if(b4!==b3){b5[b3]=b6;delete b5[b4]}e=bI.cssHooks[b3];if(e&&\"expand\" in e){b6=e.expand(b6);delete b5[b3];for(b4 in b6){if(!(b4 in b5)){b5[b4]=b6[b4];b7[b4]=b8}}}else{b7[b3]=b8}}}bI.Animation=bI.extend(f,{tweener:function(b3,b6){if(bI.isFunction(b3)){b6=b3;b3=[\"*\"]}else{b3=b3.split(\" \")}var b5,e=0,b4=b3.length;for(;e<b4;e++){b5=b3[e];aY[b5]=aY[b5]||[];aY[b5].unshift(b6)}},prefilter:function(b3,e){if(e){az.unshift(b3)}else{az.push(b3)}}});function h(b5,b9,e){var b4,cb,b7,ce,cf,cc,b6=this,ca={},b3=b5.style,b8=b5.nodeType&&N(b5),cd=bI._data(b5,\"fxshow\");if(!e.queue){cf=bI._queueHooks(b5,\"fx\");if(cf.unqueued==null){cf.unqueued=0;cc=cf.empty.fire;cf.empty.fire=function(){if(!cf.unqueued){cc()}}}cf.unqueued++;b6.always(function(){b6.always(function(){cf.unqueued--;if(!bI.queue(b5,\"fx\").length){cf.empty.fire()}})})}if(b5.nodeType===1&&(\"height\" in b9||\"width\" in b9)){e.overflow=[b3.overflow,b3.overflowX,b3.overflowY];if(bI.css(b5,\"display\")===\"inline\"&&bI.css(b5,\"float\")===\"none\"){if(!bI.support.inlineBlockNeedsLayout||bD(b5.nodeName)===\"inline\"){b3.display=\"inline-block\"}else{b3.zoom=1}}}if(e.overflow){b3.overflow=\"hidden\";if(!bI.support.shrinkWrapBlocks){b6.always(function(){b3.overflow=e.overflow[0];b3.overflowX=e.overflow[1];b3.overflowY=e.overflow[2]})}}for(b4 in b9){cb=b9[b4];if(bQ.exec(cb)){delete b9[b4];b7=b7||cb===\"toggle\";if(cb===(b8?\"hide\":\"show\")){continue}ca[b4]=cd&&cd[b4]||bI.style(b5,b4)}}if(!bI.isEmptyObject(ca)){if(cd){if(\"hidden\" in cd){b8=cd.hidden}}else{cd=bI._data(b5,\"fxshow\",{})}if(b7){cd.hidden=!b8}if(b8){bI(b5).show()}else{b6.done(function(){bI(b5).hide()})}b6.done(function(){var cg;bI._removeData(b5,\"fxshow\");for(cg in ca){bI.style(b5,cg,ca[cg])}});for(b4 in ca){ce=ba(b8?cd[b4]:0,b4,b6);if(!(b4 in cd)){cd[b4]=ce.start;if(b8){ce.end=ce.start;ce.start=b4===\"width\"||b4===\"height\"?1:0}}}}}function F(b4,b3,b6,e,b5){return new F.prototype.init(b4,b3,b6,e,b5)}bI.Tween=F;F.prototype={constructor:F,init:function(b5,b3,b7,e,b6,b4){this.elem=b5;this.prop=b7;this.easing=b6||\"swing\";this.options=b3;this.start=this.now=this.cur();this.end=e;this.unit=b4||(bI.cssNumber[b7]?\"\":\"px\")},cur:function(){var e=F.propHooks[this.prop];return e&&e.get?e.get(this):F.propHooks._default.get(this)},run:function(b4){var b3,e=F.propHooks[this.prop];if(this.options.duration){this.pos=b3=bI.easing[this.easing](b4,this.options.duration*b4,0,1,this.options.duration)}else{this.pos=b3=b4}this.now=(this.end-this.start)*b3+this.start;if(this.options.step){this.options.step.call(this.elem,this.now,this)}if(e&&e.set){e.set(this)}else{F.propHooks._default.set(this)}return this}};F.prototype.init.prototype=F.prototype;F.propHooks={_default:{get:function(b3){var e;if(b3.elem[b3.prop]!=null&&(!b3.elem.style||b3.elem.style[b3.prop]==null)){return b3.elem[b3.prop]}e=bI.css(b3.elem,b3.prop,\"\");return !e||e===\"auto\"?0:e},set:function(e){if(bI.fx.step[e.prop]){bI.fx.step[e.prop](e)}else{if(e.elem.style&&(e.elem.style[bI.cssProps[e.prop]]!=null||bI.cssHooks[e.prop])){bI.style(e.elem,e.prop,e.now+e.unit)}else{e.elem[e.prop]=e.now}}}}};F.propHooks.scrollTop=F.propHooks.scrollLeft={set:function(e){if(e.elem.nodeType&&e.elem.parentNode){e.elem[e.prop]=e.now}}};bI.each([\"toggle\",\"show\",\"hide\"],function(b3,e){var b4=bI.fn[e];bI.fn[e]=function(b5,b7,b6){return b5==null||typeof b5===\"boolean\"?b4.apply(this,arguments):this.animate(bH(e,true),b5,b7,b6)}});bI.fn.extend({fadeTo:function(e,b5,b4,b3){return this.filter(N).css(\"opacity\",0).show().end().animate({opacity:b5},e,b4,b3)},animate:function(b8,b5,b7,b6){var b4=bI.isEmptyObject(b8),e=bI.speed(b5,b7,b6),b3=function(){var b9=f(this,bI.extend({},b8),e);if(b4||bI._data(this,\"finish\")){b9.stop(true)}};b3.finish=b3;return b4||e.queue===false?this.each(b3):this.queue(e.queue,b3)},stop:function(b4,b3,e){var b5=function(b6){var b7=b6.stop;delete b6.stop;b7(e)};if(typeof b4!==\"string\"){e=b3;b3=b4;b4=aE}if(b3&&b4!==false){this.queue(b4||\"fx\",[])}return this.each(function(){var b9=true,b6=b4!=null&&b4+\"queueHooks\",b8=bI.timers,b7=bI._data(this);if(b6){if(b7[b6]&&b7[b6].stop){b5(b7[b6])}}else{for(b6 in b7){if(b7[b6]&&b7[b6].stop&&bP.test(b6)){b5(b7[b6])}}}for(b6=b8.length;b6--;){if(b8[b6].elem===this&&(b4==null||b8[b6].queue===b4)){b8[b6].anim.stop(e);b9=false;b8.splice(b6,1)}}if(b9||!e){bI.dequeue(this,b4)}})},finish:function(e){if(e!==false){e=e||\"fx\"}return this.each(function(){var b5,b8=bI._data(this),b4=b8[e+\"queue\"],b3=b8[e+\"queueHooks\"],b7=bI.timers,b6=b4?b4.length:0;b8.finish=true;bI.queue(this,e,[]);if(b3&&b3.stop){b3.stop.call(this,true)}for(b5=b7.length;b5--;){if(b7[b5].elem===this&&b7[b5].queue===e){b7[b5].anim.stop(true);b7.splice(b5,1)}}for(b5=0;b5<b6;b5++){if(b4[b5]&&b4[b5].finish){b4[b5].finish.call(this)}}delete b8.finish})}});function bH(b4,b6){var b5,e={height:b4},b3=0;b6=b6?1:0;for(;b3<4;b3+=2-b6){b5=bS[b3];e[\"margin\"+b5]=e[\"padding\"+b5]=b4}if(b6){e.opacity=e.width=b4}return e}bI.each({slideDown:bH(\"show\"),slideUp:bH(\"hide\"),slideToggle:bH(\"toggle\"),fadeIn:{opacity:\"show\"},fadeOut:{opacity:\"hide\"},fadeToggle:{opacity:\"toggle\"}},function(e,b3){bI.fn[e]=function(b4,b6,b5){return this.animate(b3,b4,b6,b5)}});bI.speed=function(b4,b5,b3){var e=b4&&typeof b4===\"object\"?bI.extend({},b4):{complete:b3||!b3&&b5||bI.isFunction(b4)&&b4,duration:b4,easing:b3&&b5||b5&&!bI.isFunction(b5)&&b5};e.duration=bI.fx.off?0:typeof e.duration===\"number\"?e.duration:e.duration in bI.fx.speeds?bI.fx.speeds[e.duration]:bI.fx.speeds._default;if(e.queue==null||e.queue===true){e.queue=\"fx\"}e.old=e.complete;e.complete=function(){if(bI.isFunction(e.old)){e.old.call(this)}if(e.queue){bI.dequeue(this,e.queue)}};return e};bI.easing={linear:function(e){return e},swing:function(e){return 0.5-Math.cos(e*Math.PI)/2}};bI.timers=[];bI.fx=F.prototype.init;bI.fx.tick=function(){var b4,b3=bI.timers,e=0;J=bI.now();for(;e<b3.length;e++){b4=b3[e];if(!b4()&&b3[e]===b4){b3.splice(e--,1)}}if(!b3.length){bI.fx.stop()}J=aE};bI.fx.timer=function(e){if(e()&&bI.timers.push(e)){bI.fx.start()}};bI.fx.interval=13;bI.fx.start=function(){if(!ab){ab=setInterval(bI.fx.tick,bI.fx.interval)}};bI.fx.stop=function(){clearInterval(ab);ab=null};bI.fx.speeds={slow:600,fast:200,_default:400};bI.fx.step={};if(bI.expr&&bI.expr.filters){bI.expr.filters.animated=function(e){return bI.grep(bI.timers,function(b3){return e===b3.elem}).length}}bI.fn.offset=function(b3){if(arguments.length){return b3===aE?this:this.each(function(b8){bI.offset.setOffset(this,b3,b8)})}var e,b7,b5={top:0,left:0},b4=this[0],b6=b4&&b4.ownerDocument;if(!b6){return}e=b6.documentElement;if(!bI.contains(e,b4)){return b5}if(typeof b4.getBoundingClientRect!==aA){b5=b4.getBoundingClientRect()}b7=bo(b6);return{top:b5.top+(b7.pageYOffset||e.scrollTop)-(e.clientTop||0),left:b5.left+(b7.pageXOffset||e.scrollLeft)-(e.clientLeft||0)}};bI.offset={setOffset:function(b5,ce,b8){var b9=bI.css(b5,\"position\");if(b9===\"static\"){b5.style.position=\"relative\"}var b7=bI(b5),b3=b7.offset(),e=bI.css(b5,\"top\"),cc=bI.css(b5,\"left\"),cd=(b9===\"absolute\"||b9===\"fixed\")&&bI.inArray(\"auto\",[e,cc])>-1,cb={},ca={},b4,b6;if(cd){ca=b7.position();b4=ca.top;b6=ca.left}else{b4=parseFloat(e)||0;b6=parseFloat(cc)||0}if(bI.isFunction(ce)){ce=ce.call(b5,b8,b3)}if(ce.top!=null){cb.top=(ce.top-b3.top)+b4}if(ce.left!=null){cb.left=(ce.left-b3.left)+b6}if(\"using\" in ce){ce.using.call(b5,cb)}else{b7.css(cb)}}};bI.fn.extend({position:function(){if(!this[0]){return}var b4,b5,e={top:0,left:0},b3=this[0];if(bI.css(b3,\"position\")===\"fixed\"){b5=b3.getBoundingClientRect()}else{b4=this.offsetParent();b5=this.offset();if(!bI.nodeName(b4[0],\"html\")){e=b4.offset()}e.top+=bI.css(b4[0],\"borderTopWidth\",true);e.left+=bI.css(b4[0],\"borderLeftWidth\",true)}return{top:b5.top-e.top-bI.css(b3,\"marginTop\",true),left:b5.left-e.left-bI.css(b3,\"marginLeft\",true)}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||bV;while(e&&(!bI.nodeName(e,\"html\")&&bI.css(e,\"position\")===\"static\")){e=e.offsetParent}return e||bV})}});bI.each({scrollLeft:\"pageXOffset\",scrollTop:\"pageYOffset\"},function(b4,b3){var e=/Y/.test(b3);bI.fn[b4]=function(b5){return bI.access(this,function(b6,b9,b8){var b7=bo(b6);if(b8===aE){return b7?(b3 in b7)?b7[b3]:b7.document.documentElement[b9]:b6[b9]}if(b7){b7.scrollTo(!e?b8:bI(b7).scrollLeft(),e?b8:bI(b7).scrollTop())}else{b6[b9]=b8}},b4,b5,arguments.length,null)}});function bo(e){return bI.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}bI.each({Height:\"height\",Width:\"width\"},function(e,b3){bI.each({padding:\"inner\"+e,content:b3,\"\":\"outer\"+e},function(b4,b5){bI.fn[b5]=function(b9,b8){var b7=arguments.length&&(b4||typeof b9!==\"boolean\"),b6=b4||(b9===true||b8===true?\"margin\":\"border\");return bI.access(this,function(cb,ca,cc){var cd;if(bI.isWindow(cb)){return cb.document.documentElement[\"client\"+e]}if(cb.nodeType===9){cd=cb.documentElement;return Math.max(cb.body[\"scroll\"+e],cd[\"scroll\"+e],cb.body[\"offset\"+e],cd[\"offset\"+e],cd[\"client\"+e])}return cc===aE?bI.css(cb,ca,b6):bI.style(cb,ca,cc,b6)},b3,b7?b9:aE,b7,null)}})});bI.fn.size=function(){return this.length};bI.fn.andSelf=bI.fn.addBack;if(typeof module===\"object\"&&module&&typeof module.exports===\"object\"){module.exports=bI}else{a1.jQuery=a1.$=bI;if(typeof define===\"function\"&&define.amd){define(\"jquery\",[],function(){return bI})}}})(window);"
  },
  {
    "path": "testsample/src/main/assets/baidu_files/min_nav_9dda26ef.js",
    "content": "F._setMod(\"navplus\");F._fileMap({\"/js/min_nav_3025724b.js\":[\"config\",\"log/nav_all\",\"nav/ns_data\",\"nav/ns\",\"nav/nused_constructor\",\"nav/nused_load\",\"nav/nav_load\",\"nav/data_util\",\"nav/nused_opts\",\"nav/navns\",\"nav/nav_constructor\",\"nav/nav_trick\",\"start/nav_start\"],\"/js/nav_load_0046bba7.js\":[\"nav/nav_util\",\"nav/nav_tab\",\"nav/nused\",\"nav/nav_exchange\",\"common/name_sug\",\"common/placeholder\",\"common/sug_layer\",\"common/sug\",\"common/url_sug\",\"nav/nav_sort_tip\",\"nav/nadd_constructor\",\"nav/nav_addform\",\"nav/nav_item\",\"nav/dir_item\",\"nav/nplus\",\"nav/nori\",\"nav/nav\",\"nav/nav_edit\",\"nav/nav_scroll\",\"nav/nav_opts\",\"nav/nori_drag\",\"nav/nav_drag\",\"nav/dir_drag\"],\"/js/nadd_load_c71659d2.js\":[\"nav/nadd_load\",\"nav/nadd\"],\"/css/nav_min_22274039.css\":[\"navns.css\",\"nav_nall.css\",\"nav_nused.css\",\"nav.css\",\"nav_nori.css\",\"nav_nplus.css\",\"nav_nadd.css\",\"skin.css\",\"ns.css\"],\"/css/nav_c15cdd3d.css\":[\"nav_edit.css\",\"nav_rename_widget.css\",\"dir_rename_widget.css\",\"index_nav_addform.css\",\"sug.css\",\"nused_opts.css\",\"nav_opts.css\"],\"/js/del_added_tip_2dd745ad.js\":[\"tip/del_added_tip\"],\"/css/del_added_tip_921453c3.css\":[\"nav_del_added_tip.css\"],\"/js/extend_tip_5217437f.js\":[\"tip/nused_extend_tip\"],\"/css/nused_extend_tip_36f49658.css\":[\"nav_used_extend_tip.css\"],\"/js/update_tip_ebf7d265.js\":[\"tip/nused_update_tip\"],\"/css/nused_update_tip_8354a2ad.css\":[\"nav_used_update_tip.css\"]});F._defService(\"navplus\",{load:\"start/nav_start\"});F._useConfig=true;F._firstScreenJS=F._firstScreenJS||[];F._firstScreenJS.push(\"/js/min_nav_3025724b.js\");F.module(\"navplus:log/nav_all\",function(c,b,a){b.init=function(){F.addLog(\"navplus:nav\",{navClick:\"0100100001\",tabChange:\"0100200001\",menuClick:\"0100300001\",naddClick:\"0100400001\",nsTabChange:\"0100800001\",nsNavClick:\"0100900001\",navEditClick:\"0100500001\",navTipShow:\"0100600000\",navNewsClick:\"0100700001\",navOperate:\"0100100002\",fanliLayerShow:\"0100114000\",faliLinkClick:\"0100114001\"});F.addLog(\"navplus:tip\",{navTipShow:\"0100600000\"})}});F.module(\"navplus:nav/ns_data\",function(e,d,c){var b=[\"推荐导航\",\"百度新闻,http://news.baidu.com/,800\",\"淘宝,http://www.taobao.com/,101\",\"京东,http://www.jd.com/,102\",\"百度地图,http://map.baidu.com/,801\",\"百度糯米,http://www.nuomi.com/?cid=xsydh,805\",\"1号店,http://www.yhd.com/,125\",\"携程,http://www.ctrip.com/,123\",\"百度视频,http://v.baidu.com/,802\",\"爱奇艺,http://www.iqiyi.com/,108\",\"苏宁易购,http://www.suning.com/,126\",\"17173,http://www.17173.com/,141\",\"蚂蜂窝,http://www.mafengwo.cn/,137\",\"百度贴吧,http://tieba.baidu.com/,803\",\"58同城,http://www.58.com/,129\",\"乐视网,http://www.letv.com/,607\",\"百姓网,http://www.baixing.com/,121\",\"融360,http://www.rong360.com/,139\",\"百度知道,http://zhidao.baidu.com/,804\",\"易车网,http://www.bitauto.com/,132\",\"猎聘网,http://www.liepin.com/,122\",\"珍品网,http://www.zhenpin.com/,120\",\"微博,http://www.weibo.com/,109\",\"去哪儿网,http://www.qunar.com/,135\",\"百度彩票,http://caipiao.baidu.com/,134\"];var g=[[\"资讯\",\"腾讯网,http://www.qq.com/,400\",\"新浪网,http://www.sina.com.cn/,401\",\"新浪微博,http://www.weibo.com/,402\",\"搜狐网,http://www.sohu.com/,403\",\"光明网,http://www.gmw.cn/,404\",\"人民网,http://www.people.com.cn/,405\",\"新华网,http://www.xinhuanet.com/,406\",\"网易新闻,http://news.163.com/,407\",\"央视网,http://www.cntv.cn/,408\",\"chinadaily,http://www.chinadaily.com.cn/,409\",\"豆瓣,http://www.douban.com/,410\",\"爱卡汽车,http://www.xcar.com.cn/,411\",\"中国网,http://www.china.com.cn,412\",\"凤凰网,http://news.ifeng.com/,413\",\"人人网,http://renren.com/,414\"],[\"娱乐\",\"优酷网,http://www.youku.com,600\",\"土豆网,http://www.tudou.com,601\",\"爆米花,http://www.baomihua.com/,602\",\"爱奇艺,http://www.iqiyi.com,603\",\"哔哩哔哩,http://www.bilibili.com/,604\",\"迅雷看看,http://www.kankan.com/,605\",\"4399,http://www.4399.com/,606\",\"乐视网,http://www.letv.com/,607\",\"虾米,http://www.xiami.com/,608\",\"时光网,http://www.mtime.com,609\",\"起点中文网,http://www.qidian.com/,610\",\"多玩游戏,http://www.duowan.com/,611\",\"游民星空,http://www.gamersky.com/,612\",\"3DMGame,http://www.3dmgame.com/,613\",\"17173,http://www.17173.com/,614\"],[\"生活\",\"babytree,http://www.Babytree.com,500\",\"58同城,http://www.58.com/,501\",\"大众点评,http://www.dianping.com/,502\",\"携程网,http://www.ctrip.com/,503\",\"猎聘网,http://www.liepin.com/,504\",\"智联招聘,http://www.51job.com/,505\",\"蚂蜂窝,http://www.mafengwo.cn/,506\",\"中国银行,http://www.boc.cn/,507\",\"爱词霸,http://www.iciba.com/,508\",\"中国天气,http://www.Weather.com.cn/,509\",\"驴妈妈旅游网,http://www.Lvmama.com/,510\",\"快递100,http://www.kuaidi100.com/,511\",\"途牛旅游网,http://www.tuniu.com/,512\",\"39健康网,http://www.39.net/,513\",\"中国移动,http://www.10086.cn/,514\"],[\"购物\",\"淘宝,http://www.taobao.com/,450\",\"天猫,http://www.tmall.com/,451\",\"亚马逊中国,http://www.z.cn/,452\",\"京东,http://www.jd.com/,453\",\"阿里巴巴,http://www.alibaba.com/,454\",\"国美在线,http://www.gome.com.cn/,455\",\"苏宁易购,http://www.suning.com/,456\",\"一淘,http://www.etao.com/,457\",\"一号店,http://www.yhd.com/,458\",\"唯品会,http://www.vip.com/,459\",\"当当网,http://www.dangdang.com/,460\",\"华为商城,http://www.vmall.com/,461\",\"拍拍网,http://www.paipai.com/,462\",\"惠惠网,http://www.huihui.cn/,463\",\"美丽说,http://www.meilishuo.com/,464\"]],a=[],f=1;if(s_session.usertype==80||s_session.usertype==81||s_session.usertype==82){g.unshift(b)}$.each(g,function(h,o){var p=[],m;for(var n=1,j=o.length;n<j;n++){m=o[n].split(\",\");p.push({imgsrc:\"http://\"+f+\".su.bdimg.com/bigicon/24/\"+m[2]+\".png?v=ns\",link:m[1],text:m[0]});if(f++>7){f=1}}a.push({title:o[0],links:p})});return{B_PRODUCT:[{imgsrc:\"http://3.su.bdimg.com/nsicons/news.png\",link:\"http://news.baidu.com/\",text:\"百度新闻\"},{imgsrc:\"http://6.su.bdimg.com/nsicons/map.png\",link:\"http://ditu.baidu.com\",text:\"百度地图\"},{imgsrc:\"http://6.su.bdimg.com/nsicons/vedio.png\",link:\"http://v.baidu.com/\",text:\"百度视频\"},{imgsrc:\"http://1.su.bdimg.com/nsicons/tieba.png\",link:\"http://tieba.baidu.com\",text:\"百度贴吧\"},{imgsrc:\"http://1.su.bdimg.com/nsicons/nuomi.png\",link:\"http://www.nuomi.com\",text:\"百度糯米\",fanliUrl:\"http://vip.baidu.com/cps/show/goto?mallid=112&url=4ae77pUE5DSztWK86v%2FB2wRss%2BkeHQoRGcogxVt1mZlPqeFkzA0Vi7uTx6izvUDVWj0\"},{imgsrc:\"http://2.su.bdimg.com/nsicons/zhidao.png\",link:\"http://zhidao.baidu.com\",text:\"百度知道\"},{imgsrc:\"http://4.su.bdimg.com/nsicons/music.png\",link:\"http://music.baidu.com/\",text:\"百度音乐\"},{imgsrc:\"http://5.su.bdimg.com/nsicons/image.png\",link:\"http://image.baidu.com/\",text:\"百度图片\"},{imgsrc:\"http://7.su.bdimg.com/nsicons/wenku.png\",link:\"http://wenku.baidu.com/\",text:\"百度文库\"},{imgsrc:\"http://1.su.bdimg.com/nsicons/bang.png\",link:\"http://top.baidu.com/\",text:\"风云榜\"},{imgsrc:\"http://2.su.bdimg.com/nsicons/tuiguang.png\",link:\"http://e.baidu.com/\",text:\"百度推广\"}],OTHER:a}});F.module(\"navplus:nav/ns\",function(e,h,l){var i=s_domain.staticUrl+\"static/superplus/img/blank.gif?v=37647409.gif\";var a=e(\"superui:util/dot\"),c=a.compile(['<div id=\"s_nused\" class=\"s_ns_nused\">','<a href=\"javascript:;\" class=\"s_nused_more\" hidefocus>更多导航</a>','<div class=\"s_ns_wraper\">',\"{{~it.data :value:index}}\",'<div class=\"{{=value.fanliClass}} s_ns_item s_ns_item{{? value.prd}}w{{??}}p{{?}}\" data-title=\"{{=value.text}}\">','<a href=\"{{=value.link}}\" data-fanli=\"{{=value.fanliUrl}}\" title=\"{{=value.text}}\" class=\"s_ns_item_a ss-opacity-background2 \" target=\"_blank\">',\"{{?value.prd}}\",'<img width=\"100\"  src=\"{{=value.csrc}}\"  data-src=\"{{=value.imgsrc}}\"/>',\"{{??}}\",'<img height=\"23\"  src=\"{{=value.csrc}}\" data-src=\"{{=value.imgsrc}}\"/>',\"<span>{{=value.text}}</span>\",\"{{?}}\",\"</a>\",'<div class=\"nav-tag\"></div>','{{ if(value.rebateTitle && value.rebateTitle != \"\"){ }}','<div class=\"nav-rebate\"><a href=\"{{=value.rebateUrl}}\" target=\"_blank\">{{=value.rebateTitle}}</a></div>','<div class=\"nav-rebate-icon\"><a href=\"{{=value.rebateUrl}}\" target=\"_blank\"></a></div>',\"{{ } }}\",\"</div>\",\"{{~}}\",\"</div>\",\"</div>\"].join(\"\")),b=a.compile(['<div class=\"s-ns-navwrappr\" data-logactid=\"page-card-tpl-nav-more\">','<a href=\"javascript:;\" class=\"s-ns-goback\">返回</a>','<div class=\"s-nall-tabs s-opacity-border1-bottom s-navplus-ns\">',\"{{~it.data :value:index}}\",'<a href=\"#\" data-tabindex=\"{{=index+1}}\" class=\"tab-nav{{? it.current == index+1}} tab-on{{?}}\" onclick=\"return false;\" hidefocus=\"\">{{=value.title}}</a>',\"{{~}}\",\"</div>\",'<div class=\"s-nall-conts\">',\"{{~it.data :value:index}}\",'<div class=\"s_ns_wraper\" {{? it.current != index+1}}style=\"display:none\"{{?}} data-index=\"{{=index}}\">',\"{{~ value.links :val:idx}}\",'<div class=\"{{=val.fanliClass}} s_ns_item s_ns_item{{? !val.prd}}w{{??}}p{{?}}\" data-title=\"{{=val.text}}\">','<a href=\"{{=val.link}}\" data-fanli=\"{{=value.fanliUrl}}\" title=\"{{=val.text}}\"  class=\"s_ns_item_a ss-opacity-background2 \" target=\"_blank\">',\"{{? !val.prd}}\",'<img width=\"100\" src=\"{{=val.csrc}}\" data-src=\"{{=val.imgsrc}}\"/>',\"{{??}}\",'<img height=\"23\" src=\"{{=val.csrc}}\" data-src=\"{{=val.imgsrc}}\"/>',\"<span>{{=val.text}}</span>\",\"{{?}}\",\"</a>\",\"</div>\",\"{{~}}\",\"</div>\",\"{{~}}\",\"</div>\",\"</div>\"].join(\"\")),j=e(\"nav/data_util\"),f=e(\"superplus:common/user_attr\"),g=e(\"navplus:nav/ns_data\");var k=[{name:\"京东商城\",url:\"http://vip.baidu.com/pcui/show/malldetail?mid=101&vip_frm=super_nav_mall\",title:\"最高返利3%\"},{name:\"1号店\",url:\"http://vip.baidu.com/pcui/show/malldetail?mid=102&vip_frm=super_nav_mall\",title:\"最高返利4.5%\"},{name:\"携程\",url:\"http://vip.baidu.com/pcui/show/malldetail?mid=108&vip_frm=super_nav_mall\",title:\"最高返利3%\"},{name:\"百度糯米\",url:\"http://vip.baidu.com/pcui/show/malldetail?mid=112&vip_frm=super_nav_mall\",title:\"最高返利3.54%\"},{name:\"糯米网\",url:\"http://vip.baidu.com/pcui/show/malldetail?mid=112&vip_frm=super_nav_mall\",title:\"最高返利3.54%\"},{name:\"苏宁\",url:\"http://vip.baidu.com/pcui/show/malldetail?mid=150&vip_frm=super_nav_mall\",title:\"最高返利2.8%\"},{name:\"珍品网\",url:\"http://http://vip.baidu.com/pcui/show/malldetail?mid=210&vip_frm=super_nav_mall\",title:\"最高返利3.36%\"}];e(\"ns.css\");function d(){}d.prototype={inFlow:function(){return this.is12670()||this.is12671()||(s_session.usertype==80||s_session.usertype==81||s_session.usertype==82)},is12670:function(){return s_session.sid.indexOf(\"12670\")>-1},is12671:function(){return s_session.sid.indexOf(\"12671\")>-1},init:function(){this.content=$(\"#s_content_1\").addClass(\"s-navplus-nswraper\");$(\"#s_nall_tabs\").addClass(\"s-navplus-ns\");this.initMore(this.content);if(s_session.userTips.navNsTipsStatus>0){this.content.addClass(\"s-navplus-nsopen\")}this.nsw=this.content.find(\".s-ns-navwrap\");this.nsp=this.content.find(\".s-ns-navwrappr\");this.bindOther()},initMore:function(p){var n=parseInt(s_session.userTips.navNsTipsStatus||\"0\",10),q=g.OTHER,m=this,r=g.B_PRODUCT.slice(0);$.each(r,function(s,t){t.prd=true;t.imgsrc=m.makeImgsrc(t.imgsrc)});q.push({title:\"百度产品\",links:r});$.each(q,function(s,t){$.each(t.links,function(u,v){v.imgsrc=m.makeImgsrc(v.imgsrc);if(n==s+1&&n>0){v.csrc=v.imgsrc}else{v.csrc=i}})});var o=b({data:q,current:n||1});p.append(o)},makeData:function(s){var r=[],p,u=parseInt(s_session.userTips.navNsTipsStatus||\"0\",10),v=this,t;var o=false;F.use(\"common/user_attr\",function(w){if(w.getAttr&&w.getAttr(\"navQuanyiTip\")){o=true}$.each(s,function(x,y,A){if(y.bigIconUrl){var z={imgsrc:A=v.makeImgsrc(y.bigIconUrl),csrc:u<1?A:i,link:y.url,text:y.name,fanliUrl:y.fanliUrl,prd:true};for(var x=0;x<k.length;x++){if(k[x].name==y.name){z.rebateTitle=k[x].title;z.rebateUrl=k[x].url;break}}r.push(z);if(s_session.userTips.navQuanyiTip){z.fanliClass=\"fanli-show\"}else{z.fanliClass=\"fanli-hide\"}}});$.each(p=g.B_PRODUCT.slice(0,6),function(x,y){y.imgsrc=v.makeImgsrc(y.imgsrc);y.prd=false;y.csrc=u<1?y.imgsrc:i;for(var x=0;x<k.length;x++){if(k[x].name==y.text){y.rebateTitle=k[x].title;y.rebateUrl=k[x].url;break}}if(!y.fanliUrl){y.fanliUrl=\"\"}if(s_session.userTips.navQuanyiTip){y.fanliClass=\"fanli-show\"}else{y.fanliClass=\"fanli-hide\"}})});if(this.is12670()){[].unshift.apply(r,p)}else{var m=p.length,q=0,n=3;while(m--){r.splice(q,0,p.shift());q+=n;if(n++>4){n=2}}}return r},makeImgsrc:function(m){if($.isIE6){if(m.match(/bigicon/)){m=m.replace(/bigicon\\/24/,\"bigicon/8\")}else{if(!m.match(/_ie6/)){m=m.replace(/\\.png/,\"_ie6.png\")}}}return $.url.escapeSSL(m)},bindOther:function(){var n=this,o=n.nsp.find(\".s-nall-tabs a\"),m=n.nsp.find(\".s_ns_wraper\");$(\".s-ns-goback\").click(function(){n.content.css(\"overflow\",\"hidden\");n.content.addClass(\"s-ns-anim\");n.nsw.show().animate({left:0},300);n.nsp.animate({left:811},300,function(){n.nsp.hide();n.content.removeClass(\"s-ns-anim\");n.content.css(\"overflow\",\"visible\")});f.setAttr(\"navNsTipsStatus\",\"0\");l.fire(\"menuClick\",{opType:\"navback\"});$(window).trigger(\"cardrender\");l.fire(\"tabshow\",{modid:\"1\"})});o.click(function(){if($(this).hasClass(\"tab-on\")){return}var q=$(this),p=parseInt(q.attr(\"data-tabindex\"),10)-1;m.hide();m.eq(p).show();o.removeClass(\"tab-on\");q.addClass(\"tab-on\");f.setAttr(\"navNsTipsStatus\",p+1);if(s_session.usertype==80||s_session.usertype==81||s_session.usertype==82){p--}l.fire(\"nsTabChange\",{tabIndex:p,tagName:q.html(),clickType:\"nsTabChange\"});l.fire(\"tabshow\",{modid:\"1\"})});$(\".s-ns-navwrappr\").on(\"click\",\".s_ns_item\",function(r){var q=$(this);var p=q.closest(\".s_ns_wraper\").attr(\"data-index\");if(s_session.usertype==80||s_session.usertype==81||s_session.usertype==82){p--}l.fire(\"nsNavClick\",{clickType:\"nsNavClick\",tabindex:p,title:q.attr(\"data-title\"),url:q.find(\"a\").attr(\"href\")})});$(\".s-ns-navwrap\").delegate(\".s_ns_item\",\"mouseenter mouseleave\",function(q){var p=$(this);if(q.type==\"mouseenter\"){if(p.hasClass(\"s_ns_itemp\")){p.addClass(\"s_ns_itemp_hover\")}else{p.addClass(\"s_ns_itemw_hover\")}if(s_session.userTips.navQuanyiTip){$(this).find(\".nav-rebate\").show()}}else{p.removeClass(\"s_ns_itemp_hover\");p.removeClass(\"s_ns_itemw_hover\");$(this).find(\".nav-rebate\").hide()}}).delegate(\".nav-rebate\",\"mouseenter mouseleave\",function(p){if(p.type==\"mouseenter\"){$(this).addClass(\"rebate-hover\")}else{$(this).removeClass(\"rebate-hover\")}}).delegate(\".nav-rebate\",\"click\",function(q){var p=$(this);if(q.target.tagName==\"A\"){l.fire(\"faliLinkClick\",{text:p.text()||\"\",url:$(q.target).attr(\"href\")||\"\"})}q.stopPropagation()}).delegate(\".s_ns_item .s_ns_item_a\",\"click\",function(q){var p=$(this);if(p.attr(\"data-fanli\")&&s_session.userTips.navQuanyiTip){window.open(p.attr(\"data-fanli\"))}else{window.open(p.attr(\"href\"))}q.stopPropagation();q.preventDefault()}).delegate(\".nav-rebate-icon\",\"click\",function(q){var p=$(this);l.fire(\"faliLinkClick\",{text:p.text()||\"\",url:$(q.target).attr(\"href\")||\"\"});q.stopPropagation()});l.listen(\"nav/nav_addform\",\"fanlichanged\",function(q){var p=$(\"#s_nused .s_ns_wraper .s_ns_item\");if(s_session.userTips.navQuanyiTip){if(p.hasClass(\"fanli-hide\")){p.removeClass(\"fanli-hide\");p.addClass(\"fanli-show\")}}else{if(p.hasClass(\"fanli-show\")){p.removeClass(\"fanli-show\");p.addClass(\"fanli-hide\")}}});$(window).trigger(\"cardrender\")},bindMore:function(){var m=this;$(\".s_nused_more\").click(function(){m.content.addClass(\"s-ns-anim\");m.content.css(\"overflow\",\"hidden\");m.nsw.animate({left:-811},300,function(){m.nsw.hide();m.content.removeClass(\"s-ns-anim\");m.content.css(\"overflow\",\"visible\")});m.nsp.show().animate({left:0},300);l.fire(\"menuClick\",{opType:\"navmore\"});f.setAttr(\"navNsTipsStatus\",\"1\");$(window).trigger(\"cardrender\");setTimeout(function(){l.fire(\"tabshow\",{modid:\"1\"})},800)});$(\".s-ns-navwrap\").on(\"click\",\".s_ns_item\",function(p){var n=$(this),o=j.getParams(\"\",\"nused\");l.fire(\"navClick\",$.extend(o,{hasHot:n.find(\"span\").length?1:0,clfType:\"hot\",name:n.attr(\"data-title\"),url:n.find(\"a\").attr(\"href\")}))})},render:function(n){var o=n.hot,m=this.makeData(o);return c({data:m})}};return new d()});F.module(\"navplus:nav/nused_constructor\",function(b,d,i){b(\"nav_nused.css\");var c=new $.Strpx(\"font-size:20px; font-family:'Microsoft Yahei';\");var a=b(\"nav/ns\");var f={skeleton:'<div id=\"s_nused\" class=\"s-nused\"><div id=\"s_nav_ctner\" class=\"s-nav-ctner\">#{navs}</div></div>',used:'<div id=\"s_used_navs\" class=\"s-used-navs #{usedCName}\"><div class=\"used-title\">常用网址</div><div class=\"s-used-area\">#{used}</div><a id=\"s_used_close\" href=\"#\" class=\"s-used-close\" onclick=\"return false;\" hidefocus>清空常用</a></div>',hot:'<div id=\"s_hot_navs\" data-logactid=\"page-card-tpl-hotnav\" class=\"s-hot-navs #{hotCName}\"><div class=\"hot-title\">热门网址</div><div class=\"s-hot-area\">#{hot}</div></div>',bignav:'<div class=\"nav-warpper #{fanliclass}\" data-id=\"#{id}\"><a data-id=\"#{id}\" class=\"nav-item nav-big s-opacity-border3-top s-opacity-background2 #{classname}\" href=\"#{url}\" data-fanli=\"#{fanliUrl}\" title=\"#{name}\" target=\"_blank\" hidefocus><img width=\"115\" height=\"70\" src=\"#{bigIconUrl}\"/><div class=\"tag #{tagClass}\"></div></a><div data-rebate=\"#{hasRebate}\" class=\"rebate #{rebateClass}\"><a href=\"#{rebateUrl}\" target=\"_blank\">#{rebate}</a></div><div data-rebate=\"#{hasRebate}\" class=\"rebate-icon #{rebateClass}\"><a href=\"#{rebateUrl}\" target=\"_blank\"></a></div></div>',smallnav:'<div class=\"nav-warpper #{fanliclass}\" data-id=\"#{id}\"><a data-id=\"#{id}\" class=\"nav-item nav-small s-opacity-border3-top s-opacity-background2 #{classname}\" href=\"#{url}\" title=\"#{name}\" target=\"_blank\" hidefocus><img src=\"#{iconUrl}\" height=\"16\" width=\"16\"/><em>#{name}</em><div class=\"tag #{tagClass}\"></div></a><div data-rebate=\"#{hasRebate}\" class=\"rebate #{rebateClass}\"><a href=\"#{rebateUrl}\" target=\"_blank\">#{rebate}</a></div><div data-rebate=\"#{hasRebate}\" class=\"rebate-icon #{rebateClass}\"><a href=\"#{rebateUrl}\" target=\"_blank\"></a></div></div>',blank:'<span class=\"nav-blank #{classname}\"><div class=\"nav-blank-bg\"></div></span>',nall:'<div id=\"s_nall_tabs\" class=\"s-nall-tabs s-opacity-border1-bottom\"><a href=\"#\" class=\"tab-nav #{hotTab}\" onclick=\"return false;\" hidefocus>我的导航</a><a href=\"#\" class=\"tab-used #{usedTab}\" onclick=\"return false;\" hidefocus>推荐导航</a><a href=\"#\" class=\"tab-product #{product}\" style=\"display:#{productdisplay}\" onclick=\"return false;\" hidefocus>百度产品</a></div><div id=\"s_nall\" class=\"s-nall \"></div>'};var g=[{name:\"京东商城\",link:\"http://www.jd.com\",url:\"http://vip.baidu.com/pcui/show/malldetail?mid=101&vip_frm=super_nav_mall\",title:\"最高返利3%\"},{name:\"1号店\",link:\"http://www.yhd.com\",url:\"http://vip.baidu.com/pcui/show/malldetail?mid=102&vip_frm=super_nav_mall\",title:\"最高返利4.5%\"},{name:\"携程\",link:\"http://www.ctrip.com\",url:\"http://vip.baidu.com/pcui/show/malldetail?mid=108&vip_frm=super_nav_mall\",title:\"最高返利3%\"},{name:\"百度糯米\",link:\"http://www.nuomi.com\",url:\"http://vip.baidu.com/pcui/show/malldetail?mid=112&vip_frm=super_nav_mall\",title:\"最高返利3.54%\"},{name:\"糯米网\",link:\"http://www.nuomi.com\",url:\"http://vip.baidu.com/pcui/show/malldetail?mid=112&vip_frm=super_nav_mall\",title:\"最高返利3.54%\"},{name:\"苏宁\",link:\"http://www.suning.com\",url:\"http://vip.baidu.com/pcui/show/malldetail?mid=150&vip_frm=super_nav_mall\",title:\"最高返利2.8%\"},{name:\"珍品网\",link:\"http://www.zhenpin.com\",url:\"http://vip.baidu.com/pcui/show/malldetail?mid=210&vip_frm=super_nav_mall\",title:\"最高返利3.36%\"}];d.render=function(m){var k=e(m.used),l=h(m.hot,m.used);if(a.inFlow()){return a.render(m)}return $.formatString(f.skeleton,{navs:k+l})};d.renderNall=function(n){var k={};if(s_session.sid.indexOf(\"8924\")>-1){var l=s_session.userTips.showAllTab,m=s_session.userTips.navInproduct;if(m!==true){if(l===true){l=\"nav\"}else{if(l===false||l===undefined){l=\"nused\"}}}else{l=\"product\"}}else{l=s_session.userTips.showAllTab?\"nav\":\"nused\"}k.usedTab=l===\"nused\"?\"tab-on\":\"\";k.hotTab=l===\"nav\"?\"tab-on\":\"\";k.product=l===\"product\"?\"tab-on\":\"\";k.productdisplay=s_session.sid.indexOf(\"8924\")>-1?\"\":\"none\";return $.formatString(f.nall,k)};var e=function(m){var k=[],l=\"\";if(m.length){$.each(m,function(n,o){k.push(j(o,n))})}else{l=\"unshown\"}return $.formatString(f.used,{used:k.join(\"\"),usedCName:l})};var h=function(n,m){var l=[],k=\"\";if(m.length){k=\"two-lines\"}else{k=\"three-lines\"}$.each(n,function(o,p){l.push(j(p,o))});return $.formatString(f.hot,{hot:l.join(\"\"),hotCName:k})};var j=function(m,k){m.classname=\"\";if((k+1)%7==0){m.classname+=\" nav-right\"}if(!m.id){return $.formatString(f.blank,m)}m.url=decodeURIComponent(m.url);m.classname+=m.nType?\" ntype-\"+m.nType:\"\";m.rebateClass=\"hide\";if(s_session.userTips.navQuanyiTip){m.fanliclass=\"fanli-show\"}else{m.fanliclass=\"fanli-hide\"}for(var l=0;l<g.length;l++){if(m.name==g[l].name){m.rebateClass=\"\";m.rebate=g[l].title;m.rebateUrl=g[l].url;m.hasRebate=\"1\";m.fanliUrl=m.url;m.url=g[l].link;break}else{m.rebateClass=\"hide\";m.rebate=\"\";m.rebateUrl=\"\";m.hasRebate=\"0\";m.fanliUrl=\"\"}}if(m.bigIconUrl){m.bigIconUrl=decodeURIComponent(m.bigIconUrl);m.bigIconUrl=$.formatString(m.bigIconUrl,{imgpath:$.isIE6?\"8\":\"24\"});return $.formatString(f.bignav,m)}else{m.iconUrl=decodeURIComponent(m.iconUrl);return $.formatString(f.smallnav,m)}};d.reShow=function(){};d.renderNav=j});F.module(\"navplus:nav/nused_load\",function(c,e,h){var d=c(\"superplus:common/user_attr\"),f=c(\"nav/data_util\");var b=c(\"navplus:nav/ns\");var i,g=!!s_session.sample_value,a=1;e.load=function(j){if($(\"#s_nused\")[0]){j&&j($(\"#s_nall,#s_nused\"));h.fire(\"nusedLoad\")}else{$.ajaxsyncget(s_domain.baseuri+\"/nplus/data/hottab\",function(k){if(k.errNo==0){f.init(k,\"nused\");h.use(\"nav/nused_constructor\",function(l){if(!$(\"#s_nall\")[0]){$(\"#s_content_1\").html('<div class=\"s-ns-navwrap\">'+l.renderNall()+\"</div>\");if(b.inFlow()){b.init()}h.fire(\"tabshow\",{modid:\"1\"})}if($(\"#s_nused\")[0]){return}$(\"#s_nall\").append(l.render(k.data));if($.isIE6){setTimeout(function(){$(\"#s_used_close\").toggleClass(\"s-xxx-ie6\")},1000)}h.fire(\"loaded\");if(d.getAttr(\"navUsedUpdateTip\")){F.call(\"navplus:tip/nused_update_tip\",\"init\")}if(j){$(\"#s_nused\").css(\"display\",\"none\");j($(\"#s_nused\"));h.fire(\"nusedLoad\")}else{if(!g){F.call(\"superplus:skeleton/skeleton\",\"changeTo\",1)}else{F.call(\"superplus:skeleton/skeleton\",\"sendLoadTime\",a)}}$(\"#s_content_1\").one(\"mouseover\",function(){h.use(\"nav/nused\",function(m){m.init()})})})}else{F.use(\"superplus:skeleton/skeleton\",function(m){m.loadError($(\"#s_content_1\"));if(j){var l=$(\"#s_content_1\").find(\".s-load-error\");l.css(\"display\",\"none\");j(l)}else{if(!g){m.changeTo(1)}else{F.call(\"superplus:skeleton/skeleton\",\"sendLoadTime\",a)}}})}})}}});F.module(\"navplus:nav/nav_load\",function(c,g,j){var f=c(\"nav/nused_constructor\"),d=c(\"superplus:common/user_attr\"),h=c(\"nav/data_util\"),i=!!s_session.sample_value,a=1;var b=c(\"nav/ns\");g.load=function(k){if($(\"#s_nav\")[0]){k&&k($(\"#s_nall, #s_nav\"))}else{$.ajaxsyncget(s_domain.baseuri+\"/nplus/data/nav\",function(l){if(l.errNo==0){h.init(l,\"nav\");if(!$(\"#s_nall\")[0]){$(\"#s_content_1\").html('<div class=\"s-ns-navwrap\">'+f.renderNall()+\"</div>\");if(b.inFlow()){b.init()}j.fire(\"tabshow\",{modid:\"1\"})}if($(\"#s_nav\")[0]){return}if(!l.isNplus){j.use(\"nav/nav_constructor\",function(n){$(\"#s_nall\").append(n.renderNoriAll(l.data[0])).css(\"display\",\"\");e({dom:$(\"#s_nori_navs\")});j.listen(\"nav\",\"layoutChange\",e);if(k){$(\"#s_nav\").css(\"display\",\"none\");k($(\"#s_nav\"))}else{if(!i){F.call(\"superplus:skeleton/skeleton\",\"changeTo\",1)}else{F.call(\"superplus:skeleton/skeleton\",\"sendLoadTime\",a)}}j.fire(\"loaded\");if(s_session.strategy_hit==2){j.use(\"nav/nav_sort_tip\",function(o){o.init()})}if(s_session.strategy_hit==2){var m;j.listen(\"superplus:skeleton/skeleton_ext\",\"viewChange\",function(o){if(o.to==1){setTimeout(function(){j.use(\"nav/nav_scroll\",function(p){p.init(\"nori\")})},200)}});clearTimeout(m);m=setTimeout(function(){j.use(\"nav/nav_scroll\",function(o){o.init(\"nori\")})},300)}else{$(\"#s_nav .s-scroll-content\").addClass(\"s-haveno-test\")}$(\"#s_content_1\").one(\"mouseover\",function(){j.use(\"nav/nav\",function(o){o.init()})})})}else{j.use(\"nav/nav_constructor\",function(m){$(\"#s_nall\").append(m.renderNplusAll(l.data)).css(\"display\",\"\");e({dom:$(\"#s_nplus_navs\")});j.listen(\"nav\",\"layoutChange\",e);if(k){$(\"#s_nav\").css(\"display\",\"none\");k($(\"#s_nav\"))}else{if(!i){F.call(\"superplus:skeleton/skeleton\",\"changeTo\",1)}else{F.call(\"superplus:skeleton/skeleton\",\"sendLoadTime\",a)}}if(s_session.strategy_hit==2){j.use(\"nav/nav_sort_tip\",function(o){o.init()});j.listen(\"superplus:skeleton/skeleton_ext\",\"viewChange\",function(o){if(o.to==1){setTimeout(function(){j.use(\"nav/nav_scroll\",function(p){p.init(\"nplus\")})},200)}})}j.fire(\"loaded\");if(s_session.strategy_hit==2){clearTimeout(n);var n=setTimeout(function(){j.use(\"nav/nav_scroll\",function(o){o.init(\"nplus\")})},300)}else{$(\"#s_nav .s-scroll-content\").addClass(\"s-haveno-test\")}$(\"#s_content_1\").one(\"mouseover\",function(){j.use(\"nav/nav\",function(o){o.init()})})})}}else{F.use(\"superplus:skeleton/skeleton\",function(n){n.loadError($(\"#s_content_1\"));if(k){var m=$(\"#s_content_1\").find(\".s-load-error\");m.css(\"display\",\"none\");k(m)}else{if(!i){n.changeTo(1)}else{F.call(\"superplus:skeleton/skeleton\",\"sendLoadTime\",a)}}})}})}};var e=function(l){var k=$(l.dom);if(!k[0]){return}if($.isIE6){setTimeout(function(){$(\"#s_nav\")[0].className=$(\"#s_nav\")[0].className},10)}j.fire(\"heightChange\",{dom:$(\"#s_nav\")})}});F.module(\"navplus:nav/data_util\",function(d,f,k){var g={},c={},i=12;f.init=function(l,m){if(m==\"nused\"){_nused=l.data}else{if(l.isNplus==1){i=l.defaultDirId||12;c=l.data}else{c=l.data}}};var h=function(t,q){var s=null;if(q==\"nused\"){for(var p=0,m=_nused.used.length;p<m;p++){if(_nused.used[p].id==t){s=_nused.used[p];s.clfType=\"nused\";break}}if(!s){for(var p=0,m=_nused.hot.length;p<m;p++){if(_nused.hot[p].id==t){s=_nused.hot[p];s.clfType=\"hot\";break}}}}else{for(var p=0,m=c.length;p<m;p++){var r=c[p].navs;for(var o=0,n=r.length;o<n;o++){if(r[o].id==t){s=r[o];s.dirId=c[p].dirId;s.dirName=c[p].dirName;break}}}}return s};var b=function(n,l){n=n||\"\";l=l||\"\";var m=\"\";if(\"s_rp\"==n||\"u_rp\"==n){var o=l.split(\"-\");if(o.length!=4){m=\"s_rp_other\"}else{if(o[0]+\"-\"+o[1]!=\"rp-0\"){if(o[0]+\"-\"+o[1]==\"rp-2\"){m=(n==\"s_rp\"?\"s_rp2_\"+o[2]:\"u_rp2_\"+o[2])}else{m=\"s_rp_other\"}}else{m=(n==\"s_rp\"?\"s_rp_\"+o[2]:\"u_rp_\"+o[2])}}}else{if(\"u_res\"==n){m=\"u_\"+l}else{if(\"u_app-import\"==n){m=\"u_app_import\"}else{if(\"u_share\"==n){m=\"u_tmpage\"}else{m=n}}}}m=m.replace(/-/g,\"_\");return m};var j=function(o,l){var n=h(o,l)||{},m={name:n.name,url:decodeURIComponent(n.url),tab:l,source:n.source,ubsSource:n.ubsSource||b(n.source,n.src_extra),nType:n.nType};if(n.fanliUrl&&n.fanliUrl!=\"\"&&s_session.userTips.navQuanyiTip){m.url=decodeURIComponent(n.fanliUrl)}if(n.fanliurl&&n.fanliurl!=\"\"&&s_session.userTips.navQuanyiTip){m.url=decodeURIComponent(n.fanliurl)}if(l==\"nused\"){m.hasUsed=($(\"#s_nused\").find(\".ntype-comm\").length>0?1:0);m.hasAdd=($(\"#s_nused\").find(\".ntype-add\").length>0?1:0);m.hasHot=($(\"#s_nused\").find(\".ntype-hot\").length>0?1:0);m.clfType=n.clfType}else{m.isNplus=s_session.userProp.isNplus;if(s_session.userProp.isNplus){m.dirId=n.dirId;m.dirName=n.dirName}}return m};var a=function(o){o=$.trimAll(o);var n=$(\"#s_nplus_ctner\").find(\".s-ncf-name-link\");for(var m=0,l=n.length;m<l;m++){if(o==$(n[m]).attr(\"data-dirname\")){return true}}return false};var e=function(l,m){$.ajaxpost(s_domain.baseuri+\"/nplus/submit/nav\",{cmd:\"add_dir\",dirName:l},function(n){if(n.errNo==0){s_session.userTips.isCustomDir=true;var o=n.data.dirId;k.fire(\"dirAdded\",{dirId:o,dirName:l})}m&&m(n)})};f.delDir=function(l){$.ajaxpost(s_domain.baseuri+\"/nplus/submit/nav\",{dirIds:l,cmd:\"del_dir\"},function(){})};f.renameDir=function(m,l,o){var n={cmd:\"rename_dir\",dirId:m,dirName:l};$.ajaxpost(s_domain.baseuri+\"/nplus/submit/nav\",n,function(p){if(p.errNo==0){s_session.userTips.isCustomDir=true}o&&o(p)})};f.getParams=j;f.defaultDirId=i;f.isDirExist=a;f.addDir=e});F.module(\"navplus:nav/nused_opts\",function(d,c,a){d(\"nused_opts.css\");var e=d(\"navplus:nav/nused_constructor\");c.init=function(){a.listen(\"nav/nav_item\",\"editNav\",function(f){b(f)})};var b=function(g){var f=getNused(g.id);if(f){f.before(e.renderNav(g));f.remove()}}});F.module(\"navplus:nav/navns\",function(e,d,b){var f=e(\"superplus:common/user_attr\"),c=e(\"superplus:ps/log\"),h=c.keyMap,a=[{imgsrc:\"http://3.su.bdimg.com/nsicons/news.png\",link:\"http://news.baidu.com/\",text:\"新闻\"},{imgsrc:\"http://6.su.bdimg.com/nsicons/map.png\",link:\"http://ditu.baidu.com\",text:\"地图\"},{imgsrc:\"http://6.su.bdimg.com/nsicons/vedio.png\",link:\"http://v.baidu.com/\",text:\"视频\"},{imgsrc:\"http://1.su.bdimg.com/nsicons/tieba.png\",link:\"http://tieba.baidu.com\",text:\"贴吧\"},{imgsrc:\"http://1.su.bdimg.com/nsicons/nuomi.png\",link:\"http://www.nuomi.com/\",text:\"糯米\"},{imgsrc:\"http://2.su.bdimg.com/nsicons/zhidao.png\",link:\"http://zhidao.baidu.com\",text:\"知道\"},{imgsrc:\"http://4.su.bdimg.com/nsicons/music.png\",link:\"http://music.baidu.com/\",text:\"音乐\"},{imgsrc:\"http://5.su.bdimg.com/nsicons/image.png\",link:\"http://image.baidu.com/\",text:\"图片\"},{imgsrc:\"http://7.su.bdimg.com/nsicons/wenku.png\",link:\"http://wenku.baidu.com/\",text:\"文库\"},{imgsrc:\"http://1.su.bdimg.com/nsicons/bang.png\",link:\"http://top.baidu.com/\",text:\"风云榜\"},{imgsrc:\"http://2.su.bdimg.com/nsicons/tuiguang.png\",link:\"http://e.baidu.com/\",text:\"推广\"}];h=$.extend(h,{\"糯米\":\"tjnuomi\",\"风云榜\":\"tjbang\",\"推广\":\"tjtuiguang\",\"更多\":\"tjmore\"});var g={init:function(){if(!this.tabs){if($(\"#s_nall_tabs\").length){this.tabs=$(\"#s_nall_tabs\");this.contents=$(\"#s_nall\");this.create();this.bindEvent()}}},create:function(){if(!(this.tab=this.tabs.find(\".tab-product\")).length){this.tabs.append(this.tab=$('<a href=\"#\" class=\"tab-product\" onclick=\"return false;\" hidefocus=\"true\">百度产品</a>'))}if(s_session.userTips.conNavNewTip){this.tab.append(\"<em>•</em>\")}this.content=$('<div class=\"s-product-navs s-hot-navs\" id=\"s_product\"></div>');this.contents.append(this.content.hide());this.createContent()},showContent:function(){this.content.show()},createContent:function(){var i=[],j=null;$.each(a,function(k,l){j=l.imgsrc;if($.isIE6){j=j.replace(/\\.png$/,\"_ie6.png\")}i.push('<div  class=\"nav-item nav-big s-opacity-border3-top s-opacity-background2  ntype-hot\" ><a hidefocus href=\"',l.link,'\" target=\"_blank\" ><img src=\"'+$.url.escapeSSL(j)+'\" /><span>',l.text,\"</span></a></div>\")});i.push('<div  class=\"nav-item nav-big s-opacity-border3-top s-opacity-background2  ntype-hot \" ><a  class=\"more\" target=\"_blank\" href=\"http://baidu.com/more/\">更多</a></div>');this.content.html(i.join(\"\"))},bindEvent:function(){this.tabs.click(function(k){var j=$(k.target);if(k.target.nodeName==\"A\"){if(j.hasClass(\"tab-product\")){var i=g.tab.find(\"em\");g.contents.find(\">div\").hide();g.content.show();if(i.length){f.setAttr(\"conNavNewTip\",false);i.remove()}f.setAttr(\"navInproduct\",true);var l=g.tabs.find(\".tab-on\");if(!l.length){l=$(\".tab-nav\")}F.call(\"navplus:nav/nav_util\",\"change\",l.hasClass(\"tab-nav\")?$(\"#s_nav\"):$(\"#s_nused\"),$(\"#s_product\"));b.fire(\"menuClick\",{opType:\"productTab\"})}else{g.content.hide();g.tab.removeClass(\"tab-on\");g.contents.find(\">div\").hide();f.setAttr(\"navInproduct\",false);if(j.hasClass(\"tab-nav\")){$(\"#s_nav\").show()}else{$(\"#s_nused\").show()}}g.tabs.find(\".tab-on\").removeClass(\"tab-on\");j.addClass(\"tab-on\")}});this.content.find(\"div\").mouseenter(function(){$(this).addClass(\"ui-hover\")}).mouseleave(function(){$(this).removeClass(\"ui-hover\")}).mousedown(function(){var j=$(this),i=j.text().replace(/[\\s\\t\\xa0\\u3000]/g,\"\");if(h[i]){c.fireLog(h[i])}})}};d.init=function(){g.init()};d.load=function(){b.use(\"nav/nused_constructor\",function(i){if(!$(\"#s_product\")[0]){$(\"#s_content_1\").html(i.renderNall())}g.init();g.showContent();if(s_session.userTips.showAllTab){b.use(\"nav/nav_load\",function(j){j.load(function(k){})})}else{b.use(\"nav/nused_load\",function(j){j.load(function(k){})})}})}});F.module(\"navplus:nav/nav_constructor\",function(d,f,m){d(\"nav_nori.css\");var g=d(\"nav/data_util\");var h={nav:'<li id=\"s_nav_#{id}\" class=\"s-#{ntype}-nav\"><div class=\"s-#{ntype}-inner s-opacity-blank3\"><a href=\"#{url}\" data-id=\"#{id}\" data-fanliurl=\"#{fanliUrl}\" class=\"s-nav-name\" title=\"#{name}\" target=\"_blank\" hidefocus=\"\"><img width=\"16\" height=\"16\" src=\"#{iconUrl}\"><em class=\"sc-dragitem#{fanliClass}\">#{navText}</em></a></div><a class=\"nav-del\" title=\"删除\" href=\"#\" hidefocus onclick=\"return false;\"></a></li>',blank:'<span class=\"s-nav-blank\"><div class=\"s-nav-blank-bg\"><a id=\"s_nav_blank_add\" class=\"s-nav-blank-add\" href=\"#\" onclick=\"return false;\" hidefocus></a></div></span>',ske:'#{tip4618}#{navs}<div class=\"s-nav-opts\" id=\"s_nav_opts\"><a href=\"#\" class=\"s-nav-opt edit #{unshown}\" onclick=\"return false;\" title=\"管理我收藏的网址\" hidefocus>编辑</a><a href=\"#\" class=\"s-nav-opt add\" onclick=\"return false;\" title=\"添加网址\" hidefocus>添加#{recomm}</a></div>',dir:'<div id=\"s_ncf_#{dirId}\" data-dirid=\"#{dirId}\" class=\"s-ncf #{first} #{unshown}\"><div id=\"s_ncf_name_#{dirId}\" class=\"s-ncf-name s-opacity-border2-top\"><a href=\"#\" onclick=\"return false;\" class=\"s-ncf-name-link\" data-dirname=\"#{dirName}\" title=\"#{dirName}\">#{dirName}</a></div><ul id=\"s_ncf_navs_#{dirId}\" class=\"s-ncf-navs s-opacity-border4-bottom\">#{navs}</ul></div>',dir_add:'<li class=\"s-nplus-add-btn #{blank}\" id=\"s_nplus_add_btn_#{dirId}\"><a href=\"#\" onclick=\"return false;\" hidefocus></a><span>直接添加或拖入网址到该分类</span></li>',dir_del:'<li class=\"s-nplus-del-btn\" id=\"s_nplus_delete_btn_#{dirId}\"><a href=\"#\" onclick=\"return false;\" hidefocus><span></span>删除分类</a></li>',dir_rename:'<a class=\"s-ncf-name-rename\" href=\"#\" onclick=\"return false;\" title=\"修改分类名称\" id=\"s_nplus_dir_rename_#{dirId}\" hidefocus></a>',fanli_tpl:'<div class=\"tip-4-618\"><em><a href=\"http://vip.baidu.com/pcui/show/faq?class_id=3&vip_frm=super_mynav_help\" target=\"_blank\">返利导航</a></em>诞生啦，从此购物还能<a href=\"http://vip.baidu.com/pcui/show/faq?class_id=3&vip_frm=super_mynav_help\" target=\"_blank\">拿返利</a>，618全民疯抢<a href=\"http://vip.baidu.com/special/activity2015618?vip_frm=super_mynav_618\" target=\"_blank\">点这里!</a><span class=\"tip-618-closer\"></span></div>'};f.renderNoriAll=function(q){var o=q.navs.length,p=0;while(o--){p+=q.navs[o].length}return'<div id=\"s_nav\" class=\"s-nori'+(s_session.userTips.navQuanyiTip&&p!==0?\" fanli-pattern\":\"\")+(s_session.userTips.tip4618&&p!==0?\" tip618-pattern\":\"\")+'\">'+i(q)+\"</div>\"};var i=function(p){if(s_session.userTips.recNavTip){m.fire(\"navTipShow\",{tipType:\"recommendTip\"})}if(p.navs&&p.navs.length){var o=[];$.each(p.navs,function(q,r){o.push(j(r))});return $.formatString(h.ske,{navs:'<div class=\"s-scroll-content\"><div id=\"s_nori_ctner\" class=\"s-nori-ctner\"><ul class=\"s-nori-navs\" id=\"s_nori_navs\">'+o.join(\"\")+\"</ul></div></div>\",tip4618:s_session.userTips.tip4618?h.fanli_tpl:\"\",unshown:\"\",pos:\"\",recomm:s_session.userTips.recNavTip?\"<span></span>\":\"\",ntype:\"nori\"})}else{return $.formatString(h.ske,{navs:h.blank,tip4618:s_session.userTips.tip4618?h.fanli_tpl:\"\",unshown:\"unshown\",pos:\"pos-absolute\",recomm:s_session.userTips.recNavTip?\"<span></span>\":\"\",ntype:\"nori\"})}};f.renderNplusAll=function(q){var o=q.length,p=0;while(o--){p+=q[o].navs.length}return'<div id=\"s_nav\" class=\"s-nplus'+(s_session.userTips.navQuanyiTip&&p!==0?\" fanli-pattern\":\"\")+(s_session.userTips.tip4618&&p!==0?\" tip618-pattern\":\"\")+'\">'+a(q)+\"</div>\"};var a=function(t){if(s_session.userTips.recNavTip){m.fire(\"navTipShow\",{tipType:\"recommendTip\"})}var s=true,r=0;for(var q=0,o=t.length;q<o;q++){if(t[q].navs.length>0){s=false;r=q;break}}if(!s){var p=[];$.each(t,function(w,u){var v=[];if(u.navs&&u.navs.length){$.each(u.navs,function(x,y){v.push(l(y))})}p.push($.formatString(h.dir,{dirId:u.dirId,dirName:u.dirName,navs:v.join(\"\"),first:w==r?\"first\":\"\",unshown:u.navs.length?\"\":\"unshown\"}))});return $.formatString(h.ske,{navs:'<div class=\"s-scroll-content\"><div id=\"s_nplus_ctner\" class=\"s-nplus-ctner\">'+p.join(\"\")+\"</div></div>\",tip4618:s_session.userTips.tip4618?h.fanli_tpl:\"\",unshown:\"\",pos:\"\",recomm:s_session.userTips.recNavTip?\"<span></span>\":\"\",ntype:\"nplus\"})}else{return $.formatString(h.ske,{navs:h.blank,tip4618:s_session.userTips.tip4618?h.fanli_tpl:\"\",unshown:\"unshown\",pos:\"pos-absolute\",recomm:s_session.userTips.recNavTip?\"<span></span>\":\"\",ntype:\"nplus\"})}};var j=function(p){var o={id:p.id,url:decodeURIComponent(p.url),name:p.name,fanliClass:(!!p.fanliurl)?\" fanli-item\":\"\",navText:(!!p.fanliurl)?'<span class=\"nav-text\">'+p.name+'</span><span class=\"fanli-tag\" title=\"'+p.fanlititle+'\" data-url=\"'+decodeURIComponent(p.fanliMallUrl)+'\"></span>':p.name,iconUrl:p.iconUrl,title:p.name,ntype:\"nori\",fanliUrl:(!!p.fanliurl)?decodeURIComponent(p.fanliurl):\"\"};return $.formatString(h.nav,o)};var l=function(o){return $.formatString(h.nav,{id:o.id,url:decodeURIComponent(o.url),name:o.name,fanliClass:(!!o.fanliurl)?\" fanli-item\":\"\",navText:(!!o.fanliurl)?'<span class=\"nav-text\">'+o.name+'</span><span class=\"fanli-tag\" title=\"'+o.fanlititle+'\" data-url=\"'+decodeURIComponent(o.fanliMallUrl)+'\"></span>':o.name,iconUrl:o.iconUrl,title:o.name,ntype:\"nplus\",fanliUrl:(!!o.fanliurl)?decodeURIComponent(o.fanliurl):\"\"})};var e=function(){return h.blank};var c=function(o){return $.formatString(h.dir,{dirId:o.dirId,dirName:o.dirName,navs:\"\",first:o.first?\"first\":\"\",unshown:o.unshown})};var b=function(o){var p=\"\";if(o.dirId!=g.defaultDirId){p=$.formatString(h.dir_del,o)}return $.formatString(h.dir,{dirId:o.dirId,dirName:o.dirName,navs:p,first:o.first?\"first\":\"\",unshown:o.unshown})};var k=function(o){var p=\"\";if(o!=g.defaultDirId){p=$.formatString(h.dir_del,{dirId:o})}return p};var n=function(o){return $.formatString(h.dir_rename,{dirId:o})};f.renderNori=j;f.renderNplus=l;f.renderBlank=e;f.renderDir=c;f.renderDel=k;f.renderBlankDir=b;f.renderDirRename=n;f.renderNoris=i;f.renderNpluss=a});F.module(\"navplus:nav/nav_trick\",function(c,b,a){var d=function(){var e=new RegExp(\"^http://www.bitauto.com\"),h=new RegExp(\"(^http://www.baixing.com)|(^http://www.ifeng.com)|(^http://www.zhenpin.com)|(^http://www.zongheng.com)|(^http://www.ctrip.com)|(^http://caipiao.163.com)|(^http://www.yhd.com)|(^http://www.suning.com)|(^http://www.mogujie.com)|(^http://www.xywy.com)|(^http://www.58.com)|(^http://www.miercn.com)|(^http://www.51job.com)|(^http://weibo.com)|(^http://www.12306.cn)|(^http://www.mafengwo.cn)|(^http://www.sina.com.cn)\"),g=\"WT.mc_id=bdlogo\",f=\"tongji=baiduxinshouye\";$(\"#s_content_1\").delegate(\"a\",\"mousedown\",function(k){var j=$(this),i=j.attr(\"href\");if(e.test(i)&&j.attr(\"target\")==\"_blank\"){j.attr(\"href\",i.indexOf(\"?\")>=0?(i+\"&\"+g):(i+\"?\"+g));setTimeout(function(){j.attr(\"href\",i)},400)}if(h.test(i)&&j.attr(\"target\")==\"_blank\"){j.attr(\"href\",i.indexOf(\"?\")>=0?(i+\"&\"+f):(i+\"?\"+f));setTimeout(function(){j.attr(\"href\",i)},400)}})};b.init=function(){d()}});F.module(\"navplus:start/nav_start\",function(c,b,a){c(\"superui:util/dot\");b.init=function(){if((s_session.usertype==80||s_session.usertype==81||s_session.usertype==82)&&(s_session.userTips.navNsTipsStatus==\"0\"||!s_session.userTips.navNsTipsStatus)){s_session.userTips.navNsTipsStatus=1}F.call(\"navplus:log/nav_all\",\"init\");F.call(\"navplus:nav/nav_tab\",\"init\");F.call(\"navplus:nav/nav_trick\",\"init\")}});F.call(\"navplus:start/nav_start\",\"init\");"
  },
  {
    "path": "testsample/src/main/assets/baidu_files/min_super_6a1867d5.js",
    "content": "F.module(\"common/result_page\",function(c,b,a){b.createResulPageLink=function(d){if(!d||!d.wd){return\"\"}if(!d.tn){d.tn=\"baidutop10\"}return\"//www.baidu.com/s?wd=\"+encodeURIComponent(d.wd)+\"&ie=utf-8&tn=\"+d.tn+\"&rsv_idx=2\"}});F.module(\"superplus:common/image_lazy_load\",function(c,f,l){var e=l.base;var k=0;var j=0;var h=[];var d=false;f.isVisible=function(q,s){if(!i(q)){return false}var D=s?0:60;var v=s?0:60;var A={};try{A=$(q).offset()}catch(B){A={left:0,top:0}}var o=$(document).scrollTop();var x=$(document).scrollLeft();var w=$(window).width();var u=$(window).height();var z=A.left-D,p=A.top-v,y=A.left+q.offsetWidth+D,n=A.top+q.offsetHeight+v,r=x,C=o,m=x+w,t=o+u;return z<=m&&p<=t&&y>=r&&n>=C};var b=function(m){if($(m).attr(\"data-loaded\")==\"1\"){return true}return false};var a=function(n){var m=function(){if(h.length===0){window.clearInterval(k);d=false;return}for(var o=0;o<h.length;o++){var q=h[o];if(!b(q)&&f.isVisible(q)){if($(q).attr(\"data-loadfunc\")!=\"1\"){$(q).attr(\"data-loadfunc\",\"1\");$(q).bind(\"load\",function(s){var u=this;$(this).attr(\"data-loaded\",1);for(var r=0;r<h.length;r++){var t=h[r];if(u===t){h.splice(r,1)}}})}var p=$(q).attr(\"data-src\")+\"\";if(p.indexOf(\"http\")>-1||p.indexOf(\"https\")>-1){$(q).attr(\"src\",p);q.removeAttribute(\"data-src\")}}}};if(n){m();return}if(!d){d=true;k=window.setInterval(function(){m()},300)}};f.scanAndDoRender=function(n,p){var m=false;if(!n){n=document.body;m=true}var o=[];$.each(n.getElementsByTagName(\"img\"),function(q,r){if($(r).attr(\"data-src\")&&!b(r)){o.push(r)}});if(m){h=o}else{h=h.concat(o)}a(p)};var g=function(){$.each([\"resize\",\"scroll\",\"load\",\"cardrender\"],function(m,n){$(window).bind(n,function(o){if(s_session.index_off==true){return}if(j){window.clearTimeout(j)}j=window.setTimeout(function(){j=0;f.scanAndDoRender()},20);o.stopPropagation()})})};function i(m){var n=m.getBoundingClientRect();return !!(n.bottom-n.top)}f.init=function(){f.scanAndDoRender(null,true);g()}});F.addLog(\"superplus:skeleton\",{navShow:\"0100000000\",modShow:\"1100000000\",modClick:\"1100000001\",modWheel:\"1100000002\",tabShow:\"1100000003\"});F.addLog(\"superplus:guide\",{xguideShow:\"1000000000\",xguide:\"1000000001\",xmanGuideShow:\"1100100000\",xmanGuideClick:\"1100200001\",tripEntranceClick:\"1100300001\",tutorialClick:\"1100400001\",zeroOpacityClick:\"1100500001\",wenjuanClick:\"1100700002\"});F.addLog(\"superplus:setting\",{modOperate:\"0900100001\",webOperate:\"0900200001\",modConfirmOperate:\"0900300001\"});F.addLog(\"superplus:weather\",{weatherShow:\"5000000000\",settingShow:\"5000100000\",settingClick:\"5000100001\",settingOperate:\"5000100002\",layerOperate:\"5000000002\"});F.addLog(\"superplus:mt\",{msgShow:\"0400000000\",msgItemClick:\"0400100001\",msgItemDelClick:\"0400400001\",msgBtnClick:\"0400500001\",msgHide:\"0400600002\",msgItemShow:\"0400700000\"});F.addLog(\"superplus:ps\",{categoryClick:\"1200100001\",queryChange:\"1200200001\",searchBtnClick:\"1200200001\",psLogoClick:\"1200300001\",psWorkLnkClick:\"1200400001\",stayLog:\"1200400002\"});F.addLog(\"superplus:mngr\",{categoryClick:\"1200100001\",userQuitClick:\"1200100002\",hover5ns:\"1200100003\",clickNs:\"1200100004\"});F.addLog(\"superplus:skin\",{skinShow:\"5100000000\",skinClick:\"5100000001\",skinHover:\"5100000002\",skinOperate:\"5100000003\",skinInfo:\"5100000004\"});F.addLog(\"superplus:skeleton\",{tabTimeClick:\"7000000000\",tabTimeClickInBucket:\"7000100000\"});F.addLog(\"superui:component\",{skinClick:\"5100000001\"});F.addLog(\"superplus:start/skin_start\",{skinStarNewsShow:\"5200000000\",skinStarNewsClick:\"5200000001\"});F.addLog(\"superplus:lib/xpath_log\",[\"xpathLog\"]);F.module(\"superplus:lib/xpath_log\",function(b,c,i){var a=[\"s_ctner_contents\"];var d=function(m,k,n){n=n||[];k=k||document;if(m===k){n.push(undefined);return n}if(m.getAttribute(\"data-logactid\")){n.push(m.getAttribute(\"data-logactid\"));return n}if(m.parentNode!==k){n=d(m.parentNode,k,n)}else{n.push(undefined)}if(m.previousSibling){var l=1;var j=m.previousSibling;do{if(j.nodeType==1&&j.nodeName==m.nodeName){l++}j=j.previousSibling}while(j)}if(m.nodeType==1){n.push(m.nodeName.toLowerCase()+(l>1?l:\"\"))}return n};var h=function(j){return j.replace(/a(\\d*)-(.+)$/g,\"a$1\")};var e={};var f=function(k,l,j,m){e[j]&&clearTimeout(e[j]);e[j]=setTimeout(function(){if(l[0]==undefined){return}var s={logactid:l.shift(0).replace(/_/g,\"-\"),xlogtype:j,xnodename:k.nodeName.toLowerCase(),xpath:h(l.join(\"-\")),xpaths:h(l.join(\"-\").replace(/\\d/g,\"\")),strategyHit:s_session.strategy_hit,xx:m.xx,xy:m.xy};var p=$(k).data(\"log\"),q=[];if(p){q=p.split(\";\")}for(var o=0;o<q.length-1;o++){var n=q[o].split(\":\");s[\"xcust\"+n[0]]=n[1]}for(var o=0;o<l.length;o++){s[\"xindex\"+o]=l[o].replace(/[A-Za-z]/g,\"\");(s[\"xindex\"+o]==\"\")&&(s[\"xindex\"+o]=\"1\")}var r=3,u=k;while(r>0&&u&&u.nodeName&&u.nodeName.toLowerCase()!=\"a\"&&u.nodeType==1){u=u.parentNode;r--}if(u&&u.nodeName&&u.nodeName.toLowerCase()==\"a\"){s.title=$.trim($(u).text())||$.trim($(u).attr(\"title\"));var t=$.trim($(u).attr(\"href\"));if(!t.indexOf(\"#\")==0&&!t.indexOf(\"javascript\")==0){s.url=t}}i.fire(\"xpathLog\",s)},300)};var g=function(j){$(\"#\"+j).on(\"mousedown\",function(m){var l=m.target,k=(d(l,$(\"#\"+j)[0]));f(l,k,\"click\",{xx:m.pageX-$(this).offset().left,xy:m.pageY-$(this).offset().top})})};c.init=function(){$.each(a,function(j,k){g(k)})}});F.module(\"superplus:skeleton/skeleton\",function(b,h,o){var n=b(\"skeleton/skeleton_tab\");var e=s_session.curmod;var f={1:{mod:\"navplus\"}},i=false,j=false,k=['<div class=\"s-content-load s-opacity-white-background\">','<img src=\"'+s_domain.staticUrl+'static/superplus/img/loading_deadaef0.gif\" />',\"<div>加载中，精彩马上呈现</div>\",\"</div>\"].join(\"\"),a=window._xman_click_st||{};var m={};h.init=function(){if(!i){d()}var t=$.parseJSON($.trim($(\"#s_menus_textarea\").html())).data,s=false;for(var r=0,q=t.length;r<q;r++){if(t[r].id!=4&&t[r].state==\"1\"){s=true;break}}if(!s){if(g()){return F.use(\"superplus:setting/card_setting\",function(u){u.show({current:$(\"#s_menus_wrapper\").find(\".current\").attr(\"data-id\")})})}c(99,\"init\",\"\");$(\"#s_ctner_menus\").find(\".s-menu\").removeClass(\"current\");$(\"#s_menu_add\").addClass(\"current\");return}if(s_session.curmod!=\"\"){n.initTabPos();p(s_session.curmod)}setTimeout(function(){if(s_session.curmod==1){o.fire(\"navShow\",{showTab:s_session.userTips.showAllTab?\"nav\":\"nused\",showType:\"refresh\"})}o.fire(\"modShow\",{showTab:(f[s_session.curmod]&&f[s_session.curmod].mod)||s_session.curmod,opType:\"refresh\"})},1000)};function g(){return true}var d=function(){$(\"#s_ctner\").mouseover(function(){if(!j){F.call(\"superplus:skeleton/skeleton_ext\",\"init\");j=true}});var r={};var q=false;$(\"#s_ctner_menus\").delegate(\".s-menu\",\"click\",function(s,v){var w=$(this),u=v?v.from:\"\";if(w.attr(\"data-id\")==\"99\"){if(g()){q=true;return F.use(\"superplus:setting/card_setting\",function(y){y.show({current:$(\"#s_menus_wrapper\").find(\".current\").attr(\"data-id\")})})}}else{if(q){F.use(\"superplus:setting/card_setting\",function(y){y.hide()});q=false}}if(s_session.contentMoving){return}if(!w.hasClass(\"current\")){n.updateTabLayout(w);s_session.contentMoving=true;var x=w.attr(\"data-id\"),t;t=f[x];c(x,\"\",u);$(\"#s_ctner_menus\").find(\".s-menu\").removeClass(\"current\");w.addClass(\"current\");if(x!=99){l(x);o.fire(\"modClick\",{clickTab:(f[x]&&f[x].mod)||x});o.fire(\"modShow\",{showTab:(f[x]&&f[x].mod)||x,opType:\"click\"})}else{o.fire(\"modClick\",{clickTab:\"set\"})}if(x==1){o.fire(\"navShow\",{showTab:s_session.userTips.showAllTab?\"nav\":\"nused\",showType:\"menu\"})}}}).on(\"mouseenter\",\".s-menu\",function(t){var s=$(this),v=s.attr(\"data-id\"),u=+new Date();r[v]={start:u};r[v].timeId=setTimeout(function(){c(v,\"\",\"mouseenter\")},150)}).on(\"mouseleave\",\".s-menu\",function(){var t=$(this),v=t.attr(\"data-id\"),u=r[v],s=+new Date();if(u&&u.start){if(s-u.start<150){clearTimeout(u.timeId)}}});o.listen(\"navplus:nav/nav_load\",\"heightChange\",function(t){var s=t.dom.height();if(s>318){$(\"#s_content_skin_bg\").css(\"height\",s+\"px\")}else{$(\"#s_content_skin_bg\").css(\"height\",\"\")}});o.listen(\"superplus:skeleton/skeleton_ext\",\"viewChange\",function(s){if(s.to!=1){$(\"#s_content_skin_bg\").css(\"height\",\"\")}});$(\"#s_add_bar\").bind(\"click\",function(){if(!s_session.curmod||s_session.curmod==99){$(\"#s_menu_add\").trigger(\"click\",{from:\"sidebarClick\"})}F.call(\"superplus:skeleton/skeleton_ext\",\"showMain\")});o.listen([\"xcard:base/card\",\"navplus:nav/nused_load\",\"navplus:nav/nav_load\",\"navplus:nav/ns\",\"xcard:base/common\",\"navplus:nav/nused\",\"navplus:nav/nav\"],\"tabshow\",function(s){try{_sendTabShowLog(s)}catch(t){}})};var c=function(s,r,q){if(q!==\"mouseenter\"){e=s_session.curmod;s_session.curmod=s||s_session.curmod}if(s){if(!$(\"#s_content_\"+s)[0]){if((!g())||(s!=\"99\")){$(\"#s_ctner_contents\").append('<div data-id=\"'+s+'\" id=\"s_content_'+s+'\" class=\"s-content s-opacity-white-background\" style=\"display: none;\">'+k+\"</div>\")}}else{if(q===\"mouseenter\"){return}}if(s!=99){p(s,q)}else{if(!g()){F.call(\"superplus:start/setting_start\",\"init\",r);_xman_speed.imgLoadTime&&_xman_speed.imgLoadTime(99);if(q===\"sidebarClick\"){h.changeTo(99)}$(\"#s_content_load\").remove()}}}};_sendTabShowLog=function(w){var v=w.cardid||w.modid||s_session.curmod;cardName=\"\",tabName=\"\",tabString=\"\";if(s_session.curmod!=v){return}if(v==\"1\"){var u=$(\"#s_content_\"+v).find(\".s-ns-navwrap\"),t=$(\"#s_content_\"+v).find(\".s-ns-navwrappr\");if(u.css(\"display\")!=\"none\"||t.length==0){var s=u.find(\"#s_nall_tabs\").find(\"a\");for(var r=0;r<s.length;r++){if($(s[r]).hasClass(\"tab-on\")){tabName=$(s[r]).text();break}}}else{var s=t.find(\".s-nall-tabs\").find(\"a\");for(var r=0;r<s.length;r++){if($(s[r]).hasClass(\"tab-on\")){tabName=$(s[r]).text();break}}}if(tabName!==\"\"){o.fire(\"tabShow\",{curcardtab:tabName,curcardid_ts:\"1\",curcardname_ts:\"导航\",curcardtab_ts:tabName})}return}if(v!==\"1\"&&!!$(\"#s_content_\"+v)[0]&&!$(\"#s_content_\"+v).find(\".s-content-load\")[0]){var q=$(\"#s_content_\"+v).find(\".s-xmancard\").attr(\"data-curtab\")||\"\";cardName=w.cardname||$(\"#s_content_\"+v+\" .s-xmancard\").attr(\"id\").replace(\"s_xmancard_\",\"\")||\"\";tabName=w.cardtab||$(\"#s_content_\"+v+\" .s-xmancard\").attr(\"data-curtab\")||\"\";if(tabName!==\"\"){if(v==\"8\"){var s=$(\"#s_xmancard_football .tags\").find(\"a\");for(var r=0;r<s.length;r++){if(s[r].style.display!=\"none\"){tabString=tabString+\"_\"+$(s[r]).text()}}}o.fire(\"tabShow\",{curcardid_ts:v,curcardname_ts:cardName,curcardtab_ts:tabName,tabstring_ts:tabString})}}};h.changeTo=function(t,s){var q=f[t];if(e==t){$(\"#s_content_\"+t).css({top:\"0px\",position:\"relative\",\"*zoom\":\"1\",display:\"\"})}else{F.call(\"superplus:skeleton/skeleton_ext\",\"changeView\",t,e,s);try{_sendTabShowLog({cardid:t})}catch(r){}}$(\"#s_content_load\")[0]&&$(\"#s_content_load\").remove()};h.sendLoadTime=function(s){_xman_speed.imgLoadTime&&_xman_speed.imgLoadTime(s);if(a[s]){a[s].done=true;var q,r;q=+new Date();r=Math.floor((q-a[s].start)/50);a[s].time=r;if(r<1){r=1}else{if(r>10){r=10}}o.fire(\"tabTimeClickInBucket\",{id:s,time:r})}else{a[s]={done:true,time:0}}};var l=function(q){$.ajaxpost(s_domain.baseuri+\"/xman/submit/supermenu\",{id:q},function(){})};var p=function(s,q){if(s!=\"\"&&!f[s]){if(!m[s]){m[s]={};m[s].init=true;F.use(\"xcard:base/card\",function(t){t.init(s)});h.changeTo(s)}else{h.changeTo(s)}return}var r=$(\"#s_js_\"+f[s][\"mod\"]);if(r.attr(\"data-src\")){r.attr(\"src\",r.attr(\"data-src\"));r.removeAttr(\"data-src\");if(q===\"mousewheel\"){h.changeTo(s)}}else{h.changeTo(s)}};h.isModExist=function(u){var t=$.parseJSON($.trim($(\"#s_menus_textarea\").html())).data,r=false;for(var s=0,q=t.length;s<q;s++){if(t[s].id==u&&t[s].state){r=true;break}}return r};h.addConf=function(q){f[q.id]=q};h.delConf=function(q){delete f[q]};h.loadError=function(q){q.append('<div class=\"s-load-error\">系统错误，资源加载失败，请稍后再来</div>')};h.getContent=c;h.setCurMenu=l;window.xman_click_st=a});F.module(\"superplus:skeleton/skeleton_tab\",function(d,c,a){var h=8,e=34,b=$(\"#s_menus_wrapper\"),f=$(\"#s_ctner_menus .s-menu-fill\");c.initTabPos=function(){var i=$(\"#s_ctner_menus\").find(\".s-menu[data-id='\"+s_session.curmod+\"']\")[0],l=$(i),j=l.index();if(l.data(\"id\")==\"99\"){return}var m=$(\"#s_menus_wrapper\").find(\".s-menu\").length;if(j+1<h){g();f.css(\"top\",0);b.css(\"top\",0);return}var k=(m-h)*e;f.css(\"top\",\"-\"+k+\"px\");b.css(\"top\",\"-\"+k+\"px\");g()};c.updateTabLayout=function(m){if(m.data(\"id\")==\"99\"){return}var j=b.css(\"top\");j=Math.abs(parseInt(j,10));var l=j/e,k=m.index()+1,i=k-l,o=6,n=$(\"#s_menus_wrapper\").find(\".s-menu\").length;if(l==0&&i<o){g();return}if(i>=o&&n-l-h<=0){g();return}f.css(\"top\",\"-\"+(i<o?(j-e):(j+e))+\"px\");b.animate({top:\"-\"+(i<o?(j-e):(j+e))+\"px\"},function(){g()})};c.updateTabForModTabMod=function(){var i=$(\"#s_menus_wrapper\").find(\".s-menu\").length;if(i<=h){g();return}f.css(\"top\",\"-\"+(i-h)*e+\"px\");b.css(\"top\",\"-\"+(i-h)*e+\"px\");g()};c.updateTabForDelTabMod=function(j){var l=$(\"#s_menus_wrapper\").find(\".s-menu\").length;var i=parseInt(b.css(\"top\"),10),k=Math.abs(i)/e;if(j>=k&&j<=h+k&&l-k>=h){g();return}if(i!=0){f.css(\"top\",i+e+\"px\");b.css(\"top\",i+e+\"px\")}g()};c.updateTabForSortTabMod=function(k){var i=$(\"#s_menus_wrapper\").find(\".s-menu[data-id='\"+k+\"']\"),j=i.index()+1;if(j<=h){f.css(\"top\",\"0px\");b.css(\"top\",\"0px\")}else{f.css(\"top\",\"-\"+(j-h)*e+\"px\");b.css(\"top\",\"-\"+(j-h)*e+\"px\")}g()};var g=function(){var k=$(\"#s_ctner_menus .top-border\"),l=$(\"#s_ctner_menus .bottom-border\");var i=b.css(\"top\");i=Math.abs(parseInt(i,10));if(i!=0){k.show()}else{k.hide()}var j=b.find(\".s-menu\").length;if((j-i/e)>h){l.show()}else{l.hide()}}});F.module(\"ps/log\",function(b,e,i){var d=i.base;var f={\"旧版\":\"tjold\",\"搜索设置\":\"tjsetting\",\"使用百度前必读\":\"tjread\",\"帐号设置\":\"tjuser\",\"我的相册\":\"tjxiangce\",\"首页设置\":\"tjmsgsetting\",\"个人中心\":\"tjsupper\",\"登录\":\"tjlogin\",\"退出\":\"tjlogout\",\"新闻\":\"tjnews\",\"贴吧\":\"tjtieba\",\"知道\":\"tjzhidao\",\"音乐\":\"tjmp3\",\"图片\":\"tjimg\",\"视频\":\"tjvideo\",\"文库\":\"tjwenku\",\"地图\":\"tjmap\",\"空间\":\"tjhi\",\"百科\":\"tjbaike\",hao123:\"tjhao123\",\"更多>>\":\"tjmore\",\"我的主页\":\"tjgongzhu\",\"我的成就\":\"tjchengjiu\",\"加入百度推广\":\"tjadjoin\",\"搜索风云榜\":\"tjadtop\",\"关于百度\":\"tjadaboutch\",AboutBaidu:\"tjadabouten\",\"加入开放首页\":\"tjadopen\",\"个人中心\":\"tjucent\",\"我的收藏\":\"tjucentcol\",\"我的日历\":\"tjucentcal\",\"搜索记录\":\"tjucenthis\",\"完整版\":\"tjtoxman\",\"极简版\":\"tjtolite\"};var g=function(n){var m=n.srcElement?n.srcElement:n.target;var l=m.tagName;if(m.tagName==\"A\"){var j=a(m);var k=m.href;if(j in f){i.fire(\"categoryClick\",{category:f[j],url:k})}else{if(j==s_session.username){i.fire(\"categoryClick\",{category:\"username\"})}}}return false};var a=function(j){return $(j).text().replace(/[\\s\\t\\xa0\\u3000]/g,\"\")};function c(j){$(\"#\"+j).bind(\"mousedown\",g)}function h(k,j){var l={category:k};if(j){$.extend(l,j)}i.fire(\"categoryClick\",l)}e.bindBox=c;e.fireLog=h;e.keyMap=f});F.module(\"superplus:ps/sindex\",function(e,c,b){var f=b.base;c.init=function(){var t={\"http://news.baidu.com/\":\"ns?tn=news&cl=2&rn=20&ct=1&ie=utf-8&word=\",\"http://tieba.baidu.com/\":\"f?ie=utf-8&kw=\",\"http://zhidao.baidu.com/\":\"search?pn=0&rn=10&lm=0&word=\",\"http://music.baidu.com/\":\"search?fr=sp&ie=utf-8&key=\",\"http://image.baidu.com/\":\"i?ct=201326592&cl=2&nc=1&lm=-1&st=-1&tn=baiduimage&istype=2&fm=&pv=&z=0&ie=utf-8&word=\",\"http://v.baidu.com/\":\"v?ct=301989888&s=25&ie=utf-8&word=\",\"http://map.baidu.com/\":\"?newmap=1&ie=utf-8&s=s%26wd%3D\",\"http://baike.baidu.com/\":\"search/word?&pic=1&sug=1&enc=utf8&word=\",\"http://wenku.baidu.com/\":\"search?ie=utf-8&word=\"};var p=window,E=document,y=navigator,A=$(\"#kw\"),J=E.getElementById(\"nv\").getElementsByTagName(\"a\"),v=y.userAgent.indexOf(\"MSIE\")!=-1&&!window.opera;for(var B=0;B<J.length;B++){J[B].onclick=function(){var i=$.trim(A.val());if(i.length>0){var w=this,k=w.href,n=encodeURIComponent(i);if(!t[this.href]){return true}this.href=k+t[k]+n;setTimeout(function(){$(\"#kw\").val(\"\").triggerHandler(\"focus\");w.href=k.match(/http:\\/\\/.*\\//i)[0]},1)}}}s_session.searchLogSend=0;$(\"#su\").on(\"mouseout\",function(){$(this).removeClass(\"btn_h\")}).on(\"mousedown\",function(){$(this).addClass(\"btn_h\")});var H=document.getElementById(\"kw\");$(H.parentNode).addClass(\"bg s_ipt_wr iptfocus\");$(window).on(\"swap_end\",function(){if(s_session.searchLogSend==0){s_session.searchLogSend=1;b.fire(\"searchBtnClick\",{opType:\"click\",openMode:\"current\",wd:encodeURIComponent($(\"#kw\").val())})}});$(window).on(\"s-skinon\",function(){$('<style id=\"s_skin_bdpfmenu\">.bdpfmenu{border:0 none !important;}.bdpfmenu a{line-height:24px !important;border:1px solid #fff !important;}#wrapper .bdnuarrow em{top: 0px !important;}#wrapper .bdnuarrow i{top: 0px !important;}</style>').appendTo($(\"head\"))}).on(\"s-skinoff\",function(){$(\"#s_skin_bdpfmenu\").remove()});function z(n,k,i){if(p.attachEvent){n.attachEvent(\"on\"+k,i)}else{if(p.addEventListener){n.addEventListener(k,i,false)}}}function q(i){return E.getElementById(i)}var l=y.cookieEnabled;if(typeof window._sp_async==\"undefined\"){$(window).bind(\"load\",function(){if(true&&l&&/\\bbdime=[12]/.test(E.cookie)){I(b.domain.staticUrl+\"static/superplus/js/ps/openime_2555ed39.js\",\"utf-8\")}})}function u(){$(\"#kw\").on(\"focus\",function(){$(this).addClass(\"nobg_s_fm_focus\")}).on(\"blur\",function(){$(this).removeClass(\"nobg_s_fm_focus\")}).on(\"mouseover\",function(){$(this).addClass(\"nobg_s_fm_hover\")}).on(\"mouseout\",function(){$(this).removeClass(\"nobg_s_fm_hover\")});$(\"#su\").on(\"mousedown\",function(){$(this).parent().addClass(\"s_btn_wr_h\")}).on(\"mouseout\",function(){$(this).parent().removeClass(\"s_btn_wr_h\")});$(window).on(\"s-skinon\",function(){$(\"body\").addClass(\"has-background\")}).on(\"s-skinoff\",function(){$(\"body\").removeClass(\"has-background\")})}u();try{if(typeof window._sp_async==\"undefined\"){q(\"kw\")&&q(\"kw\").focus()}else{if(pageState==0){q(\"kw\")&&q(\"kw\").focus()}}}catch(C){}$(\"#s_username_top\").bind(\"mouseover\",function(){$(\"body\").trigger(\"mousedown\");F.use(\"ps/log\",function(i){i.fireLog(\"tj_ucent_mouseover\")})});var j=[false,false];var h=false;function o(n,L,k,w,i){$(\"#\"+n).bind(\"mouseover\",function(O){j[i]=true;$(\"#\"+L).show();var M=$(\"#\"+k);var N=w==\"right\"?($(document.body).width()-$(\"#\"+L)[0].offsetWidth/2-M.offset().left-M.width()/2):($(document.body).width()-M[0].offsetWidth-M.offset().left);if($.isIE6){N=N-1}else{if($.isIE==8){N=N+2}}$(\"#\"+L).css(\"right\",N)});$(\"#\"+n).bind(\"mouseout\",function(M){j[i]=false;window.setTimeout(function(){if(!j[i]){$(\"#\"+L).hide();b.fire(\"userMenuHide\")}},200)})}o(\"s_username_top\",\"s_user_name_menu\",\"s_username_top\",\"right\",1);o(\"s_user_name_menu\",\"s_user_name_menu\",\"s_username_top\",\"right\",1);if(!window._sp_async){o(\"s_usersetting_top\",\"s_user_setting_menu\",\"s_usersetting_top\",\"right\",2);o(\"s_user_setting_menu\",\"s_user_setting_menu\",\"s_usersetting_top\",\"right\",2)}function I(i,n){if(i){var k=E.createElement(\"script\");k.charset=n?n:\"gbk\";k.src=i;E.getElementsByTagName(\"head\")[0].appendChild(k)}}z(p,\"load\",function(){try{q(\"kw\").focus()}catch(i){}});p.onunload=function(){};var K=q(\"s_mp\");var m;if(K){m=K.getElementsByTagName(\"area\")[0]}var r=q(\"lm\").getElementsByTagName(\"a\")[0];m&&$(m).bind(\"click\",function(i){b.fire(\"psLogoClick\",{isFesBg:(s_session.userTips.skinLogoHasSkined?\"true\":\"false\")})});r&&$(r).bind(\"click\",function(i){b.fire(\"psWorkLnkClick\")});if(!s_session.userProp.searchAgroupGuide&&s_session.userTips.showFmSearchGuide==true){var x=q(\"kw\"),s=q(\"s_fm\");$(x).bind(\"keyup\",function(){if(g()){D()}});$(x).bind(\"mouseup\",function(){if(g()){D()}});var g=function(){return(window.baidu&&baidu.packPlayer&&baidu.packPlayer.getState()==\"play\")};var D=function(){if(q(\"bd_fm_search_tip\")){return}var i=\"<div id='bd_fm_search_tip' class='s-bd-fm-search-tip'><div class='bg-img'></div><div class='content'><span class='first-line'>您正在听歌</span><span>本次搜索结果将在新窗口打开</span></div><div class='close-btn'></div></div>\";$(s).append(i);F.use(\"common/user_attr\",function(n){n.setAttr(\"showFmSearchGuide\",false)});$(\"#bd_fm_search_tip\").css(\"z-index\",\"999\");var k=$(\"#bd_fm_search_tip > .close-btn\")[0];$(k).bind(\"click\",function(){$(\"#bd_fm_search_tip\").css(\"display\",\"none\")})}}};function d(){var h=0;var g=setInterval(function(){if(window.s_session.index_off){clearInterval(g);return}b.fire(\"stayLog\",{times:10})},10000)}var a=function(){$(\"#s_pss_guide\").css(\"width\",(document.body.clientWidth<=958)?\"958px\":\"100%\")}});var isIE=navigator.userAgent.indexOf(\"MSIE\")!=-1&&!window.opera;function G(a){return document.getElementById(a)}function addEV(c,b,a){if(window.attachEvent){c.attachEvent(\"on\"+b,a)}else{if(window.addEventListener){c.addEventListener(b,a,false)}}}var bds=bds||{};bds.se=bds.se||{};bds.se.store=(function(){var r={},v=window,s=v.document,z=\"localStorage\",e=\"globalStorage\",y=\"__storejs__\",w;r.disabled=false;r.set=function(b,a){};r.get=function(a){};r.remove=function(a){};r.clear=function(){};r.transact=function(d,a,c){var b=r.get(d);if(c==null){c=a;a=null}if(typeof b==\"undefined\"){b=a||{}}c(b);r.set(d,b)};r.getAll=function(){};r.serialize=function(a){return String(a)};r.deserialize=function(a){if(typeof a!=\"string\"){return undefined}return a};function A(){try{return(z in v&&v[z])}catch(a){return false}}function p(){try{return(e in v&&v[e]&&v[e][v.location.hostname])}catch(a){return false}}if(A()){w=v[z];r.set=function(b,a){if(a===undefined){return r.remove(b)}w.setItem(b,r.serialize(a))};r.get=function(a){return r.deserialize(w.getItem(a))};r.remove=function(a){w.removeItem(a)};r.clear=function(){w.clear()};r.getAll=function(){var c={};for(var a=0;a<w.length;++a){var b=w.key(a);c[b]=r.get(b)}return c}}else{if(p()){w=v[e][v.location.hostname];r.set=function(b,a){if(a===undefined){return r.remove(b)}w[b]=r.serialize(a)};r.get=function(a){return r.deserialize(w[a]&&w[a].value)};r.remove=function(a){delete w[a]};r.clear=function(){for(var a in w){delete w[a]}};r.getAll=function(){var c={};for(var a=0;a<w.length;++a){var b=w.key(a);c[b]=r.get(b)}return c}}else{if(s.documentElement.addBehavior){var t,x;try{x=new ActiveXObject(\"htmlfile\");x.open();x.write('<script>document.w=window<\\/script><iframe src=\"/favicon.ico\"></iframe>');x.close();t=x.w.frames[0].document;w=t.createElement(\"div\")}catch(u){w=s.createElement(\"div\");t=s.body}function B(a){return function(){var b=Array.prototype.slice.call(arguments,0);b.unshift(w);t.appendChild(w);w.addBehavior(\"#default#userData\");w.load(z);var c=a.apply(r,b);t.removeChild(w);return c}}function q(a){return\"_\"+a}r.set=B(function(a,c,b){c=q(c);if(b===undefined){return r.remove(c)}a.setAttribute(c,r.serialize(b));a.save(z)});r.get=B(function(b,a){a=q(a);return r.deserialize(b.getAttribute(a))});r.remove=B(function(b,a){a=q(a);b.removeAttribute(a);b.save(z)});r.clear=B(function(a){var d=a.XMLDocument.documentElement.attributes;a.load(z);for(var b=0,c;c=d[b];b++){a.removeAttribute(c.name)}a.save(z)});r.getAll=B(function(a){var f=a.XMLDocument.documentElement.attributes;a.load(z);var c={};for(var b=0,d;d=f[b];++b){c[d]=r.get(d)}return c})}}}try{r.set(y,y);if(r.get(y)!=y){r.disabled=true}r.remove(y)}catch(u){r.disabled=true}return r})();bds.se.sugsync=function(){var p;var l=0,j=0,i=0,w=0,d=false,b=null;var q=(/msie (\\d+)/i.test(navigator.userAgent)&&!window.opera)?parseInt(RegExp.$1):0;var A=(document.compatMode==\"BackCompat\");function k(C){return document.getElementById(C)}function n(C){return document.createElement(C)}function x(C){return String(C).replace(new RegExp(\"(^[\\\\s\\\\t\\\\xa0\\\\u3000]+)|([\\\\u3000\\\\xa0\\\\s\\\\t]+\\x24)\",\"g\"),\"\")}function z(C){return String(C).replace(new RegExp(\"[\\\\s\\\\t\\\\xa0\\\\u3000]\",\"g\"),\"\")}function t(E,D,C){if(q){E.attachEvent(\"on\"+D,(function(H){return function(){C.call(H)}})(E))}else{E.addEventListener(D,C,false)}}function r(C){if(q){C.returnValue=false}else{C.preventDefault()}}function v(D){if(q){var E=document.createStyleSheet();E.cssText=D}else{var C=document.createElement(\"style\");C.type=\"text/css\";C.appendChild(document.createTextNode(D));document.getElementsByTagName(\"HEAD\")[0].appendChild(C)}}function h(H){var E=document.forms[0];for(var D in H){if(H[D]==undefined){if(k(\"bdsug_ipt_\"+D)){E.removeChild(k(\"bdsug_ipt_\"+D))}}else{if(!s(D)){E.appendChild(C(D,H[D]))}else{s(D).value=H[D]}}}function C(K,I){var J=n(\"INPUT\");J.type=\"hidden\";J.name=K;J.id=\"bdsug_ipt_\"+K;J.value=I;return J}}function s(E){var H=document.forms[0];var I=false;var C=H.getElementsByTagName(\"INPUT\");for(var D=0;D<C.length;D++){if(E==C[D].getAttribute(\"name\")){I=C[D];return I}else{I=false}}}function o(E){var D=document.forms[0];for(var C in E){if(C==\"f\"){if(s(\"f\")){if(s(\"f\").id==\"bdsug_ipt_f\"){D.removeChild(k(\"bdsug_ipt_f\"))}else{s(\"f\").value=\"8\"}}}else{if(k(\"bdsug_ipt_\"+C)){D.removeChild(k(\"bdsug_ipt_\"+C))}}}}var a=0;if(typeof window.bdsug!=\"object\"||window.bdsug==null){window.bdsug={}}bdsug.sug={};bdsug.sugkeywatcher={};var m=(function(){function C(E){var I=this.__MSG_QS__;if(!I[E]){I[E]=[]}for(var H=1,K=arguments.length,J;H<K;H++){I[E].push(arguments[H])}}function D(I){var H=this.__MSG_QS__[I.type];if(H==null){return}for(var E=0,J=H.length;E<J;E++){H[E].rm(I)}}return{ini:function(E){E.__MSG_QS__={};E.on=C;E.dm=D;return E}}})();var g=(function(){var W=k(\"kw\");var N;var K=0;var Y=0;var P=\"\";var V=\"\";var Q;var H=false;var S=true;var L;var I=k(\"su\");t(I,\"mousedown\",U);t(I,\"keydown\",U);t(k(\"kw\"),\"paste\",function(){h({rsv_n:2});if(a==0){a=new Date().getTime()}});function U(){h({inputT:a>0?(new Date().getTime()-a):0})}function T(){if(S){g.dm({type:\"start\"});S=false}}function O(Z){if(a==0){a=new Date().getTime()}if(S){g.dm({type:\"start\"});S=false}Z=Z||window.event;if(Z.keyCode==9||Z.keyCode==27){g.dm({type:\"hide_div\"})}if(Z.keyCode==13&&window.opera){r(Z);g.dm({type:\"key_enter\"})}if(Z.keyCode==86&&Z.ctrlKey){h({rsv_n:2})}if(N.style.display!=\"none\"){if(Z.keyCode==38){r(Z);g.dm({type:\"key_up\"})}if(Z.keyCode==40){g.dm({type:\"key_down\"})}}else{if(Z.keyCode==38||Z.keyCode==40){g.dm({type:\"need_data\",wd:W.value})}}}function E(){var Z=W.value;if(Z==P&&Z!=\"\"&&Z!=V&&Z!=Q){if(Y==0){Y=setTimeout(function(){g.dm({type:\"need_data\",wd:Z})},100)}}else{clearTimeout(Y);Y=0;P=Z;if(Z==\"\"){g.dm({type:\"hide_div\"})}if(V!=W.value){V=\"\"}}}function D(){if(!K){K=setInterval(E,30)}}function M(){clearInterval(K);K=0}function J(){if(H){window.event.cancelBubble=true;window.event.returnValue=false;H=false}}function R(Z){W.blur();W.setAttribute(\"autocomplete\",Z);W.focus()}function X(Z){var Z=Z||window.event;if(Z.keyCode==13){r(Z)}}W.setAttribute(\"autocomplete\",\"off\");var C=false;bdsug.sugkeywatcher.on=function(){if(!C){if(q){W.attachEvent(\"onkeydown\",O)}else{W.addEventListener(\"keydown\",O,false)}C=true}};bdsug.sugkeywatcher.off=function(){if(C){if(q){W.detachEvent(\"onkeydown\",O)}else{W.removeEventListener(\"keydown\",O,false)}C=false}};bdsug.sugkeywatcher.on();t(W,\"blur\",M);t(W,\"focus\",D);t(W,\"mousedown\",T);t(W,\"beforedeactivate\",J);if(window.opera){t(W,\"keypress\",X)}return m.ini({rm:function(Z){switch(Z.type){case\"div_ready\":N=Z.sdiv;V=W.value;D();break;case\"clk_submit\":W.blur();W.value=Z.wd;break;case\"ent_submit\":M();W.blur();break;case\"key_select\":Q=Z.selected;break;case\"close\":M();R(\"on\");break;case\"mousedown_tr\":if(navigator.userAgent.toLowerCase().indexOf(\"webkit\")!=-1){M();setTimeout(D,2000)}H=true;break}}})})();var B=(function(){var O;var W=k(\"kw\");var J;var S=-1;var ab;var V;var I;var D;function E(){var ac=J.rows;for(var ad=0;ad<ac.length;ad++){ac[ad].className=\"ml\"}}function R(){if(typeof(J)!=\"undefined\"&&J!=null&&O.style.display!=\"none\"){var ac=J.rows;for(var ad=0;ad<ac.length;ad++){if(ac[ad].className==\"mo\"){return[ad,ac[ad].cells[0].innerHTML]}}}return[-1,\"\"]}function N(){if(q&&q<=6){D&&(D.style.display=\"none\")}O&&(O.style.display=\"none\")}function aa(){E();this.className=\"mo\"}function U(ac){B.dm({type:\"mousedown_tr\"});if(!q){ac.stopPropagation();ac.preventDefault();return false}}function T(ad){var ac=ad;return function(){var ae=ab[ac].value;N();var af=0;if(typeof ab[ac].ala!=\"undefined\"){af=V[ab[ac].ala].id}B.dm({type:\"clk_submit\",oq:k(\"kw\").value,wd:ae,rsp:ac,rsv_sug5:af})}}function Q(ac){ac=ac||window.event;r(ac);B.dm({type:\"close\"});N();(new Image()).src=$.url.escapeSSL(\"http://sclick.baidu.com/w.gif?fm=suggestion&title=%B9%D8%B1%D5&t=\")+new Date().getTime()}function Z(){var ac=[W.offsetWidth,W.offsetHeight];O.style.width=((q&&A)?ac[0]:ac[0]-2)+\"px\";O.style.top=((q&&A)?ac[1]:ac[1]-1)+\"px\";O.style.display=\"block\";if(q&&q<=6){D.style.top=((q&&A)?ac[1]:ac[1]-1)+\"px\";D.style.width=((q&&A)?ac[0]:ac[0]-2)+\"px\"}}function Y(ad,ae){if(ad&&ae){var ac=x(ad);if(ae.indexOf(ac)==0){ae=C(ae,ac)}else{if(ae.indexOf(z(ad))==0){ac=z(ad);ae=C(ae,ac)}else{ae=ae.replace(/&/g,\"&amp;\");ae=ae.replace(/</g,\"&lt;\");ae=ae.replace(/>/g,\"&gt;\")}}}return ae}function C(ag,ae){ag=ag.replace(/&/g,\"&amp;\");ag=ag.replace(/</g,\"&lt;\");ag=ag.replace(/>/g,\"&gt;\");ae=ae.replace(/&/g,\"&amp;\");ae=ae.replace(/</g,\"&lt;\");ae=ae.replace(/>/g,\"&gt;\");var ad=\"<span>\"+ae+\"</span>\";var ac=ae.length;var af=\"<b>\"+ag.substring(ac)+\"</b>\";return(ad+af)}function M(ag){var ad=k(\"kw\").value,ae=/[^\\x00-\\xff]/g,ak=[],aj=[];p=0;for(var ah=0;ah<ag.length;ah++){var al={};al.value=ag[ah];al.from=0;ak.push(al)}if(!bds.se.sugStorage.isSupport()||!navigator.cookieEnabled||(!!/\\bsugstore=(\\d)/.exec(document.cookie)&&/\\bsugstore=(\\d)/.exec(document.cookie)[1]==0)){return ak}else{if(ad.replace(ae,\"mm\").length<=3){return ak}else{for(var ah=0;ah<ag.length;ah++){var al={};al.value=ag[ah];al.from=0;ak.push(al)}var ai=bds.se.sugStorage.get(encodeURIComponent(ad));ai.sort(function(an,am){if(typeof an.date==\"undefined\"||typeof am.date==\"undefined\"){return true}else{return an.date-am.date}});for(ah=0;ah<ai.length;ah++){for(var af=ah+1;af<ai.length;af++){if(ai[ah].q==ai[af].q){ai.splice(af,1);af--}}}for(ah=ai.length-1;ah>=0;ah--){var al={};al.value=decodeURIComponent(ai[ah].q);al.from=1;al.p=ai[ah].p;aj.push(al);p++;if(ah==ai.length-2){break}}ag=aj.concat(ak);for(ah=0;ah<ag.length;ah++){for(af=ah+1;af<ag.length;af++){if(ag[ah].value==ag[af].value){ag.splice(af,1);af--}}}var ac=[];for(var ah=0;ah<V.length;ah++){for(var af=0;af<ag.length;af++){if(V[ah].key==ag[af].value){if(ag[af].from==1){p--}ag.splice(af,1)}}var al={};al.value=V[ah].key;al.from=0;al.ala=ah;ac.unshift(al)}ag=ac.concat(ag);while(ag.length>10){ag.pop()}return ag}}}function L(){function ac(ak){if(!ak||!ak.title){return}setTimeout(function(){ak.title=\"\"},2000)}ab=M(ab);if(ab.length<=0){N();return}J=n(\"TABLE\");J.id=\"st\";J.cellSpacing=0;J.cellPadding=2;var ag=n(\"tbody\");J.appendChild(ag);for(var af=0,ad=ab.length;af<ad;af++){var ah=ag.insertRow(-1);t(ah,\"mouseover\",aa);t(ah,\"mouseout\",E);t(ah,\"mousedown\",U);t(ah,\"click\",T(af));var aj=ah.insertCell(-1);var ai=Y(I,ab[af].value);if(ab[af].from==1){ai='<u class=\"sug_del\" title=\"如您不需要此搜索历史提示，&#13;可在右上角搜索设置中关闭\">删除</u>'+ai;aj.className=\"sug_storage\"}if(typeof ab[af].ala!=\"undefined\"){aj.innerHTML=H(ai,ab[af].ala);aj.className=\"sug_ala\"}else{aj.innerHTML=ai}}O.innerHTML=\"\";O.appendChild(J);Z();if(q&&q<=6){D.style.display=\"block\";D.style.left=0+\"px\";D.style.top=W.offsetHeight+\"px\";D.style.width=W.offsetWidth+\"px\";D.style.height=O.offsetHeight-1+\"px\"}var ae=O.getElementsByTagName(\"u\");for(var af=0;af<ae.length;af++){ae[af].onclick=function(an){var al=R()[0];var an=an||window.event;var am=an.target||an.srcElement;am.parentNode.parentNode.parentNode.removeChild(am.parentNode.parentNode);if(q&&q<=6){D.style.height=O.offsetHeight-1+\"px\"}var ak=window[\"BD_PS_C\"+(new Date()).getTime()]=new Image();ak.src=$.url.escapeSSL(\"http://sclick.baidu.com/w.gif?q=\")+encodeURIComponent(ab[al].value)+\"&fm=beha&rsv_sug=del&rsv_sid=11&t=\"+new Date().getTime()+\"&path=http://www.baidu.com\";bds.se.sugStorage.remove({q:encodeURIComponent(ab[al].value),p:ab[al].p});ab.splice(al,1);B.dm({type:\"update_data\",word:k(\"kw\").value,data:ab});if(p>0){p--}if(p<=0&&ab.length==0){N();O.innerHTML=\"\"}if(window.event){an.cancelBubble=true}else{an.stopPropagation()}}}h({rsv_sug:p})}function H(ad,ae){var ac=[];switch(V[ae].type){case\"1\":ac.push(\"<h3>\"+V[ae].key+\"</h3>\");ac.push(\"<p>\"+V[ae].word);if(V[ae].word_add){ac.push(\" <span>（\"+V[ae].word_add+\"）</span>\")}ac.push(\"</p>\");break;case\"2\":ac.push(\"<h3>\"+V[ae].key+\" - 百度安全认证</h3>\");ac.push(\"<p>\"+V[ae].word);if(V[ae].word_add){ac.push(\" <span>（\"+V[ae].word_add+\"）</span>\")}ac.push(\"</p>\");break;default:ac.push(ad)}return ac.join(\"\")}function X(){S=R()[0];if(S==-1){B.dm({type:\"submit\"})}else{B.dm({type:\"ent_submit\",oq:I,wd:R()[1],rsp:S})}}function K(){S=R()[0];E();if(S==0){B.dm({type:\"key_select\",selected:\"\"});k(\"kw\").value=I;S--;o({oq:I,sug:ab[S],rsv_n:1,rsp:S,f:3,rsv_sug:rsv_sug,rsv_sug5:0})}else{if(S==-1){S=ab.length}S--;var ac=J.rows[S];ac.className=\"mo\";B.dm({type:\"key_select\",selected:ab[S].value});k(\"kw\").value=ab[S].value;var ad=0;if(typeof ab[S].ala!=\"undefined\"){ad=V[ab[S].ala].id}h({oq:I,sug:ab[S].value,rsv_n:1,rsp:S,f:3,rsv_sug:rsv_sug})}}function P(){S=R()[0];E();if(S==ab.length-1){B.dm({type:\"key_select\",selected:\"\"});k(\"kw\").value=I;S=-1;o({oq:I,sug:ab[S],rsv_n:1,rsp:S,f:3,rsv_sug:rsv_sug,rsv_sug5:0})}else{S++;var ac=J.rows[S];ac.className=\"mo\";B.dm({type:\"key_select\",selected:ab[S].value});k(\"kw\").value=ab[S].value;var ad=0;if(typeof ab[S].ala!=\"undefined\"){ad=V[ab[S].ala].id}h({oq:I,sug:ab[S].value,rsv_n:1,rsp:S,f:3,rsv_sug:rsv_sug,rsv_sug5:ad})}}return m.ini({rm:function(ac){switch(ac.type){case\"div_ready\":O=ac.sdiv;D=ac.frm;break;case\"give_data\":I=ac.data.q;ab=ac.data.s;var ad=ac.data.z||[];V=[];for(var ae=0;ae<ad.length;ae++){var af=ad[ae];if(af.type==1||af.type==2){V.push(ad[ae])}}rsv_sug=ac.data.t;if(O){L()}break;case\"key_enter\":X();break;case\"key_up\":K();break;case\"key_down\":P();break;case\"hide_div\":N();break;case\"mousedown_other\":N();break;case\"window_blur\":N();break;case\"need_resize\":Z();break}}})})();var y=(function(){var C=document.forms[0];function H(){if(k(\"bdsug_ipt_sug\")){if(k(\"bdsug_ipt_sug\").value==x(k(\"kw\").value)){o({rsv_n:1,sug:1})}else{o({f:1})}}}t(C,\"submit\",H);function E(){H();h({inputT:a>0?(new Date().getTime()-a):0});C.onsubmit();C.submit()}function D(I){h(I);h({inputT:a>0?(new Date().getTime()-a):0});o({sug:1,rsv_n:1});C.onsubmit();C.submit()}return m.ini({rm:function(I){switch(I.type){case\"clk_submit\":D({oq:I.oq,rsp:I.rsp,f:3,rsv_sug:p,rsv_sug2:1,rsv_sug5:I.rsv_sug5});break;case\"ent_submit\":D({oq:I.oq,rsp:I.rsp,f:3,rsv_sug:p,rsv_sug2:0});break;case\"submit\":E();break}}})})();var c=(function(){var C={};function H(I){if(typeof C[I]==\"undefined\"){c.dm({type:\"request_data\",wd:I})}else{c.dm({type:\"give_data\",data:C[I]})}}function E(I){C[I.q]=I;c.dm({type:\"give_data\",data:C[I.q]})}function D(L,K){if(typeof C[L]!=\"undefined\"){if(K.length>0){var I=[];for(var J=0;J<K.length;J++){I.push(K[J].value)}C[L].s=I;c.dm({type:\"give_data\",data:C[L]})}}}return m.ini({rm:function(I){switch(I.type){case\"response_data\":E(I.data);break;case\"need_data\":H(I.wd);break;case\"update_data\":D(I.word,I.data);break}}})})();var u=(function(){var C;var D;function E(I){var H=$.url.escapeSSL(\"http://suggestion.baidu.com/su\");u.dm({type:\"need_cookie\"});if(C){document.body.removeChild(C)}C=n(\"SCRIPT\");C.src=H+\"?wd=\"+encodeURIComponent(I)+\"&p=\"+D+\"&cb=window.bdsug.sug&from=superpage&t=\"+(new Date()).getTime();C.charset=\"gb2312\";document.body.appendChild(C);h({rsv_sug3:++j});w=new Date().getTime();d=false;b=setTimeout(function(){h({rsv_sug4:i+=5000});d=true},5000);if(!window._LogSearchBoxChanged){F.use(\"ps/sug\",function(J){J.searchLog()});window._LogSearchBoxChanged=true}}return m.ini({rm:function(I){switch(I.type){case\"request_data\":E(I.wd);break;case\"give_cookie\":var H=I.sug;if(H>0){H=3}D=H;break}}})})();bdsug.sug=function(C){bdsug.dm({type:\"response_data\",data:C});if(!d){var D=k(\"kw\");if(D.value.toLowerCase()==C.q){h({rsv_sug1:++l})}clearTimeout(b);h({rsv_sug4:i+=(new Date().getTime()-w)})}};bdsug.initSug=function(){bdsug.dm({type:\"init\"})};m.ini(bdsug);var f=(function(){function C(){if(navigator.cookieEnabled){document.cookie=\"su=0; domain=www.baidu.com\"}}function D(){var E=(navigator.cookieEnabled&&/sug=(\\d)/.test(document.cookie)?RegExp.$1:3);f.dm({type:\"give_cookie\",sug:E})}return m.ini({rm:function(E){switch(E.type){case\"close\":C();break;case\"need_cookie\":D();break}}})})();var e=(function(){var L=k(\"kw\");var E;var I=document.forms[0];var M;function K(){if(E.offsetWidth!=0&&L.offsetWidth!=E.offsetWidth){e.dm({type:\"need_resize\"})}}function H(){E=n(\"DIV\");E.id=\"sd_\"+new Date().getTime();E.className=\"s-ps-sug\";E.style.display=\"none\";I.appendChild(E);if(q&&q<=6){M=n(\"IFRAME\");M.style.display=\"none\";M.style.position=\"absolute\";E.parentNode.insertBefore(M,E)}}function J(N){N=N||window.event;var O=N.target||N.srcElement;if(O==L){return}while(O=O.parentNode){if(O==E){return}}e.dm({type:\"mousedown_other\"})}function C(){e.dm({type:\"window_blur\"})}function D(){var O=\"#\"+E.id;var N=[];e.dm({type:\"div_ready\",sdiv:E,frm:M});setInterval(K,100);t(document,\"mousedown\",J);t(window,\"blur\",C);N.push(O+\"{border:1px solid #817F82;position:absolute;top:32px;left:0}\");N.push(O+\" table{width:100%;background:#fff;cursor:default}\");N.push(O+\" td{color:#000;font:14px arial;height:25px;line-height:25px;padding:0 8px}\");N.push(O+\" td b{color:#000}\");N.push(O+\" .mo{background:#ebebeb}\");N.push(O+\" .ml{background:#fff}\");N.push(O+\" td.sug_storage{color:#7A77C8}\");N.push(O+\" td.sug_storage b{color:#7A77C8}\");N.push(O+\" .sug_del{font-size:12px;color:#666;text-decoration:underline;float:right;cursor:pointer;display:none}\");N.push(O+\" .sug_del{font-size:12px;color:#666;text-decoration:underline;float:right;cursor:pointer;display:none}\");N.push(O+\" .mo .sug_del{display:block}\");N.push(O+\" .sug_ala{border-bottom:1px solid #e6e6e6}\");N.push(O+\" td h3{line-height:14px;margin:6px 0 4px 0;font-size:12px;font-weight:normal;color:#7B7B7B;padding-left:20px;background:url(img/sug_bd.png) no-repeat left center}\");N.push(O+\" td p{font-size:14px;font-weight:bold;padding-left:20px}\");N.push(O+\" td p span{font-size:12px;font-weight:normal;color:#7B7B7B}\");v(N.join(\"\"))}bdsug.sug.initial=D;return m.ini({rm:function(N){switch(N.type){case\"start\":D();break;case\"init\":H();break}}})})();g.on(\"need_data\",c);g.on(\"close_div\",B);g.on(\"key_enter\",B);g.on(\"key_up\",B);g.on(\"key_down\",B);g.on(\"hide_div\",B);g.on(\"start\",e);c.on(\"request_data\",u);c.on(\"give_data\",B);bdsug.on(\"response_data\",c);bdsug.on(\"init\",e);B.on(\"update_data\",c);B.on(\"clk_submit\",g,y);B.on(\"ent_submit\",g,y);B.on(\"submit\",y);B.on(\"key_select\",g);B.on(\"close\",g,f);B.on(\"mousedown_tr\",g);e.on(\"mousedown_other\",B);e.on(\"need_resize\",B);e.on(\"div_ready\",g,B);e.on(\"window_blur\",B);u.on(\"need_cookie\",f);f.on(\"give_cookie\",u)};F.module(\"ps/sug\",function(c,b,a){b.init=function(){bds.se.sugsync();window.bdsug.initSug()};b.pssubmit=function(){var e=a.base;var d=s_session.userProp.searchAgroupGuide;if(!d){var f=window.baidu&&baidu.packPlayer;if(f&&s_session.yuce&&s_session.yuce!=\"1\"){if(f.getState()==\"play\"){d=true;$(\"#form\")[0].target=\"_blank\"}else{d=false;$(\"#form\")[0].target=\"_self\"}}}if(d&&$(\"#kw\")[0]&&(s_session.searchLogSend==0||$(\"#form\").attr(\"target\")==\"_blank\")){setTimeout(function(){if(s_session.sid.indexOf(\"12783\")>-1){$(\"#kw\").attr(\"data-bfocus\",1).val(\"\")}else{$(\"#kw\").triggerHandler(\"focus\");$(\"#kw\").select()}},1);if(s_session.sid.indexOf(\"12783\")>-1){}else{if($.browser.firefox){$(\"#kw\").select()}}setTimeout(function(){a.use(\"page/info\",function(g){var h=g.getInfo(),i=\"focus\";if(h&&h.isFocus){i=\"blur\"}s_session.searchLogSend=1;a.fire(\"searchBtnClick\",{opType:\"click\",openMode:\"new\"+i,wd:encodeURIComponent($(\"#kw\").val())})})},100)}else{if(s_session.searchLogSend==0||$(\"#form\").attr(\"target\")==\"_blank\"){s_session.searchLogSend=1;a.fire(\"searchBtnClick\",{opType:\"click\",openMode:\"current\",wd:encodeURIComponent($(\"#kw\").val())})}}$(\"#bd_fm_search_tip\").hide()};b.searchLog=function(){a.fire(\"queryChange\",{opType:\"querychange\",wd:encodeURIComponent($(\"#kw\").val())})}});$(window).on(\"load\",function(){if($.browser.chrome>=39){return}var d='<div id=\"_FP_userDataDiv\" style=\"behavior:url(#default#userdata);width:0px;height:0px;position:absolute;top:-10000px;left:-10000px\"></div><div id=\"_FP_comDiv\" style=\"behavior:url(#default#clientCaps);width:0px;height:0px;position:absolute;top:-10000px;left:-10000px\"></div>';$(\"body\").append(d);var j=\"//www.baidu.com/cache/fpid/o.swf\";var g=\"//www.baidu.com/cache/fpid/lib_1_0.js\";var h=\"//www.baidu.com/cache/fpid/ielib_1_1.js\";var b=\"//www.baidu.com/cache/fpid/chromelib_1_1.js\";var f=document.title;var e={flashDomId:\"_FP_userDataDiv\",flashUrl:j,comDomId:\"_FP_comDiv\",IEStoreDomId:\"_FP_userDataDiv\"};var a=navigator.userAgent.toLowerCase();var c=false;if(a.indexOf(\"msie\")>=0||new RegExp(\"trident(.*)rv.(\\\\d+)\\\\.(\\\\d+)\").test(a)){c=true}var i=function(m){if(c){window.setTimeout(function(){document.title=f},0)}window._FPID_CACHE=m;$(\"#_FP_userDataDiv\").remove();$(\"#_FP_comDiv\").remove();var q=s_session.seqId;var p=\"_WWW_BR_API_\"+(new Date()).getTime();var l=window[p]=new Image();l.onload=function(){window[p]=null};var k=$.cookie.get(\"BAIDUID\");var o=$.url.escapeSSL(\"http://eclick.baidu.com/ps_fp.htm?\");var n=o+\"pid=superplus&fp=\"+m.data.fp+\"&im=\"+m.data.im+\"&wf=\"+m.data.wf+\"&br=\"+m.data.br+\"&qid=\"+q+\"&bi=\"+k;l.src=n};if(c){$.getScript(g,function(){fpLib.getFp(i,e)})}else{$.getScript(b,function(){fpLib.getFp(i,e)})}});F.module(\"superplus:page/analyse\",function(d,c,a){c.runCssDetect=function(){$(window).bind(\"load\",function(){setTimeout(function(){b(1);setTimeout(function(){b(2,function(){setTimeout(function(){b(3)},3000)})},2000)},1000)})};var b=function(e,f){if($(\"s_main\").css(\"display\")==\"none\"){if(e==1){$.loadCss($(\"#s_superpage_css_lnk\").href+\"?v=9527\")}a.fire(\"cssLoadFailed\",{counter:e});f&&f()}}});$(document).ready(function(){window._load_status=\"dom_ready\";if($.browser.chrome&&$.browser.chrome===37){if(window.navigator.appVersion.indexOf(\"Windows NT 6.1\")>-1){$(\"#kw\").css({\"font-family\":\"Microsoft Yahei,STHeiti\"})}}window.alog&&alog(\"speed.set\",\"drt\",+new Date);F.use(\"superplus:ps/sindex\",function(e){e.init()});if(typeof window._sp_async==\"undefined\"){F.use(\"superplus:ps/sug\",function(e){e.init()})}F.use(\"superplus:ps/log\",function(e){e.bindBox(\"nv\");e.bindBox(\"u_sp\");e.bindBox(\"s_user_name_menu\");e.bindBox(\"bottom_container\");$(\"#s_pss_exit\")[0]&&e.bindBox(\"s_pss_exit\")});(s_session.isLiteVersion==\"0\")&&F.call(\"superplus:skeleton/skeleton\",\"init\");if($(\"#toipad\")[0]){F.use(\"superplus:page/toipad\",function(e){e.init()})}F.call(\"superplus:common/image_lazy_load\",\"init\");F.call(\"superplus:lib/xpath_log\",\"init\");if(_xmanCard.asynJs.length>0){$.each(_xmanCard.asynJs,function(f,g){setTimeout(function(){$.loadJs($(\"#\"+g).attr(\"data-src\"))},1)})}_xmanCard.asynLoad=function(e){$.loadJs($(\"#\"+e).attr(\"data-src\"))};$(window).bind(\"load\",function(){window._load_status=\"window_load\";if(s_session.index_off){return}(s_session.isLiteVersion==\"0\")&&F.call(\"superplus:skeleton/skeleton_load\",\"init\");F.call(\"superplus:mt/mt_show\",\"init\");F.call(\"superplus:page/page_exp\",\"init\");window._load_status=\"fully_load\";d();a();b();setTimeout(function(){var e=$(\"script[data-onload],#tipsplus-js\");e.each(function(){var f=$(this),g=f.attr(\"data-src\");if(g){f.attr(\"src\",g)}})},1)});function a(){F.call(\"superplus:start/skin_start\",\"init\")}var c=true;function b(){F.call(\"superplus:mngr/top_menu\",\"init\");if(c){F.call(\"superplus:mngr/top_menunav\",\"init\")}if(s_session.sid.indexOf(\"12670\")>-1||s_session.sid.indexOf(\"12671\")>-1){F.call(\"superplus:guide/navns_guide\",\"init\")}}function d(){var e=$(\"#s_mod_weather\");e.one(\"mouseenter\",function(){var f=$(\".city-wather .show-city-name\").attr(\"data-key\");$.ajaxget(s_domain.baseuri+\"/other/data/weatherInfo?city=\"+encodeURI(f),function(g){if(g.errNo==0&&g.data){if(g.data.weather){F.use(\"superplus:weather/weather_tpl\",function(h){h.init(g.data.weather)});F.use(\"weather/weather_ctrl\",function(h){h.bindEvents(g.data.weather)})}}})})}if($.isIE6){$(window).bind(\"resize load\",function(f){$(\"#bottom_container\").toggleClass(\"xxx4ielw\");$(document.body).toggleClass(\"rs4ie\")})}if($.browser.ie<9){s_session.skeleton_stopanimated=true}if($(window).height()<$(document).height()&&!$.isIE6){$(document.body).css(\"height\",\"auto\")}if($.browser.opera){$(document.body).css(\"minHeight\",\"100px\")}F.fire(\"superplus:page\",\"runCssDetect\");if(s_session.userTips.goddessLottery&&location.href.indexOf(\"frm=activitygoddess\")>-1){F.use(\"skin/skin_extra\",function(e){e.init()});F.use(\"superplus:common/user_attr\",function(e){e.setAttr(\"goddessLottery\",false)})}if(s_session.isFesLogo){$(\"#s_mp area\").on(\"mousedown\",function(f){ns_c({fm:\"tab\",tab:\"felogo\",rsv_platform:\"newhome\",rsv_skin:$(\"#head\").hasClass(\"s-skin-hasbg\")?\"1\":\"0\"})})}if(s_session.isHaveWrodLink){$(\"#lm a\").on(\"mousedown\",function(g){var f=$(this);ns_c&&ns_c({fm:\"behs\",tab:\"bdlink\",p1:f.index()+1,title:f.text(),url:f.attr(\"href\"),rsv_platform:\"newhome\",rsv_skin:$(\"#head\").hasClass(\"s-skin-hasbg\")?\"1\":\"0\"})})}});F.module(\"page/info\",function(c,b,a){var d=a.base,e={isFocus:true};$(window).on(\"focus\",function(){e.isFocus=true});$(window).on(\"blur\",function(){e.isFocus=false});b.getInfo=function(){return e}});"
  },
  {
    "path": "testsample/src/main/assets/baidu_files/min_tips_27647c7d.js",
    "content": "F._setMod(\"tipsplus\");F._fileMap({\"/js/min_tips_88223c25.js\":[\"config\",\"log/log\",\"start/tips_start\"],\"/js/tips_mods_f03adc21.js\":[\"mods/new_card\",\"mods/top_menu\",\"mods/tutorial\",\"mods/weather\",\"mods/cardsub\",\"mods/card_AD\",\"mods/skin\"],\"/css/min_tips_d050226f.css\":[\"tips.css\"]});F._firstScreenCSS=F._firstScreenCSS||[];F._firstScreenCSS.push(\"/css/min_tips_d050226f.css\");F._firstScreenJS=F._firstScreenJS||[];F._firstScreenJS.push(\"/js/min_tips_88223c25.js\");F.addLog(\"tipsplus:start\",{show:\"1400000000\",click:\"1400000001\"});F.module(\"tipsplus:start/tips_start\",function(d,c,b){function e(){}e.prototype={constructor:e,init:function(){this.initView()},initView:function(){var g=this,f={};$.ajaxget(s_domain.baseuri+\"/xman/data/tipspluslist\",function(h){if(h.errNo==0){data=h.data;if(!g.hasData(data)){return}else{f=data}if(window.s_session){s_session.tipsData=f}g.loadTipsCss();g.render(data);g.addEvent()}else{}})},hasData:function(f){var h,g;for(h in f){g=f[h];if(g.length){return true}}return false},loadTipsCss:function(){$.loadCss(s_domain.staticUrl+\"static/tipsplus/css/min_tips_d050226f.css\")},render:function(f){$(\"#head\").addClass(\"s-tips\");this.redDot(f.redDot);this.newWord(f.newWord);this.layer(f.layer)},addEvent:function(){var f=this;this.switchTab(function(i){var h=$('#s_ctner_menus [data-id=\"'+i.to+'\"]'),j=h.data(\"data-tid\"),g=h.data(\"data-v\");if(j){$(\".marked\",h).remove();f.update(j,g)}});$(\"#u_sp, #s_user_name_menu, #s_upfunc_menus\").on(\"click\",\"[data-tid]\",function(){var h=$(this),i=h.data(\"data-tid\"),g=h.data(\"data-v\");if(i){$(\".marked\",h).remove();f.update(i,g)}});$(\".s-tips\").on(\"mousedown\",\".s-tips-entity [data-log]\",function(){var k,g,i,h,j;k=$(this).attr(\"data-log\")||\"\";g=k.split(\",\");i=g[0]||\"\";h=g[1]||\"\";j=g[2]||\"\";b.fire(\"click\",{cmd:h,clickType:h,url:\"\",title:j,cardId:i})});b.listen([\"tipsplus:mods/cardsub\"],\"clickLog\",function(g){b.fire(\"click\",{clickType:g.tid,url:\"\",title:\"\",cardId:g.url})});b.listen([\"tipsplus:mods/top_menu\",\"tipsplus:mods/skin\",\"tipsplus:mods/new_card\",\"tipsplus:mods/cardsub\",\"tipsplus:mods/weather\",\"tipsplus:mods/tutorial\",\"tipsplus:mods/card_AD\"],\"showLog\",function(g){b.fire(\"show\",{showType:g.tid,url:\"\",title:\"\",cardId:g.cardId})})},redDot:function(g){var f=this;$.each(g,function(u,t){var j=t.id,r=t.locId,n=t.dir,m,p,v,q;if(t.extend&&t.extend.tplname){p=$(\"#s_xmancard_\"+t.extend.tplname);v=p.find(t.extend.tab);p.addClass(\"red-dot\");if(v.length){var h=p.offset(),s=v.offset(),o=parseInt(v.css(\"margin-left\"),10),l=parseInt(v.css(\"padding-left\"),10),k=s.left-h.left+o+l+v.width(),w=s.top-h.top;q=$('<span class=\"marked '+n+'\" style=\"left: '+k+\"px; top: \"+w+'px\"><i>&#8226</i></span>');p.append(q);v.on(\"click\",function(){q.remove();f.update(j,1)})}}m=$('[data-tid=\"'+r+'\"]');m.addClass(\"red-dot\");m.append('<span class=\"marked '+n+'\"><i>&#8226</i></span>');m.data(\"data-tid\",j);m.data(\"data-v\",0)})},newWord:function(g){var f=this;$.each(g,function(u,t){var j=t.id,r=t.locId,n=t.dir,m,p,v,q;if(t.extend&&t.extend.tplname){p=$(\"#s_xmancard_\"+t.extend.tplname);v=p.find(t.extend.tab);p.addClass(\"new-word\");if(v.length){var h=p.offset(),s=v.offset(),o=parseInt(v.css(\"margin-left\"),10),l=parseInt(v.css(\"padding-left\"),10),k=s.left-h.left-2,w=(v.height()-16)/2;q=$('<span class=\"marked '+n+'\" style=\"left: '+k+\"px; top: \"+w+'px\"></span>');p.append(q);v.on(\"click\",function(){q.remove();f.update(j,1)})}}m=$('[data-tid=\"'+r+'\"]');m.addClass(\"new-word\");m.append('<span class=\"marked '+n+'\"></span>');m.data(\"data-tid\",j);m.data(\"data-v\",0)})},layer:function(g){var f=this;$.each(g,function(h,j){(function(n){var o=n.id,m=n.locId,k=n.type,i=\"\",l;if(m===\"head\"){l=$(\"#head\");i=\" s-isindex-wrap\"}else{l=$('[data-tid=\"'+m+'\"]')}if(l.length){b.use(\"mods/\"+k,function(p){var q=new p();q.init({tid:m,elem:l,text:n.text,link:n.link,pic:n.pic,btnText:n.btnText,iSHook:i,extend:n.extend});q.done(function(){f.update(o,1)});if($.isFunction(q.show)){q.show()}})}})(j)})},switchTab:function(f){b.listen(\"superplus:skeleton/skeleton_ext\",\"viewChange\",function(g){f(g)})},update:function(g,f){$.ajaxpost(s_domain.baseuri+\"/xman/submit/tipsplusupdate\",{id:g,type:f},function(h){})}};var a=new e();c.init=function(){a.init()}});F.call(\"tipsplus:start/tips_start\",\"init\");"
  },
  {
    "path": "testsample/src/main/assets/baidu_files/nav_min_22274039.css",
    "content": ".tab-product{position:relative}.tab-product em{color:red;font-size:21px;position:absolute;top:10px;right:6px;line-height:12px}.s-product-navs{padding:15px 0;height:240px;padding-top:15px;padding-left:20px}.s-product-navs div{display:inline-block;*display:inline;*zoom:1;width:111px;height:61px;margin:0 8px;margin-left:0;margin-right:16px;margin-bottom:12px;padding:2px;position:relative;border-top:1px solid #EEE;background:#F8F8F8}.s-product-navs a{display:inline-block;position:absolute;top:1px;left:0;width:115px;height:38px;overflow:hidden;text-decoration:none;padding:12px 0;line-height:36px;text-align:center;font-size:14px}.s-product-navs a img{display:inline-block;*display:inline;zoom:1;vertical-align:middle}.s-product-navs a span{display:inline-block;*display:inline;*zoon:1;vertical-align:middle;color:#333;padding-left:10px;font-size:14px;height:36px}.s-product-navs div{zoom:1}.s-product-navs .nav-item a:after{display:block;content:\"\";zoom:1;width:100%;height:100%;position:absolute;left:0;top:0;z-index:1;background:url(../img/bg_5f14d5ae.png) repeat left top}.s-product-navs div.ui-hover a,.s-product-navs div a:hover,.s-product-navs div:hover a:hover{border:2px solid #389CFF !important;width:111px;height:38px;text-decoration:none;top:-1px}.s-product-navs a.more:link,.s-product-navs div.ui-hover a.more,.s-product-navs a.more:visited,.s-product-navs a.more:active{color:#0079f6;text-decoration:underline}#s_content_1 .s-nall-tabs{height:44px;width:811px;text-align:center;position:relative;border-bottom:1px solid #E9e9e9}#s_content_1 .s-nall-tabs a{display:inline-block;width:86px;color:#222;font-size:14px;height:44px;line-height:44px;text-decoration:none;position:relative}#s_content_1 .s-nall-tabs a:hover{text-decoration:none}#s_content_1 .s-nall-tabs a.tab-on{font-weight:bold;border-bottom:2px solid #42A0FE;height:42px;line-height:42px;line-height:44px\\9;_bottom:-1px}.s-nused{position:relative;width:811px}.s-nav-ctner{position:relative}.s-nav-ctner .s-used-navs,.s-nav-ctner .s-hot-navs{width:811px;height:90px;padding-top:15px;position:relative}.s-nav-ctner .s-hot-navs{height:168px;overflow:hidden;padding-top:0}.s-nav-ctner .s-hot-navs.three-lines{height:258px;padding-top:15px}.s-nav-ctner .s-used-navs.unshown{display:none}.s-nav-ctner .s-used-navs .used-title,.s-nav-ctner .s-hot-navs .hot-title{padding:4px 7px 0 20px;width:20px;text-align:left;font-size:12px;line-height:16px;color:#999;height:81px;float:left}.s-nav-ctner .s-used-navs .s-used-close{position:absolute;width:16px;height:0;display:inline-block;top:15px;right:8px;background:url(\"../img/nused_bg_9ae9e8cd.png\") no-repeat 3px 4px;_background:url(\"../img/nused_bg_ie_424b4861.png\") no-repeat 3px 4px;overflow:hidden;padding-top:16px;text-decoration:none;_zoom:1}.s-nav-ctner .s-used-navs .s-used-close:hover{height:73px;background-position:-23px 4px;line-height:16px;font-size:12px;color:#389CFF;text-decoration:none;text-align:center}.s-nav-ctner .two-lines .hot-title{padding-top:43px}.s-nav-ctner .s-used-navs .s-used-area,.s-nav-ctner .s-hot-navs .s-hot-area{width:764px;float:left}.s-nav-ctner .two-lines .s-hot-area{height:150px;overflow:hidden;position:relative}.s-nav-ctner .nav-item,.s-nav-ctner .nav-blank{display:inline-block;width:115px;height:70px;vertical-align:top;background:#F8F8F8;position:relative;overflow:hidden;text-decoration:none;position:relative}.s-nav-ctner .three-lines .nav-item,.s-nav-ctner .three-lines .nav-blank{}.s-nav-ctner .nav-item:hover{text-decoration:none}.s-nav-ctner .nav-blank{background-color:#FCFCFC}.s-nav-ctner .nav-blank .nav-blank-bg{background:url(\"../img/s_nused_bg_0adcdd5d.png\") no-repeat 35px -98px;_background:url(\"../img/s_nused_bg_ie_de8e24ec.png\") no-repeat 35px -98px;width:115px;height:70px}.s-nav-ctner .nav-item.nav-right,.s-nav-ctner .nav-blank.nav-right{border-right:none}.s-nav-ctner .nav-big img{width:115px;height:70px}.s-nav-ctner .nav-small{line-height:70px;padding:0 7px 0 11px;width:97px;background:#F8F8F8}.s-nav-ctner .nav-small img{margin:27px 5px 0 0;vertical-align:top}.s-nav-ctner .nav-small em{width:76px;display:inline-block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-o-text-overflow:ellipsis;font-size:14px;color:#222;font-weight:bold;cursor:pointer}.s-nav-ctner .nav-item.mover{border-right:none;border-bottom:none}.s-nav-ctner .nav-item.mover .tag-new{display:none}.s-nav-ctner .nav-item .tag-new{background-position:-1px 0}.s-nav-ctner .nav-item .tag{display:none;position:absolute;right:0;top:0}.s-nav-ctner .nav-item .juhui{width:38px;height:39px;background:url(\"../img/juhui_f476ff2a.png\") no-repeat 0 0}.s-nav-ctner .nav-warpper .rebate{display:none;width:117px;overflow:hidden;position:absolute;left:0;bottom:0;font-size:12px;text-align:center;height:18px;line-height:18px;color:#fff;background:url(\"../img/black_b475f94b.png\") repeat 0 0;zoom:1;z-index:10}.s-nav-ctner .nav-warpper .rebate a{font-size:12px;color:#fff;text-decoration:underline}.s-nav-ctner .nav-warpper .rebate-hover{background:#38f;filter:none;color:#fff;z-index:1000;zoom:1}.s-nav-ctner .nav-warpper{margin:0 8px 14px 0;position:relative;float:left}.s-nav-ctner .nav-warpper .nav-item .hide{display:none}.s-nav-ctner .fanli-hide .rebate-icon{display:none}.s-nav-ctner .nav-warpper .rebate-icon{position:absolute;top:0;right:0;width:16px;height:16px;background:url(\"../img/fanli_d258c36e.png\") repeat 0 0}.s-nav-ctner .nav-warpper .rebate-icon a{display:inline-block;width:16px;height:16px}.s-btn-backto-nused{height:40px;border-top:1px solid #F0F0F0;cursor:pointer;position:relative;margin-top:-1px;outline:none;display:block;text-decoration:none}.s-btn-backto-nused:hover{background:#F0F0F0;text-decoration:none}.s-btn-backto-nused.pos-absolute{position:absolute;width:811px;bottom:0;left:0}.s-btn-backto-nused span{color:#666;position:absolute;display:inline-block;cursor:pointer;height:18px;line-height:18px;padding-left:21px;top:13px;left:368px;background:url(\"../img/s_nori_bg_e23d1cb9.png\") no-repeat 0 4px;_background:url(\"../img/s_nori_bg_ie_a256210a.png\") no-repeat 0 1px}.s-btn-backto-nused:hover span{background-position:0 -180px;_background:url(\"../img/s_nori_bg_ie_a256210a.png\") no-repeat 0 -183px;color:#0079F5 !important}.s-nav-opts{position:absolute;top:-32px;height:20px;line-height:20px;width:172px;right:20px}.s-nav-opts .s-nav-opt{float:right;padding-left:15px;color:#222;font-size:13px;margin-left:12px;background:url(\"../img/s_nori_bg_e23d1cb9.png\") no-repeat;_background:url(\"../img/s_nori_bg_ie_a256210a.png\") no-repeat;text-decoration:none}.s-nav-opts .editTip{position:absolute;top:20px;left:10px;background:url(\"../img/edit_tip_bg_26ec3a57.png\") no-repeat;width:190px;height:48px;line-height:15px;padding:13px 10px}.s-nav-opts .editTip .getTipClose{position:absolute;width:20px;height:20px;top:12px;right:25px;cursor:pointer}.s-nav-opts .s-nav-opt:hover{text-decoration:none;color:#0079F5}.s-nav-opts .s-nav-opt.nused{background-position:0 -19px;_background-position:0 -21px;padding-left:19px}.s-nav-opts .s-nav-opt.nused:hover{background-position:0 -89px;_background-position:0 -91px}.s-nav-opts .s-nav-opt.add{background-position:3px -42px;_background-position:3px -43px;padding-left:18px;position:relative}.s-nav-opts .s-nav-opt.add:hover{background-position:3px -115px;_background-position:3px -116px}.s-nav-opts .s-nav-opt.add span{display:inline-block;width:10px;height:10px;position:absolute;top:-3px;right:-8px;background:url(\"../img/s_nori_bg_e23d1cb9.png\") no-repeat 0 -166px;_background:url(\"../img/s_nori_bg_ie_a256210a.png\") no-repeat 0 -166px}.s-nav-opts .s-nav-opt.edit{background-position:0 -66px;_background-position:0 -67px}.s-nav-opts .s-nav-opt.edit:hover{background-position:0 -137px;_background-position:0 -138px}.s-nav-opts .s-nav-opt.unshown{display:none}.s-nplus .tip-4-618,.s-nori .tip-4-618{position:relative;display:none;width:760px;height:28px;line-height:28px;margin:5px 0 0 20px;padding-left:10px;background:#ffc;border:1px solid #dddddc}\n.tip618-pattern .tip-4-618,.fanli-pattern .tip-4-618{display:block}.s-nplus .tip-4-618 em,.s-nori .tip-4-618 em{font-weight:bold}.s-nplus .tip-4-618 a{color:#3f48cc}.s-nplus .tip-4-618 em a{color:#222}.s-nplus .tip-4-618 .tip-618-closer,.s-nori .tip-4-618 .tip-618-closer{position:absolute;display:block;height:12px;line-height:12px;width:12px;right:9px;top:8px;font-size:0;background:url(\"../img/s_nav_edit_3207fbe8.png\") no-repeat 3px -21px;_background:url(\"../img/s_nav_edit_ie_26c7ec08.png\") no-repeat 3px 2px;cursor:pointer}.nplus-edit .tip-4-618,.nori-edit .tip-4-618{display:none}.s-nplus .s-scroll-content{overflow:hidden;position:relative}.s-nall .s-nplus .s-haveno-test{height:auto;overflow:none}.s-nori .s-nav-blank,.s-nplus .s-nav-blank{display:inline-block;width:811px;height:277px;position:relative}.s-nplus.nplus-edit .s-scroll-content{height:auto;overflow:none}.s-nori.nori-edit .s-scroll-content{height:auto;overflow:none}.s-nori .s-nav-blank .s-nav-blank-bg,.s-nplus .s-nav-blank .s-nav-blank-bg{width:811px;height:277px;background:url(\"../img/s_nav_blank_985dc16c.png\") no-repeat 120px 72px;_background:url(\"../img/s_nav_blank_ie_df909c60.png\") no-repeat 120px 72px}.s-nori .s-nav-blank .s-nav-blank-add,.s-nplus .s-nav-blank .s-nav-blank-add{position:absolute;display:inline-block;width:52px;height:22px;top:127px;left:507px}.s-nori{position:relative;width:811px;font-size:14px;min-height:273px;_height:auto !important;_height:273px}.s-nori .s-scroll-content{height:253px;overflow:hidden;position:relative}.s-nall .s-nori .s-haveno-test{height:auto;overflow:none}.s-nori .s-scroll-contr{width:7px;height:253px;position:absolute;background:#efefef;right:4px;top:2px;display:block;cursor:pointer;border:1px solid #CAC7C7}.s-nori .soccer-scroll-ctrl-hover .s-scroll-solider{border:1px solid #bebebe !important;border-bottom:1px solid #aeaeae !important;background-color:#fff !important}.s-nall .s-nori .soccer-scroll-ctrl-hover{background:#bfbfbf !important;border:1px solid #a1a1a1 !important;filter:none !important}.s-nori .s-scroll-solider{width:7px;height:30px;position:absolute;background:white;top:0;cursor:pointer;left:-1px;border:1px solid #BCBABA}.s-nori .s-nori-ctner{min-height:273px;_height:auto !important;_height:273px}.s-nori .s-nori-navs{padding-left:20px;width:791px;overflow:hidden;background:url(\"../img/s_nori_line_a25c2b50.png\") repeat-y 20px 0;_background:url(\"../img/s_nori_line_a25c2b50.png\") repeat-y 20px 0!important;position:relative}.s-nori .s-nori-nav{width:145px;height:40px;padding:0 13px 0 0;float:left;position:relative}.s-nori .s-nori-nav .s-nori-inner{width:139px}.s-nori .s-nori-nav.nori-mover .s-nori-inner{background:#f8f8f8}#s_content_1 .s-nori.nori-edit .s-nori-nav.nori-mover .s-nori-inner{background:none !important}.s-nori .s-nori-nav .s-nori-inner .s-nav-name{height:28px;line-height:28px;padding:5px 22px 6px 11px;display:block;width:106px;outline:none;_top:5px;_position:relative}.s-nori .s-nori-nav .s-nori-inner .s-nav-name:hover{text-decoration:none}.s-nori .s-nori-nav img{margin-right:5px;vertical-align:top;margin-top:6px;*vertical-align:bottom;*margin-bottom:5px;_margin-bottom:0;_vertical-align:top;_margin-top:4px}.s-nori .s-nori-nav em{color:#222;width:85px;display:inline-block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-o-text-overflow:ellipsis;cursor:pointer}.s-nori .s-nori-nav .nav-del,.s-nori .s-nori-nav .nav-edit{display:none}.s-nplus{position:relative;width:811px;font-size:14px;min-height:273px;_height:auto !important;_height:273px}.s-nplus .s-scroll-content{height:253px;overflow:hidden;position:relative}.s-nplus .s-scroll-contr{width:7px;height:253px;position:absolute;background:#efefef;right:4px;top:2px;display:block;cursor:pointer;border:1px solid #CAC7C7}.s-nall .s-nplus .soccer-scroll-ctrl-hover{background:#bfbfbf !important;border:1px solid #a1a1a1 !important;filter:none !important}.s-nplus .soccer-scroll-ctrl-hover .s-scroll-solider{border:1px solid #bebebe !important;border-bottom:1px solid #aeaeae !important;background-color:#fff !important}.s-nplus .s-scroll-solider{width:7px;height:30px;position:absolute;background:white;top:0;cursor:pointer;left:-1px;border:1px solid #BCBABA}.s-nplus .s-nplus-ctner{min-height:273px;_height:auto !important;_height:273px;_background:url(\"../img/s_nplus_line_3e005cdb.png\") repeat-y 94px 0!important;_background-color:#FFF!important;position:relative}.s-nplus .s-ncf{display:block;position:relative;padding-left:20px;width:791px;background:url(\"../img/nplus_bg_ie8_88955f8f.png\") repeat 0 0\\0;*background:none;*filter:none;_height:auto!important;_height:41px}.s-nplus .s-ncf.unshown{display:none}.s-nplus .s-ncf-name{float:left;width:75px;font-size:14px;text-align:left;padding-top:8px;border-top:2px solid #eaeaea;position:relative;margin-top:-1px;left:0;*zoom:1}.s-nplus .first .s-ncf-name{border-top:none;padding-top:10px}.s-nplus .s-ncf-name .s-ncf-name-link{outline:none;display:inline-block;width:57px;height:18px;line-height:18px;padding:1px 0 0 0;text-decoration:none;color:#656565;font-weight:bold;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-o-text-overflow:ellipsis;cursor:default}.s-nplus .s-ncf-navs{min-height:28px;_margin-left:73px;overflow:hidden;position:relative;background:url(\"../img/s_nplus_line_3e005cdb.png\") repeat-y 0 0;_background:none!important}.s-nplus .s-nplus-nav{float:left;position:relative;width:135px;_width:135px;height:39px;text-align:left;font-size:14px;padding:1px;_overflow:hidden}.s-nplus .s-nplus-nav .s-nplus-inner{width:136px;height:40px;position:relative;left:-1px;top:-2px}.s-nplus .s-nplus-nav.nplus-mover{background:#f8f8f8}#s_content_1 .s-nplus.nplus-edit .s-nplus-nav.nplus-mover{background:none !important}.s-nplus .s-nav-name{float:left;height:33px;line-height:33px;cursor:pointer;padding:3px 19px 3px 6px;text-decoration:none}.s-nplus .nplus-mover .s-nav-name:hover{text-decoration:none}.s-nplus .s-nav-name img{vertical-align:top;padding-top:8px;float:left;margin-left:2px}.s-nplus .s-nav-name em{display:inline-block;height:33px;line-height:33px;text-align:left;padding-left:3px;float:left;width:86px;overflow:hidden;color:#222;white-space:nowrap;text-overflow:ellipsis;-o-text-overflow:ellipsis}.s-nplus .nav-text{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-o-text-overflow:ellipsis}.fanli-pattern .nav-text{display:inline-block;*display:inline;zoom:1;max-width:64px;_width:64px;color:#222;vertical-align:middle;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-o-text-overflow:ellipsis}.fanli-pattern .s-nav-name em .fanli-tag{display:inline-block;*display:inline;zoom:1;vertical-align:middle;width:16px;height:16px;margin-left:5px;background:url(../img/fanli_d258c36e.png?v=md) no-repeat}.nplus-edit .s-nav-name em .fanli-tag,.s-nav-name em .fanli-tag{display:none}.nori-edit .s-nav-name em .fanli-tag{display:none}.s-nplus .s-nplus-nav .nav-del,.s-nplus .s-nplus-nav .nav-edit{display:none}.s-nadd{height:auto;width:811px;padding-bottom:20px;position:relative}.s-nadd .s-nadd-opts{position:absolute;top:-32px;height:20px;line-height:20px;width:70px;right:20px}.s-nadd .s-nadd-opts .s-nadd-opt{float:right;padding-left:19px;color:#666;font-size:13px;margin-left:12px;background:url(\"../img/s_nadd_bg_0efbca31.png\") no-repeat 0 -153px;_background:url(\"../img/s_nadd_bg_ie_9de874bf.png\") no-repeat 0 -153px;text-decoration:none}.s-nadd .s-nadd-opts .s-nadd-opt:hover{background-position:0 -184px;color:#0079F5;text-decoration:none}.s-nadd .s-nadd-form{z-index:1;border-bottom:1px solid #F0F0F0;padding:19px 20px 25px 20px;height:26px;position:relative}.s-nadd .s-nadd-form .ipt-name-ctner,.s-nadd .s-nadd-form .ipt-url-ctner{position:relative;height:26px;float:left;margin-right:5px}.s-nadd  .ipt-url-ctner .s-navplus-ie8{width:298px;height:26px;position:absolute;left:0;top:0}.s-nadd .s-nadd-form .ipt-name-ctner{width:200px;margin-right:10px;_margin-right:5px}.s-nadd .s-nadd-form .ipt-url-ctner{width:459px}.s-nadd .s-nform-plus .ipt-url-ctner{width:299px;margin-right:10px}\n.s-nadd .s-nadd-form .ipt-url-ctner .s-navplus-ie8{width:459px}.s-nadd .s-nadd-form .cite-name-input,.s-nadd .s-nadd-form .cite-url-input{height:16px;line-height:16px;line-height:18px\\0;*line-height:19px;padding:4px 0 4px 9px;outline:none;border:1px solid #cecece;color:#666;font-size:13px;background:none}.s-nadd .s-nadd-form .cite-name-input:focus,.s-nadd .s-nadd-form .cite-url-input:focus{border-color:#389BFE}.s-nadd .s-nadd-form .cite-name-input{width:189px}.s-nadd .s-nadd-form .cite-url-input{width:448px}.s-nadd .s-nform-plus .cite-url-input{width:288px}.s-nadd .s-nadd-form .s-nadd-btn-add,.s-nadd .s-nadd-form .s-nadd-btn-add:hover{width:92px;height:26px;display:inline-block;line-height:26px;color:#FFF;text-decoration:none;outline:none;float:right;background:#389CFF;text-align:center;position:relative;*margin-top:1px;_margin-top:0}.s-nadd .s-nadd-form .s-nadd-btn-add.btn-add-nplus,.s-nadd .s-nadd-form .s-nadd-btn-add.btn-add-nplus:hover{*margin-top:-25px;_margin-top:-26px}.s-nadd-form .s-select{display:none;_margin-top:1px}.s-nform-plus .s-select{width:150px;height:26px;display:inline-block;_margin-left:-13px}.s-select-layer.s-nadd-select{width:148px;border-color:#CDCDCD}.s-nform-plus .s-select .s-select-arrow{right:2px;width:14px;background:url(\"../img/menu_bg_3194af92.png\") no-repeat -167px -264px}.s-nform-plus .s-select-input-mask{width:121px;color:#666;font-size:13px;font-family:arial, 'Hiragino Sans GB', 'Microsoft Yahei', 微软雅黑, 宋体, 宋体, Tahoma, Arial, Helvetica, STHeiti;padding-left:8px;background:none;height:24px;border-color:#cecece}.s-select-layer.s-nadd-select .s-select-layer-option{width:121px;padding-left:8px;font-size:13px;color:#555;height:30px;line-height:30px}.s-nadd-select .s-nadd-dir-add{width:124px;height:30px;line-height:30px;color:#0079F5;padding-left:24px;text-align:left;background:url(\"../img/s_nori_bg_e23d1cb9.png\") no-repeat 9px -111px;_background:url(\"../img/s_nori_bg_ie_a256210a.png\") no-repeat 9px -111px;cursor:pointer;font-size:13px}.s-nadd-form .addform-input-area{width:252px;height:26px;_position:absolute;_margin-top:19px;_margin-left:-10px}.s-nadd-form .addform-input-area .addform-input{height:20px;color:#666;line-height:20px;border:1px solid #CCC;width:90px;margin-right:10px;outline:none;padding:2px 0 2px 8px;background-color:white;width:140px;font-size:13px}.s-nadd-form .addform-input-area .addform-submit,.s-nadd-form .addform-input-area .addform-cancel{display:inline-block;width:41px;height:24px;border:1px solid;line-height:24px;text-align:center;position:absolute;font-size:12px;text-decoration:none;*top:20px;_top:1px}.s-nadd-form .addform-input-area .addform-submit{border-color:#389BFE #389BFE #3088E2 #389BFE;right:70px;_right:49px;color:#FFF;background-color:#389BFE}.s-nadd-form .addform-input-area .addform-cancel{border-color:#D3D2D2;right:22px;_right:1px;color:#666}.s-nadd .s-nadd-recommend{padding:15px 20px 0 20px;height:auto}.s-nadd .s-nadd-recommend .s-nadd-dir{padding-top:10px;height:30px}.s-nadd .s-nadd-recommend .s-nadd-dir .s-dir-title{display:inline-block;line-height:30px;height:30px;width:84px;text-align:left;font-size:13px;color:#555;vertical-align:top}.s-nadd .s-nadd-recommend .s-nadd-dir .s-nadd-nav{display:inline-block;width:78px;height:28px;line-height:28px;padding:0 5px 0 28px;color:#222;border:1px solid #F0F0F0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-o-text-overflow:ellipsis;margin-right:30px;font-size:13px;background:url(\"../img/s_nadd_bg_0efbca31.png\") no-repeat 8px 9px;_background:url(\"../img/s_nadd_bg_ie_9de874bf.png\") no-repeat 8px 9px}.s-nadd .s-nadd-recommend .s-nadd-dir .s-nadd-nav:hover{text-decoration:none;background-position:6px -19px}.s-nadd .s-nadd-recommend .dir-recommend .s-nadd-nav{border-color:#EEE4D0;background-position:8px -50px;background-color:#FFFBE7}.s-nadd .s-nadd-recommend .dir-recommend .s-nadd-nav:hover{background-position:6px -82px;text-decoration:none}.s-nadd .s-nadd-recommend .s-nadd-dir .s-nadd-nav.added{background-position:8px -117px}.s-nadd .s-nadd-recommend .s-nadd-dir .s-nadd-nav.added:hover{text-decoration:none;background-position:8px -117px}.s-nadd .s-nadd-recommend .s-nadd-dir .s-nadd-nav.nav-right{margin-right:0}#s_nav_add_win_tip.s-guide-tip .tip-content-msg .tip-ok,#s_nav_add_win_tip.s-guide-tip .tip-content-msg .tip-err{height:14px;width:14px;padding-left:19px;background:url(\"../img/s_nadd_bg_0efbca31.png\") no-repeat;background:url(\"../img/s_nadd_bg_ie_9de874bf.png\") no-repeat}#s_nav_add_win_tip.s-guide-tip .tip-content-msg .tip-err{background-position:0 -216px;_background-position:0 -219px}#s_nav_add_del_tip .guide-tip-inner{padding:4px 4px 2px 7px;text-align:center;*height:23px}﻿.s-skin-hasbg .s-info-ctner,.s-skin-hasbg .s-nadd .s-nadd-form,.s-skin-hasbg .s-nadd .s-nadd-recommend,.s-skin-hasbg .s-nori .s-nori-ctner,.s-skin-hasbg .s-nplus .s-nplus-ctner,.s-skin-hasbg .s-nav-edit-addform{}.s-skin-hasbg .s-btn-backto-nused{background:white}.s-skin-hasbg .s-btn-backto-nused:hover{background:#F0F0F0}.s-skin-hasbg #s_content_1.trans{*margin-top:0;*padding-top:0}.s-skin-hasbg .s-nav-ctner .s-nav-btn-extend{background:url(\"../img/s_nused_bg_0adcdd5d.png\") no-repeat 0 -28px;_background:url(\"../img/s_nused_bg_ie_de8e24ec.png\") no-repeat 0 -28px}.s-skin-hasbg .s-nav-ctner .s-nav-btn-extend.mover-ie6{background:url(\"../img/s_nused_bg_0adcdd5d.png\") no-repeat -1px -29px;_background:url(\"../img/s_nused_bg_ie_de8e24ec.png\") no-repeat -1px -29px}.s-skin-hasbg .s-info-ctner .news-item a{color:#222}.s-skin-hasbg .s-nadd .s-nadd-opts .s-nadd-opt{background:url(\"../img/s_nori_bg_e23d1cb9.png\") no-repeat;_background:url(\"../img/s_nori_bg_ie_a256210a.png\") no-repeat}.s-skin-hasbg .s-nori .s-nav-opts .s-nav-opt.nused,.s-skin-hasbg .s-nplus .s-nav-opts .s-nav-opt.nused,.s-skin-hasbg .s-nadd .s-nadd-opts .s-nadd-opt{background-position:-1px -35px;color:#222}.s-skin-hasbg .s-nadd .s-nadd-opts .s-nadd-opt{background-position:-1px -19px;color:#222}.s-skin-hasbg .s-nori .s-nav-opts .s-nav-opt.nused:hover,.s-skin-hasbg .s-nplus .s-nav-opts .s-nav-opt.nused:hover,.s-skin-hasbg .s-nadd .s-nadd-opts .s-nadd-opt:hover{background-position:-1px -146px;color:#FFF;text-shadow:0 0 7px #000}.s-skin-hasbg .s-nadd .s-nadd-opts .s-nadd-opt:hover{background-position:-1px -89px;color:#0079F5;text-shadow:none}.s-skin-hasbg .s-nori .s-nav-opts .s-nav-opt.add span,.s-skin-hasbg .s-nplus .s-nav-opts .s-nav-opt.add span{top:-4px;right:-9px;background:url(\"../img/skin_opts_7967c184.png\") no-repeat -4px -213px;_background:url(\"../img/skin_opts_ie_102b14ac.png\") no-repeat -4px -213px}.s-skin-hasbg .s-info-ctner .info-funny .funny-title{background:url(\"../img/s_nused_bg_0adcdd5d.png\") no-repeat -199px -23px;_background:url(\"../img/s_nused_bg_ie_de8e24ec.png\") no-repeat -164px -23px}.s-skin-hasbg .s-nplus .s-ncf-name .s-ncf-name-link,.s-skin-hasbg .s-nplus .s-nav-name em,.s-skin-hasbg .s-btn-backto-nused span,.s-skin-hasbg .s-nori .s-nori-nav em,.s-skin-hasbg .s-nav-edit-addform .addform-inner-cbx-container a,.s-skin-hasbg .s-nav-edit-addform .addform-add-btn{color:#222}.s-skin-hasbg .s-btn-backto-nused span{background:url(\"../img/s_nori_bg_e23d1cb9.png\") no-repeat 0 -203px;_background:url(\"../img/s_nori_bg_ie_a256210a.png\") no-repeat 0 1px}.s-skin-hasbg .s-btn-backto-nused:hover span{background-position:0 -180px;_background:url(\"../img/s_nori_bg_ie_a256210a.png\") no-repeat 0 -183px}.s-skin-hasbg .nplus-edit .s-nplus-nav .nav-edit{background:url(\"../img/s_nav_edit_3207fbe8.png\") no-repeat -49px -17px;_background:url(\"../img/s_nav_edit_ie_26c7ec08.png\") no-repeat -49px 5px}.s-skin-hasbg .nplus-edit .s-nplus-nav .nav-del,.s-skin-hasbg .nplus-edit .s-nplus-nav.nplus-mover .nav-del{background:url(\"../img/s_nav_edit_3207fbe8.png\") no-repeat 6px -16px;_background:url(\"../img/s_nav_edit_ie_26c7ec08.png\") no-repeat 6px 7px}.s-skin-hasbg .s-nplus .s-nplus-nav.nplus-mover .nav-del:hover{background-position:-19px 7px}.s-skin-hasbg .nori-edit .s-nori-nav .nav-del:hover,.s-skin-hasbg .nori-edit .s-nori-nav.nori-mover .nav-del:hover{background-position:-19px 7px}\n.s-skin-hasbg .nplus-edit .s-ncf-name .s-ncf-name-rename{background:url(\"../img/s_nav_edit_3207fbe8.png\") no-repeat -52px -18px;_background:url(\"../img/s_nav_edit_ie_26c7ec08.png\") no-repeat -52px 4px}.s-skin-hasbg .nori-edit .s-nori-nav .nav-del,.s-skin-hasbg .nori-edit .s-nori-nav.nori-mover .nav-del{background:url(\"../img/s_nav_edit_3207fbe8.png\") no-repeat 6px -16px;_background:url(\"../img/s_nav_edit_ie_26c7ec08.png\") no-repeat 6px 7px}.s-skin-hasbg .nori-edit .s-nori-nav .nav-edit{background:url(\"../img/s_nav_edit_3207fbe8.png\") no-repeat -49px -17px;_background:url(\"../img/s_nav_edit_ie_26c7ec08.png\") no-repeat -49px 5px}.s-skin-hasbg .s-nadd .s-nadd-form .cite-name-input,.s-skin-hasbg .s-nadd .s-nadd-form .cite-url-input,.s-skin-hasbg .s-nadd-form .addform-input-area .addform-input,.s-skin-hasbg .s-nav-edit-addform .addform-input-area .addform-input{background:none;color:#222}.s-skin-hasbg .s-nadd .s-nadd-recommend .s-nadd-dir .s-dir-title,.s-skin-hasbg .s-nadd .s-nadd-recommend .s-nadd-dir .s-nadd-nav,.s-skin-hasbg .s-nform-plus .s-select-input-mask{color:#222}.s-skin-hasbg .s-nadd .s-nadd-recommend .s-nadd-dir .s-nadd-nav.added{color:#666}.s-opacity-0 .nav-item.s-opacity-border3-top{border-top-color:transparent;!important:border-top-color: rgba(255,255,255,.0) !important}.s-opacity-0 .s-nori .s-nori-navs{background:url(\"../img/lines/s_nori_line_20_92c6f4b4.png\") repeat-y 20px 0}.s-opacity-0 .s-nplus .s-ncf-navs{background:url(\"../img/lines/s_nplus_line_20_84f4a23e.png\") repeat-y 0 0}.s-opacity-5 .s-nori .s-nori-navs{background:url(\"../img/lines/s_nori_line_5_fa359209.png\") repeat-y 20px 0}.s-opacity-5 .s-nplus .s-ncf-navs{background:url(\"../img/lines/s_nplus_line_5_0c28b644.png\") repeat-y 0 0}.s-opacity-10 .s-nori .s-nori-navs{background:url(\"../img/lines/s_nori_line_10_5e55903a.png\") repeat-y 20px 0}.s-opacity-10 .s-nplus .s-ncf-navs{background:url(\"../img/lines/s_nplus_line_10_6a789dfa.png\") repeat-y 0 0}.s-opacity-15 .s-nori .s-nori-navs{background:url(\"../img/lines/s_nori_line_15_73bd0457.png\") repeat-y 20px 0}.s-opacity-15 .s-nplus .s-ncf-navs{background:url(\"../img/lines/s_nplus_line_15_f488f710.png\") repeat-y 0 0}.s-opacity-20 .s-nori .s-nori-navs{background:url(\"../img/lines/s_nori_line_20_92c6f4b4.png\") repeat-y 20px 0}.s-opacity-20 .s-nplus .s-ncf-navs{background:url(\"../img/lines/s_nplus_line_20_84f4a23e.png\") repeat-y 0 0}.s-opacity-25 .s-nori .s-nori-navs{background:url(\"../img/lines/s_nori_line_25_c1cfdd0a.png\") repeat-y 20px 0}.s-opacity-25 .s-nplus .s-ncf-navs{background:url(\"../img/lines/s_nplus_line_25_3a2b9ae5.png\") repeat-y 0 0}.s-opacity-30 .s-nori .s-nori-navs{background:url(\"../img/lines/s_nori_line_30_5598d4d1.png\") repeat-y 20px 0}.s-opacity-30 .s-nplus .s-ncf-navs{background:url(\"../img/lines/s_nplus_line_30_030f2d7b.png\") repeat-y 0 0}.s-opacity-35 .s-nori .s-nori-navs{background:url(\"../img/lines/s_nori_line_35_84d64187.png\") repeat-y 20px 0}.s-opacity-35 .s-nplus .s-ncf-navs{background:url(\"../img/lines/s_nplus_line_35_1ae3508f.png\") repeat-y 0 0}.s-opacity-40 .s-nori .s-nori-navs{background:url(\"../img/lines/s_nori_line_40_31cfbfce.png\") repeat-y 20px 0}.s-opacity-40 .s-nplus .s-ncf-navs{background:url(\"../img/lines/s_nplus_line_40_fb1b97f8.png\") repeat-y 0 0}.s-opacity-45 .s-nori .s-nori-navs{background:url(\"../img/lines/s_nori_line_45_7a54cba6.png\") repeat-y 20px 0}.s-opacity-45 .s-nplus .s-ncf-navs{background:url(\"../img/lines/s_nplus_line_45_b5d5bb80.png\") repeat-y 0 0}.s-opacity-50 .s-nori .s-nori-navs{background:url(\"../img/lines/s_nori_line_50_d9f32029.png\") repeat-y 20px 0}.s-opacity-50 .s-nplus .s-ncf-navs{background:url(\"../img/lines/s_nplus_line_50_cc1bb201.png\") repeat-y 0 0}.s-opacity-55 .s-nori .s-nori-navs{background:url(\"../img/lines/s_nori_line_55_b3b09e39.png\") repeat-y 20px 0}.s-opacity-55 .s-nplus .s-ncf-navs{background:url(\"../img/lines/s_nplus_line_55_e19ab754.png\") repeat-y 0 0}.s-opacity-60 .s-nori .s-nori-navs{background:url(\"../img/lines/s_nori_line_60_8de834ce.png\") repeat-y 20px 0}.s-opacity-60 .s-nplus .s-ncf-navs{background:url(\"../img/lines/s_nplus_line_60_aff7edde.png\") repeat-y 0 0}.s-opacity-65 .s-nori .s-nori-navs{background:url(\"../img/lines/s_nori_line_65_40cc8174.png\") repeat-y 20px 0}.s-opacity-65 .s-nplus .s-ncf-navs{background:url(\"../img/lines/s_nplus_line_65_19fb17e8.png\") repeat-y 0 0}.s-opacity-70 .s-nori .s-nori-navs{background:url(\"../img/lines/s_nori_line_70_b9df6642.png\") repeat-y 20px 0}.s-opacity-70 .s-nplus .s-ncf-navs{background:url(\"../img/lines/s_nplus_line_70_f2bbcde1.png\") repeat-y 0 0}.s-opacity-75 .s-nori .s-nori-navs{background:url(\"../img/lines/s_nori_line_75_3a4758c7.png\") repeat-y 20px 0}.s-opacity-75 .s-nplus .s-ncf-navs{background:url(\"../img/lines/s_nplus_line_75_999ffba8.png\") repeat-y 0 0}.s-opacity-80 .s-nori .s-nori-navs{background:url(\"../img/lines/s_nori_line_80_24112a0e.png\") repeat-y 20px 0}.s-opacity-80 .s-nplus .s-ncf-navs{background:url(\"../img/lines/s_nplus_line_80_4ed6fb51.png\") repeat-y 0 0}.s-opacity-85 .s-nori .s-nori-navs{background:url(\"../img/lines/s_nori_line_85_3d88b257.png\") repeat-y 20px 0}.s-opacity-85 .s-nplus .s-ncf-navs{background:url(\"../img/lines/s_nplus_line_85_98b239ef.png\") repeat-y 0 0}.s-opacity-90 .s-nori .s-nori-navs{background:url(\"../img/lines/s_nori_line_90_42162635.png\") repeat-y 20px 0}.s-opacity-90 .s-nplus .s-ncf-navs{background:url(\"../img/lines/s_nplus_line_90_6679cdd4.png\") repeat-y 0 0}.s-opacity-95 .s-nori .s-nori-navs{background:url(\"../img/lines/s_nori_line_95_5a57804b.png\") repeat-y 20px 0}.s-opacity-95 .s-nplus .s-ncf-navs{background:url(\"../img/lines/s_nplus_line_95_9b6bd19d.png\") repeat-y 0 0}.s-opacity-100 .s-nori .s-nori-navs{background:url(\"../img/lines/s_nori_line_100_66d96742.png\") repeat-y 20px 0}.s-opacity-100 .s-nplus .s-ncf-navs{background:url(\"../img/lines/s_nplus_line_100_29b4d26c.png\") repeat-y 0 0}#s_content_1  .s-navplus-ns{text-align:left;padding-left:20px;width:791px}#s_content_1  .s-navplus-ns  a{text-align:center}.s-navplus-nswraper{}.s-navplus-nswraper .s_ns_nused{position:relative}.s-navplus-nswraper .s_nused_more{position:absolute;top:-32px;right:20px;font-size:13px;color:#333}.s-navplus-nswraper .s_nused_more:hover{color:#0079F5;text-decoration:none}.s-ns-navwrappr{width:811px;min-height:311px;top:0;left:811px;display:none}.s-ns-navwrap{width:811px;min-height:311px;top:0;left:0;z-index:1}.s-ns-anim{overflow:hidden}.s-ns-anim .s-ns-navwrap,.s-ns-anim .s-ns-navwrappr{position:absolute}.s-navplus-nsopen .s-ns-navwrap{left:-811px;display:none}.s-navplus-nsopen .s-ns-navwrappr{left:0;display:block}.s-navplus-nswraper .s_ns_wraper{font-size:0;padding-top:18px;height:256px;overflow:hidden}.s-navplus-nswraper .s_ns_wraper div.s_ns_item{display:inline-block;*display:inline;*zoom:1;width:111px;height:51px;overflow:hidden;margin-left:20px;margin-right:1px;margin-bottom:11px;float:left;position:relative}.s-navplus-nswraper .s_ns_wraper div.s_ns_item .s_ns_item_a{display:block;position:relative;width:111px;height:51px;background:#f9f9f9;color:#333;font-size:13px;overflow:hidden;line-height:51px;zoom:1}.s-navplus-nswraper .s_ns_wraper div.s_ns_item  a:hover{}.s-navplus-nswraper .s_ns_wraper .s_ns_itemp_hover .s_ns_item_a,.s-navplus-nswraper .s_ns_wraper .s_ns_itemw_hover .s_ns_item_a{width:107px !important;height:47px !important;line-height:47px !important;border:2px solid #389CFF !important;text-decoration:none !important;text-indent:38px !important}.s-navplus-nswraper .s_ns_wraper .s_ns_itemp_hover a img{left:8px !important;top:12px !important}.s-navplus-nswraper .s_ns_wraper div.s_ns_item  a img{position:absolute;top:50%;left:50%;margin-left:-50px;margin-top:-30px}.s-navplus-nswraper .s_ns_wraper div.s_ns_itemp  a{text-indent:40px}.s-navplus-nswraper .s_ns_wraper div.s_ns_itemp  a img{left:10px;top:14px;margin-left:0;margin-top:0}.s-navplus-nswraper .s_ns_wraper div.s_ns_itemp  a:hover img{left:8px;top:12px}#s_content_1 .s-ns-navwrappr .s-nall-tabs a{width:auto;padding:0 15px}.s-ns-goback{position:absolute;top:15px;right:20px;z-index:11;background:url(\"../img/s_nori_bg_e23d1cb9.png\") no-repeat;_background:url(\"../img/s_nori_bg_ie_a256210a.png\") no-repeat;background-position:0 -19px;_background-position:0 -21px;padding-left:20px;color:#333;font-size:13px}\n.s-ns-goback:hover{background-position:0 -89px;_background-position:0 -91px;color:#0079F5;text-decoration:none}.s-ns-navwraps{position:relative}.s-navplus-nswraper .s_ns_wraper div.s_ns_item .nav-tag{display:none;position:absolute;right:1px;top:0;width:38px;height:39px;background:url(\"../img/juhui_f476ff2a.png\") no-repeat 0 0}.s-navplus-nswraper .s_ns_wraper div.s_ns_item .nav-rebate{display:none;position:absolute;width:111px;left:0;bottom:0;font-size:12px;text-align:center;height:18px;line-height:18px;color:#fff;background:url(\"../img/black_b475f94b.png\") repeat 0 0}.s-navplus-nswraper .s_ns_wraper div.s_ns_item .nav-rebate a{display:inline-block;overflow:hidden;font-size:12px;color:#fff;height:18px;color:#fff;font-size:12px;line-height:18px;text-indent:0;text-decoration:underline}.s-navplus-nswraper .s_ns_wraper div.s_ns_item .nav-rebate a:hover{border:none;text-decoration:underline;width:111px;height:18px;line-height:18px;text-indent:0}.s-navplus-nswraper .s_ns_wraper div.s_ns_item .rebate-hover{background:#38f;filter:none;color:#fff;z-index:1000;zoom:1}.s-navplus-nswraper .s_ns_wraper div.s_ns_item .nav-rebate-icon{position:absolute;top:0;right:0;width:16px;height:16px;zoom:1;overflow:hidden;background:url(\"../img/fanli_d258c36e.png\") repeat 0 0}.s-navplus-nswraper .s_ns_wraper div.s_ns_item .nav-rebate-icon a{display:inline-block;width:16px;height:16px}.s-navplus-nswraper .s_ns_wraper .fanli-hide .nav-rebate-icon{display:none !important}"
  },
  {
    "path": "testsample/src/main/assets/baidu_files/sbase_6ae84319.js",
    "content": "(function(m,e){function c(s,r){if(s instanceof Array){for(var q=0,p=s.length;q<p;q++){if(r.call(s[q],s[q],q)===false){return}}}else{for(var q in s){if(s.hasOwnProperty(q)){if(r.call(s[q],s[q],q)===false){return}}}}}m.each=c;function b(q,p){this.svnMod=\"\";this.name=null;this.path=q;this.fn=null;this.exports={};this._loaded=false;this._requiredStack=[];this._readyStack=[];b.cache[this.path]=this;if(p){if(p.charAt(0)!==\".\"){var o=p.split(\":\");if(o.length>1){this.svnMod=o[0];this.name=o[1]}else{this.name=p}}}if(!this.svnMod){this.svnMod=this.path.split(\"/js/\")[0].substr(1)}this.type=\"js\";this.getKey=function(){return this.svnMod+\":\"+this.name};this._info={}}b.currentPath=\"\";b.loadedPaths={};b.loadingPaths={};b.cache={};b.paths={};b.handlers=[];b.moduleFileMap={};b.requiredPaths={};b.lazyLoadPaths={};b.services={};b.isPathsLoaded=function(p){var o=true;c(p,function(q){if(!(q in b.loadedPaths)){return o=false}});return o};b.require=function(r,q){if(r.search(\":\")<0){if(!q){q=\"superplus\";if(b.currentPath){q=b.currentPath.split(\"/js/\")[0].substr(1)}}r=q+\":\"+r}var s=b.get(r,b.currentPath);if(s.type==\"css\"){return}if(s){if(!s._inited){s._inited=true;var p,o=s.svnMod;if(p=s.fn.call(null,function(t){return b.require(t,o)},s.exports,new j(s.name,o))){s.exports=p}}return s.exports}else{throw new Error('Module \"'+r+'\" not found!')}};b.baseUrl=e?(e[e.length-1]==\"/\"?e:(e+\"/\")):\"/\";b.getBasePath=function(o){var q,p;if((p=o.indexOf(\"/\"))!==-1){q=o.slice(0,p)}if(q&&(q in b.paths)){return b.paths[q]}return b.baseUrl};b.getJsPath=function(o,y){if(o.charAt(0)===\".\"){y=y.replace(/\\/[^\\/]+\\/[^\\/]+$/,\"\");if(o.search(\"./\")===0){o=o.substr(2)}var t=0;o=o.replace(/^(\\.\\.\\/)+/g,function(A){t=A.length/3;return\"\"});while(t>0){y=y.substr(0,y.lastIndexOf(\"/\"));t--}return y+\"/\"+o+\"/\"+o.substr(o.lastIndexOf(\"/\")+1)+\".js\"}else{var p,v,r,q,s,z;if(o.search(\":\")>=0){var u=o.split(\":\");p=u[0];o=u[1]}else{if(y){p=y.split(\"/\")[1]}}p=p||\"superplus\";var x=/\\.css(?:\\?|$)/i.test(o);if(x){if(b.moduleFileMap[p][o]){m._useConfig&&(o=b.moduleFileMap[p][o])}else{!m._useConfig&&alert(o+\"没有配置在config.js中\")}}var o=s=o;var w=b.getBasePath(o);if((r=o.indexOf(\"/\"))!==-1){v=o.slice(0,r);q=o.lastIndexOf(\"/\");s=o.slice(q+1)}if(v&&(v in b.paths)){o=o.slice(r+1)}z=w+p+\"/js/\"+o+\".js\";return z}};b.get=function(o,q){var p=b.getJsPath(o,q);if(b.cache[p]){return b.cache[p]}return new b(p,o)};b.prototype={load:function(){b.loadingPaths[this.path]=true;var p=this.svnMod||\"superplus\",r=s_domain.staticUrl+\"static/\"+p+\"/\";var t=this;var o=/\\.css(?:\\?|$)/i.test(this.name);this.type=o?\"css\":\"js\";var s=\"/\"+this.type+\"/\"+b.moduleFileMap[p][this.name];if(m._useConfig&&b.moduleFileMap[p][this.name]){r+=this.type+\"/\"+b.moduleFileMap[p][this.name]}else{r+=this.type+\"/\"+this.name+(o?\"\":\".js\")}if(($.inArray(s,m._firstScreenCSS)>=0)||(m._useConfig&&$.inArray(s,m._firstScreenJS)>=0)){if(o){setTimeout(function(){t._loaded=true;t.ready()},1)}else{t._loaded=true;t.ready()}}else{var q=new Date().getTime();n.create({src:r,type:this.type,loaded:function(){t._info.loadedTime=new Date().getTime()-q;if(t.type==\"css\"){t._loaded=true;t.ready()}}})}},lazyLoad:function(){var o=this.name;if(b.lazyLoadPaths[this.getKey()]){this.define();delete b.lazyLoadPaths[this.getKey()]}else{if(this.exist()){return}b.requiredPaths[this.getKey()]=true;this.load()}},ready:function(r,s){var q=s?this._requiredStack:this._readyStack;if(r){if(this._loaded){r()}else{q.push(r)}}else{b.loadedPaths[this.path]=true;delete b.loadingPaths[this.path];this._loaded=true;b.currentPath=this.path;if(this._readyStack&&this._readyStack.length>0){this._inited=true;var p,o=this.svnMod;if(p=this.fn.call(null,function(t){return b.require(t,o)},this.exports,new j(this.name,o))){this.exports=p}c(this._readyStack,function(t){t()});delete this._readyStack}if(this._requiredStack&&this._requiredStack.length>0){c(this._requiredStack,function(t){t()});delete this._requiredStack}}},define:function(){var r=this,p=this.deps,o=this.path,q=[];if(!p){p=this.getDependents()}if(p.length){c(p,function(s){q.push(b.getJsPath(s,r.path))});c(p,function(t){var s=b.get(t,r.path);s.ready(function(){if(b.isPathsLoaded(q)){r.ready()}},true);s.lazyLoad()})}else{this.ready()}},exist:function(){var o=this.path;return(o in b.loadedPaths||o in b.loadingPaths)},getDependents:function(){var t=this;var s=this.fn.toString();var p=s.match(/function\\s*\\(([^,]*),/i);var o=new RegExp(\"[^.]\\\\b\"+p[1]+\"\\\\(\\\\s*('|\\\")([^()\\\"']*)('|\\\")\\\\s*\\\\)\",\"g\");var r=s.match(o);var q=[];if(r){c(r,function(v,u){q[u]=v.substr(p[1].length+3).slice(0,-2)})}return q}};var n={create:function(o){var p=o.src;if(p in this._paths){return}this._paths[p]=true;c(this._rules,function(q){p=q.call(null,p)});l(p,o.type,o.loaded)},_paths:{},_rules:[],addPathRule:function(o){this._rules.push(o)}};function k(r,p){var o=(p==\"css\");var q=document.createElement(o?\"link\":\"script\");return q}function l(t,q,v,s){var r=k(t,q);if(r.nodeName===\"SCRIPT\"){d(r,o)}else{g(r,o)}var u=setTimeout(function(){throw new Error(\"load \"+q+\" timeout : \"+t);!s&&l(t+\"?v=\"+(new Date()).valueOf(),q,o,true)},m._loadScriptTimeout||10000);function o(){if(!o.isCalled){o.isCalled=true;clearTimeout(u);v&&v()}}var p=document.getElementsByTagName(\"head\")[0];if(q==\"css\"){r.rel=\"stylesheet\";r.href=t;p.appendChild(r)}else{r.type=\"text/javascript\";r.charset=\"utf-8\";r.src=t;p.insertBefore(r,p.firstChild)}}function d(o,p){o.onload=o.onerror=o.onreadystatechange=function(){if(/loaded|complete|undefined/.test(o.readyState)){o.onload=o.onerror=o.onreadystatechange=null;if(o.parentNode){o.parentNode.removeChild(o);try{if(o.clearAttributes){o.clearAttributes()}else{for(var r in o){delete o[r]}}}catch(q){}}o=undefined;p&&p()}}}function g(o,p){if(o.attachEvent){o.attachEvent(\"onload\",p)}else{setTimeout(function(){f(o,p)},0)}}function f(s,u){if(u&&u.isCalled){return}var o;var r=navigator.userAgent;var t=~r.indexOf(\"AppleWebKit\");var p=~r.indexOf(\"Opera\");if(t||p){if(s.sheet){o=true}}else{if(s.sheet){try{if(s.sheet.cssRules){o=true}}catch(q){if(q.name===\"SecurityError\"||q.name===\"NS_ERROR_DOM_SECURITY_ERR\"){o=true}}}}setTimeout(function(){if(o){u&&u()}else{f(s,u)}},1)}m.version=\"1.0\";m.use=function(r,q){if(typeof r===\"string\"){r=[r]}var p=[];var o=[];c(r,function(s,t){o[t]=false});c(r,function(t,v){var u=b.get(t),s=u._loaded;u.ready(function(){var x=u.exports||{};x._INFO=u._info;if(x._INFO){x._INFO.isNew=!s}p[v]=x;o[v]=true;var w=true;c(o,function(y){if(y===false){return w=false}});if(q&&w){q.apply(null,p)}});u.lazyLoad()})};m.module=function(o,q,r){var p=b.get(o);p.fn=q;p.deps=r;if(b.requiredPaths[p.getKey()]){p.define()}else{b.lazyLoadPaths[p.getKey()]=true}};m.pathRule=function(o){n.addPathRule(o)};m._addPath=function(o,p){if(p.slice(-1)!==\"/\"){p+=\"/\"}if(o in b.paths){throw new Error(o+\" has already in Module.paths\")}else{b.paths[o]=p}};var a=\"superplus\";m._setMod=function(o){a=o||\"superplus\"};m._fileMap=function(q,p){if(typeof q===\"object\"){c(q,function(s,t){m._fileMap(t,s)})}else{var o=a;if(typeof p===\"string\"){p=[p]}q=q.indexOf(\"js/\")==1?q.substr(4):q;q=q.indexOf(\"css/\")==1?q.substr(5):q;var r=b.moduleFileMap[o];if(!r){r={}}c(p,function(s){if(!r[s]){r[s]=q}});b.moduleFileMap[o]=r}};m._eventMap={};m.call=function(r,s,t){var p=[];for(var q=2,o=arguments.length;q<o;q++){p.push(arguments[q])}m.use(r,function(u){var x=s.split(\".\");for(var w=0,v=x.length;w<v;w++){u=u[x[w]]}if(u){u.apply(this,p)}})};m._setContext=function(o){if(typeof o===\"object\"){c(o,function(q,p){j.prototype[p]=b.require(q)})}};m._setContextMethod=function(o,p){j.prototype[o]=p};var j=function(p,o){this.modName=p;this.svnMod=o};j.prototype={domain:s_domain,session:s_session,use:function(q,p){if(typeof q===\"string\"){q=[q]}for(var o=q.length-1;o>=0;o--){q[o]=this.svnMod+\":\"+q[o]}m.use(q,p)}};m._Context=j;m.addLog=function(p,o){m.use(\"superplus:lib/log\",function(q){q.defaultLog(p,o)})};m.fire=function(o,q,p){m.use(\"superplus:lib/mod_evt\",function(r){r.fire(o,q,p)})};m._defService=function(p,o){if(p){var q=b.services[p];q=q||{};c(o,function(s,r){q[r]=s});b.services[p]=q}};m.getService=function(o,r,p){var s=b.services[o];if(s){var q=s[r];if(q){m.use(o+\":\"+q,p)}else{throw new Error(o+\" mod didn't provide service \"+r)}}else{throw new Error(o+\" mod didn't define any services\")}}})((function(){return window.F={}})());F.module(\"superplus:lib/sbase\",function(c,b,a){var d=b});F.use(\"superplus:lib/sbase\",function(b){b.BaseClass=function(){var c=this,d={};c.on=function(f,g){var e=d[f];if(!e){e=d[f]=[]}e.push(g)};c.un=function(f,g){if(!f){d={};return}var e=d[f];if(e){if(g){$.each(e,function(j,k){if(k==g){e.splice(j,1);return false}})}else{d[f]=[]}}};c.fire=function(f,g){var e=d[f];if(e){g=g||{};$.each(e,function(j,k){g._result=k.call(c,$.extend({_ctx:{src:c}},g))})}}};var a={};a.create=function(c,e){e=e||b.BaseClass;return function d(){e.apply(this,arguments);var f=$.extend({},this);c.apply(this,arguments);this._super=f}};b.Class=a});F.module(\"lib/mod_evt\",function(f,e,b){var d={};var g=function(y,s,l){var p=y.split(\"/\"),v=p[0],n=p[1],x=v+\"-\"+s,m={handlerCount:0,returnValue:true};if(d[x]){l=l||{};var w=d[x];for(var q=0,u=w.length;q<u;q++){var r=w[q];if(n&&r.submod&&n!=r.submod){continue}var z={_MOD:v,_EVENT_NAME:s,_SUBMOD:n||\"\"};for(var o in l){z[o]=l[o]}var t=r.hnd(z);if(t===false){m.returnValue=false}}m.handlerCount=w.length}return m};var j=function(q,m,p){var l=q.split(\"/\"),o=l[0],k=l[1],n=o+\"-\"+m;h={hnd:p,mod:o,submod:k};if(d[n]){d[n].push(h)}else{d[n]=[h]}};var a=function(p,q,n){var o=Object.prototype.toString.call(p);if(o==\"[object String]\"){var l=Object.prototype.toString.call(q);if(l==\"[object String]\"){j(p,q,n)}else{if(l==\"[object Array]\"){for(var m=0,k=q.length;m<k;m++){j(p,q[m],n)}}}}else{if(o==\"[object Array]\"){for(var m=0,k=p.length;m<k;m++){a(p[m],q,n)}}}};var c=function(u,o,v){var l=u.split(\"/\"),q=l[0],k=l[1],s=q+\"-\"+o;if(d[s]){var r=d[s],t=[];for(var m=0,p=r.length;m<p;m++){var n=r[m];if(n.hnd!=v){t.push(n)}}d[s]=t}};e.fire=g;e.on=a;e.un=c;e.handlers=d});$.extend({browser:{chrome:/chrome\\/(\\d+\\.\\d+)/i.test(navigator.userAgent)?+RegExp[\"\\x241\"]:undefined,firefox:/firefox\\/(\\d+\\.\\d+)/i.test(navigator.userAgent)?+RegExp[\"\\x241\"]:undefined,ie:/msie (\\d+\\.\\d+)|Trident/i.test(navigator.userAgent)?(document.documentMode||+RegExp[\"\\x241\"]):undefined,isGecko:/gecko/i.test(navigator.userAgent)&&!/like gecko/i.test(navigator.userAgent),isWebkit:/webkit/i.test(navigator.userAgent),opera:/opera(\\/| )(\\d+(\\.\\d+)?)(.+?(version\\/(\\d+(\\.\\d+)?)))?/i.test(navigator.userAgent)?+(RegExp[\"\\x246\"]||RegExp[\"\\x242\"]):undefined,safari:/(\\d+\\.\\d)?(?:\\.\\d)?\\s+safari\\/?(\\d+\\.\\d+)?/i.test(navigator.userAgent)&&!/chrome/i.test(navigator.userAgent)?+(RegExp[\"\\x241\"]||RegExp[\"\\x242\"]):undefined,isSogouIE:((navigator.userAgent.toLowerCase()).indexOf(\"msie\")>0)&&((navigator.userAgent.toLowerCase()).indexOf(\"se\")>0)&&((navigator.userAgent.toLowerCase()).indexOf(\"360se\")==-1),isBaidu:/BIDUBrowser/i.test(navigator.userAgent)}});$.extend({isIE:$.browser.ie,isIE6:$.browser.ie==6,isBaidu:$.browser.isBaidu});$.extend({Strpx:(function(c){var b=0,a=\"中\",e=\"visibility:hidden;position:absolute;bottom:0;left:0;\",d=\"s_strpx_span\";return function(n){b++;var k=0,m={},j='<span id=\"'+d+b+'\" style=\"'+e+(n||\"\")+'\"></span>',l=$(j)[0];document.getElementsByTagName(\"body\")[0].appendChild(l);l.innerHTML=a;k=l.offsetWidth;var g=function(t){var s=0;for(var r=0,p=t.length;r<p;r++){var q=t.charCodeAt(r);s+=q>255?k:o.call(this,t.charAt(r))}return s};var o=function(q){if(m[q]){return m[q]}else{l.innerHTML=(q==\" \"?\"&nbsp;\":q);var p=l.offsetWidth;m[q]=p;return p}};var f=function(v,s,w){if(!v){return v}if(v.length*k<s){return v}if(g(v)<=s){return v}if(w){s=s-g(w)}if(s<0){s=0}var u=0;for(var r=0,p=v.length;r<p;r++){var q=v.charCodeAt(r),t=q>255?k:o.call(this,v.charAt(r));if(u<=s&&u+t>s){return v.substring(0,r)+(w||\"\")}else{u+=t}}return v};return{substringByPx:f,getLengthPx:g}}})()});$.extend({url:{escapeReg:function(a){return String(a).replace(new RegExp(\"([.*+?^=!:\\x24{}()|[\\\\]/\\\\\\\\])\",\"g\"),\"\\\\\\x241\")},escapeSSL:function(b){if(s_domain.protocol===\"http:\"||b.indexOf(\"https:\")==0){return b}var e=s_domain.ssllist||{},c=/^(http[s]?:\\/\\/)?([^\\/]+)(.*)/,d=b.match(c);var a=e.hasOwnProperty(d[2])&&(e[d[2]]+d[3]);if(!a){new Image().src=\"/home/page/data/pageserver?errno=7008&errurl=\"+encodeURIComponent(b)+\"&_t=\"+new Date()*1;if($.browser.chrome){return b}return b.replace(/http:/,\"https:\")}return\"https://\"+a},getQueryValue:function(b,c){var d=new RegExp(\"(^|&|\\\\?|#)\"+$.url.escapeReg(c)+\"=([^&#]*)(&|\\x24|#)\",\"\");var a=b.match(d);if(a){return a[2]}return null},escapeSymbol:function(a){return String(a).replace(/[#%&+=\\/\\\\\\ \\　\\f\\r\\n\\t]/g,function(b){return\"%\"+(256+b.charCodeAt()).toString(16).substring(1).toUpperCase()})},jsonToQuery:function(c,e){var a=[],d,b=e||function(f){return $.url.escapeSymbol(f)};$.each(c,function(f,g){if($.isArray(g)){d=g.length;while(d--){a.push(f+\"=\"+encodeURIComponent(g[d]))}}else{a.push(f+\"=\"+encodeURIComponent(g))}});return a.join(\"&\")},queryToJson:function(a){var f=a.substr(a.lastIndexOf(\"?\")+1),c=f.split(\"&\"),e=c.length,l={},d=0,j,g,k,b;for(;d<e;d++){if(!c[d]){continue}b=c[d].split(\"=\");j=b[0];g=b[1];k=l[j];if(\"undefined\"==typeof k){l[j]=g}else{if($.isArray(k)){k.push(g)}else{l[j]=[k,g]}}}return l}}});$.extend({ajaxget:function(a,e,b){var d={};if(!$.url.getQueryValue(a,\"_req_seqid\")){d._req_seqid=s_session.seqId}if(s_session.debug){d.debug=\"on\"}if(!$.url.getQueryValue(a,\"asyn\")||$.url.getQueryValue(a,\"asyn\")!=1){d.asyn=1}if(!$.url.getQueryValue(a,\"t\")&&!$.url.getQueryValue(a,\"r\")){d.t=(new Date()).valueOf()}if(!$.url.getQueryValue(a,\"sid\")&&!$.url.getQueryValue(a,\"sid\")){d.sid=s_session.sid}if(!$.url.getQueryValue(a,\"super_frm\")&&$.url.getQueryValue(location.href,\"super_frm\")){d.super_frm=$.url.getQueryValue(location.href,\"super_frm\")}if(!$.url.getQueryValue(a,\"from_login\")&&$.url.getQueryValue(location.href,\"from_login\")){d.from_login=$.url.getQueryValue(location.href,\"from_login\")}if(!$.url.getQueryValue(a,\"from_reg\")&&$.url.getQueryValue(location.href,\"from_reg\")){d.from_reg=$.url.getQueryValue(location.href,\"from_reg\")}if(a&&a.indexOf(\"?\")>0){a+=\"&\"+$.url.jsonToQuery(d)}else{a+=\"?\"+$.url.jsonToQuery(d)}var c=function(f){return(new Function(\"return (\"+f+\")\"))()};return $.ajax({url:a,type:\"GET\",dataType:\"text\",success:function(g,k){if(g){var j={};try{j=c(g)}catch(f){new Image().src=s_domain.baseuri+\"/page/data/pageserver?errno=2013&url=\"+encodeURIComponent(a)+\"&ldq=\"+encodeURIComponent(g.slice(0,200));if(g.indexOf(\"script\")>=0){$.ajax({type:\"POST\",url:\"/home/page/data/pageserver\",data:{errno:7006,isData:encodeURIComponent(g)}})}}if(j.errNo===undefined){e&&e({errNo:-1000});window._xman_exception&&_xman_exception.api(\"get\",a,\"-1000\",a.split(\"?\")[1])}if(j.errNo&&j.errNo!=0){e&&e({errNo:j.errNo});window._xman_exception&&_xman_exception.api(\"get\",a,date.errno,a.split(\"?\")[1])}if(j.errNo&&(j.errNo==\"403\")){new Image().src=s_domain.baseuri+\"/page/data/pageserver?errno=403&url=\"+encodeURIComponent(a)}else{if(!b||(b&&j.errNo==0)){e&&e(j)}}}}})},ajaxpost:function(a,c,e){if(typeof c!=\"string\"){c.bsToken=$(\"#bsToken\")&&$(\"#bsToken\").val()||\"\";c._req_seqid=s_session.seqId;c.sid=s_session.sid;if(!$.url.getQueryValue(a,\"super_frm\")&&$.url.getQueryValue(location.href,\"super_frm\")){c.super_frm=$.url.getQueryValue(location.href,\"super_frm\")}if(!$.url.getQueryValue(a,\"from_login\")&&$.url.getQueryValue(location.href,\"from_login\")){c.from_login=$.url.getQueryValue(location.href,\"from_login\")}if(!$.url.getQueryValue(a,\"from_reg\")&&$.url.getQueryValue(location.href,\"from_reg\")){c.from_reg=$.url.getQueryValue(location.href,\"from_reg\")}if(s_session.debug){c.debug=\"on\"}c=$.url.jsonToQuery(c)}else{c+=\"&_req_seqid=\"+s_session.seqId+\"&bsToken=\"+($(\"#bsToken\")&&$(\"$bsToken\").val()||\"\")+\"&sid=\"+s_session.sid;if(s_session.debug){c+=\"&debug=on\"}}var b=function(f){return(new Function(\"return (\"+f+\")\"))()};var d=c;return $.ajax({url:a,type:\"POST\",data:c,dataType:\"text\",success:function(f,j){if(f){if(typeof d!=\"string\"){d=$.url.jsonToQuery(d)}var g={};g=b(f);if(g.errNo===undefined){window._xman_exception&&_xman_exception.api(\"post\",a,\"-1000\",d)}if(g.errNo&&g.errNo!=0){window._xman_exception&&_xman_exception.api(\"post\",a,g.errNo,d)}if(g.errNo==\"7007\"){d+=(\"&retryno=\"+g.errNo);if(a&&a.indexOf(\"?\")>0){a+=\"&\"+d}else{a+=\"?\"+d}$.ajax({url:a,type:\"get\",dataType:\"text\",success:function(k,m){if(k){var l=b(k);e&&e(l)}}})}else{e&&e(g)}}}})}});$.extend({ajaxsyncget:function(a,d){if(s_session.issync&&s_session.isdev!=\"1\"){s_session.issync=null;var b={};try{b=(new Function(\"return (\"+$.trim($(\"#s_sync_data\").html())+\")\"))()}catch(c){b.errNo=9999}d&&d(b)}else{return $.ajaxget(a,d,true)}}});$.extend({stringify:function stringify(b){if(\"JSON\" in window){return JSON.stringify(b)}var k=typeof(b);if(k!=\"object\"||b===null){if(k==\"string\"){b='\"'+b+'\"'}return String(b)}else{var c={\"\\b\":\"\\\\b\",\"\\t\":\"\\\\t\",\"\\n\":\"\\\\n\",\"\\f\":\"\\\\f\",\"\\r\":\"\\\\r\",'\"':'\\\\\"',\"\\\\\":\"\\\\\\\\\"};function f(m){if(/[\"\\\\\\x00-\\x1f]/.test(m)){m=m.replace(/[\"\\\\\\x00-\\x1f]/g,function(n){var o=c[n];if(o){return o}o=n.charCodeAt();return\"\\\\u00\"+Math.floor(o/16).toString(16)+(o%16).toString(16)})}return'\"'+m+'\"'}function a(r){var n=[\"[\"],o=r.length,m,p,q;for(p=0;p<o;p++){q=r[p];switch(typeof q){case\"undefined\":case\"function\":case\"unknown\":break;default:if(m){n.push(\",\")}n.push($.stringify(q));m=1}}n.push(\"]\");return n.join(\"\")}switch(typeof b){case\"undefined\":return\"undefined\";case\"number\":return isFinite(b)?String(b):\"null\";case\"string\":return f(b);case\"boolean\":return String(b);default:if(b===null){return\"null\"}else{if(b instanceof Array){return a(b)}else{var l=[\"{\"],e=$.stringify,d,j;for(var g in b){if(Object.prototype.hasOwnProperty.call(b,g)){j=b[g];switch(typeof j){case\"undefined\":case\"unknown\":case\"function\":break;default:if(d){l.push(\",\")}d=1;l.push(e(g)+\":\"+e(j))}}}l.push(\"}\");return l.join(\"\")}}}}}});$.extend({loadCss:function(b){var a=document.createElement(\"link\");a.setAttribute(\"rel\",\"stylesheet\");a.setAttribute(\"type\",\"text/css\");a.setAttribute(\"href\",b);document.getElementsByTagName(\"head\")[0].appendChild(a)},loadJs:function(b){var a=document.createElement(\"script\");a.setAttribute(\"type\",\"text/javascript\");a.setAttribute(\"src\",b);a.setAttribute(\"defer\",\"defer\");document.getElementsByTagName(\"head\")[0].appendChild(a)}});$.extend({formatString:function(c,a){c=String(c);var b=Array.prototype.slice.call(arguments,1),d=Object.prototype.toString;if(b.length){b=b.length==1?(a!==null&&(/\\[object Array\\]|\\[object Object\\]/.test(d.call(a)))?a:b):b;return c.replace(/#\\{(.+?)\\}/g,function(e,g){var f=b[g];if(\"[object Function]\"==d.call(f)){f=f(g)}return(\"undefined\"==typeof f?\"\":f)})}return c},encodeHTML:function(a){return String(a).replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\"/g,\"&quot;\").replace(/'/g,\"&#39;\")},decodeHTML:function(a){var b=String(a).replace(/&quot;/g,'\"').replace(/&lt;/g,\"<\").replace(/&gt;/g,\">\").replace(/&amp;/g,\"&\");return b.replace(/&#([\\d]+);/g,function(d,c){return String.fromCharCode(parseInt(c,10))})},isString:function(a){return\"[object String]\"==Object.prototype.toString.call(a)},trimAll:function(a){return a.replace(/\\s+/g,\"\")}});$.extend({localstorage:(function(){var f=function(l){return{}.toString.call(l)===\"[object Date]\"&&l.toString()!==\"Invalid Date\"&&!isNaN(l)};var c=\"SUPER_LS_PLUGIN_1\",g={SUCCESS:0,FAILURE:1,OVERFLOW:2};function j(l){return\"_super_\"+l.replace(/[_\\s]/g,function(m){return m==\"_\"?\"__\":\"_s\"})}function b(){return document.getElementById(c+\"-storage\")}function a(){var l;if(window.ActiveXObject&&$.browser.ie<9){l=k()}else{if(window.localStorage){l=e()}else{l=d()}}return l}function k(){$(document.body).append($.formatString('<div id=\"#{id}\" style=\"display:none;\"></div>',{id:c+\"-storage\"}));b().addBehavior(\"#default#userData\");return{set:function(q,p,r,t){var m=g.SUCCESS,s=b(),o=j(q),l=t&&t.expires?t.expires:new Date().getTime()+365*24*60*60*1000;if(f(l)){l=l.getTime()}else{l=new Date().getTime()+(l-0)}s.expires=new Date(l).toUTCString();try{s.setAttribute(o,p);s.save(o)}catch(n){m=g.OVERFLOW}s=null;r&&r.call(this,m,p)},get:function(m){var l=g.SUCCESS,n=b(),q=j(m),p=null;try{n.load(q);p=n.getAttribute(q)}catch(o){return{status:g.FAILURE,value:null}}return{status:l,value:p}},del:function(m,r){var l=g.SUCCESS,n=b(),q=j(m),p;try{n.load(q);p=n.getAttribute(q);if(p){n.removeAttribute(q);n.expires=new Date(315532799000).toUTCString();n.save(q)}else{l=g.FAILURE}}catch(o){l=g.FAILURE}r&&r.call(this,l,p)}}}function e(){return{set:function(r,q,s,t){var m=g.SUCCESS,n=window.localStorage,p=j(r),l=t&&t.expires?t.expires:0;if(f(l)){l=l.getTime()}else{if(l>0){l=new Date().getTime()+(l-0)}}try{n.setItem(p,l+\"|\"+q)}catch(o){m=g.OVERFLOW}s&&s.call(this,m,q)},get:function(n){var l=g.SUCCESS,s=window.localStorage,r=j(n),q=null,m,p;try{q=s.getItem(r)}catch(o){return{status:g.FAILURE,value:null}}if(q){m=q.indexOf(\"|\");p=parseInt(q.substring(0,m),10);if(new Date(p).getTime()>new Date().getTime()||p==0){q=q.substring(m+1,q.length)}else{q=null;l=g.FAILURE;this.del(n)}}else{l=g.FAILURE}return{status:l,value:q}},del:function(m,r){var l=g.SUCCESS,q=window.localStorage,p=j(m),o=null;try{o=q.getItem(p)}catch(n){l=g.FAILURE}if(o){o=o.substring(o.indexOf(\"|\")+1,o.length);l=g[o?\"SUCCESS\":\"FAILURE\"];o&&q.removeItem(p)}else{l=g.FAILURE}r&&r.call(this,l,o)}}}function d(){return{set:function(m,n,o,l){S.cookie.set(j(m),n,l);o&&o.call(me,g.SUCCESS,n)},get:function(l){var m=S.cookie.get(j(l));return{status:g[m?\"SUCCESS\":\"FAILURE\"],value:m}},del:function(l,o){var n=j(l),m=S.cookie.get(n);S.cookie.remove(n);o&&o.call(me,g[m?\"SUCCESS\":\"FAILURE\"],m)}}}return{set:function(m,o,p,l){var n=this;!n._storage&&(n._storage=a());n._storage.set.apply(n._storage,arguments)},get:function(l){var m=this;!m._storage&&(m._storage=a());return m._storage.get(l)},remove:function(l,n){var m=this;!m._storage&&(m._storage=a());m._storage.del.apply(m._storage,arguments)}}})()});$.extend({ls:$.localstorage});$.extend({Bind:function(a,b){var c=arguments.length>2?[].slice.call(arguments,2):null;return function(){var e=$.isString(b)?a[b]:b,d=(c)?c.concat([].slice.call(arguments,0)):arguments;return e.apply(a||e,d)}}});$.easing.jswing=$.easing.swing;$.extend($.easing,{def:\"easeOutQuad\",swing:function(e,f,a,j,g){return jQuery.easing[jQuery.easing.def](e,f,a,j,g)},easeInQuad:function(e,f,a,j,g){return j*(f/=g)*f+a},easeOutQuad:function(e,f,a,j,g){return -j*(f/=g)*(f-2)+a},easeInOutQuad:function(e,f,a,j,g){if((f/=g/2)<1){return j/2*f*f+a}return -j/2*((--f)*(f-2)-1)+a},easeInCubic:function(e,f,a,j,g){return j*(f/=g)*f*f+a},easeOutCubic:function(e,f,a,j,g){return j*((f=f/g-1)*f*f+1)+a},easeInOutCubic:function(e,f,a,j,g){if((f/=g/2)<1){return j/2*f*f*f+a}return j/2*((f-=2)*f*f+2)+a},easeInQuart:function(e,f,a,j,g){return j*(f/=g)*f*f*f+a},easeOutQuart:function(e,f,a,j,g){return -j*((f=f/g-1)*f*f*f-1)+a},easeInOutQuart:function(e,f,a,j,g){if((f/=g/2)<1){return j/2*f*f*f*f+a}return -j/2*((f-=2)*f*f*f-2)+a},easeInQuint:function(e,f,a,j,g){return j*(f/=g)*f*f*f*f+a},easeOutQuint:function(e,f,a,j,g){return j*((f=f/g-1)*f*f*f*f+1)+a},easeInOutQuint:function(e,f,a,j,g){if((f/=g/2)<1){return j/2*f*f*f*f*f+a}return j/2*((f-=2)*f*f*f*f+2)+a},easeInSine:function(e,f,a,j,g){return -j*Math.cos(f/g*(Math.PI/2))+j+a},easeOutSine:function(e,f,a,j,g){return j*Math.sin(f/g*(Math.PI/2))+a},easeInOutSine:function(e,f,a,j,g){return -j/2*(Math.cos(Math.PI*f/g)-1)+a},easeInExpo:function(e,f,a,j,g){return(f==0)?a:j*Math.pow(2,10*(f/g-1))+a},easeOutExpo:function(e,f,a,j,g){return(f==g)?a+j:j*(-Math.pow(2,-10*f/g)+1)+a},easeInOutExpo:function(e,f,a,j,g){if(f==0){return a}if(f==g){return a+j}if((f/=g/2)<1){return j/2*Math.pow(2,10*(f-1))+a}return j/2*(-Math.pow(2,-10*--f)+2)+a},easeInCirc:function(e,f,a,j,g){return -j*(Math.sqrt(1-(f/=g)*f)-1)+a},easeOutCirc:function(e,f,a,j,g){return j*Math.sqrt(1-(f=f/g-1)*f)+a},easeInOutCirc:function(e,f,a,j,g){if((f/=g/2)<1){return -j/2*(Math.sqrt(1-f*f)-1)+a}return j/2*(Math.sqrt(1-(f-=2)*f)+1)+a},easeInElastic:function(f,j,e,n,m){var k=1.70158;var l=0;var g=n;if(j==0){return e}if((j/=m)==1){return e+n}if(!l){l=m*0.3}if(g<Math.abs(n)){g=n;var k=l/4}else{var k=l/(2*Math.PI)*Math.asin(n/g)}return -(g*Math.pow(2,10*(j-=1))*Math.sin((j*m-k)*(2*Math.PI)/l))+e},easeOutElastic:function(f,j,e,n,m){var k=1.70158;var l=0;var g=n;if(j==0){return e}if((j/=m)==1){return e+n}if(!l){l=m*0.3}if(g<Math.abs(n)){g=n;var k=l/4}else{var k=l/(2*Math.PI)*Math.asin(n/g)}return g*Math.pow(2,-10*j)*Math.sin((j*m-k)*(2*Math.PI)/l)+n+e},easeInOutElastic:function(f,j,e,n,m){var k=1.70158;var l=0;var g=n;if(j==0){return e}if((j/=m/2)==2){return e+n}if(!l){l=m*(0.3*1.5)}if(g<Math.abs(n)){g=n;var k=l/4}else{var k=l/(2*Math.PI)*Math.asin(n/g)}if(j<1){return -0.5*(g*Math.pow(2,10*(j-=1))*Math.sin((j*m-k)*(2*Math.PI)/l))+e}return g*Math.pow(2,-10*(j-=1))*Math.sin((j*m-k)*(2*Math.PI)/l)*0.5+n+e},easeInBack:function(e,f,a,k,j,g){if(g==undefined){g=1.70158}return k*(f/=j)*f*((g+1)*f-g)+a},easeOutBack:function(e,f,a,k,j,g){if(g==undefined){g=1.70158}return k*((f=f/j-1)*f*((g+1)*f+g)+1)+a},easeInOutBack:function(e,f,a,k,j,g){if(g==undefined){g=1.70158}if((f/=j/2)<1){return k/2*(f*f*(((g*=(1.525))+1)*f-g))+a}return k/2*((f-=2)*f*(((g*=(1.525))+1)*f+g)+2)+a},easeInBounce:function(e,f,a,j,g){return j-jQuery.easing.easeOutBounce(e,g-f,0,j,g)+a},easeOutBounce:function(e,f,a,j,g){if((f/=g)<(1/2.75)){return j*(7.5625*f*f)+a}else{if(f<(2/2.75)){return j*(7.5625*(f-=(1.5/2.75))*f+0.75)+a}else{if(f<(2.5/2.75)){return j*(7.5625*(f-=(2.25/2.75))*f+0.9375)+a}else{return j*(7.5625*(f-=(2.625/2.75))*f+0.984375)+a}}}},easeInOutBounce:function(e,f,a,j,g){if(f<g/2){return jQuery.easing.easeInBounce(e,f*2,0,j,g)*0.5+a}return jQuery.easing.easeOutBounce(e,f*2-g,0,j,g)*0.5+j*0.5+a}});F.module(\"lib/log\",function(l,t,q){var g=q.base;var f={m:1,mod:1,submod:1,evttype:1,mouse:1,initiator:1,portrait:1,glogid:1,slogid:1,type:1,pid:1,logactid:1},a={sys:1,base:1,page:2,feed:2,nav:2,hot:2,app:2,msg:2,res:2},n=s_session.usertype,p=\"superplus\",m=s_session.portrait,d=s_session.logId||\"0\",k=0,o={};var r=function(w,v){var u={mod:w,submod:v||\"\",utype:n,superver:p,portrait:m,glogid:d,type:2011,pid:315,version:\"PCHome\",terminal:\"PC\",qid:s_session.seqId,sid:s_session.sid,super_frm:$.url.getQueryValue(location.href,\"super_frm\")||\"\",from_login:$.url.getQueryValue(location.href,\"from_login\")||\"\",from_reg:$.url.getQueryValue(location.href,\"from_reg\")||\"\",query:$(\"#kw\").val(),curcard:s_session.curmod,curcardtab:$(\"#s_content_\"+s_session.curmod+\" .s-xmancard\").attr(\"data-curtab\")||\"\",_r:Math.random()};return u};var c=function(u){var w=\"imglog__\"+(new Date()).getTime(),v=window[w]=new Image();v.onload=(v.onerror=function(){window[w]=null});v.src=u;v=null};var e=function(v){var A=r(v._MOD,v._SUBMOD),u=v._MOD+\"_\"+v._EVENT_NAME;A.m=u;if(o[u]){A.logactid=o[u]}for(var w in v){if(w.indexOf(\"_\")==0){continue}if(A[w]){q.warn(\"logParamConflicted\",w+\" is conflicted in \"+A.m);continue}var y=v[w],x=typeof y;if(x==\"string\"||x==\"number\"||x==\"boolean\"){A[w]=y}}if(s_session.mSid){A.msid=s_session.mSid}var z=s()+$.url.jsonToQuery(A);if(A.logactid==\"0200100000\"||(A.logactid==\"0200100001\"&&A.clickType==\"wordTopic\")){c(\"//www.baidu.com/home/hit/v.gif?\"+$.url.jsonToQuery(A))}q.use(\"lib/mod_evt\",function(B){var C=B.fire(\"lib/log\",\"beforeSendLog\",{modEvt:B,logParams:A});if(C.returnValue){c(z)}})};var b=function(w,v){var y=Object.prototype.toString.call(v);switch(y){case\"[object Array]\":q.listen(w,v,e);break;case\"[object Object]\":var u=w.split(\"/\")[0];for(var x in v){q.listen(w,x,e);o[u+\"_\"+x]=v[x]}break}};var s=function(){return $.url.escapeSSL(\"http://dj\"+(++k%3)+\".baidu.com/v.gif?\")};var j=/home\\/\\w+\\/(data|submit)\\/\\w+/;q.listen(\"lib/sbase\",\"ajaxSuccess\",function(v){if(!v.logId){return}var w=v.url&&v.url.match(j),u=w&&w[0]||\"\",y=u.split(\"/\"),x=y&&y[1]});t.log=e;t.defaultLog=b});(function(){var c=[\"mousewheel\",\"DOMMouseScroll\"],k=[\"mousewheel\",\"DOMMouseScroll\"],g=Array.prototype.slice,j,b;if($.event.fixHooks){for(var d=c.length;d;){$.event.fixHooks[c[--d]]=$.event.mouseHooks}}var e=$.event.special.mousewheel={version:\"3.1.9\",setup:function(){if(this.addEventListener){for(var m=k.length;m;){this.addEventListener(k[--m],l,false)}}else{this.onmousewheel=l}$.data(this,\"mousewheel-line-height\",e.getLineHeight(this));$.data(this,\"mousewheel-page-height\",e.getPageHeight(this))},teardown:function(){if(this.removeEventListener){for(var m=k.length;m;){this.removeEventListener(k[--m],l,false)}}else{this.onmousewheel=null}},getLineHeight:function(m){return parseInt($(m)[\"offsetParent\" in $.fn?\"offsetParent\":\"parent\"]().css(\"fontSize\"),10)},getPageHeight:function(m){return $(m).height()},settings:{adjustOldDeltas:true}};$.fn.extend({mousewheel:function(m){return m?this.bind(\"mousewheel\",m):this.trigger(\"mousewheel\")},unmousewheel:function(m){return this.unbind(\"mousewheel\",m)}});function l(m){var o=m||window.event,s=g.call(arguments,1),u=0,q=0,p=0,r=0;m=$.event.fix(o);m.type=\"mousewheel\";if(\"detail\" in o){p=o.detail*-1}if(\"wheelDelta\" in o){p=o.wheelDelta}if(\"wheelDeltaY\" in o){p=o.wheelDeltaY}if(\"wheelDeltaX\" in o){q=o.wheelDeltaX*-1}if(\"axis\" in o&&o.axis===o.HORIZONTAL_AXIS){q=p*-1;p=0}u=p===0?q:p;if(\"deltaY\" in o){p=o.deltaY*-1;u=p}if(\"deltaX\" in o){q=o.deltaX;if(p===0){u=q*-1}}if(p===0&&q===0){return}if(o.deltaMode===1){var t=$.data(this,\"mousewheel-line-height\");u*=t;p*=t;q*=t}else{if(o.deltaMode===2){var n=$.data(this,\"mousewheel-page-height\");u*=n;p*=n;q*=n}}r=Math.max(Math.abs(p),Math.abs(q));if(!b||r<b){b=r;if(a(o,r)){b/=40}}if(a(o,r)){u/=40;q/=40;p/=40}u=Math[u>=1?\"floor\":\"ceil\"](u/b);q=Math[q>=1?\"floor\":\"ceil\"](q/b);p=Math[p>=1?\"floor\":\"ceil\"](p/b);m.deltaX=q;m.deltaY=p;m.deltaFactor=b;m.deltaMode=0;s.unshift(m,u,q,p);if(j){clearTimeout(j)}j=setTimeout(f,200);return($.event.dispatch||$.event.handle).apply(this,s)}function f(){b=null}function a(n,m){return e.settings.adjustOldDeltas&&n.type===\"mousewheel\"&&m%120===0}})();F.module(\"superplus:common/user_attr\",function(b,d,m){var j={SUBMIT_STATUS:[\"/page/submit/userattr\",\"/xman/submit/superusertips\"]};var l=[(s_session.userProp||0),(s_session.userTips||0)],c={};var g=function(n){var o=l[0][n],p=l[1][n];if(o!=undefined){c.name=0;return o}else{if(p!=undefined){c.name=1;return p}else{return}}};var a=function(o,p){var n=g(o);if(typeof n!=\"undefined\"&&(n!=p)){$.ajaxpost(s_domain.baseuri+j.SUBMIT_STATUS[c.name],{prop:o,value:f(p)},function(q){if(q.errNo==0){l[c.name][o]=p;m.fire(\"setUserAttr\",{attr:o,state:\"setSucc\"})}else{m.fire(\"setUserAttr\",{attr:o,state:\"setFail\"})}})}};var e=function(u,o){var n=u.length,q=[],s=[];for(var r=0;r<n;r++){var p=g(u[r]);if(typeof p!=\"undefined\"&&(p!=o[r])){q.push(u[r]);s.push(f(o[r]))}}var t=q.length;if(t>0){if(k){$.ajaxpost(s_domain.baseuri+j.SUBMIT_STATUS[c.name],{prop:q.join(\",\"),value:s.join(\",\")},function(x){if(x.errNo==0){for(var w=0;w<t;w++){l[c.name][q[w]]=(s[w]==\"on\"?true:false);m.fire(\"setUserAttr\",{attr:q[w],state:\"setSucc\"})}}else{for(var v=0;v<t;v++){l[c.name][q[v]]=s[v];m.fire(\"setUserAttr\",{attr:q[v],state:\"setFail\"})}}})}else{}}};var f=function(n){if(n===true){return\"on\"}else{if(n===false){return\"off\"}else{return n}}};var k=function(o){if(o&&o.length>0){var q=o.length,p=c[_names[0]];for(var n=q-1;n>=0;n--){if(c[_names[0]]!=p){return false}}return true}};d.getAttr=g;d.setAttr=a;d.setMultiAttr=e});$.extend({cookie:{_isValidKey:function(a){return(new RegExp('^[^\\\\x00-\\\\x20\\\\x7f\\\\(\\\\)<>@,;:\\\\\\\\\\\\\"\\\\[\\\\]\\\\?=\\\\{\\\\}\\\\/\\\\u0080-\\\\uffff]+\\x24')).test(a)},getRaw:function(b){if(this._isValidKey(b)){var c=new RegExp(\"(^| )\"+b+\"=([^;]*)(;|\\x24)\"),a=c.exec(document.cookie);if(a){return a[2]||null}}return null},get:function(a){var b=this.getRaw(a);if(\"string\"==typeof b){b=decodeURIComponent(b);return b}return null},setRaw:function(c,d,b){if(!this._isValidKey(c)){return}b=b||{};var a=b.expires;if(\"number\"==typeof b.expires){a=new Date();a.setTime(a.getTime()+b.expires)}document.cookie=c+\"=\"+d+(b.path?\"; path=\"+b.path:\"\")+(a?\"; expires=\"+a.toGMTString():\"\")+(b.domain?\"; domain=\"+b.domain:\"\")+(b.secure?\"; secure\":\"\")},remove:function(b,a){a=a||{};a.expires=new Date(0);this.setRaw(b,\"\",a)},set:function(b,c,a){this.setRaw(b,encodeURIComponent(c),a)}}});F.module(\"superplus:common/select\",function(c,b,a){c(\"select.css\");var d=a.base;var e=d.Class.create(function(m){var A=this,o=new Date().getTime();A.value=null;A.words=null;A.selectId=\"s_select_\"+o;A.inputId=\"s_select_input_\"+o;A.inputMaskId=\"s_select_input_mask_\"+o;A.arrowId=\"s_select_arrow_\"+o;A.hiddenId=\"s_select_hidden_\"+o;A.layerId=\"s_select_layer_\"+o;A.selected=0;A.isshow=false;A.maxCount=m.showCount||10;A.optHeight=20;A.mouseoverOpt=null;A.mouseoverIdx=null;A.timer=null;A.scroll=false;A.scrollTimer=null;var l=function(D,E,C,G){if(G!=undefined){var B=A.layer.find(\".s-select-layer-option\")[G];if(B){$(B).val(D).html(E);if(C){B.className=\"s-select-layer-option current\";f(D,E,G)}else{B.className=\"s-select-layer-option\"}}}};var g=function(E,G,D,H){if(H!=undefined){var B=A.layer.find(\".s-select-layer-option\"),C=B[H];if(C){$(C).before('<div value=\"'+E+'\" class=\"s-select-layer-option'+(D?\" current\":\"\")+'\">'+G+\"</div>\")}else{if(B.length){$(B.last()).after('<div value=\"'+E+'\" class=\"s-select-layer-option'+(D?\" current\":\"\")+'\">'+G+\"</div>\")}else{A.layer.prepend('<div value=\"'+E+'\" class=\"s-select-layer-option'+(D?\" current\":\"\")+'\">'+G+\"</div>\")}}}else{A.layer.append('<div value=\"'+E+'\" class=\"s-select-layer-option'+(D?\" current\":\"\")+'\">'+G+\"</div>\")}if(D){f(E,G,H);q()}r()};var q=function(){j(function(C,B){if(B==A.selected){$(C).addClass(\"current\")}else{$(C).removeClass(\"current\")}})};var f=function(C,D,B){A.hidden.val(C);A.input.val(D);A.inputMask.html(D);A.selected=B;A.mouseoverIdx=B;A.fire(\"valueChange\")};var y=function(){return A.hidden.val()};var k=function(){A.inputMask.bind(\"mousedown\",function(B){A.fire(\"clickSelect\");A.input.focus();if(A.isshow){w()}else{s()}B.preventDefault();B.stopPropagation()});A.inputMask.bind(\"click\",function(B){B.preventDefault();B.stopPropagation()});A.arrow.bind(\"mousedown\",function(B){A.fire(\"clickSelect\");A.input.focus();if(A.isshow){w()}else{s()}B.preventDefault();B.stopPropagation()});A.arrow.bind(\"click\",function(B){B.preventDefault();B.stopPropagation()})};var x=function(){var D=A.select.offset(),C=0,B=26;if($.isIE==8){C=-1;B=25}else{if($.isIE==7){C=-1}else{if($.isIE6){C=-1;B=25}}}A.layer.css({left:(D.left+C)+\"px\",top:(D.top+B)+\"px\"})};var s=function(){A.input.focus();if(A.isshow){return}x();A.layer.addClass(\"show\");r();q();A.isshow=true;p();t();A.fire(\"layerShow\")};var r=function(){var B=A.layer.find(\".s-select-layer-option\");if(B.length>A.maxCount){A.layer.css(\"height\",A.optHeight*A.maxCount+\"px\")}};var w=function(){if(!A.isshow){return}A.layer.removeClass(\"show\");A.isshow=false;n();A.mouseoverOpt=null;A.fire(\"layerHide\")};var t=function(){A.timer=setInterval(function(){x()},300);A.input.bind(\"keydown\",function(C){if(C.keyCode&&A.isshow){switch(C.keyCode){case 38:u();C.preventDefault();C.stopPropagation();break;case 40:v();C.preventDefault();C.stopPropagation();break;case 13:z();w();C.preventDefault();C.stopPropagation();break}}});$(document.body).bind(\"click\",w);var B=A.layer.find(\".s-select-layer-option\");A.layer.bind(\"mouseenter\",function(C){$(B[A.selected]).removeClass(\"current\");C.preventDefault();C.stopPropagation()});A.layer.bind(\"mouseleave\",function(C){A.mouseoverOpt&&A.mouseoverOpt[0]&&A.mouseoverOpt.remove(\"current\");C.preventDefault();C.stopPropagation()});$.each(B,function(C,E){var D=$(E);D.bind(\"mousedown\",function(G){f(D.attr(\"value\"),D.html(),C);w();G.preventDefault();G.stopPropagation()});D.bind(\"mouseover\",function(G){if(A.scroll){return}j(function(H){$(H).removeClass(\"current\")});D.addClass(\"current\");A.mouseoverOpt=D;A.mouseoverIdx=C;G.preventDefault();G.stopPropagation()});D.bind(\"mouseout\",function(G){if(A.scroll){return}D.removeClass(\"current\");A.mouseoverIdx=C;G.preventDefault();G.stopPropagation()})})};var z=function(){var B=A.layer.find(\".s-select-layer-option\");for(i=0,len=B.length;i<len;i++){if($(B[i]).hasClass(\"current\")){f($(B[i]).attr(\"value\"),$(B[i]).html(),i);break}}};var j=function(C){var B=A.layer.find(\".s-select-layer-option\");$.each(B,function(D,E){C&&C($(E),D)})};var n=function(){A.timer&&clearInterval(A.timer);A.timer=null;A.input.unbind(\"keydown\");A.input.unbind(\"blur\");j(function(B){$(B).unbind(\"mousedown\");$(B).unbind(\"mouseover\");$(B).unbind(\"mouseout\")});A.layer.unbind(\"mouseenter\");A.layer.unbind(\"mouseleave\")};var u=function(){var B=A.mouseoverIdx||A.selected;if(B&&B>0){var C=A.layer.find(\".s-select-layer-option\");$(C[B]).removeClass(\"current\");$(C[B-1]).addClass(\"current\");f($(C[B-1]).attr(\"value\"),$(C[B-1]).html(),B-1);p()}};var v=function(){var C=A.layer.find(\".s-select-layer-option\");var B=A.mouseoverIdx||A.selected;if(B<C.length-1){$(C[B]).removeClass(\"current\");$(C[B+1]).addClass(\"current\");f($(C[B+1]).attr(\"value\"),$(C[B+1]).html(),B+1);p()}};var p=function(){A.scroll=true;var B=A.selected+1-A.maxCount;if(B>0){A.layer.scrollTop(B*A.optHeight)}else{A.layer.scrollTop(0)}if(A.scrollTimer){clearTimeout(A.scrollTimer);A.scrollTimer=null;A.scrollTimer=setTimeout(function(){A.scroll=false},500)}else{A.scrollTimer=setTimeout(function(){A.scroll=false},500)}};A.getResult=function(){return{value:A.hidden.val(),words:A.inputMask.html()}};A.hide=function(){A.select.hide();w()};A.show=function(){A.select.css(\"display\",\"inline-block\")};A.addOption=g;A.setOption=l;A.getLayer=function(){return $(\"#\"+A.layerId)};A.hideLayer=w;(function(){var B=['<span id=\"'+A.selectId+'\" class=\"s-select '+m.customClass+'\">','<div id=\"'+A.inputMaskId+'\" class=\"s-select-input-mask s-opacity-blank1 '+m.customClass+'\"></div><input type=\"input\" class=\"s-select-input '+m.customClass+'\" value=\"'+A.words+'\" id=\"'+A.inputId+'\">','<a class=\"s-select-arrow s-opacity-border3-left '+m.customClass+'\" id=\"'+A.arrowId+'\" href=\"#\" onclick=\"return false;\" hidefocus></a></span>','<input type=\"hidden\" value=\"'+A.value+'\" id=\"'+A.hiddenId+'\">'].join(\"\");$(m.dom)[m.type](B);$(\"#head\").append('<div id=\"'+A.layerId+'\" class=\"s-select-layer  s-isindex-wrap '+m.customClass+'\"></div>');A.select=$(\"#\"+A.selectId);A.input=$(\"#\"+A.inputId);A.inputMask=$(\"#\"+A.inputMaskId);A.arrow=$(\"#\"+A.arrowId);A.hidden=$(\"#\"+A.hiddenId);A.layer=$(\"#\"+A.layerId);$.each(m.options,function(C,D){g(D.value,D.words,D.selected,C)});k()})()});b.Select=e});"
  },
  {
    "path": "testsample/src/main/assets/baidu_files/super_min_de974358.css",
    "content": "html{height:100%}body{min-height:100%;_height:100%;cursor:default;min-width:940px;_position:}#head{min-height:100%;_height:100%;cursor:default;min-width:940px;_position:}#s_wrap{width:100%;min-height:100%;padding-bottom:36px}#s_main{display:block;margin:0 auto;width:911px;font-family:arial, 'Hiragino Sans GB', 'Microsoft Yahei', '微软雅黑', '宋体', \\5b8b\\4f53, Tahoma, Arial, Helvetica, STHeiti}#s_main button,#s_main input,#s_main select,#s_main textarea{font-family:arial}#s_main a,#s_main span{outline:none}#u_sp .s-user-name-top{position:relative}#u_sp .s-user-name-top a{text-decoration:none;height:24px;line-height:24px;padding-left:7px;width:72px;-moz-user-select:none;cursor:pointer;text-align:left;display:block;color:#0079F5;margin:0}#u_sp .s-user-name-top a:hover{background:#F1F8FF;text-decoration:none}#u_sp .s-user-name-top a.sep{border-top:1px solid #ebebeb}.s-user-set-menu{padding-top:6px;top:33px;position:absolute;right:75px;*right:73px;float:right;width:100px;z-index:999;text-align:left}.s-user-set-menu div{position:relative;border:1px solid #E3E3E3;box-shadow:1px 1px 5px #d1d1d1;-moz-box-shadow:1px 1px 5px #d1d1d1;-webkit-box-shadow:1px 1px 5px #d1d1d1}.s-user-set-menu div a{-ms-filter:\"\"}.s-user-set-menu.menu-top{width:70px}.s-user-set-menu .menu-arrow{position:absolute;z-index:2;top:-4px;left:28px;display:inline-block;width:0;height:0;line-height:0;border:5px dashed transparent;border-bottom:5px solid #e3e3e3;font-size:0}.s-user-set-menu .menu-arrow em{position:absolute;top:-4px;left:-5px;display:block;width:0;height:0;line-height:0;font-size:0;color:#666;border-top:5px dashed transparent;border-left:5px dashed transparent;border-right:5px dashed transparent;border-bottom:5px solid #fff}.s-skin-hasbg .s-user-set-menu .menu-arrow{border-bottom:5px solid #fff}.s-user-set-menu.menu-set .menu-arrow{float:left;left:27px}.s-user-set-menu.menu-top .menu-arrow{float:right;right:32px}.s-user-set-menu a{text-decoration:none;height:25px;line-height:27px;padding-left:8px;background-color:#fff;-moz-user-select:none;cursor:pointer;text-align:left;display:block;color:#333;margin:0}.s-user-set-menu a:hover{background:#38F;color:#FFF;text-decoration:none}.s-user-set-menu a.sep{border-top:1px solid #ebebeb}.s-bottom-ctner{margin:8px auto 0 auto;width:100%;position:absolute;bottom:0;left:0;overflow:hidden;padding-bottom:8px;color:#CCC;word-spacing:3px;zoom:1}.s-bottom-ctner a{font-size:12px;text-decoration:none;color:#CCC}.s-bottom-ctner a:hover{text-decoration:underline}.s-bottom-ctner .sethome{margin-right:12px}.s-bottom-copyright{font-size:15px;height:20px;width:40px;position:relative;bottom:-2px}.s-bottom-ctner img{position:relative;margin:0 0 -2px 4px}.s-add-bar{position:absolute;height:318px;width:35px;left:0;top:250px}.s-add-bar .s-add-bar-bg{height:318px;width:35px;background-color:#EEE}.s-add-bar a{display:inline-block;height:318px;width:35px;position:absolute;top:0;left:0;background:url(\"../img/s_add_bar_8ab01464.png\") no-repeat 0 110px}.s-bd-fm-search-tip{width:185px;height:46px;position:absolute;left:666px;top:0;color:#FFF}.s-bd-fm-search-tip .bg-img{position:absolute;left:0;top:0;width:185px;height:46px;background:url('../img/music/music_tip_3b4b786d.png') no-repeat 0 0;_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src=\"http://su.bdimg.com/static/superplus/img/music/music_tip_3b4b786d.png\")}.s-bd-fm-search-tip .content{position:absolute;left:0;width:168px;top:8px;height:32px;line-height:16px;margin-left:17px}.s-bd-fm-search-tip .content .first-line{display:block;text-indent:15px;background:url('../img/music/music_playing_88172906.gif') no-repeat}.s-bd-fm-search-tip .close-btn{width:15px;height:15px;position:absolute;right:2px;top:2px;cursor:pointer}.s-xmancard{min-height:318px;_height:318px}.s-news-star-wrapper{height:62px;overflow:hidden;width:277px;position:absolute;bottom:0;right:0}.s-news-star{position:absolute;width:35px;height:35px;top:11px;right:30px;background:url('../img/skin/skin_news_db907517.png') no-repeat 0 0;_background:url('../img/skin/skin_news_ie_88667ada.png') no-repeat 0 0;cursor:pointer;z-index:2}.s-news-layer{position:absolute;bottom:5px;right:15px;width:262px;height:62px;background-image:-webkit-gradient(linear,left top,left 100%,from(rgba(0,0,0,0.5)),to(rgba(0,0,0,0.5)));background-image:-moz-linear-gradient(rgba(0,0,0,0.5) 0,rgba(0,0,0,0.5) 100%);background-image:-ms-linear-gradient(rgba(0,0,0,0.5) 0,rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(rgba(0,0,0,0.5) 0,rgba(0,0,0,0.5) 100%);background-image:linear-gradient(rgba(0,0,0,0.5) 0,rgba(0,0,0,0.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b2000000',endColorstr='#b2000000');z-index:1;text-align:left;display:none}.s-starnews-link{display:inline-block;position:absolute;top:13px;left:15px;width:189px;overflow:hidden;font-size:13px;line-height:20px;color:#fff;text-align:left;z-index:2;text-decoration:underline}.s-ctner{width:911px;text-align:left;position:relative}.s-ctner .s-ctner-menus{height:318px;width:80px;float:left;position:relative;*z-index:10}.s-ctner .s-ctner-menus .menus-ctner{height:288px;width:80px;overflow:hidden;position:relative}.s-ctner .s-ctner-menus .menus-wrapper{position:relative;top:0}.s-ctner .s-ctner-menus .s-menu-fill{position:relative;display:inline-block;height:288px;width:80px;background:#e9eaea}.s-ctner-menus .menus-ctner,.s-ctner-menus .add{}.s-ctner-menus .s-menu{display:inline-block;position:relative;width:80px;height:35px;line-height:34px;font-size:14px;color:#969494;text-align:center;text-decoration:none;background:#e9eaea;outline:none}.s-ctner-menus .s-menu.add{text-align:left;height:32px;*top:1px;top:1px\\9;_top:0}.s-ctner-menus .top-border{position:absolute;top:0;left:0;z-index:2;background:none;background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(140,140,140,0.45)),to(rgba(140,140,140,0)));background-image:-moz-linear-gradient(rgba(140,140,140,0.45) 0,rgba(140,140,140,0) 100%);background-image:-ms-linear-gradient(rgba(140,140,140,0.45) 0,rgba(140,140,140,0) 100%);background-image:-o-linear-gradient(rgba(140,140,140,0.45) 0,rgba(140,140,140,0) 100%);background-image:linear-gradient(rgba(140,140,140,0.45) 0,rgba(140,140,140,0) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#728C8C8C',endColorstr='#008C8C8C');height:10px;width:80px}.s-ctner-menus .bottom-border{position:absolute;bottom:0;left:0;z-index:2;background:none;background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(140,140,140,0)),to(rgba(140,140,140,0.45)));background-image:-moz-linear-gradient(rgba(140,140,140,0) 0,rgba(140,140,140,0.45) 100%);background-image:-ms-linear-gradient(rgba(140,140,140,0) 0,rgba(140,140,140,0.45) 100%);background-image:-o-linear-gradient(rgba(140,140,140,0) 0,rgba(140,140,140,0.45) 100%);background-image:linear-gradient(rgba(140,140,140,0) 0,rgba(140,140,140,0.45) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#008C8C8C',endColorstr='#728C8C8C');height:10px;width:80px}.s-ctner-menus .s-menu.add span{display:inline-block;width:20px;height:20px;position:absolute;top:6px;left:30px;background:url(\"../img/noskin_bg_650ea825.png\") no-repeat -22px 0;_background:url(\"../img/spis7_f80cc562.png\") no-repeat -689px -444px}.s-ctner-menus .s-menu.add:hover span,.s-ctner-menus .s-menu.add.current span{background-position:0 0;_background-position:-539px -444px}.s-ctner-menus .s-menu:hover{text-decoration:none;background:#b3b6bb;color:#FFF}.s-ctner-menus .s-menu.current,.s-ctner-menus .s-menu.current:hover{color:#FFF;filter:none;font-weight:bold;background:url(\"../img/s_menu_309f0917.png\") no-repeat;_background:url(\"../img/s_menu_8_6e894264.png\") no-repeat;width:80px;border-right:none;cursor:default}.s-ctner .s-ctner-contents{width:813px;height:auto!important;height:318px;min-height:318px;float:right;position:relative}\n.s-ctner .s-ctner-contents .s-content{color:#222;background:#fff;position:absolute;border:1px solid #E9E9E9;min-height:318px;_height:318px;width:811px;float:left}.s-ctner .s-ctner-contents .s-content .s-load-error{width:811px;height:316px;line-height:316px;text-align:center;font-size:12px;color:#333;background-color:#FFF}.s-ctner .s-ctner-contents .s-content-skin-bg{background:none}.s-ctner .s-ctner-contents .s-content-skin-bg.unshown{display:none}.s-ctner-contents .s-content-load{text-align:left;height:318px;font-size:14px;color:#333;background-color:#FFF}.s-ctner-contents .s-content-load img{position:relative;margin-top:100px;margin-left:376px}.s-ctner-contents .s-content-load div{color:#000;font-size:14px;height:24px;margin-top:10px;margin-left:328px}.s-weather-wrapper{float:left;height:34px;_width:160px}.s-upfunc-menus .s-weather-null{min-width:15px}.s-mod-weather{margin:8px 0 0 15px;float:left;height:20px;line-height:20px;font-size:12px;_width:160px;_margin:6px 0 0 7px}.s-mod-weather.no-polution-ie6{_width:150px}.s-mod-weather a{outline:none;text-decoration:none}.s-mod-weather .weather-bg{position:absolute;top:-4px;left:0;height:35px;z-index:-1}.hide-weater .city-wather .show-weather,.hide-weater .city-wather .show-pollution{display:none}.hide-unknow-city .unknown-city{display:none}.city-wather{cursor:pointer;height:20px;white-space:nowrap;_text-align:left}.s-mod-weather .show-weather,.s-mod-weather .show-pollution{display:inline-block;height:20px;*display:inline}#u_sp .s-mod-weather .show-pollution a{margin-right:0}.s-mod-weather .hide-pollution{display:none}.s-mod-weather .show-vertical{margin-right:11px}.s-mod-weather .show-airParm em{line-height:20px\\9;vertical-align:bottom\\9}.s-mod-weather  .polution-level-0 .show-polution-name,.s-mod-weather  .polution-level-10 .show-polution-name{color:#4cc74c !important;font-weight:bold}.s-mod-weather  .polution-level-20 .show-polution-name{color:#f60 !important;font-weight:bold}.s-mod-weather  .polution-level-30 .show-polution-name,.s-mod-weather  .polution-level-40 .show-polution-name,.s-mod-weather  .polution-level-50 .show-polution-name{color:#f00 !important;font-weight:bold}.s-mod-weather .show-polution-num{margin-right:7px;margin-left:0}.s-mod-weather .show-icon{margin-right:9px}.s-mod-weather .show-weather img{margin-right:7px}.s-mod-weather span{display:inline-block;height:20px;vertical-align:bottom}.s-mod-weather .show-weather img,.s-mod-weather .show-weather em,.s-mod-weather .show-pollution em{vertical-align:top}.s-mod-weather .show-weather em,.s-mod-weather .show-polution-num{line-height:20px}.s-mod-weather .show-city em{line-height:20px}.s-mod-weather .show-icon .weather-icon,.s-mod-weather .show-icon .show-icon-temp{*vertical-align:middle}.s-mod-weather .show-icon .weather-icon{width:18px;height:18px;display:inline-block;vertical-align:middle;margin-right:5px}.s-mod-weather .unknown-icon{width:12px;overflow:hidden;margin-right:5px;_zoom:1;background:url(\"../img/load_spis_ddabf4f0.png\") no-repeat 0 0;_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\"http://su.bdimg.com/static/superplus/img/ie6/weather_nobg_unknown_city_c35241eb.png\", enabled=true,sizingMethod=\"crop\")}.s-mod-weather a,.s-mod-weather em,.s-mod-weather span{color:#adacac}.s-mod-weather .unknown-city{height:20px;line-height:19px;width:160px;text-align:left;margin-right:10px}.s-mod-weather .unknown-city span{display:inline-block}.show-pollution{vertical-align:bottom}.s-mod-weather .unknown-text,.unknown-city,.city-wather a,.city-wather em,.city-wather span,.show-pollution a,.show-pollution em,.show-pollution span{color:#555}.s-mod-weather .unknown-setting{text-decoration:underline;cursor:pointer;color:#0079f5}.s-mod-weather .s-mod-weather-bear{width:174px;height:115px;position:absolute;top:30px;left:41px;display:none}.s-mod-weather-bear .weather-bear-body{width:178px;height:159px}.s-mod-weather-bear .weather-bear-close{position:absolute;top:15px;right:29px;width:16px;height:16px}.s-mod-weather .bear-50,.s-mod-weather .bear-40,.s-mod-weather .bear-30,.s-mod-weather .bear-20{display:block}.s-mod-weather .bear-50 .weather-bear-body,.s-mod-weather .bear-40 .weather-bear-body{background:url('../img/weather/weather_bear1_d9821673.png') no-repeat;_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\"http://su.bdimg.com/static/superplus/img/weather/weather_bear1?v=md5\", enabled=true,sizingMethod=\"crop\")}.s-mod-weather .bear-30 .weather-bear-body{background:url('../img/weather/weather_bear1_d9821673.png') no-repeat;_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\"http://su.bdimg.com/static/superplus/img/weather/weather_bear1_d9821673.png\", enabled=true,sizingMethod=\"crop\")}.s-mod-weather .bear-20 .weather-bear-body{background:url('../img/weather/weather_bear1_d9821673.png') no-repeat;_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\"http://su.bdimg.com/static/superplus/img/weather/weather_bear1_d9821673.png\", enabled=true,sizingMethod=\"crop\")}.s-opacity-0 .s-ctner-contents{width:811px}.s-skin-hasbg{background:none;_zoom:1}.s-skin-container{position:absolute;top:0;left:0;height:100%;width:100%;z-index:-10;background-position:center 0;background-repeat:no-repeat;background-attachment:fixed;background-size:cover;-webkit-background-size:cover;-o-background-size:cover;zoom:1}.s-skin-hasbg.red-blue-logo #nv a,.s-skin-hasbg.red-blue-logo #lm,.s-skin-hasbg.red-blue-logo #lm a{color:#333}.s-skin-hasbg.red-blue-logo #nv b{color:#000}.s-skin-hasbg.white-logo #nv a,.s-skin-hasbg.white-logo #nv b,.s-skin-hasbg.white-logo #lm,.s-skin-hasbg.white-logo #lm a{color:#fff}.s-skin-hasbg.white-logo #u_sp a,.s-skin-hasbg.white-logo #nv a,.s-skin-hasbg.white-logo #nv b,.s-skin-hasbg.white-logo #lm,.s-skin-hasbg.white-logo #lm a{color:#fff}.s-skin-hasbg.red-blue-logo #u_sp a,.s-skin-hasbg.red-blue-logo #nv a,.s-skin-hasbg.red-blue-logo #nv b,.s-skin-hasbg.red-blue-logo #lm,.s-skin-hasbg.red-blue-logo #lm a{color:#333;text-shadow:0 0 0 #000}.s-skin-hasbg #u_sp a{_color:#fff}.s-skin-hasbg .s-u-level{color:#fff}.s-skin-hasbg #u_sp .s-icon{background:url(\"../img/skin_dark_dc373b68.png\") no-repeat;_background:url(\"../img/skin_dark_ie_8f336aba.png\") no-repeat}.s-skin-hasbg #u_sp .s-icons .s-icon-treasure{background-position:-13px -577px;_background-position:-13px -577px}.s-skin-hasbg #u_sp .s-icons .s-icon-lite{background-position:-280px -577px;_background-position:-280px -577px}.s-skin-hasbg #u_sp .s-icons .s-icon-skin{background-position:-43px -578px;_background-position:-43px -578px}.s-skin-hasbg #u_sp .s-icons .s-icon-msg{background-position:-228px -575px;_background-position:-238px -575px}.s-skin-hasbg #u_sp .s-icons .s-icon-feedback{background-position:-72px -577px;_background-position:-72px -577px}.s-skin-hasbg #u_sp .s-icons .s-icon-line{background-position:-104px -577px;_background-position:-104px -577px}.s-skin-hasbg  .s-icons .s-icon-feedback:hover{background-position:-196px -577px;_background-position:-197px -578px}.s-skin-hasbg  .s-user-name-top .user-arrow,.s-skin-hasbg  .s-user-setting-top .user-arrow{background:url('../img/skin_dark_dc373b68.png') no-repeat -707px -588px;_background:url('../img/skin_dark_ie_8f336aba.png') no-repeat -707px -588px}.s-skin-hasbg  .s-user-name-top a{color:#0079F5}.s-skin-hasbg .s-user-set-menu div{border-color:#FFF}.s-skin-hasbg .s-user-set-menu .menu-arrow{background-position:0 -90px}.s-skin-hasbg .s-bottom-ctner,.s-skin-hasbg .s-bottom-ctner a{color:#FFF}.s-skin-hasbg .btn_wr{background:transparent}.s-skin-hasbg .btn_wr{height:40px;width:104px}.s-skin-hasbg #kw{padding:10px 9px 10px 7px;border:0;background-image:none;height:20px;line-height:20px;box-shadow:0 1px 3px rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.2);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.2)}.s-skin-hasbg .btn{box-shadow:1px 1px 3px rgba(0,0,0,0.2);-webkit-box-shadow:1px 1px 3px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 3px rgba(0,0,0,0.2)}\n.s-skin-hasbg .btn_h{box-shadow:0 0 5px rgba(0,0,0,0.35);-webkit-box-shadow:0 0 5px rgba(0,0,0,0.35);-moz-box-shadow:0 0 5px rgba(0,0,0,0.35)}.s-skin-hasbg .btn,.s-skin-hasbg .btn_wr{background-image:url('../img/skin_dark_dc373b68.png')}.s-skin-hasbg .btn{background-position:-206px 0}.s-skin-user #s_bottom_ctner{_bottom:-1px}.s-skin-hasbg .bottom{background:none;border-top:none;padding-bottom:20px}.s-skin-hasbg #s_seth a,.s-skin-hasbg #s_bottom_ctner .bottom-line1 a,.s-skin-hasbg  #s_bottom_ctner .bottom-line1{color:#fff}.s-skin-hasbg #s_bottom_ctner .bottom-line2,.s-skin-hasbg #s_bottom_ctner .bottom-line2 a{color:#ccc}.s-skin-hasbg #mCon{background-color:transparent}.s-skin-hasbg #mCon span{color:#fff}.s-skin-hasbg #mMenu{background:rgba(0,0,0,0.7);background:black\\9;filter:alpha(opacity=70) \\9}.s-skin-hasbg #mMenu a:hover{background:rgba(34,34,34,0.7);background:rgb(34,34,34)}.s-skin-hasbg #mMenu a,.s-skin-hasbg #mMenu a:visited{color:#fff}.s-skin-hasbg .s-mod-msg,.s-skin-hasbg .s-mod-msg .item-msg-content{color:#fff}.s-skin-hasbg .s-mod-msg .s-mod-msg-bg{background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(00,00,00,.60)),to(rgba(00,00,00,.60)));background-image:-moz-linear-gradient(rgba(00,00,00,.60) 0,rgba(00,00,00,.60) 100%);background-image:-ms-linear-gradient(rgba(00,00,00,.60) 0,rgba(00,00,00,.60) 100%);background-image:-o-linear-gradient(rgba(00,00,00,.60) 0,rgba(00,00,00,.60) 100%);background-image:linear-gradient(rgba(00,00,00,.60) 0,rgba(00,00,00,.60) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#99000000',endColorstr='#99000000');_background:#000;zoom:1}.s-skin-hasbg .s-mod-msg .msg-area{border:none;background:none;color:#FFF !important;filter:none;background:url('../img/blank_56a92bd4.png') repeat;_background:#000}.s-skin-hasbg .s-mod-msg .msg-arrow{background:url('../img/msg_bg_skin_609800a5.png') no-repeat -4px -9px;_background:url('../img/msg_bg_skin_ie6_52137b6c.png') no-repeat -4px -9px}.s-skin-hasbg  .s-msg-tips{color:#fff !important}.s-skin-hasbg .s-mod-msg .s-msg-item .item-name .item-name-link{color:#fff !important}.s-skin-hasbg .s-mod-msg.extend .msg-area .s-msg-item{_padding-left:0;_padding-right:0}.s-skin-hasbg .s-msg-tips .s-msg-exchange,.s-skin-hasbg .s-msg-tips .s-msg-setting,.s-skin-hasbg .s-msg-tips .s-msg-count{background-image:url(\"../img/msg_bg_skin_609800a5.png\");_background-image:url(\"../img/msg_bg_skin_ie6_52137b6c.png\")}.s-skin-hasbg .s-msg-tips .s-msg-exchange{background-position:0 -18px}.s-skin-hasbg .s-mod-msg .s-msg-item .item-title:visited,.s-skin-hasbg .s-mod-msg .s-msg-item .title-sns:visited{color:#ccc !important}.s-skin-hasbg .s-mod-msg .s-msg-item .item-title,.s-skin-hasbg .s-mod-msg .s-msg-item .item-name .item-name-link,.s-skin-hasbg .s-mod-msg .s-msg-item .title-sns{color:#fff !important;text-shadow:none !important}.s-skin-hasbg .s-mod-msg.extend .s-msg-item .item-name{_margin-left:0}.s-skin-hasbg .s-mod-msg.extend .item-msg-content{_width:160px}.s-skin-hasbg .weather-setting-arraw{background:url(\"../img/load_ext_spis_65c74648.png\") no-repeat 0 -90px}.s-skin-hasbg .s-mod-weather .unknown-text,.s-skin-hasbg  .unknown-city,.s-skin-hasbg  .city-wather a,.s-skin-hasbg  .city-wather em,.s-skin-hasbg  .show-pollution a,.s-skin-hasbg  .show-pollution em,.s-skin-hasbg  .show-pollution span{color:#fff;text-shadow:0 0 3px #333}.s-skin-hasbg .city-wather em{color:#fff;text-shadow:0 0 3px #333}.s-skin-hasbg.red-blue-logo .city-wather em,.s-skin-hasbg.red-blue-logo  .show-pollution span{color:#333;text-shadow:none}.s-skin-hasbg  .show-pollution .show-polution-name{text-shadow:none}.s-skin-hasbg .s-mod-weather .unknown-icon{background:url(\"../img/load_spis_ddabf4f0.png\") no-repeat -15px 0;_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\"http://su.bdimg.com/static/superplus/img/ie6/weather_nobg_unknown_city_c35241eb.png\", enabled=true,sizingMethod=\"crop\")}.s-skin-hasbg .s-mod-weather .unknown-text{color:#fff}.s-skin-hasbg .s-mod-weather .unknown-setting{color:#8bc5ff}.s-skin-hasbg .weather-setting-content{border:none}.s-show-skin .weather-setting-content{border:1px solid #e3e3e3}.s-skin-hasbg .s-ctner .s-ctner-menus{background:none;border-right:none;*z-index:10}.s-skin-hasbg .s-ctner .s-ctner-menus .menus-ctner{height:286px;height:285px\\0;*height:285px;_height:286px;*z-index:10}.s-skin-hasbg .s-ctner-menus .s-menu{color:#FFF;background:none;background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(00,00,00,0.4)),to(rgba(00,00,00,0.4)));background-image:-moz-linear-gradient(rgba(00,00,00,0.4) 0,rgba(00,00,00,0.4) 100%);background-image:-ms-linear-gradient(rgba(00,00,00,0.4) 0,rgba(00,00,00,0.4) 100%);background-image:-o-linear-gradient(rgba(00,00,00,0.4) 0,rgba(00,00,00,0.4) 100%);background-image:linear-gradient(rgba(00,00,00,0.4) 0,rgba(00,00,00,.4) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#66000000',endColorstr='#66000000')}.s-skin-hasbg .s-ctner-menus .s-menu:hover{background:none !important;background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(138,138,138,0.6)),to(rgba(138,138,138,0.6))) !important;background-image:-moz-linear-gradient(rgba(138,138,138,0.6) 0,rgba(138,138,138,0.6) 100%) !important;background-image:-ms-linear-gradient(rgba(138,138,138,0.6) 0,rgba(138,138,138,0.6) 100%) !important;background-image:-o-linear-gradient(rgba(138,138,138,0.6) 0,rgba(138,138,138,0.6) 100%) !important;background-image:linear-gradient(rgba(138,138,138,0.6) 0,rgba(138,138,138,0.6) 100%) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#998a8a8a',endColorstr='#998a8a8a') !important;text-shadow:none}.s-skin-hasbg .s-ctner-menus .s-menu.current,.s-skin-hasbg .s-ctner-menus .s-menu.current:hover{filter:none !important;background:url(\"../img/s_menu_skin_48e4e0f9.png\") no-repeat !important;_background:url(\"../img/s_menu_skin_ie_c7629e6f.png\") no-repeat !important;border-right:none !important;text-shadow:none !important;width:80px}.s-skin-hasbg .s-ctner-menus .s-menu.add span{background:url(\"../img/skin_dark_dc373b68.png\") no-repeat -688px -406px;_background:url(\"../img/skin_dark_ie_8f336aba.png\") no-repeat -688px -406px}.s-skin-hasbg .s-ctner-menus .s-menu.add:hover span,.s-skin-hasbg .s-ctner-menus .s-menu.add.current span{background-position:-543px -406px}.s-skin-hasbg .s-ctner .s-ctner-menus .s-menu-fill{background:none;background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(00,00,00,0.4)),to(rgba(00,00,00,0.4)));background-image:-moz-linear-gradient(rgba(00,00,00,0.4) 0,rgba(00,00,00,0.4) 100%);background-image:-ms-linear-gradient(rgba(00,00,00,0.4) 0,rgba(00,00,00,0.4) 100%);background-image:-o-linear-gradient(rgba(00,00,00,0.4) 0,rgba(00,00,00,0.4) 100%);background-image:linear-gradient(rgba(00,00,00,0.4) 0,rgba(00,00,00,0.4) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#66000000',endColorstr='#66000000')}.s-skin-hasbg .s-ctner-menus .top-border{background:none;background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(00,00,00,0.45)),to(rgba(00,00,00,0)));background-image:-moz-linear-gradient(rgba(00,00,00,0.45) 0,rgba(00,00,00,0) 100%);background-image:-ms-linear-gradient(rgba(00,00,00,0.45) 0,rgba(00,00,00,0) 100%);background-image:-o-linear-gradient(rgba(00,00,00,0.45) 0,rgba(00,00,00,0) 100%);background-image:linear-gradient(rgba(00,00,00,0.45) 0,rgba(00,00,00,0) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#72000000',endColorstr='#00000000')}.s-skin-hasbg .s-ctner-menus .bottom-border{background:none;background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(00,00,00,0)),to(rgba(00,00,00,0.45)));background-image:-moz-linear-gradient(rgba(00,00,00,0) 0,rgba(00,00,00,0.45) 100%);background-image:-ms-linear-gradient(rgba(00,00,00,0) 0,rgba(00,00,00,0.45) 100%);background-image:-o-linear-gradient(rgba(00,00,00,0) 0,rgba(00,00,00,0.45) 100%);background-image:linear-gradient(rgba(00,00,00,0) 0,rgba(00,00,00,0.45) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',endColorstr='#72000000')}\n.s-skin-hasbg .s-ctner .s-ctner-contents .s-content{border:none}.s-skin-hasbg .s-ctner .s-ctner-contents .s-content-skin-bg{border:none;width:811px;height:318px;top:0;left:0;position:absolute;box-shadow:2px 2px 2px rgba(00,00,00,0.07);-moz-box-shadow:2px 2px 2px rgba(00,00,00,0.07);-webkit-box-shadow:2px 2px 2px rgba(00,00,00,0.07);background:white;opacity:.1;filter:progid:DXImageTransform.Microsoft.Shadow(Strength=2, Direction=135, Color='#000000') alpha(opacity=10);-ms-filter:progid:DXImageTransform.Microsoft.Shadow(Strength=2, Direction=135, Color='#000000') alpha(opacity=10)}.s-skin-hasbg .s-add-bar .s-add-bar-bg{background-color:#000;opacity:.5;filter:alpha(opacity = 50)}.s-skin-hasbg .s-add-bar a{background:url(\"../img/s_add_bar_skin_42b9adc9.png\") no-repeat 5px 114px;_background:url(\"../img/s_add_bar_skin_ie_34668c59.png\") no-repeat 5px 114px}.s-select{width:129px;height:27px;position:relative;display:inline-block}.s-select-input,.s-select-input-mask{width:114px;color:#999;border:1px solid #ccc;border-color:#d3d3d3 #EBEBEB #EBEBEB #d3d3d3;height:25px;line-height:0;padding:0 7px 0 4px;padding:0 7px 0 4px \\9;font:12px arial;outline:none;background:url('../img/input_bg_ef614aac.png') no-repeat 0 0 white;overflow:hidden;cursor:default}.s-select-input{position:absolute;left:-100000px}.s-select-input-mask{position:absolute;padding-right:0;line-height:25px;text-align:left;top:0;*top:1px;_top:0;left:0;padding-right:19px;width:102px;z-index:1;white-space:nowrap;text-overflow:ellipsis;-o-text-overflow:ellipsis}.s-select-arrow{border-left:1px solid #eee;outline:none;width:14px;height:25px;position:absolute;right:2px;_right:-5px;top:0;display:inline-block;background:url(\"../img/menu_bg_110e96d0.png\") no-repeat -179px -264px;z-index:2}.s-select-layer{position:absolute;width:125px;display:none;border:1px solid #EBEBEB;border-top:none;top:27px;left:0;background:white;overflow-y:auto;overflow-x:hidden;z-index:1000}.s-select-layer.show{display:block}.s-select-layer .s-select-layer-option{width:102px;height:20px;line-height:20px;padding:0 19px 0 4px;text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-o-text-overflow:ellipsis;font:12px;color:#666;cursor:default}.s-select-layer .s-select-layer-option.current{background-color:#e2eaff;color:#000}"
  },
  {
    "path": "testsample/src/main/assets/baidu_files/xmancard_c006cb6f.js",
    "content": "F._setMod(\"xcard\");F._fileMap({\"/js/xmancard_a70456df.js\":[\"config\",\"base/conf\",\"base/card\",\"base/view\",\"base/common\"],\"/css/xmancard_810472f8.css\":[\"xmancard.css\",\"tip.css\"]});F._useConfig=true;F._firstScreenJS=F._firstScreenJS||[];F._firstScreenJS.push(\"/js/xmancard_a70456df.js\");F.module(\"xcard:base/conf\",function(c,b,a){b.conf={11:{type:\"inner\",init:\"xcard:gaokao/start/init\"}}});F.module(\"xcard:base/card\",function(d,f,k){var a=d(\"xcard:base/view\");var h=d(\"xcard:base/conf\").conf,i=$(\"head\");var c=function(l){$(\"#s_content_\"+l)[0].innerHTML=a.render(l)};var g={};var b=function(o){if(h[o]&&h[o].type==\"inner\"&&h[o].init){var l=h[o].init.split(\"/\");var n=l[0]+\"/\"+l[1],m=l[2];F.use(n,function(p){p[m]({id:o,$mod:$(\"#s_xmancard_\"+o)})})}else{}};var e=function(n,l){var m=\"/home/xman/data/xcardhtml?cardid=\"+n;$.ajaxget(m,function(o){l&&l(o)})};var j=function(m){var m,l;if(h[m]&&h[m].type==\"inner\"&&h[m].init){c(m);b(m);return}if(window._card_sync==1&&m==s_session.firstmod){g[m]=true}param={};if($.isEmptyObject(param)){param=\"\"}else{param=\"&\"+$.param(param)}if(!g[m]){c(m);g[m]=true;e(m+param,function(q){var o,p=/<link[^>]*href=\"(.*?)\"[^>]*>/,n;if(q.html){o=q.html.match(p);if(o){n=o[1];$('<link rel=\"stylesheet\" type=\"text/css\" href=\"'+n+'\" />').on(\"load\",function(){$(\"#s_content_\"+m).html(q.html.replace(p,\"\"));k.fire(\"tabshow\",{cardid:m});$(window).trigger(\"cardrender\")}).appendTo(i);if($.browser.safari&&window.navigator.platform===\"Win32\"){setTimeout(function(){$(\"#s_content_\"+m).html(q.html.replace(p,\"\"));k.fire(\"tabshow\",{cardid:m});$(window).trigger(\"cardrender\")},300)}}else{$(\"#s_content_\"+m).html(q.html);$(window).trigger(\"cardrender\")}}})}else{k.fire(\"tabshow\",{cardid:m})}};f.init=j});F.module(\"xcard:base/view\",function(f,d,b){var e=f(\"xcard:base/conf\").conf;var g=function(i){return h(i)},c=!!s_session.sample_value,a=c?['<div class=\"s-content-load s-opacity-white-background\">','<img src=\"'+s_domain.staticUrl+'static/superplus/img/loading.gif?v=29361627.gif\" />',\"<div>加载中，精彩马上呈现</div>\",\"</div>\"].join(\"\"):\"\";var h=function(i){return'<div id=\"s_xmancard_'+i+'\" class=\"s-xmancard-'+i+' s-xmancard\">'+a+\"</div>\"};d.render=g});F.module(\"xcard:base/common\",function(c,i,p){var k={},f={},a=\"/home/xman/submit/\",o=\"/home/xman/data/\",g=\"\";var l={refreshtip:'<div id=\"s_refresh_tip\" style=\";height:30px;border:1px solid #ac8970;background:#fffbe6;padding:3px 30px 3px 36px;color:#8c1a08;vertical-align:middle;font-size:14px;line-height:30px;z-index:9999;position:absolute;top:141px;left:340px;\"><em class=\"right-tag\" style=\"width:15px;height:15px;position:absolute;left:20px;top:10px;background:#{url}\"></em><p style=\"padding-left:5px\">刷新成功</p></div>'};var b=$.formatString(l.refreshtip,{url:\"url(\"+s_domain.staticUrl+\"static/xcard/img/base/stock\"+($.isIE6?8:24)+\".png?v=md5) -55px -11px\"});var e=function(u,v,w,r,t){k[u]=k[u]||{};if(k[u].key==w){return}if(typeof(w)!=\"string\"){w=$.stringify(w)}var s={tpl:u,key:v,value:w,cmd:\"set\"};if(!$.isEmptyObject(t)){s=$.extend(s,t)}$.ajaxpost(a+\"xcardstore\",s,function(x){k[u].key=w;r&&r(x.errNo)})};var j=function(s,v,r){g=$(\"#s_xmancard_\"+s).attr(\"data-curtab\");var u=$(\"#s_xmancard_\"+s).attr(\"data-curtab\",v);e(s,\"curTab\",v,function(){r&&r()});n(s,v)};var h=function(s,t,r){return $.ajaxpost(o+\"xcardgetstore\",{tpl:s,key:t},function(u){r&&r(u)})};var d=function(s,t,u,r){if(typeof(u)!=\"string\"){u=$.stringify(u)}$.ajaxpost(a+\"xcardstore\",{tpl:s,key:t,value:u,cmd:\"add\"},function(v){r&&r(v.errNo)})};var m=function(s,t,u,r){if(typeof(u)!=\"string\"){u=$.stringify(u)}$.ajaxpost(a+\"xcardstore\",{tpl:s,key:t,value:u,cmd:\"del\"},function(v){r&&r(v.errNo)})};var n=function(r,s){if($.trim(g)!=$.trim(s)){var t=$(\"#s_xmancard_\"+r).parent().attr(\"data-id\")||s_session.curmod;p.fire(\"tabshow\",{cardid:t,cardname:r,cardtab:s})}};var q=function(s,x,u,r){if(s==\"undefined\"||s==\"\"){return}var w=$(\"#s_xmancard_\"+s);var t=w.parent(),v=t.attr(\"data-id\");if(v){var y=$.url.jsonToQuery(u||{});$.ajaxget(o+\"xcardhtml?cardid=\"+v+\"&\"+y,function(z){if(z.errNo==0){$(window).trigger(\"cardrender\");if($.isFunction(r)){r(z)}else{w.remove();t.hide().html(z.html).show()}if(!x){t.append(b);clearTimeout(A);var A=setTimeout(function(){$(\"#s_refresh_tip\").css(\"display\",\"none\")},2000)}}})}};i.refreshCard=q;i.pushStore=d;i.getStore=h;i.delStore=m;i.setCardTab=j;i.setStore=e});"
  },
  {
    "path": "testsample/src/main/java/com/android/sample/HomeTestActivity.java",
    "content": "package com.android.sample;\n\nimport android.content.Context;\nimport android.content.Intent;\nimport android.os.Bundle;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.FrameLayout;\nimport android.widget.TextView;\n\nimport com.android.framework.R;\nimport com.android.libcore_ui.activity.BaseActivity;\nimport com.android.sample.test_activity.ActivityTestHomePage;\nimport com.android.sample.test_cache.CacheActivity;\nimport com.android.sample.test_db.DBActivity;\nimport com.android.sample.test_dialog.DialogActivity;\nimport com.android.sample.test_download.DownloadActivity;\nimport com.android.sample.test_guide.GuideActivity;\nimport com.android.sample.test_imageloader.ImageActivity;\nimport com.android.sample.test_netapi.NetActivity;\nimport com.android.sample.test_utils.UtilsActivity;\nimport com.android.sample.test_volley.VolleyActivity;\nimport com.android.sample.test_webview.WebViewActivity;\nimport com.android.sample.test_widget.WidgetActivity;\n\n/**\n * Description: homepage\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-08\n */\npublic class HomeTestActivity extends BaseActivity implements View.OnClickListener{\n\n    public static final String ACTION = \"action_from_activity_test_home_page\";\n\n    /** 测试activity */\n    private Button btn_test_activity;\n    /** 测试网络请求 */\n    private Button btn_test_net;\n    /** 测试图片加载 */\n    private Button btn_test_imageloder;\n    /** 测试volley */\n    private Button btn_test_volley;\n    /** 测试蒙版 */\n    private Button btn_test_guide;\n    /** 测试dialog */\n    private Button btn_test_dialog;\n    /** 测试数据库 */\n    private Button btn_test_db;\n    /** 测试cache */\n    private Button btn_test_cache;\n    /** 测试webview */\n    private Button btn_test_webview;\n    /** 测试断点续传 */\n    private Button btn_test_download;\n    /** 测试utils */\n    private Button btn_test_utils;\n    /** 测试widget */\n    private Button btn_test_widget;\n    /** 底部的代替navigation bar */\n    private FrameLayout fl_navigation;\n    private TextView tv_info;\n\n    @Override\n    public void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        initView();\n        initData();\n    }\n\n    protected void initView() {\n        setContentView(R.layout.activity_home_test);\n        btn_test_activity = $(R.id.btn_test_activity);\n        btn_test_net = $(R.id.btn_test_net);\n        btn_test_imageloder = $(R.id.btn_test_imageloder);\n        btn_test_volley = $(R.id.btn_test_volley);\n        btn_test_guide = $(R.id.btn_test_guide);\n        btn_test_dialog = $(R.id.btn_test_dialog);\n        btn_test_db = $(R.id.btn_test_db);\n        btn_test_cache = $(R.id.btn_test_cache);\n        btn_test_webview = $(R.id.btn_test_webview);\n        btn_test_download = $(R.id.btn_test_download);\n        btn_test_utils = $(R.id.btn_test_utils);\n        fl_navigation = (FrameLayout) findViewById(R.id.fl_navigation);\n        btn_test_widget = $(R.id.btn_test_widget);\n        btn_test_activity.setOnClickListener(this);\n        btn_test_net.setOnClickListener(this);\n        btn_test_imageloder.setOnClickListener(this);\n        btn_test_volley.setOnClickListener(this);\n        btn_test_guide.setOnClickListener(this);\n        btn_test_dialog.setOnClickListener(this);\n        btn_test_db.setOnClickListener(this);\n        btn_test_cache.setOnClickListener(this);\n        btn_test_webview.setOnClickListener(this);\n        btn_test_utils.setOnClickListener(this);\n        btn_test_download.setOnClickListener(this);\n        btn_test_widget.setOnClickListener(this);\n        tv_info = (TextView) findViewById(R.id.tv_info);\n        //http://stackoverflow.com/questions/2444040/naming-my-application-in-android\n        setTitle(\"主页\");\n        addNavigationOnBottom(fl_navigation);\n    }\n\n    protected void initData() {\n        registerReceiver(ACTION);\n    }\n\n    @Override\n    protected void onReceive(Context context, Intent intent) {\n        if (intent.getAction().equalsIgnoreCase(ACTION)){\n            tv_info.setText(\"有一个从activity_home_page来的广播\");\n        }\n    }\n\n    @Override\n    public void onClick(View v) {\n        Intent intent = new Intent();\n        switch (v.getId()){\n            case R.id.btn_test_activity:\n                intent.setClass(this, ActivityTestHomePage.class);\n                break;\n            case R.id.btn_test_net:\n                intent.setClass(this, NetActivity.class);\n                break;\n            case R.id.btn_test_imageloder:\n                intent.setClass(this, ImageActivity.class);\n                break;\n            case R.id.btn_test_volley:\n                intent.setClass(this, VolleyActivity.class);\n                break;\n            case R.id.btn_test_guide:\n                intent.setClass(this, GuideActivity.class);\n                break;\n            case R.id.btn_test_dialog:\n                intent.setClass(this, DialogActivity.class);\n                break;\n            case R.id.btn_test_db:\n                intent.setClass(this, DBActivity.class);\n                break;\n            case R.id.btn_test_cache:\n                intent.setClass(this, CacheActivity.class);\n                break;\n            case R.id.btn_test_webview:\n                intent.setClass(this, WebViewActivity.class);\n                break;\n            case R.id.btn_test_download:\n                intent.setClass(this, DownloadActivity.class);\n                break;\n            case R.id.btn_test_utils:\n                intent.setClass(this, UtilsActivity.class);\n                break;\n            case R.id.btn_test_widget:\n                intent.setClass(this, WidgetActivity.class);\n                break;\n            default:\n                return;\n        }\n        startActivity(intent);\n    }\n}\n"
  },
  {
    "path": "testsample/src/main/java/com/android/sample/test_activity/ActivityA.java",
    "content": "package com.android.sample.test_activity;\n\nimport android.content.Intent;\nimport android.os.Bundle;\nimport android.view.Gravity;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.Button;\nimport android.widget.TextView;\n\nimport com.android.framework.R;\nimport com.android.libcore.Toast.T;\nimport com.android.libcore.activity.ActivityManager;\nimport com.android.libcore.application.RootApplication;\nimport com.android.libcore_ui.activity.BaseActivity;\n\n/**\n * Description: 测试类A\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-09\n */\npublic class ActivityA extends BaseActivity implements View.OnClickListener{\n    private Button btn_go_to_activity;\n    private Button btn_finish_top_activity;\n    private Button btn_finish_first_B_activity;\n    private Button btn_finish_all_B_activity;\n    private Button btn_return_to_home_page;\n    private Button btn_close;\n\n    private TextView tv_all_info;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        initView();\n        initData();\n    }\n\n    protected void initView() {\n        setContentView(R.layout.activity_test_activity_a);\n        btn_go_to_activity = $(R.id.btn_go_to_activity);\n        btn_finish_top_activity = $(R.id.btn_finish_top_activity);\n        btn_finish_first_B_activity = $(R.id.btn_finish_first_B_activity);\n        btn_finish_all_B_activity = $(R.id.btn_finish_all_B_activity);\n        btn_return_to_home_page = $(R.id.btn_return_to_home_page);\n        btn_close = $(R.id.btn_close);\n\n        btn_go_to_activity.setOnClickListener(this);\n        btn_finish_top_activity.setOnClickListener(this);\n        btn_finish_first_B_activity.setOnClickListener(this);\n        btn_finish_all_B_activity.setOnClickListener(this);\n        btn_return_to_home_page.setOnClickListener(this);\n        btn_close.setOnClickListener(this);\n\n        tv_all_info = (TextView) findViewById(R.id.tv_all_info);\n\n        addNavigationOnBottom((ViewGroup) findViewById(R.id.fl_navigation));\n    }\n\n    protected void initData() {\n    }\n\n    @Override\n    protected void onResume() {\n        super.onResume();\n        showStackInfo();\n    }\n\n    private void showStackInfo(){\n        T.getInstance().setGravity(Gravity.TOP).setyOffset(10).setyOffset(10).showShort(RootApplication.getInstance().toString());\n        StringBuilder sb = new StringBuilder();\n        sb.append(\"activityManager:   \").append(ActivityManager.getInstance().getStackInfo()).append(\"\\n\");\n        tv_all_info.setText(sb.toString());\n    }\n\n    @Override\n    protected void onNewIntent(Intent intent) {\n        //singleinstance\n        super.onNewIntent(intent);\n    }\n\n    @Override\n    public void onClick(View v) {\n        switch (v.getId()){\n            case R.id.btn_go_to_activity:\n                startActivity(new Intent(ActivityA.this, ActivityB.class));\n                break;\n            case R.id.btn_finish_top_activity:\n                ActivityManager.getInstance().finishActivity();\n                break;\n            case R.id.btn_finish_first_B_activity:\n                ActivityManager.getInstance().finishLastActivity(ActivityB.class);\n                break;\n            case R.id.btn_finish_all_B_activity:\n                ActivityManager.getInstance().finishAllActivity(ActivityB.class);\n                break;\n            case R.id.btn_return_to_home_page:\n                ActivityManager.getInstance().finishAfterActivity(ActivityTestHomePage.class);\n                break;\n            case R.id.btn_close:\n                ActivityManager.getInstance().finishAllActivityAndClose();\n                break;\n        }\n        showStackInfo();\n    }\n}\n"
  },
  {
    "path": "testsample/src/main/java/com/android/sample/test_activity/ActivityB.java",
    "content": "package com.android.sample.test_activity;\n\nimport android.content.Intent;\nimport android.os.Bundle;\nimport android.view.Gravity;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.Button;\nimport android.widget.TextView;\n\nimport com.android.framework.R;\nimport com.android.libcore.Toast.T;\nimport com.android.libcore.activity.ActivityManager;\nimport com.android.libcore.application.RootApplication;\nimport com.android.libcore_ui.activity.BaseActivity;\n\n/**\n * Description: 测试类B\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-09\n */\npublic class ActivityB extends BaseActivity implements View.OnClickListener{\n    private Button btn_go_to_activity;\n    private Button btn_finish_top_activity;\n    private Button btn_finish_first_A_activity;\n    private Button btn_finish_all_A_activity;\n    private Button btn_return_to_home_page;\n    private Button btn_close;\n\n    private TextView tv_all_info;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        initView();\n        initData();\n    }\n\n    protected void initView() {\n        setContentView(R.layout.activity_test_activity_b);\n        btn_go_to_activity = $(R.id.btn_go_to_activity);\n        btn_finish_top_activity = $(R.id.btn_finish_top_activity);\n        btn_finish_first_A_activity = $(R.id.btn_finish_first_A_activity);\n        btn_finish_all_A_activity = $(R.id.btn_finish_all_A_activity);\n        btn_return_to_home_page = $(R.id.btn_return_to_home_page);\n        btn_close = $(R.id.btn_close);\n\n        btn_go_to_activity.setOnClickListener(this);\n        btn_finish_top_activity.setOnClickListener(this);\n        btn_finish_first_A_activity.setOnClickListener(this);\n        btn_finish_all_A_activity.setOnClickListener(this);\n        btn_return_to_home_page.setOnClickListener(this);\n        btn_close.setOnClickListener(this);\n\n        tv_all_info = $(R.id.tv_all_info);\n        addNavigationOnBottom((ViewGroup)$(R.id.fl_navigation));\n    }\n\n    protected void initData() {\n    }\n\n    private void showStackInfo(){\n        T.getInstance().setGravity(Gravity.TOP).setyOffset(10).setyOffset(10).showShort(RootApplication.getInstance().toString());\n        StringBuilder sb = new StringBuilder();\n        sb.append(\"activityManager:   \").append(ActivityManager.getInstance().getStackInfo()).append(\"\\n\");\n        tv_all_info.setText(sb.toString());\n    }\n\n    @Override\n    public void onClick(View v) {\n        switch (v.getId()){\n            case R.id.btn_go_to_activity:\n                startActivity(new Intent(this, ActivityA.class));\n                break;\n            case R.id.btn_finish_top_activity:\n                ActivityManager.getInstance().finishActivity();\n                break;\n            case R.id.btn_finish_first_A_activity:\n                ActivityManager.getInstance().finishLastActivity(ActivityA.class);\n                break;\n            case R.id.btn_finish_all_A_activity:\n                ActivityManager.getInstance().finishAllActivity(ActivityA.class);\n                break;\n            case R.id.btn_return_to_home_page:\n                ActivityManager.getInstance().finishAfterActivity(ActivityTestHomePage.class);\n                break;\n            case R.id.btn_close:\n                ActivityManager.getInstance().finishAllActivityAndClose();\n                break;\n        }\n        showStackInfo();\n    }\n\n    @Override\n    protected void onResume() {\n        super.onResume();\n        showStackInfo();\n    }\n}\n"
  },
  {
    "path": "testsample/src/main/java/com/android/sample/test_activity/ActivityTestHomePage.java",
    "content": "package com.android.sample.test_activity;\n\nimport android.content.Intent;\nimport android.os.Bundle;\nimport android.support.v4.view.MenuItemCompat;\nimport android.view.Menu;\nimport android.view.MenuItem;\nimport android.view.View;\nimport android.widget.Button;\n\nimport com.android.framework.R;\nimport com.android.libcore.Toast.T;\nimport com.android.libcore.activity.ActivityManager;\nimport com.android.libcore.application.RootApplication;\nimport com.android.libcore_ui.activity.BaseActivityWithPopWindow;\nimport com.android.sample.HomeTestActivity;\n\n/**\n * Description: 测试activity功能主页\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-09\n */\npublic class ActivityTestHomePage extends BaseActivityWithPopWindow implements View.OnClickListener{\n    private Button btn_test_weakReference;\n    private Button btn_test_weakReference2;\n    private Button btn_test_broadcast;\n    private Button btn_test_bottom_popwindow;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        initView();\n        initData();\n    }\n\n    protected void initView() {\n        setContentView(R.layout.activity_test_activity_homepage);\n        btn_test_weakReference = $(R.id.btn_test_weakReference);\n        btn_test_weakReference2 = $(R.id.btn_test_weakReference2);\n        btn_test_broadcast = $(R.id.btn_test_broadcast);\n        btn_test_bottom_popwindow = $(R.id.btn_test_bottom_popwindow);\n\n        btn_test_weakReference.setOnClickListener(this);\n        btn_test_weakReference2.setOnClickListener(this);\n        btn_test_broadcast.setOnClickListener(this);\n        btn_test_bottom_popwindow.setOnClickListener(this);\n    }\n\n    protected void initData() {\n        addItemToBottomPopWindow(0, 0, \"0测试0\");\n        addItemToBottomPopWindow(0, 1, \"0测试1\");\n        addItemToBottomPopWindow(0, 2, \"0测试2\");\n\n        addItemToBottomPopWindow(1, 0, \"1测试0\");\n        addItemToBottomPopWindow(1, 1, \"1测试1\");\n\n        addItemToBottomPopWindow(2, 0, \"2测试0\");\n        addItemToBottomPopWindow(2, 1, \"2测试1\");\n        addItemToBottomPopWindow(2, 2, \"2测试2\");\n\n        addItemToBottomPopWindow(3, 0, \"3测试0\");\n        addItemToBottomPopWindow(3, 1, \"3测试1\");\n        addItemToBottomPopWindow(3, 2, \"3测试2\");\n        addItemToBottomPopWindow(3, 3, \"3测试3\");\n\n        addItemToBottomPopWindow(4, 1, \"4测试1\");\n        addItemToBottomPopWindow(4, 2, \"4测试2\");\n        addItemToBottomPopWindow(4, 3, \"4测试3\");\n        addItemToBottomPopWindow(4, 4, \"4测试4\");\n\n        addItemToBottomPopWindow(5, 0, \"5测试0\");\n        addItemToBottomPopWindow(5, 1, \"5测试1\");\n        addItemToBottomPopWindow(5, 2, \"5测试2\");\n        addItemToBottomPopWindow(5, 3, \"5测试3\");\n        addItemToBottomPopWindow(5, 4, \"5测试4\");\n        addItemToBottomPopWindow(5, 5, \"5测试5\");\n    }\n\n    @Override\n    public boolean onCreateOptionsMenu(Menu menu) {\n        if (isUseToolbar()) {\n            getMenuInflater().inflate(R.menu.menu_activity_home_test, menu);\n\n            MenuItem item = menu.findItem(R.id.action_search);\n            View v = MenuItemCompat.getActionView(item);\n            v.findViewById(R.id.btn_click).setOnClickListener(new View.OnClickListener() {\n                @Override\n                public void onClick(View v) {\n                    T.getInstance().showShort(\"我被点击\");\n                }\n            });\n            return true;\n        }\n        return super.onCreateOptionsMenu(menu);\n    }\n\n    @Override\n    public void onClick(View v) {\n        switch (v.getId()){\n            case R.id.btn_test_weakReference:\n                startActivity(new Intent(this, ActivityA.class));\n                break;\n            case R.id.btn_test_weakReference2:\n                T.getInstance().showShort(RootApplication.getInstance().toString());\n                break;\n            case R.id.btn_test_broadcast:\n                sendLocalBroadcast(HomeTestActivity.ACTION);\n                ActivityManager.getInstance().finishActivity();\n                break;\n            case R.id.btn_test_bottom_popwindow:\n                try {\n                    removeItemFromBottomPopWindow(1, 1);\n                    removeItemFromBottomPopWindow(2, 2);\n                    removeItemFromBottomPopWindow(3, 3);\n                    removeItemFromBottomPopWindow(4, 4);\n                    removeItemFromBottomPopWindow(5, 5);\n                }catch (Exception e){\n//                    try {\n//                        removeItemFromBottomPopWindow(5, 0);\n//                        removeItemFromBottomPopWindow(5, 1);\n//                        removeItemFromBottomPopWindow(5, 2);\n//                        removeItemFromBottomPopWindow(5, 3);\n//                        removeItemFromBottomPopWindow(5, 4);\n//                    }catch (Exception e1){\n//                    }\n                }\n                showBottomPopWindow();\n                break;\n        }\n    }\n\n    @Override\n    protected void onItemClickCallback(int groupId, int itemId) {\n        super.onItemClickCallback(groupId, itemId);\n        T.getInstance().showShort(\"groupId:\"+groupId+\" ItemId:\"+itemId);\n    }\n}\n"
  },
  {
    "path": "testsample/src/main/java/com/android/sample/test_cache/CacheActivity.java",
    "content": "package com.android.sample.test_cache;\n\nimport android.os.Bundle;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.TextView;\n\nimport com.android.framework.R;\nimport com.android.libcore.cachemanager.CacheManager;\nimport com.android.libcore_ui.activity.BaseActivity;\n\n\nimport org.json.JSONException;\nimport org.json.JSONObject;\n\nimport java.util.LinkedHashSet;\n\n/**\n * Description: Cache测试类\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-24\n */\npublic class CacheActivity extends BaseActivity implements View.OnClickListener{\n    private Button btn_set;\n    private Button btn_get;\n    private TextView tv_result;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        initView();\n        initData();\n    }\n\n    protected void initView() {\n        setContentView(R.layout.activity_test_cache);\n        btn_set = $(R.id.btn_set);\n        btn_set.setOnClickListener(this);\n        btn_get = $(R.id.btn_get);\n        btn_get.setOnClickListener(this);\n        tv_result = $(R.id.tv_result);\n    }\n\n    protected void initData() {\n    }\n\n    @Override\n    public void onClick(View v) {\n        switch (v.getId()){\n            case R.id.btn_set:\n                CacheManager.setTemporary(\"boolean\", false);\n                CacheManager.setTemporary(\"float\", 0.555f);\n                CacheManager.setTemporary(\"int\", 1);\n                CacheManager.setTemporary(\"long\", 100000L);\n                CacheManager.setTemporary(\"string\", \"zhaozepeng\");\n                TestModule module = new TestModule();\n                module.a = 1;\n                module.b = 2;\n                module.c = 3;\n                CacheManager.setTemporary(\"object\", module);\n\n                LinkedHashSet<String> list = new LinkedHashSet<>();\n                list.add(\"1zhaozepeng\");\n                list.add(\"2zhaozepeng\");\n                CacheManager.setTemporary(\"String set\", list);\n\n                LinkedHashSet<TestModule> lists = new LinkedHashSet<>();\n                module = new TestModule();\n                module.a = 1;\n                module.b = 2;\n                module.c = 3;\n                lists.add(module);\n                module = new TestModule();\n                module.a = 4;\n                module.b = 5;\n                module.c = 6;\n                lists.add(module);\n                module = new TestModule();\n                module.a = 7;\n                module.b = 8;\n                module.c = 9;\n                lists.add(module);\n                CacheManager.setPermanent(\"module set\", lists);\n                break;\n            case R.id.btn_get:\n                tv_result.setText(CacheManager.getTemporary(\"boolean\", Boolean.class, true) +\"\\n\"\n                        + CacheManager.getTemporary(\"float\", Float.class, 0.66666f) + \" \\n\"\n                        + CacheManager.getTemporary(\"int\", Integer.class, 5) + \" \\n\"\n                        + CacheManager.getTemporary(\"long\", Long.class, 444444l) + \" \\n\"\n                        + CacheManager.getTemporary(\"string\", String.class, \"dddddd\") + \" \\n\"\n                        + CacheManager.getTemporary(\"object\", TestModule.class, null) + \" \\n\"\n                        + CacheManager.getTemporarySet(\"String set\", String.class) +\" \\n\"\n                        + CacheManager.getPermanentSet(\"module set\", TestModule.class) +\" \\n\");\n                break;\n        }\n    }\n\n    public static class TestModule extends CacheManager.ParseObject{\n        public int a;\n        public float b;\n        public double c;\n\n        public TestModule() {\n        }\n\n        @Override\n        public void stringParseObject(String value) {\n            try {\n                JSONObject object = new JSONObject(value);\n                a = Integer.parseInt(object.getString(\"a\"));\n                b = Float.parseFloat(object.getString(\"b\"));\n                c = Double.parseDouble(object.getString(\"c\"));\n            } catch (JSONException e) {\n                e.printStackTrace();\n            }\n        }\n\n        @Override\n        public String toString() {\n            JSONObject object = new JSONObject();\n            try {\n                object.put(\"a\", a);\n                object.put(\"b\", b);\n                object.put(\"c\", c);\n            } catch (JSONException e) {\n                e.printStackTrace();\n            }\n            return object.toString();\n        }\n    }\n}\n"
  },
  {
    "path": "testsample/src/main/java/com/android/sample/test_db/DBActivity.java",
    "content": "package com.android.sample.test_db;\n\nimport android.os.Bundle;\nimport android.view.View;\n\nimport com.android.framework.R;\nimport com.android.libcore.Toast.T;\nimport com.android.libcore.log.L;\nimport com.android.libcore_ui.activity.BaseActivity;\nimport com.android.libcore_ui.permanentdbcache.PermanentCacheDBHelper;\nimport com.android.sample.test_db.db.StudentHelper;\n\nimport java.util.ArrayList;\n\n/**\n * Description: 数据库测试类\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-22\n */\npublic class DBActivity extends BaseActivity implements View.OnClickListener{\n//    public Integer key = 0;\n//    public Integer value = 0;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        initView();\n        initData();\n    }\n\n    protected void initView() {\n        setContentView(R.layout.activity_test_db);\n        $(R.id.btn_test_add).setOnClickListener(this);\n        $(R.id.btn_test_delete).setOnClickListener(this);\n        $(R.id.btn_test_query).setOnClickListener(this);\n        $(R.id.btn_test_clear).setOnClickListener(this);\n    }\n\n    protected void initData() {\n    }\n\n    @Override\n    public void onClick(View v) {\n        switch (v.getId()){\n            case R.id.btn_test_add:\n//                key++;\n//                value++;\n//                if(PermanentCacheDBHelper.getInstance().set(key+\"key\", value+\"value\"))\n//                    T.getInstance().showShort(\"插入成功\");\n\n                if(StudentHelper.getInstance().insertStudentInfo(\"赵\", \"男\", 68)\n                        && StudentHelper.getInstance().insertGrade(5, 99)){\n                    T.getInstance().showShort(\"插入成功\");\n                }\n                ArrayList<StudentHelper.StudentInfo> lists = new ArrayList<>();\n                StudentHelper.StudentInfo info = new StudentHelper.StudentInfo();\n                info.gender = \"男\";\n                info.name = \"赵\";\n                info.weight = 100;\n                lists.add(info);\n                info = new StudentHelper.StudentInfo();\n                info.gender = \"男\";\n                info.name = \"赵\";\n                info.weight = 200;\n                lists.add(info);\n                info = new StudentHelper.StudentInfo();\n                info.gender = \"男\";\n                info.name = \"赵\";\n                info.weight = 300;\n                lists.add(info);\n                T.getInstance().showShort(StudentHelper.getInstance().insertStudentInfos(lists)+\"\");\n                break;\n            case R.id.btn_test_delete:\n//                if(PermanentCacheDBHelper.getInstance().del(key+\"key\"))\n//                    T.getInstance().showShort(\"删除成功\");\n//                key--;\n//                value--;\n                if(StudentHelper.getInstance().deleteStudentInfo(\"赵\"))\n                    T.getInstance().showShort(\"删除成功\");\n                break;\n            case R.id.btn_test_query:\n                try {\n                    for (StudentHelper.StudentInfo info1 : StudentHelper.getInstance().getStudentInfo(\"赵\")){\n                        L.e(info1.id + \" \" + info1.name + \" \" + info1.gender + \" \" + info1.weight);\n                    }\n                }catch (NullPointerException e){\n                    //ignore\n                }\n                break;\n            case R.id.btn_test_clear:\n                if(StudentHelper.getInstance().clear()){\n                    T.getInstance().showShort(\"清空成功\");\n                }\n                break;\n        }\n    }\n}\n"
  },
  {
    "path": "testsample/src/main/java/com/android/sample/test_db/db/StudentDB.java",
    "content": "package com.android.sample.test_db.db;\n\nimport android.database.sqlite.SQLiteDatabase;\n\nimport com.android.libcore.database.BaseDB;\nimport com.android.libcore.database.IBaseDBTable;\nimport com.android.libcore.log.L;\n\nimport java.util.ArrayList;\n\n/**\n * Description: 学生类数据库\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-23\n */\npublic class StudentDB extends BaseDB{\n    public StudentDB(IBaseDBTable table, boolean writable) {\n        super(table, writable);\n    }\n\n    @Override\n    protected String getDBName() {\n        return \"student.db\";\n    }\n\n    @Override\n    protected int getDBVersion() {\n        return 1;\n    }\n\n    @Override\n    protected void onDBCreate(SQLiteDatabase db) {\n        try {\n            db.beginTransaction();\n            String sql;\n            sql = \"create table if not exists \"+ TABLES.STUDENTINFO.getTableName()+\"_\" + getDBVersion() + \" (\";\n            sql += TABLES.STUDENTINFO.getTableColumns().get(0)+\" integer not null primary key autoincrement, \";\n            sql += TABLES.STUDENTINFO.getTableColumns().get(1)+\" varchar(40) not null default 'unknown', \";\n            sql += TABLES.STUDENTINFO.getTableColumns().get(2)+\" varchar(10) not null default 'male',\";\n            sql += TABLES.STUDENTINFO.getTableColumns().get(3)+\" integer not null default '60'\";\n            sql += \")\";\n            db.execSQL(sql);\n            sql = \"create table if not exists \"+TABLES.STUDENTGRADE.getTableName()+\"_\" + getDBVersion() + \" (\";\n            sql += TABLES.STUDENTGRADE.getTableColumns().get(0)+\" integer not null primary key autoincrement, \";\n            sql += TABLES.STUDENTGRADE.getTableColumns().get(1)+\" integer not null default '1', \";\n            sql += TABLES.STUDENTGRADE.getTableColumns().get(2)+\" integer not null default '60'\";\n            sql += \")\";\n            db.execSQL(sql);\n            db.setTransactionSuccessful();\n        } catch (Exception e) {\n            L.e(getClass().getSimpleName() + \" sql语句错误\", e);\n        } finally {\n            db.endTransaction();\n        }\n    }\n\n    @Override\n    protected void onDBUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {\n        switch (newVersion){\n            case 2:\n                L.e(\"我要升级到2\");\n                break;\n            default:\n                break;\n        }\n    }\n\n    /**\n     * 将该数据库中所有的表使用枚举封装\n     */\n    public enum TABLES implements IBaseDBTable {\n        STUDENTINFO(\"studentInfo\"){\n            @Override\n            public ArrayList<String> getTableColumns() {\n                ArrayList<String> columns = new ArrayList<>();\n                columns.add(\"id\");//键，不用插入，自增\n                columns.add(\"name\");//姓名，String类型\n                columns.add(\"gender\");//性别，String类型\n                columns.add(\"weight\");//体重，int类型\n                return columns;\n            }\n        },\n        STUDENTGRADE(\"studentGrade\"){\n            @Override\n            public ArrayList<String> getTableColumns() {\n                ArrayList<String> columns = new ArrayList<>();\n                columns.add(\"id\");//键，不用插入，自增\n                columns.add(\"class\");//年级，int类型\n                columns.add(\"grade\");//分数,int类型\n                return columns;\n            }\n        };\n        private String table_name;\n        TABLES(String table_name){\n            this.table_name = table_name;\n        }\n\n        @Override\n        public String getTableName() {\n            return table_name;\n        }\n\n        @Override\n        public ArrayList<String> getTableColumns() {\n            return null;\n        }\n    }\n}\n"
  },
  {
    "path": "testsample/src/main/java/com/android/sample/test_db/db/StudentHelper.java",
    "content": "package com.android.sample.test_db.db;\n\nimport com.android.libcore.database.BaseDBHelper;\n\nimport java.util.ArrayList;\nimport java.util.HashMap;\n\n/**\n * Description: 学生数据库辅助类\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-23\n */\npublic class StudentHelper extends BaseDBHelper{\n    private volatile static StudentHelper instance;\n\n    public static StudentHelper getInstance(){\n        if (instance == null){\n            synchronized (StudentHelper.class){\n                if (instance == null){\n                    instance = new StudentHelper();\n                }\n            }\n        }\n        return instance;\n    }\n\n    private StudentHelper(){\n    }\n\n    /**\n     * 数据库一个表的数据如果很多，也可以封装成一个实体类\n     */\n    public static class StudentInfo{\n        public String name;\n        public String gender;\n        public double weight;\n        //插入时该值无效\n        public int id;\n    }\n\n    /**\n     * 插入学生信息\n     */\n    public boolean insertStudentInfo(String name, String gender, int weight){\n        mTable = StudentDB.TABLES.STUDENTINFO;\n        HashMap<String, String> map = new HashMap<>();\n        map.put(mTable.getTableColumns().get(1), name);\n        map.put(mTable.getTableColumns().get(2), gender);\n        map.put(mTable.getTableColumns().get(3), weight + \"\");\n        if (insert(map, false) > 0)\n            return true;\n        return false;\n    }\n\n    public long insertStudentInfos(ArrayList<StudentInfo> infos){\n        mTable = StudentDB.TABLES.STUDENTINFO;\n        ArrayList<HashMap<String, String>> maps = new ArrayList<>();\n        for (StudentInfo info : infos) {\n            HashMap<String, String> map = new HashMap<>();\n            map.put(mTable.getTableColumns().get(1), info.name);\n            map.put(mTable.getTableColumns().get(2), info.gender);\n            map.put(mTable.getTableColumns().get(3), info.weight + \"\");\n            maps.add(map);\n        }\n        return insertAll(maps, false);\n    }\n\n    public boolean deleteStudentInfo(String name){\n        mTable = StudentDB.TABLES.STUDENTINFO;\n        String selection = mTable.getTableColumns().get(1) + \"=?\";\n        String[] selectionArgs = new String[]{name};\n\n        return delete(selection, selectionArgs) > 0;\n    }\n\n    public boolean clear(){\n        mTable = StudentDB.TABLES.STUDENTINFO;\n\n        return delete(\"1=1\", null)>0;\n    }\n\n    public boolean insertGrade(int Class, int grade){\n        mTable = StudentDB.TABLES.STUDENTGRADE;\n        HashMap<String, String> map = new HashMap<>();\n        map.put(mTable.getTableColumns().get(1), Class+\"\");\n        map.put(mTable.getTableColumns().get(2), grade+\"\");\n        if (insert(map, false) > 0)\n            return true;\n        return false;\n    }\n\n    public ArrayList<StudentInfo> getStudentInfo(String name){\n        mTable = StudentDB.TABLES.STUDENTINFO;\n        String selection = mTable.getTableColumns().get(1)+\"=?\";\n        String[] selectionArgs = new String[]{name};\n        ArrayList<HashMap<String, String>> result = query(selection, selectionArgs, null, null, null, null);\n        ArrayList<StudentInfo> studentInfos = null;\n        if (result != null){\n            studentInfos = new ArrayList<>();\n            for (HashMap<String, String> temp : result){\n                StudentInfo info = new StudentInfo();\n                info.id = Integer.parseInt(temp.get(mTable.getTableColumns().get(0)));\n                info.name = temp.get(mTable.getTableColumns().get(1));\n                info.gender = temp.get(mTable.getTableColumns().get(2));\n                info.weight = Double.parseDouble(temp.get(mTable.getTableColumns().get(3)));\n                studentInfos.add(info);\n            }\n        }\n        return studentInfos;\n    }\n\n    @Override\n    protected void initInsertDB() {\n        mDb = new StudentDB(mTable, true);\n    }\n\n    @Override\n    protected void initDeleteDB() {\n        mDb = new StudentDB(mTable, true);\n    }\n\n    @Override\n    protected void initUpdateDB() {\n        mDb = new StudentDB(mTable, true);\n    }\n\n    @Override\n    protected void initQueryDB() {\n        mDb = new StudentDB(mTable, false);\n    }\n}\n"
  },
  {
    "path": "testsample/src/main/java/com/android/sample/test_dialog/DialogActivity.java",
    "content": "package com.android.sample.test_dialog;\n\nimport android.os.Bundle;\nimport android.view.Gravity;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.Button;\nimport android.widget.EditText;\nimport android.widget.ImageView;\nimport android.widget.TextView;\n\nimport com.android.framework.R;\nimport com.android.libcore.Toast.T;\nimport com.android.libcore.dialog.BaseDialog;\nimport com.android.libcore.utils.CommonUtils;\nimport com.android.libcore_ui.activity.BaseActivity;\nimport com.android.libcore_ui.dialog.AppDialog;\nimport com.android.libcore_ui.dialog.DialogCreator;\nimport com.android.libcore_ui.dialog.LoadingDialog;\n\nimport java.util.ArrayList;\n\n/**\n * Description: 测试dialog\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-17\n */\npublic class DialogActivity extends BaseActivity implements View.OnClickListener{\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        initView();\n        initData();\n    }\n\n    protected void initView() {\n        setContentView(R.layout.activity_test_dialog);\n        $(R.id.btn_test_dialog_1).setOnClickListener(this);\n        $(R.id.btn_test_dialog_2).setOnClickListener(this);\n        $(R.id.btn_test_dialog_3).setOnClickListener(this);\n        $(R.id.btn_test_dialog_5).setOnClickListener(this);\n        $(R.id.btn_test_dialog_gravity).setOnClickListener(this);\n        $(R.id.btn_test_dialog_xy).setOnClickListener(this);\n        $(R.id.btn_test_dialog_width_height).setOnClickListener(this);\n        $(R.id.btn_test_dialog_alpha).setOnClickListener(this);\n        $(R.id.btn_test_loading_dialog).setOnClickListener(this);\n    }\n\n    protected void initData() {\n        addNavigationOnBottom((ViewGroup) $(R.id.ll_content));\n    }\n\n    @Override\n    public void onClick(View v) {\n        AppDialog dialog = null;\n        switch (v.getId()){\n            case R.id.btn_test_dialog_1:\n                dialog = DialogCreator.createDialog(null, \"测试1文字\", \"确定\");\n//                ImageView view = new ImageView(this);\n//                view.setBackgroundResource(R.mipmap.app_icon);\n//                EditText editText = new EditText(this);\n//                Button button = new Button(this);\n//                dialog = DialogCreator.createDialog(view, editText, button);\n                break;\n            case R.id.btn_test_dialog_2:\n                Button button2 = new Button(this);\n                dialog = DialogCreator.createDialog(\"测试1\", \"测试1文字\", button2, \"取消\");\n//                ImageView view = new ImageView(this);\n//                view.setBackgroundResource(R.mipmap.app_icon);\n//                EditText editText = new EditText(this);\n//                Button button = new Button(this);\n//                Button button1 = new Button(this);\n//                dialog = DialogCreator.createDialog(view, editText, button, button1);\n                break;\n            case R.id.btn_test_dialog_3:\n                dialog = DialogCreator.createDialog(\"测试1\", \"测试1文字\", \"确定\", \"取消\", \"中间\");\n                break;\n            case R.id.btn_test_dialog_5:\n                ImageView view = new ImageView(this);\n                view.setBackgroundResource(R.mipmap.app_icon);\n                EditText editText = new EditText(this);\n                TextView button = new TextView(this);\n                button.setText(\"444444444444444444444444\");\n                DialogCreator.OtherButton other4 = new DialogCreator.OtherButton(button, 4);\n                Button button1 = new Button(this);\n                DialogCreator.OtherButton other5 = new DialogCreator.OtherButton(button1, 5);\n//                DialogCreator.OtherButton other4 = new DialogCreator.OtherButton(\"另外的4\", 4);\n//                DialogCreator.OtherButton other5 = new DialogCreator.OtherButton(\"另外的5\", 5);\n                ArrayList<DialogCreator.OtherButton> lists = new ArrayList<>();\n                lists.add(other4);\n                lists.add(other5);\n                dialog = DialogCreator.createDialog(view, editText, \"确定\", \"取消\", \"中间\", lists);\n                break;\n            case R.id.btn_test_dialog_gravity:\n                dialog = DialogCreator.createDialog(\"测试1\", \"测试1文字\", \"确定\", \"取消\", \"中间\");\n                dialog.setGravity(Gravity.TOP|Gravity.LEFT);\n                break;\n            case R.id.btn_test_dialog_xy:\n                dialog = DialogCreator.createDialog(\"测试1\", \"测试1文字\", \"确定\", \"取消\", \"中间\");\n                dialog.setPosition(-100, -300);\n                break;\n            case R.id.btn_test_dialog_width_height:\n                dialog = DialogCreator.createDialog(\"测试1\", \"测试1文字\", \"确定\", \"取消\", \"中间\");\n                dialog.setWidth(CommonUtils.dp2px(100));\n                dialog.setHeight(CommonUtils.dp2px(200));\n                break;\n            case R.id.btn_test_dialog_alpha:\n                dialog = DialogCreator.createDialog(\"测试1\", \"测试1文字\", \"确定\", \"取消\", \"中间\");\n                dialog.setAlpha(0.5f);\n                break;\n            case R.id.btn_test_loading_dialog:\n                LoadingDialog loadingDialog = new LoadingDialog(this);\n                loadingDialog.setLoadingText(\"正在显示loading dialog\");\n                loadingDialog.show();\n                break;\n            default:\n                break;\n        }\n        if (dialog != null) {\n            dialog.setOnButtonClickListener(new BaseDialog.ButtonClickListener() {\n                @Override\n                public void onButtonClick(int button_id) {\n                    T.getInstance().showShort(\"您点击了第\" + button_id + \"个button\");\n                }\n            });\n            dialog.show();\n        }\n    }\n}\n"
  },
  {
    "path": "testsample/src/main/java/com/android/sample/test_download/DownloadActivity.java",
    "content": "package com.android.sample.test_download;\n\nimport android.Manifest;\nimport android.app.AlertDialog;\nimport android.content.DialogInterface;\nimport android.content.pm.PackageManager;\nimport android.os.Bundle;\nimport android.support.v4.app.ActivityCompat;\nimport android.support.v4.content.ContextCompat;\nimport android.view.View;\nimport android.widget.ProgressBar;\nimport android.widget.TextView;\n\nimport com.android.framework.R;\nimport com.android.libcore.download.FileDownloadManager;\nimport com.android.libcore_ui.activity.BaseActivity;\n\n/**\n * Description: 测试断点续传式下载\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-08-06\n */\npublic class DownloadActivity extends BaseActivity implements View.OnClickListener{\n    ProgressBar pb_bar1;\n    TextView tv_progress1;\n    TextView tv_state1;\n    ProgressBar pb_bar2;\n    TextView tv_progress2;\n    TextView tv_state2;\n    FileDownloadManager manager1;\n    FileDownloadManager manager2;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        initView();\n        initData();\n    }\n\n    protected void initView() {\n        setContentView(R.layout.activity_test_download);\n        pb_bar1 = $(R.id.pb_bar1);\n        tv_progress1 = $(R.id.tv_progress1);\n        tv_state1 = $(R.id.tv_state1);\n        pb_bar2 = $(R.id.pb_bar2);\n        tv_progress2 = $(R.id.tv_progress2);\n        tv_state2 = $(R.id.tv_state2);\n        $(R.id.btn_start).setOnClickListener(this);\n        $(R.id.btn_stop).setOnClickListener(this);\n        $(R.id.btn_delete).setOnClickListener(this);\n    }\n\n    protected void initData() {\n        int hasWriteContactsPermission = ContextCompat.checkSelfPermission(getApplication(), Manifest.permission.WRITE_EXTERNAL_STORAGE);\n        if (hasWriteContactsPermission == PackageManager.PERMISSION_GRANTED) {\n            initManager();\n        }\n        //需要弹出dialog让用户手动赋予权限\n        else{\n            ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);\n        }\n\n    }\n\n    @Override\n    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {\n        if (requestCode == 1){\n            if (permissions[0].equals(Manifest.permission.WRITE_EXTERNAL_STORAGE)\n                    &&grantResults[0] == PackageManager.PERMISSION_GRANTED){\n                //用户同意使用write\n                initManager();\n            }else{\n                //用户不同意，向用户展示该权限作用\n                if (!ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)) {\n                    AlertDialog dialog = new AlertDialog.Builder(this)\n                            .setMessage(\"该功能需要赋予访问存储的权限，不开启将无法正常工作！\")\n                            .setPositiveButton(\"确定\", new DialogInterface.OnClickListener() {\n                                @Override\n                                public void onClick(DialogInterface dialog, int which) {\n                                    finish();\n                                }\n                            })\n                            .setNegativeButton(\"取消\", new DialogInterface.OnClickListener() {\n                                @Override\n                                public void onClick(DialogInterface dialog, int which) {\n                                    finish();\n                                }\n                            }).create();\n                    dialog.show();\n                    return;\n                }\n                finish();\n            }\n        }\n    }\n\n    private void initManager(){\n        String url = \"http://gdown.baidu.com/data/wisegame/ce89b7ee349d6918/QQ_270.apk\";\n        manager1 = new FileDownloadManager(url, \"QQ_270.apk\");\n        manager1.setListener(new FileDownloadManager.IDownloadProgressChangedListener() {\n            @Override\n            public void onProgressChanged(long completeSize, long totalSize) {\n                pb_bar1.setProgress((int) ((completeSize * 1.0 / totalSize * 1.0) * 100));\n                tv_progress1.setText(completeSize + \"/\" + totalSize);\n            }\n\n            @Override\n            public void onStateChanged(int state) {\n                switch (state) {\n                    case FileDownloadManager.STATE_GETSIZE:\n                        tv_state1.setText(\"正在获取文件大小\");\n                        break;\n                    case FileDownloadManager.STATE_STARTING:\n                        tv_state1.setText(\"开始下载\");\n                        break;\n                    case FileDownloadManager.STATE_STOPING:\n                        tv_state1.setText(\"正在停止\");\n                        break;\n                    case FileDownloadManager.STATE_STOPED:\n                        tv_state1.setText(\"停止成功\");\n                        break;\n                    case FileDownloadManager.STATE_FINISH:\n                        tv_state1.setText(\"下载完成\");\n                        break;\n                    case FileDownloadManager.STATE_DELETING:\n                        tv_state1.setText(\"正在删除\");\n                        break;\n                    case FileDownloadManager.STATE_DELETE:\n                        tv_state1.setText(\"删除成功\");\n                        break;\n                    case FileDownloadManager.STATE_NET_ERROR:\n                        tv_state1.setText(\"网络错误\");\n                        break;\n                    case FileDownloadManager.STATE_SERVER_ERROR:\n                        tv_state1.setText(\"服务器错误\");\n                        break;\n                }\n            }\n        });\n\n        String urll = \"http://gdown.baidu.com/data/wisegame/a2216288661d09b4/weixin_680.apk\";\n        manager2 = new FileDownloadManager(urll, \"weixin_680.apk\");\n        manager2.setListener(new FileDownloadManager.IDownloadProgressChangedListener() {\n            @Override\n            public void onProgressChanged(long completeSize, long totalSize) {\n                pb_bar2.setProgress((int) ((completeSize * 1.0 / totalSize * 1.0) * 100));\n                tv_progress2.setText(completeSize + \"/\" + totalSize);\n            }\n\n            @Override\n            public void onStateChanged(int state) {\n                switch (state) {\n                    case FileDownloadManager.STATE_GETSIZE:\n                        tv_state2.setText(\"正在获取文件大小\");\n                        break;\n                    case FileDownloadManager.STATE_STARTING:\n                        tv_state2.setText(\"开始下载\");\n                        break;\n                    case FileDownloadManager.STATE_STOPING:\n                        tv_state2.setText(\"正在停止\");\n                        break;\n                    case FileDownloadManager.STATE_STOPED:\n                        tv_state2.setText(\"停止成功\");\n                        break;\n                    case FileDownloadManager.STATE_FINISH:\n                        tv_state2.setText(\"下载完成\");\n                        break;\n                    case FileDownloadManager.STATE_DELETING:\n                        tv_state2.setText(\"正在删除\");\n                        break;\n                    case FileDownloadManager.STATE_DELETE:\n                        tv_state2.setText(\"删除成功\");\n                        break;\n                    case FileDownloadManager.STATE_NET_ERROR:\n                        tv_state2.setText(\"网络错误\");\n                        break;\n                    case FileDownloadManager.STATE_SERVER_ERROR:\n                        tv_state2.setText(\"服务器错误\");\n                        break;\n                }\n            }\n        });\n    }\n\n    @Override\n    public void onClick(View v) {\n        switch (v.getId()){\n            case R.id.btn_start:\n                manager1.start();\n                manager2.start();\n                break;\n            case R.id.btn_stop:\n                manager1.stop();\n                manager2.stop();\n                break;\n            case R.id.btn_delete:\n                manager1.delete();\n                manager2.delete();\n                break;\n        }\n    }\n\n    @Override\n    protected void onDestroy() {\n        if (manager1 != null) {\n            manager1.stop();\n        }\n        if (manager2 != null) {\n            manager2.stop();\n        }\n        super.onDestroy();\n    }\n}\n"
  },
  {
    "path": "testsample/src/main/java/com/android/sample/test_guide/GuideActivity.java",
    "content": "package com.android.sample.test_guide;\n\nimport android.os.Bundle;\nimport android.view.View;\n\nimport com.android.framework.R;\nimport com.android.libcore.guide.GuideManager;\nimport com.android.libcore_ui.activity.BaseActivity;\n\n/**\n * Description: 蒙版测试activity\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-16\n */\npublic class GuideActivity extends BaseActivity implements View.OnClickListener{\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        initView();\n        initData();\n    }\n\n    protected void initView() {\n        setContentView(R.layout.activity_test_guide);\n        $(R.id.btn_test_guide_full_screen).setOnClickListener(this);\n        $(R.id.btn_test_guide_content).setOnClickListener(this);\n    }\n\n    protected void initData() {\n    }\n\n    @Override\n    public void onClick(View v) {\n        switch (v.getId()){\n            case R.id.btn_test_guide_full_screen:\n                GuideManager.getInstance().initMask(R.layout.guide_test_1, R.layout.guide_test_2, R.layout.guide_test_3);\n                GuideManager.getInstance().showMaskFullScreen();\n                break;\n            case R.id.btn_test_guide_content:\n                GuideManager.getInstance().initMask(R.layout.guide_test_2, R.layout.guide_test_1, R.layout.guide_test_3, R.layout.guide_test_2);\n                GuideManager.getInstance().showMaskInContent();\n                break;\n            default:\n                break;\n        }\n    }\n\n    @Override\n    public void onBackPressed() {\n        if (!GuideManager.getInstance().showNextMask())\n            super.onBackPressed();\n    }\n\n    @Override\n    protected void onDestroy() {\n        //记住在页面蒙版使用完成之后，一定要清空蒙版的内容\n        GuideManager.getInstance().clearMask();\n        super.onDestroy();\n    }\n}\n"
  },
  {
    "path": "testsample/src/main/java/com/android/sample/test_imageloader/ImageActivity.java",
    "content": "package com.android.sample.test_imageloader;\n\nimport android.graphics.Bitmap;\nimport android.graphics.drawable.BitmapDrawable;\nimport android.os.Bundle;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.AbsListView;\nimport android.widget.BaseAdapter;\nimport android.widget.GridView;\nimport android.widget.ImageView;\n\nimport com.android.framework.R;\nimport com.android.libcore.net.NetError;\nimport com.android.libcore.net.imageloader.ImageLoader;\nimport com.android.libcore.utils.CommonUtils;\nimport com.android.libcore_ui.activity.BaseActivity;\n\n/**\n * Description: 测试图片加载类\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-10-27\n */\npublic class ImageActivity extends BaseActivity{\n    private GridView gv_content;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        initView();\n        initData();\n    }\n\n    protected void initView() {\n        setContentView(R.layout.activity_test_imageloader);\n        gv_content = $(R.id.gv_content);\n    }\n\n    protected void initData() {\n        gv_content.setAdapter(new GridAdapter());\n    }\n\n    public class GridAdapter extends BaseAdapter{\n\n        @Override\n        public int getCount() {\n            return PicUrl.pics.length;\n        }\n\n        @Override\n        public Object getItem(int position) {\n            return PicUrl.pics[position];\n        }\n\n        @Override\n        public long getItemId(int position) {\n            return position;\n        }\n\n        @Override\n        public View getView(int position, View convertView, ViewGroup parent) {\n            if (convertView == null) {\n                convertView = new ImageView(ImageActivity.this);\n                convertView.setLayoutParams(new AbsListView.LayoutParams(CommonUtils.getScreenWidth()/3, CommonUtils.getScreenWidth()/3));\n            }\n            final ImageView imageView = (ImageView) convertView;\n            imageView.setTag(PicUrl.pics[position]);\n            ImageLoader.getInstance().loadImage(PicUrl.pics[position], CommonUtils.getScreenWidth() / 3, CommonUtils.getScreenWidth() / 3,\n                    new ImageLoader.OnLoadCallBack() {\n                        @Override\n                        public void onLoadSuccess(Bitmap bitmap, String url) {\n                            if (!imageView.getTag().equals(url))\n                                return;\n                            BitmapDrawable bitmapDrawable = new BitmapDrawable(getResources(), bitmap);\n                            imageView.setBackgroundDrawable(bitmapDrawable);\n                        }\n\n                        @Override\n                        public void onLoadFail(NetError error) {\n\n                        }\n                    });\n            return convertView;\n        }\n    }\n}\n"
  },
  {
    "path": "testsample/src/main/java/com/android/sample/test_imageloader/PicUrl.java",
    "content": "package com.android.sample.test_imageloader;\n\n\n/**\n * Description:\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-10-27\n */\npublic class PicUrl {\n    public static final String[] pics = new String[]{\n        \"http://f.hiphotos.baidu.com/image/w%3D310/sign=afd849800fd79123e0e092759d355917/f2deb48f8c5494ee954716912ef5e0fe98257ed4.jpg\",\n        \"http://e.hiphotos.baidu.com/image/w%3D310/sign=8bd367eeabec8a13141a51e1c7029157/242dd42a2834349bdfc42d84cbea15ce37d3bef5.jpg\",\n        \"http://f.hiphotos.baidu.com/image/w%3D310/sign=95e64e85357adab43dd01d42bbd6b36b/54fbb2fb43166d2222b5e839452309f79152d259.jpg\",\n        \"http://f.hiphotos.baidu.com/image/w%3D310/sign=c8b85b742a34349b74066884f9eb1521/00e93901213fb80e9679dbb934d12f2eb9389430.jpg\",\n        \"http://b.hiphotos.baidu.com/image/w%3D310/sign=38f2b6f14dc2d562f208d6ecd71090f3/bd3eb13533fa828b27d48572ff1f4134960a5aaf.jpg\",\n        \"http://g.hiphotos.baidu.com/image/w%3D310/sign=4f681004ba0e7bec23da05e01f2fb9fa/b2de9c82d158ccbf1ae8b1311bd8bc3eb1354160.jpg\",\n        \"http://a.hiphotos.baidu.com/image/w%3D310/sign=f50ed34e38f33a879e6d061bf65c1018/9a504fc2d5628535c5ea825f92ef76c6a7ef6341.jpg\",\n        \"http://g.hiphotos.baidu.com/image/w%3D310/sign=b42a9860dbf9d72a1764161ce42b282a/adaf2edda3cc7cd92376c8863b01213fb80e9112.jpg\",\n        \"http://h.hiphotos.baidu.com/image/w%3D310/sign=de30a8c65066d0167e199829a72ad498/4b90f603738da977def9ad20b251f8198718e3e3.jpg\",\n        \"http://d.hiphotos.baidu.com/image/w%3D310/sign=ec8a7f881c30e924cfa49a307c096e66/7acb0a46f21fbe0980e1a19468600c338644adf7.jpg\",\n        \"http://f.hiphotos.baidu.com/image/w%3D310/sign=b153ef37c8ef76093c0b9f9e1edca301/5d6034a85edf8db176b497ce0a23dd54574e7486.jpg\",\n        \"http://f.hiphotos.baidu.com/image/w%3D310/sign=ea5285efb68f8c54e3d3c32e0a292dee/a686c9177f3e67098c3e06fe39c79f3df8dc55f0.jpg\",\n        \"http://d.hiphotos.baidu.com/image/w%3D310/sign=3c6defc1272dd42a5f0907aa333a5b2f/7dd98d1001e93901ca78379679ec54e736d19624.jpg\",\n        \"http://e.hiphotos.baidu.com/image/w%3D310/sign=e0838768cebf6c81f7372ae98c3eb1d7/a5c27d1ed21b0ef467d4fb5edfc451da81cb3ef5.jpg\",\n        \"http://e.hiphotos.baidu.com/image/w%3D310/sign=3b73df908026cffc692ab9b389014a7d/562c11dfa9ec8a13ef11fee9f503918fa0ecc0b4.jpg\",\n        \"http://c.hiphotos.baidu.com/image/w%3D310/sign=15ddf357b78f8c54e3d3c32e0a282dee/a686c9177f3e670973b1704638c79f3df9dc55d1.jpg\",\n        \"http://e.hiphotos.baidu.com/image/w%3D310/sign=103a9776cebf6c81f7372ae98c3fb1d7/a5c27d1ed21b0ef4976deb40dfc451da81cb3e22.jpg\",\n        \"http://f.hiphotos.baidu.com/image/w%3D310/sign=2f2efebb928fa0ec7fc7620c1695594a/5ab5c9ea15ce36d398c7bfb839f33a87e850b172.jpg\",\n        \"http://f.hiphotos.baidu.com/image/w%3D310/sign=2f2efebb928fa0ec7fc7620c1695594a/5ab5c9ea15ce36d398c7bfb839f33a87e850b172.jpg\",\n        \"http://a.hiphotos.baidu.com/image/w%3D310/sign=05ae394000087bf47dec51e8c2d3575e/8644ebf81a4c510fc1c2e4116259252dd42aa5b2.jpg\",\n        \"http://c.hiphotos.baidu.com/image/w%3D310/sign=66a40396c9ef76093c0b9f9e1edda301/5d6034a85edf8db1a1437b6f0b23dd54564e744f.jpg\",\n        \"http://g.hiphotos.baidu.com/image/w%3D310/sign=305d74bbbb014a90813e40bc99773971/622762d0f703918f8ea6f6c3533d269759eec440.jpg\",\n        \"http://b.hiphotos.baidu.com/image/w%3D310/sign=820b1ef9b54543a9f51bfccd2e178a7b/63d9f2d3572c11df98fe7f2e612762d0f703c294.jpg\",\n        \"http://g.hiphotos.baidu.com/image/w%3D310/sign=c0c2a795c91349547e1eee65664e92dd/4610b912c8fcc3ce5de0d6279045d688d43f2085.jpg\",\n        \"http://g.hiphotos.baidu.com/image/w%3D310/sign=c0c2a795c91349547e1eee65664e92dd/4610b912c8fcc3ce5de0d6279045d688d43f2085.jpg\",\n        \"http://h.hiphotos.baidu.com/image/w%3D310/sign=cfe2eeb0d72a283443a6300a6bb4c92e/8c1001e93901213f17b5b07157e736d12e2e959d.jpg\",\n        \"http://e.hiphotos.baidu.com/image/w%3D310/sign=83d64046ba99a9013b355d372d940a58/f31fbe096b63f624f786a5518544ebf81b4ca38d.jpg\",\n        \"http://a.hiphotos.baidu.com/image/w%3D310/sign=fa333de7f0d3572c66e29addba126352/d8f9d72a6059252d24c8770a369b033b5ab5b9e5.jpg\",\n        \"http://a.hiphotos.baidu.com/image/w%3D310/sign=d2f4fe36dbf9d72a1764161ce42b282a/adaf2edda3cc7cd945a8aed03b01213fb80e9136.jpg\",\n        \"http://h.hiphotos.baidu.com/image/w%3D310/sign=1fcd93c3533d26972ed30e5c65fbb24f/37d3d539b6003af385a67269372ac65c1038b69f.jpg\",\n        \"http://a.hiphotos.baidu.com/image/w%3D310/sign=d2b4661713dfa9ecfd2e501652d1f754/6159252dd42a283414fc320059b5c9ea15cebf66.jpg\",\n        \"http://f.hiphotos.baidu.com/image/w%3D310/sign=85e2ba66a918972ba33a06cbd6cc7b9d/a8773912b31bb051aded355a347adab44bede0f3.jpg\",\n        \"http://g.hiphotos.baidu.com/image/w%3D310/sign=2f904130233fb80e0cd167d606d02ffb/d009b3de9c82d158e2c614b0820a19d8bc3e426e.jpg\",\n        \"http://a.hiphotos.baidu.com/image/w%3D310/sign=d22f61cf718da9774e2f802a8050f872/908fa0ec08fa513dbe28ce223f6d55fbb3fbd948.jpg\",\n        \"http://c.hiphotos.baidu.com/image/w%3D310/sign=79718d3c58afa40f3cc6c8dc9b65038c/060828381f30e924b218a63f4e086e061d95f77b.jpg\",\n        \"http://b.hiphotos.baidu.com/image/w%3D310/sign=27b2c2a1cc1b9d168ac79c60c3dfb4eb/960a304e251f95ca80bcc2c8cb177f3e67095206.jpg\",\n        \"http://b.hiphotos.baidu.com/image/w%3D310/sign=975d03e9ff1f4134e037037f151f95c1/b7fd5266d01609249a5b3c11d60735fae6cd34b9.jpg\",\n        \"http://g.hiphotos.baidu.com/image/w%3D310/sign=e7618c51612762d0803ea2be90ed0849/2934349b033b5bb58767138c34d3d539b600bc0b.jpg\",\n        \"http://f.hiphotos.baidu.com/image/w%3D310/sign=8560a0b94f086e066aa8394a320a7b5a/6a63f6246b600c33babde240194c510fd8f9a175.jpg\",\n        \"http://e.hiphotos.baidu.com/image/w%3D310/sign=63c8ad94ca3d70cf4cfaac0cc8ded1ba/0eb30f2442a7d933d4631bdeae4bd11372f00157.jpg\",\n        \"http://e.hiphotos.baidu.com/image/w%3D310/sign=63c8ad94ca3d70cf4cfaac0cc8ded1ba/0eb30f2442a7d933d4631bdeae4bd11372f00157.jpg\",\n        \"http://c.hiphotos.baidu.com/image/w%3D310/sign=75cda3538735e5dd902ca3de46c6a7f5/32fa828ba61ea8d3c7103705950a304e251f5884.jpg\",\n        \"http://g.hiphotos.baidu.com/image/w%3D310/sign=c5d6b27e7af0f736d8fe4a003a54b382/4d086e061d950a7b6cbacac508d162d9f2d3c920.jpg\",\n        \"http://a.hiphotos.baidu.com/image/w%3D310/sign=75bcf4ff53da81cb4ee685cc6267d0a4/cefc1e178a82b9019242df38718da9773812efca.jpg\",\n        \"http://g.hiphotos.baidu.com/image/w%3D310/sign=270a4298cf11728b302d8a23f8fcc3b3/d01373f082025aaf5205b3c2f9edab64034f1a80.jpg\",\n        \"http://d.hiphotos.baidu.com/image/w%3D310/sign=ad083c40b01c8701d6b6b4e7177e9e6e/21a4462309f790521b59c59a0ff3d7ca7acbd5d4.jpg\",\n        \"http://d.hiphotos.baidu.com/image/w%3D310/sign=3c09ce23cafcc3ceb4c0cf32a245d6b7/a50f4bfbfbedab6478560fc1f536afc379311e8e.jpg\",\n        \"http://a.hiphotos.baidu.com/image/w%3D310/sign=9a76a93d718da9774e2f802a8050f872/908fa0ec08fa513df67106d03f6d55fbb3fbd9e1.jpg\",\n        \"http://a.hiphotos.baidu.com/image/w%3D310/sign=bcd21ad0f21f3a295ac8d3cfa924bce3/6609c93d70cf3bc7afbb76e2d300baa1cd112a00.jpg\",\n        \"http://d.hiphotos.baidu.com/image/w%3D310/sign=14450ab185d6277fe912343918381f63/91529822720e0cf3448ed0f10846f21fbe09aabb.jpg\",\n        \"http://e.hiphotos.baidu.com/image/w%3D310/sign=78a5e174d488d43ff0a997f34d1fd2aa/79f0f736afc379318ef3c028e9c4b74543a91113.jpg\",\n        \"http://g.hiphotos.baidu.com/image/w%3D310/sign=f51ea4d3a964034f0fcdc4079fc27980/b999a9014c086e06a370554500087bf40bd1cbe0.jpg\",\n        \"http://a.hiphotos.baidu.com/image/w%3D310/sign=4cfde504a6c27d1ea5263dc52bd4adaf/78310a55b319ebc42f8721398026cffc1f171696.jpg\",\n        \"http://f.hiphotos.baidu.com/image/w%3D310/sign=7c784e056509c93d07f208f6af3cf8bb/9f510fb30f2442a76c5cf9aed343ad4bd113026e.jpg\",\n        \"http://f.hiphotos.baidu.com/image/w%3D310/sign=7c784e056509c93d07f208f6af3cf8bb/9f510fb30f2442a76c5cf9aed343ad4bd113026e.jpg\",\n        \"http://c.hiphotos.baidu.com/image/w%3D310/sign=adac328cdb33c895a67e9e7ae1127397/8ad4b31c8701a18b255e57549c2f07082838fe70.jpg\",\n        \"http://h.hiphotos.baidu.com/image/w%3D310/sign=d943f5e3ff1f4134e037037f151f95c1/b7fd5266d0160924d445ca1bd60735fae6cd3449.jpg\",\n        \"http://a.hiphotos.baidu.com/image/w%3D310/sign=ad9c7af2a586c91708035438f93d70c6/34fae6cd7b899e5137e5a41e40a7d933c8950d54.jpg\",\n        \"http://c.hiphotos.baidu.com/image/w%3D310/sign=adac328cdb33c895a67e9e7ae1127397/8ad4b31c8701a18b255e57549c2f07082838fe70.jpg\",\n        \"http://e.hiphotos.baidu.com/image/w%3D310/sign=6ca5073f0ef3d7ca0cf63977c21ebe3c/64380cd7912397dd55c3d8055b82b2b7d0a2877d.jpg\",\n        \"http://e.hiphotos.baidu.com/image/w%3D310/sign=f5c1555f0afa513d51aa6adf0d6c554c/14ce36d3d539b6005ebdcf34eb50352ac75cb7c6.jpg\",\n        \"http://e.hiphotos.baidu.com/image/w%3D310/sign=a2434bc9d209b3deebbfe269fcbe6cd3/9345d688d43f879450cfa48fd11b0ef41bd53a5b.jpg\",\n        \"http://e.hiphotos.baidu.com/image/w%3D310/sign=a2434bc9d209b3deebbfe269fcbe6cd3/9345d688d43f879450cfa48fd11b0ef41bd53a5b.jpg\",\n        \"http://h.hiphotos.baidu.com/image/w%3D310/sign=9a9537a3940a304e5222a6fbe1c9a7c3/d1160924ab18972bb38d436de5cd7b899f510ae5.jpg\",\n        \"http://g.hiphotos.baidu.com/image/w%3D310/sign=f770dbf539c79f3d8fe1e2318aa1cdbc/43a7d933c895d14393067a2971f082025aaf0743.jpg\",\n        \"http://h.hiphotos.baidu.com/image/w%3D310/sign=9a9537a3940a304e5222a6fbe1c9a7c3/d1160924ab18972bb38d436de5cd7b899f510ae5.jpg\",\n        \"http://d.hiphotos.baidu.com/image/w%3D310/sign=3269ae8c5a82b2b7a79f3fc501accb0a/3b292df5e0fe99252f1c5fd837a85edf8db17121.jpg\",\n        \"http://a.hiphotos.baidu.com/image/w%3D310/sign=61853410c45c1038247ec8c38210931c/e4dde71190ef76c62f3acf219f16fdfaae5167cb.jpg\",\n        \"http://g.hiphotos.baidu.com/image/w%3D310/sign=db454eb03b01213fcf3348dd64e636f8/9358d109b3de9c82870d83e66e81800a19d8436a.jpg\",\n        \"http://g.hiphotos.baidu.com/image/w%3D310/sign=db454eb03b01213fcf3348dd64e636f8/9358d109b3de9c82870d83e66e81800a19d8436a.jpg\",\n        \"http://d.hiphotos.baidu.com/image/w%3D310/sign=2ca0ecbba2ec08fa260015a669ef3d4d/c8ea15ce36d3d5396da347c73887e950352ab01c.jpg\",\n        \"http://d.hiphotos.baidu.com/image/w%3D310/sign=2ca0ecbba2ec08fa260015a669ef3d4d/c8ea15ce36d3d5396da347c73887e950352ab01c.jpg\",\n        \"http://d.hiphotos.baidu.com/image/w%3D310/sign=2ca0ecbba2ec08fa260015a669ef3d4d/c8ea15ce36d3d5396da347c73887e950352ab01c.jpg\",\n        \"http://b.hiphotos.baidu.com/image/w%3D310/sign=4472fc4b40166d223877139576220945/342ac65c10385343ea7bfca19013b07ecb8088fd.jpg\",\n        \"http://d.hiphotos.baidu.com/image/w%3D310/sign=34c2f0fd7b310a55c424d8f587444387/0b7b02087bf40ad1a12daded552c11dfa8eccef7.jpg\",\n        \"http://h.hiphotos.baidu.com/image/w%3D310/sign=94425db3d70735fa91f048b8ae500f9f/b21bb051f81986180920102c49ed2e738bd4e637.jpg\",\n        \"http://a.hiphotos.baidu.com/image/w%3D310/sign=2d8b479e932397ddd6799e056983b216/b58f8c5494eef01f729a66bce2fe9925bc317d38.jpg\",\n        \"http://a.hiphotos.baidu.com/image/w%3D310/sign=52007e35dbf9d72a1764161ce42a282a/adaf2edda3cc7cd9c55c2ed33b01213fb80e9142.jpg\",\n        \"http://a.hiphotos.baidu.com/image/w%3D310/sign=8b9ef0a48e5494ee872209181df5e0e1/c8177f3e6709c93d088f7fec9d3df8dcd10054af.jpg\",\n        \"http://b.hiphotos.baidu.com/image/w%3D310/sign=f7c7bd669352982205333fc2e7cb7b3b/9213b07eca806538bd3325b294dda144ac3482b2.jpg\",\n        \"http://e.hiphotos.baidu.com/image/w%3D310/sign=9a644b25087b02080cc939e052d8f25f/0d338744ebf81a4ca56d8f49d52a6059242da6d7.jpg\",\n        \"http://f.hiphotos.baidu.com/image/w%3D310/sign=641a8264544e9258a63480efac82d1d1/c2fdfc039245d688b906d8a4a6c27d1ed21b24ad.jpg\",\n        \"http://h.hiphotos.baidu.com/image/w%3D310/sign=b6e1e1bc808ba61edfeece2e713597cc/50da81cb39dbb6fd55b202500b24ab18962b37de.jpg\",\n        \"http://e.hiphotos.baidu.com/image/w%3D310/sign=93207a1540a7d933bfa8e2729d4ad194/2f738bd4b31c87013d18f2e7257f9e2f0708ff01.jpg\",\n        \"http://a.hiphotos.baidu.com/image/w%3D310/sign=b881d5b88418367aad8979dc1e728b68/3c6d55fbb2fb431665f262eb22a4462308f7d3b5.jpg\",\n        \"http://c.hiphotos.baidu.com/image/w%3D310/sign=e4ec32eaff1f4134e037037f151e95c1/b7fd5266d0160924e9ea0d12d60735fae7cd34ef.jpg\",\n        \"http://d.hiphotos.baidu.com/image/w%3D310/sign=ccb9f41272cf3bc7e800cbede101babd/0e2442a7d933c8957af39064d31373f08202001b.jpg\",\n        // Light images\n        \"http://tabletpcssource.com/wp-content/uploads/2011/05/android-logo.png\",\n        \"http://simpozia.com/pages/images/stories/windows-icon.png\",\n        \"http://radiotray.sourceforge.net/radio.png\",\n        \"http://www.bandwidthblog.com/wp-content/uploads/2011/11/twitter-logo.png\",\n        \"http://weloveicons.s3.amazonaws.com/icons/100907_itunes1.png\",\n        \"http://weloveicons.s3.amazonaws.com/icons/100929_applications.png\",\n        \"http://www.idyllicmusic.com/index_files/get_apple-iphone.png\",\n        \"http://www.frenchrevolutionfood.com/wp-content/uploads/2009/04/Twitter-Bird.png\",\n        \"http://3.bp.blogspot.com/-ka5MiRGJ_S4/TdD9OoF6bmI/AAAAAAAAE8k/7ydKtptUtSg/s1600/Google_Sky%2BMaps_Android.png\",\n        \"http://www.desiredsoft.com/images/icon_webhosting.png\",\n        \"http://goodereader.com/apps/wp-content/uploads/downloads/thumbnails/2012/01/hi-256-0-99dda8c730196ab93c67f0659d5b8489abdeb977.png\",\n        \"http://1.bp.blogspot.com/-mlaJ4p_3rBU/TdD9OWxN8II/AAAAAAAAE8U/xyynWwr3_4Q/s1600/antivitus_free.png\",\n        \"http://cdn3.iconfinder.com/data/icons/transformers/computer.png\",\n        \"http://cdn.geekwire.com/wp-content/uploads/2011/04/firefox.png?7794fe\",\n        \"https://ssl.gstatic.com/android/market/com.rovio.angrybirdsseasons/hi-256-9-347dae230614238a639d21508ae492302340b2ba\",\n        \"http://androidblaze.com/wp-content/uploads/2011/12/tablet-pc-256x256.jpg\",\n        \"http://www.theblaze.com/wp-content/uploads/2011/08/Apple.png\",\n        \"http://1.bp.blogspot.com/-y-HQwQ4Kuu0/TdD9_iKIY7I/AAAAAAAAE88/3G4xiclDZD0/s1600/Twitter_Android.png\",\n        \"http://3.bp.blogspot.com/-nAf4IMJGpc8/TdD9OGNUHHI/AAAAAAAAE8E/VM9yU_lIgZ4/s1600/Adobe%2BReader_Android.png\",\n        \"http://cdn.geekwire.com/wp-content/uploads/2011/05/oovoo-android.png?7794fe\",\n        \"http://icons.iconarchive.com/icons/kocco/ndroid/128/android-market-2-icon.png\",\n        \"http://thecustomizewindows.com/wp-content/uploads/2011/11/Nicest-Android-Live-Wallpapers.png\",\n        \"http://c.wrzuta.pl/wm16596/a32f1a47002ab3a949afeb4f\",\n        \"http://macprovid.vo.llnwd.net/o43/hub/media/1090/6882/01_headline_Muse.jpg\"\n    };\n}\n"
  },
  {
    "path": "testsample/src/main/java/com/android/sample/test_netapi/NetActivity.java",
    "content": "package com.android.sample.test_netapi;\n\nimport android.os.Bundle;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.ImageView;\nimport android.widget.TextView;\n\nimport com.android.framework.R;\nimport com.android.libcore.net.imageloader.ImageLoader;\nimport com.android.libcore.net.netapi.BaseNetApi;\nimport com.android.libcore.net.NetError;\nimport com.android.libcore_ui.activity.BaseActivity;\nimport com.android.libcore_ui.dialog.LoadingDialog;\nimport com.android.libcore_ui.net.NetApi;\n\nimport org.json.JSONObject;\nimport org.xmlpull.v1.XmlPullParser;\n\nimport java.util.HashMap;\n\n/**\n * Description: 测试网络请求\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-09-16\n */\npublic class NetActivity extends BaseActivity implements View.OnClickListener{\n\n    private TextView tv_result;\n    private ImageView iv_content;\n    private LoadingDialog ld;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        initView();\n        initData();\n    }\n\n    protected void initView() {\n        setContentView(R.layout.activity_test_net);\n        addNavigationOnBottom((ViewGroup) $(R.id.ll_content));\n        tv_result = $(R.id.tv_result);\n        iv_content = $(R.id.iv_content);\n\n        $(R.id.btn_string).setOnClickListener(this);\n        $(R.id.btn_jsonObject).setOnClickListener(this);\n        $(R.id.btn_jsonArray).setOnClickListener(this);\n        $(R.id.btn_xml).setOnClickListener(this);\n        $(R.id.btn_image).setOnClickListener(this);\n\n        ld = new LoadingDialog(this);\n    }\n\n    protected void initData() {\n\n    }\n\n    @Override\n    public void onClick(View v) {\n        ld.show();\n        switch (v.getId()){\n            case R.id.btn_string:\n                NetApi.getInstance().stringRequest(this, \"https://www.baidu.com\", new HashMap<String, String>(),\n                        new BaseNetApi.OnNetCallback<String>() {\n                    @Override\n                    public void onSuccess(String result) {\n                        ld.dismiss();\n                        tv_result.setText(result);\n                    }\n\n                    @Override\n                    public void onFail(NetError error) {\n                        ld.dismiss();\n                        tv_result.setText(error.errorMessage);\n                    }\n                });\n                break;\n            case R.id.btn_jsonObject:\n                NetApi.getInstance().jsonObjectRequest(this, \"http://www.weather.com.cn/data/sk/101280601.html\", new HashMap<String, String>(),\n                        new BaseNetApi.OnNetCallback<JSONObject>() {\n                    @Override\n                    public void onSuccess(JSONObject result) {\n                        ld.dismiss();\n                        tv_result.setText(result.toString());\n                    }\n\n                    @Override\n                    public void onFail(NetError error) {\n                        ld.dismiss();\n                        tv_result.setText(error.errorMessage);\n                    }\n                });\n                break;\n            case R.id.btn_jsonArray:\n                ld.dismiss();\n                break;\n            case R.id.btn_xml:\n                NetApi.getInstance().xmlRequest(this, \"https://www.baidu.com/\", new HashMap<String, String>(),\n                        new BaseNetApi.OnNetCallback<XmlPullParser>() {\n                    @Override\n                    public void onSuccess(XmlPullParser result) {\n                        ld.dismiss();\n                        tv_result.setText(result.toString());\n                    }\n\n                    @Override\n                    public void onFail(NetError error) {\n                        ld.dismiss();\n                        tv_result.setText(error.errorMessage);\n                    }\n                });\n                break;\n            case R.id.btn_image:\n                ld.dismiss();\n//                ImageLoader.getInstance().loadImage(\"http://www.baidu.com/img/bdlogo.png\", iv_content);\n//                ImageLoader.getInstance().loadImage(\"http://www.baidu.com/img/bdlogo.png\", new ImageLoader.OnLoadCallBack() {\n//                    @Override\n//                    public void onLoadSuccess(Bitmap bitmap, String url) {\n//                        iv_content.setImageBitmap(bitmap);\n//                    }\n//\n//                    @Override\n//                    public void onLoadFail(NetError error) {\n//\n//                    }\n//                });\n//                ImageLoader.getInstance().loadImage(\"http://www.baidu.com/img/bdlogo.png\",\n//                        iv_content.getMeasuredWidth(), iv_content.getMeasuredHeight(), new ImageLoader.OnLoadCallBack() {\n//                            @Override\n//                            public void onLoadSuccess(Bitmap bitmap, String url) {\n//                                iv_content.setImageBitmap(bitmap);\n//                            }\n//\n//                            @Override\n//                            public void onLoadFail(NetError error) {\n//\n//                            }\n//                        });\n                ImageLoader.getInstance().loadImage(\"http://www.baidu.com/img/bdlogo.png\", iv_content.getMeasuredWidth(), iv_content.getMeasuredHeight(), iv_content,\n                        R.mipmap.ic_refresh, R.mipmap.ic_refresh_close);\n                break;\n        }\n    }\n}\n"
  },
  {
    "path": "testsample/src/main/java/com/android/sample/test_utils/CommonActivity.java",
    "content": "package com.android.sample.test_utils;\n\nimport android.os.Bundle;\nimport android.widget.TextView;\n\nimport com.android.framework.R;\nimport com.android.libcore.utils.CommonUtils;\nimport com.android.libcore_ui.activity.BaseActivity;\n\n/**\n * Description: 测试{@link com.android.libcore.utils.CommonUtils}类\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-09-04\n */\npublic class CommonActivity extends BaseActivity{\n    TextView getScreenWidth;\n    TextView getScreenHeight;\n    TextView isNetworkWifi;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        initView();\n        initData();\n    }\n\n    protected void initView() {\n        setContentView(R.layout.activity_test_common);\n        getScreenWidth = $(R.id.getScreenWidth);\n        getScreenHeight = $(R.id.getScreenHeight);\n        isNetworkWifi = $(R.id.isNetworkWifi);\n        getScreenWidth.setText(CommonUtils.getScreenWidth()+\"\");\n        getScreenHeight.setText(CommonUtils.getScreenHeight()+\"\");\n        isNetworkWifi.setText(CommonUtils.isNetworkWifi()+\"\");\n    }\n\n    protected void initData() {\n\n    }\n}\n"
  },
  {
    "path": "testsample/src/main/java/com/android/sample/test_utils/FileActivity.java",
    "content": "package com.android.sample.test_utils;\n\nimport android.os.Bundle;\nimport android.view.View;\n\nimport com.android.framework.R;\nimport com.android.libcore.Toast.T;\nimport com.android.libcore.log.L;\nimport com.android.libcore.utils.FileUtils;\nimport com.android.libcore_ui.activity.BaseActivity;\n\n/**\n * Description: 测试FileUtils\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-31\n */\npublic class FileActivity extends BaseActivity implements View.OnClickListener{\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        initView();\n        initData();\n    }\n\n    protected void initView() {\n        setContentView(R.layout.activity_test_file);\n        $(R.id.btn_test_file).setOnClickListener(this);\n    }\n\n    protected void initData() {\n\n    }\n\n    @Override\n    public void onClick(View v) {\n        T.getInstance().showShort(\"请查看framework目录\");\n        FileUtils.createFileInTempDirectory(\"temp.temp\");\n        FileUtils.createFileInImageDirectory(\"a.png\");\n        FileUtils.createFileInVideoDirectory(\"a.mp4\");\n        FileUtils.createFileInVoiceDirectory(\"a.mp3\");\n        FileUtils.createFileInHtmlDirectory(\"a.html\");\n        L.e(\"size\" + FileUtils.getFileOrDirectorySize(FileUtils.getExternalStoragePath()));\n    }\n}\n"
  },
  {
    "path": "testsample/src/main/java/com/android/sample/test_utils/ImageActivity.java",
    "content": "package com.android.sample.test_utils;\n\nimport android.graphics.Bitmap;\nimport android.graphics.BitmapFactory;\nimport android.os.Bundle;\nimport android.support.v4.app.FragmentManager;\nimport android.support.v4.app.FragmentTransaction;\nimport android.view.View;\nimport android.webkit.WebView;\nimport android.widget.ImageView;\nimport android.widget.TextView;\n\nimport com.android.framework.R;\nimport com.android.libcore.Toast.T;\nimport com.android.libcore.utils.FileUtils;\nimport com.android.libcore.utils.ImageUtils;\nimport com.android.libcore_ui.activity.BaseActivity;\nimport com.android.libcore_ui.dialog.LoadingDialog;\nimport com.android.libcore_ui.web.WebFragment;\nimport com.android.sample.test_webview.TestWebFragment;\n\n/**\n * Description: 测试{@link com.android.libcore.utils.ImageUtils}类\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-09-04\n */\npublic class ImageActivity extends BaseActivity implements View.OnClickListener{\n    private WebView webView;\n\n    private ImageView centerSquareScaleBitmap;\n    private ImageView toRoundCorner;\n    private ImageView compressBitmap;\n    private ImageView resizeBitmap;\n    private TextView getPictureDegree;\n    private ImageView rotateBitmap;\n    private Bitmap bitmap;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        initView();\n        initData();\n    }\n\n    protected void initView() {\n        setContentView(R.layout.activity_test_image);\n        centerSquareScaleBitmap = $(R.id.centerSquareScaleBitmap);\n        toRoundCorner = $(R.id.toRoundCorner);\n        compressBitmap = $(R.id.compressBitmap);\n        resizeBitmap = $(R.id.resizeBitmap);\n        getPictureDegree = (TextView) findViewById(R.id.getPictureDegree);\n        rotateBitmap = $(R.id.rotateBitmap);\n\n        final TestWebFragment webFragment = new TestWebFragment();\n        webFragment.setCallback(new WebFragment.WebCallback() {\n            @Override\n            public void onPageFinished(String url) {\n                T.getInstance().showShort(\"加载完成\");\n                webView = webFragment.mWebView;\n            }\n        });\n        FragmentManager fm = getSupportFragmentManager();\n        FragmentTransaction ft = fm.beginTransaction();\n        ft.add(R.id.fl_content, webFragment);\n        ft.commit();\n        Bundle bundle = new Bundle();\n        bundle.putString(WebFragment.EXTRA_URL, \"http://www.sohu.com\");\n        webFragment.setArguments(bundle);\n\n        findViewById(R.id.btn_test_screenshot).setOnClickListener(this);\n        findViewById(R.id.btn_test_webview).setOnClickListener(this);\n    }\n\n    protected void initData() {\n        bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.test_image);\n        centerSquareScaleBitmap.setImageBitmap(ImageUtils.centerSquareScaleBitmap(bitmap,\n                bitmap.getWidth()>bitmap.getHeight()?bitmap.getHeight():bitmap.getWidth()));\n        toRoundCorner.setImageBitmap(ImageUtils.toRoundCorner(bitmap, 120));\n        compressBitmap.setImageBitmap(ImageUtils.compressBitmap(FileUtils.getExternalStoragePath() + \"IMAG0020.jpg\", 500, 500));\n        resizeBitmap.setImageBitmap(ImageUtils.resizeBitmap(bitmap, 150, 300));\n        getPictureDegree.setText(ImageUtils.getPictureDegree(FileUtils.getExternalStoragePath() + \"IMAG0020.jpg\") + \"\");\n        rotateBitmap.setImageBitmap(ImageUtils.rotateBitmap(bitmap, 90));\n    }\n\n    @Override\n    public void onClick(View v) {\n        final LoadingDialog ld = new LoadingDialog(this);\n        ld.setLoadingText(\"正在保存图片\");\n        ld.show();\n        if (v.getId() == R.id.btn_test_screenshot){\n            ImageUtils.saveBitmap(ImageUtils.screenShot(this), FileUtils.getExternalStoragePath() + \"screenshot.png\", new Runnable() {\n                @Override\n                public void run() {\n                    runOnUiThread(new Runnable() {\n                        @Override\n                        public void run() {\n                            T.getInstance().showLong(\"图片位于\" + FileUtils.getExternalStoragePath() + \"screenshot.png\");\n                            ld.dismiss();\n                        }\n                    });\n                }\n            });\n        }else if (v.getId() == R.id.btn_test_webview){\n            ImageUtils.saveBitmap(ImageUtils.viewShot(webView), FileUtils.getExternalStoragePath() + \"webview.png\", new Runnable() {\n                @Override\n                public void run() {\n                    runOnUiThread(new Runnable() {\n                        @Override\n                        public void run() {\n                            T.getInstance().showLong(\"图片位于\" + FileUtils.getExternalStoragePath() + \"webview.png\");\n                            ld.dismiss();\n                        }\n                    });\n                }\n            });\n        }\n    }\n}\n"
  },
  {
    "path": "testsample/src/main/java/com/android/sample/test_utils/UtilsActivity.java",
    "content": "package com.android.sample.test_utils;\n\nimport android.content.Intent;\nimport android.os.Bundle;\nimport android.view.View;\n\nimport com.android.framework.R;\nimport com.android.libcore_ui.activity.BaseActivity;\n\n/**\n * Description: utils测试类\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-31\n */\npublic class UtilsActivity extends BaseActivity implements View.OnClickListener{\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        initView();\n        initData();\n    }\n\n    protected void initView() {\n        setContentView(R.layout.activity_test_utils);\n        $(R.id.btn_test_file).setOnClickListener(this);\n        $(R.id.btn_test_image).setOnClickListener(this);\n        $(R.id.btn_test_common).setOnClickListener(this);\n    }\n\n    protected void initData() {\n\n    }\n\n    @Override\n    public void onClick(View v) {\n        switch (v.getId()){\n            case R.id.btn_test_file:\n                startActivity(new Intent(this, FileActivity.class));\n                break;\n            case R.id.btn_test_image:\n                startActivity(new Intent(this, ImageActivity.class));\n                break;\n            case R.id.btn_test_common:\n                startActivity(new Intent(this, CommonActivity.class));\n                break;\n        }\n    }\n}\n"
  },
  {
    "path": "testsample/src/main/java/com/android/sample/test_volley/VolleyActivity.java",
    "content": "package com.android.sample.test_volley;\n\nimport android.os.Bundle;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.ImageView;\nimport android.widget.TextView;\n\nimport com.android.framework.R;\nimport com.android.libcore_ui.activity.BaseActivity;\nimport com.android.libcore_ui.dialog.LoadingDialog;\nimport com.android.libcore_ui.volley.VolleyApi;\nimport com.android.libcore_ui.volley.request.XMLRequest;\nimport com.android.volley.AuthFailureError;\nimport com.android.volley.Request;\nimport com.android.volley.Response;\nimport com.android.volley.VolleyError;\nimport com.android.volley.toolbox.ImageLoader;\nimport com.android.volley.toolbox.JsonObjectRequest;\nimport com.android.volley.toolbox.StringRequest;\n\nimport org.json.JSONObject;\nimport org.xmlpull.v1.XmlPullParser;\n\nimport java.util.HashMap;\nimport java.util.Map;\n\n/**\n * Description: 测试封装volley请求\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-10-20\n */\npublic class VolleyActivity extends BaseActivity implements View.OnClickListener{\n    private TextView tv_result;\n    private ImageView iv_content;\n    private LoadingDialog ld;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        initView();\n        initData();\n    }\n\n    protected void initView() {\n        setContentView(R.layout.activity_test_net);\n        addNavigationOnBottom((ViewGroup) $(R.id.ll_content));\n        tv_result = $(R.id.tv_result);\n        iv_content = $(R.id.iv_content);\n\n        $(R.id.btn_string).setOnClickListener(this);\n        $(R.id.btn_jsonObject).setOnClickListener(this);\n        $(R.id.btn_jsonArray).setOnClickListener(this);\n        $(R.id.btn_xml).setOnClickListener(this);\n        $(R.id.btn_image).setOnClickListener(this);\n\n        ld = new LoadingDialog(this);\n    }\n\n    protected void initData() {\n\n    }\n\n    @Override\n    public void onClick(View v) {\n        ld.show();\n        switch (v.getId()){\n            case R.id.btn_string:\n                StringRequest stringRequest = new StringRequest(Request.Method.POST, \"https://www.baidu.com\", new Response.Listener<String>() {\n                    @Override\n                    public void onResponse(String response) {\n                        ld.dismiss();\n                        tv_result.setText(response);\n                    }\n                }, new Response.ErrorListener() {\n                    @Override\n                    public void onErrorResponse(VolleyError error) {\n                        ld.dismiss();\n                        tv_result.setText(error.getMessage());\n                    }\n                }){\n                    @Override\n                    protected Map<String, String> getParams() throws AuthFailureError {\n                        return new HashMap<>();\n                    }\n                };\n                VolleyApi.getRequestQueue().add(stringRequest);\n                break;\n            case R.id.btn_jsonObject:\n                JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, \"https://www.baidu.com\", new Response.Listener<JSONObject>() {\n                    @Override\n                    public void onResponse(JSONObject response) {\n                        ld.dismiss();\n                        tv_result.setText(response.toString());\n                    }\n                }, new Response.ErrorListener() {\n                    @Override\n                    public void onErrorResponse(VolleyError error) {\n                        ld.dismiss();\n                        tv_result.setText(error.getMessage());\n                    }\n                }){\n                    @Override\n                    protected Map<String, String> getParams() throws AuthFailureError {\n                        return new HashMap<>();\n                    }\n                };\n                VolleyApi.getRequestQueue().add(jsonObjectRequest);\n                break;\n            case R.id.btn_jsonArray:\n                ld.dismiss();\n                break;\n            case R.id.btn_xml:\n                XMLRequest xmlRequest = new XMLRequest(Request.Method.POST, \"https://www.baidu.com/\", new Response.Listener<XmlPullParser>() {\n                    @Override\n                    public void onResponse(XmlPullParser response) {\n                        ld.dismiss();\n                        tv_result.setText(response.toString());\n                    }\n                }, new Response.ErrorListener() {\n                    @Override\n                    public void onErrorResponse(VolleyError error) {\n                        ld.dismiss();\n                        tv_result.setText(error.getMessage());\n                    }\n                });\n                VolleyApi.getRequestQueue().add(xmlRequest);\n                break;\n            case R.id.btn_image:\n                ld.dismiss();\n                ImageLoader.ImageListener listener = ImageLoader.getImageListener(iv_content,\n                        R.mipmap.ic_refresh, R.mipmap.ic_refresh_close);\n                VolleyApi.getImageLoader().get(\"http://www.baidu.com/img/bdlogo.png\", listener);\n//                VolleyApi.getImageLoader().get(\"http://www.baidu.com/img/bdlogo.png\", new ImageLoader.ImageListener() {\n//                    @Override\n//                    public void onResponse(ImageLoader.ImageContainer response, boolean isImmediate) {\n//                        iv_content.setImageBitmap(response.getBitmap());\n//                    }\n//\n//                    @Override\n//                    public void onErrorResponse(VolleyError error) {\n//                        ld.dismiss();\n//                        tv_result.setText(error.toString());\n//                    }\n//                });\n                break;\n        }\n    }\n}\n"
  },
  {
    "path": "testsample/src/main/java/com/android/sample/test_webview/TestWebFragment.java",
    "content": "package com.android.sample.test_webview;\n\nimport android.webkit.WebView;\n\nimport com.android.libcore_ui.web.WebFragment;\n\n/**\n * Description:\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-09-08\n */\npublic class TestWebFragment extends WebFragment{\n    public WebView mWebView;\n\n    @Override\n    protected void initView() {\n        super.initView();\n        mWebView = webView;\n    }\n}\n"
  },
  {
    "path": "testsample/src/main/java/com/android/sample/test_webview/WebViewActivity.java",
    "content": "package com.android.sample.test_webview;\n\nimport android.content.Intent;\nimport android.os.Build;\nimport android.os.Bundle;\nimport android.support.v4.app.FragmentManager;\nimport android.support.v4.app.FragmentTransaction;\nimport android.view.View;\nimport android.webkit.WebView;\n\nimport com.android.framework.R;\nimport com.android.libcore.Toast.T;\nimport com.android.libcore.utils.FileUtils;\nimport com.android.libcore.utils.ImageUtils;\nimport com.android.libcore_ui.activity.BaseActivity;\nimport com.android.libcore_ui.web.WebFragment;\nimport com.android.libcore_ui.web.webactivity.WebActivity;\n\n/**\n * Description: 测试WebView\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-27\n */\npublic class WebViewActivity extends BaseActivity implements View.OnClickListener{\n    private WebView webView;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        initView();\n        initData();\n    }\n\n    protected void initView() {\n        //http://stackoverflow.com/questions/30078157/webview-draw-not-properly-working-on-latest-android-system-webview-update\n        if (Build.VERSION.SDK_INT >= 21)\n            WebView.enableSlowWholeDocumentDraw();\n        setContentView(R.layout.activity_test_webview);\n        $(R.id.btn_webview).setOnClickListener(this);\n        $(R.id.btn_screenshot).setOnClickListener(this);\n    }\n\n    protected void initData() {\n        final TestWebFragment webFragment = new TestWebFragment();\n        webFragment.setCallback(new WebFragment.WebCallback() {\n            @Override\n            public void onPageFinished(String url) {\n                T.getInstance().showShort(\"加载完成\");\n                webView = webFragment.mWebView;\n            }\n        });\n        FragmentManager fm = getSupportFragmentManager();\n        FragmentTransaction ft = fm.beginTransaction();\n        ft.add(R.id.fl_webfragment, webFragment);\n        ft.commit();\n        Bundle bundle = new Bundle();\n        bundle.putString(WebFragment.EXTRA_URL, \"http://www.bilibili.com\");\n        webFragment.setArguments(bundle);\n    }\n\n    @Override\n    public void onClick(View v) {\n        if (v.getId() == R.id.btn_webview) {\n            Intent intent = new Intent(this, WebActivity.class);\n            intent.putExtra(WebActivity.EXTRA_URL, \"https://www.baidu.com\");\n            //加载assets文件\n//        intent.putExtra(WebActivity.EXTRA_URL, \"file:///android_asset/1.html\");\n//        intent.putExtra(WebActivity.EXTRA_URL, \"file:///android_asset/baidu.html\");\n            //加载SD卡文件\n//        intent.putExtra(WebActivity.EXTRA_URL, \"file:///sdcard/FrameWork/html/baidu.html\");\n            startActivity(intent);\n        }else{\n            ImageUtils.saveBitmap(ImageUtils.viewShot(webView), FileUtils.getExternalStorageImagePath()+\"bitmap.png\", new Runnable() {\n                @Override\n                public void run() {\n                    runOnUiThread(new Runnable() {\n                        @Override\n                        public void run() {\n                            T.getInstance().showShort(\"图片位于\" + FileUtils.getExternalStorageImagePath() + \"bitmap.png\");\n                        }\n                    });\n                }\n            });\n        }\n    }\n}\n"
  },
  {
    "path": "testsample/src/main/java/com/android/sample/test_widget/FlowLayoutActivity.java",
    "content": "package com.android.sample.test_widget;\n\nimport android.os.Bundle;\nimport android.support.v4.content.ContextCompat;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.TextView;\n\nimport com.android.framework.R;\nimport com.android.libcore.utils.CommonUtils;\nimport com.android.libcore_ui.activity.BaseActivity;\nimport com.android.libcore_ui.widget.FlowLayout;\n\n/**\n * Description:\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-11-14\n */\npublic class FlowLayoutActivity extends BaseActivity{\n    int orientation = FlowLayout.HORIZONTAL;\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_test_flow);\n        findViewById(R.id.btn_change_orientation).setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View v) {\n                orientation = 1 - orientation;\n                if (orientation == FlowLayout.HORIZONTAL) {\n                    findViewById(R.id.sv_content).setVisibility(View.VISIBLE);\n                    findViewById(R.id.hsv_content).setVisibility(View.GONE);\n                } else {\n                    findViewById(R.id.sv_content).setVisibility(View.GONE);\n                    findViewById(R.id.hsv_content).setVisibility(View.VISIBLE);\n                }\n            }\n        });\n        for (int i=0; i<500; i++){\n            TextView view = new TextView(this);\n            view.setTextColor(ContextCompat.getColor(this, R.color.black));\n            view.setTextSize(20);\n            if (i%2==0){\n                view.setBackgroundColor(ContextCompat.getColor(this, R.color.darkorchid));\n            }else{\n                view.setBackgroundColor(ContextCompat.getColor(this, R.color.palegreen));\n            }\n            int width = (int) (CommonUtils.dp2px(30) + Math.random()*300);\n            int height = (int) (CommonUtils.dp2px(30) + Math.random()*300);\n            view.setText(CommonUtils.px2dp(width) + \"dp+\"+CommonUtils.px2dp(height)+\"dp\");\n            ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(width, height);\n            view.setLayoutParams(lp);\n            ((FlowLayout) findViewById(R.id.fl_horizontal)).addView(view);\n        }\n        for (int i=0; i<500; i++){\n            TextView view = new TextView(this);\n            view.setTextColor(ContextCompat.getColor(this, R.color.black));\n            view.setTextSize(20);\n            if (i%2==0){\n                view.setBackgroundColor(ContextCompat.getColor(this, R.color.darkorchid));\n            }else{\n                view.setBackgroundColor(ContextCompat.getColor(this, R.color.palegreen));\n            }\n            int width = (int) (CommonUtils.dp2px(30) + Math.random()*300);\n            int height = (int) (CommonUtils.dp2px(30) + Math.random()*300);\n            view.setText(CommonUtils.px2dp(width) + \"dp+\"+CommonUtils.px2dp(height)+\"dp\");\n            ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(width, height);\n            view.setLayoutParams(lp);\n            ((FlowLayout) findViewById(R.id.fl_vertical)).addView(view);\n        }\n    }\n}\n"
  },
  {
    "path": "testsample/src/main/java/com/android/sample/test_widget/GridLayoutActivity.java",
    "content": "package com.android.sample.test_widget;\n\nimport android.os.Bundle;\nimport android.view.Gravity;\nimport android.view.ViewGroup;\nimport android.widget.TextView;\n\nimport com.android.framework.R;\nimport com.android.libcore.utils.CommonUtils;\nimport com.android.libcore_ui.activity.BaseActivity;\nimport com.android.libcore_ui.widget.SimpleGridLayout;\n\n/**\n * Description:\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-11-14\n */\npublic class GridLayoutActivity extends BaseActivity{\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_test_grid);\n        SimpleGridLayout gll_content = (SimpleGridLayout) findViewById(R.id.gll_content);\n        ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(CommonUtils.dp2px(100), CommonUtils.dp2px(100));\n\n        for (int i=2; i<20; i++){\n            TextView textView = new TextView(this);\n            textView.setLayoutParams(lp);\n            textView.setText(i + \"\");\n            textView.setTextSize(20);\n            textView.setGravity(Gravity.CENTER);\n            gll_content.addView(textView);\n        }\n    }\n}\n"
  },
  {
    "path": "testsample/src/main/java/com/android/sample/test_widget/WidgetActivity.java",
    "content": "package com.android.sample.test_widget;\n\nimport android.content.Intent;\nimport android.os.Bundle;\nimport android.view.View;\n\nimport com.android.framework.R;\nimport com.android.libcore_ui.activity.BaseActivity;\n\n/**\n * Description: 测试导入控件的activity\n *\n * @author zzp(zhao_zepeng@hotmail.com)\n * @since 2015-07-20\n */\npublic class WidgetActivity extends BaseActivity implements View.OnClickListener{\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_test_widget);\n        findViewById(R.id.btn_test_gridlayout).setOnClickListener(this);\n        findViewById(R.id.btn_test_flowlayout).setOnClickListener(this);\n    }\n\n    @Override\n    public void onClick(View v) {\n        if (v.getId() == R.id.btn_test_gridlayout){\n            startActivity(new Intent(this, GridLayoutActivity.class));\n        }else if (v.getId() == R.id.btn_test_flowlayout){\n            startActivity(new Intent(this, FlowLayoutActivity.class));\n        }\n    }\n}\n"
  },
  {
    "path": "testsample/src/main/res/drawable/button_forthpage_selector.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <!--点击背景-->\n    <item android:state_pressed=\"true\">\n        <shape>\n            <!--色值-->\n            <solid android:color=\"#ff5fe708\" />\n            <!--圆角-->\n            <corners android:radius=\"10dp\" />\n            <padding android:bottom=\"10dp\"/>\n            <padding android:top=\"10dp\"/>\n            <padding android:left=\"10dp\"/>\n            <padding android:right=\"10dp\"/>\n        </shape>\n    </item>\n    <!--默认背景-->\n    <item>\n        <shape>\n            <solid android:color=\"#ff5fe708\" />\n            <corners android:radius=\"10dp\" />\n            <padding android:bottom=\"10dp\"/>\n            <padding android:top=\"10dp\"/>\n            <padding android:left=\"10dp\"/>\n            <padding android:right=\"10dp\"/>\n        </shape>\n    </item>\n</selector>"
  },
  {
    "path": "testsample/src/main/res/drawable/button_homepage_selector.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <!--点击背景-->\n    <item android:state_pressed=\"true\">\n        <shape>\n            <!--色值-->\n            <solid android:color=\"#FF598DE7\" />\n            <!--圆角-->\n            <corners android:radius=\"10dp\" />\n            <padding android:bottom=\"10dp\"/>\n            <padding android:top=\"10dp\"/>\n            <padding android:left=\"10dp\"/>\n            <padding android:right=\"10dp\"/>\n        </shape>\n    </item>\n    <!--默认背景-->\n    <item>\n        <shape>\n            <solid android:color=\"#FF598DE7\" />\n            <corners android:radius=\"10dp\" />\n            <padding android:bottom=\"10dp\"/>\n            <padding android:top=\"10dp\"/>\n            <padding android:left=\"10dp\"/>\n            <padding android:right=\"10dp\"/>\n        </shape>\n    </item>\n</selector>"
  },
  {
    "path": "testsample/src/main/res/drawable/button_secondpage_selector.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <!--点击背景-->\n    <item android:state_pressed=\"true\">\n        <shape>\n            <!--色值-->\n            <solid android:color=\"#e79429\" />\n            <!--圆角-->\n            <corners android:radius=\"10dp\" />\n            <padding android:bottom=\"10dp\"/>\n            <padding android:top=\"10dp\"/>\n            <padding android:left=\"10dp\"/>\n            <padding android:right=\"10dp\"/>\n        </shape>\n    </item>\n    <!--默认背景-->\n    <item>\n        <shape>\n            <solid android:color=\"#f6aa3e\" />\n            <corners android:radius=\"10dp\" />\n            <padding android:bottom=\"10dp\"/>\n            <padding android:top=\"10dp\"/>\n            <padding android:left=\"10dp\"/>\n            <padding android:right=\"10dp\"/>\n        </shape>\n    </item>\n</selector>"
  },
  {
    "path": "testsample/src/main/res/drawable/button_thirdpage_selector.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <!--点击背景-->\n    <item android:state_pressed=\"true\">\n        <shape>\n            <!--色值-->\n            <solid android:color=\"#ff0fe7ca\" />\n            <!--圆角-->\n            <corners android:radius=\"10dp\" />\n            <padding android:bottom=\"10dp\"/>\n            <padding android:top=\"10dp\"/>\n            <padding android:left=\"10dp\"/>\n            <padding android:right=\"10dp\"/>\n        </shape>\n    </item>\n    <!--默认背景-->\n    <item>\n        <shape>\n            <solid android:color=\"#ff0fe7ca\" />\n            <corners android:radius=\"10dp\" />\n            <padding android:bottom=\"10dp\"/>\n            <padding android:top=\"10dp\"/>\n            <padding android:left=\"10dp\"/>\n            <padding android:right=\"10dp\"/>\n        </shape>\n    </item>\n</selector>"
  },
  {
    "path": "testsample/src/main/res/layout/activity_home_test.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\">\n    <LinearLayout\n        android:id=\"@+id/ll_content\"\n        android:orientation=\"vertical\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\">\n        <Button\n            android:id=\"@+id/btn_test_activity\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"50dp\"\n            android:layout_marginTop=\"10dp\"\n            android:background=\"@drawable/button_homepage_selector\"\n            android:text=\"测试activity\"/>\n        <Button\n            android:id=\"@+id/btn_test_net\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"50dp\"\n            android:layout_marginTop=\"10dp\"\n            android:background=\"@drawable/button_homepage_selector\"\n            android:text=\"测试网络请求\"/>\n        <Button\n            android:id=\"@+id/btn_test_imageloder\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"50dp\"\n            android:layout_marginTop=\"10dp\"\n            android:background=\"@drawable/button_homepage_selector\"\n            android:text=\"测试图片加载\"/>\n        <Button\n            android:id=\"@+id/btn_test_volley\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"50dp\"\n            android:layout_marginTop=\"10dp\"\n            android:background=\"@drawable/button_homepage_selector\"\n            android:text=\"测试volley\"/>\n        <Button\n            android:id=\"@+id/btn_test_guide\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"50dp\"\n            android:layout_marginTop=\"10dp\"\n            android:background=\"@drawable/button_homepage_selector\"\n            android:text=\"测试蒙版guide\"/>\n        <Button\n            android:id=\"@+id/btn_test_dialog\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"50dp\"\n            android:layout_marginTop=\"10dp\"\n            android:background=\"@drawable/button_homepage_selector\"\n            android:text=\"测试dialog\"/>\n        <Button\n            android:id=\"@+id/btn_test_db\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"50dp\"\n            android:layout_marginTop=\"10dp\"\n            android:background=\"@drawable/button_homepage_selector\"\n            android:text=\"测试数据库\"/>\n        <Button\n            android:id=\"@+id/btn_test_cache\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"50dp\"\n            android:layout_marginTop=\"10dp\"\n            android:background=\"@drawable/button_homepage_selector\"\n            android:text=\"测试Cache\"/>\n        <Button\n            android:id=\"@+id/btn_test_webview\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"50dp\"\n            android:layout_marginTop=\"10dp\"\n            android:background=\"@drawable/button_homepage_selector\"\n            android:text=\"测试webview\"/>\n        <Button\n            android:id=\"@+id/btn_test_download\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"50dp\"\n            android:layout_marginTop=\"10dp\"\n            android:background=\"@drawable/button_homepage_selector\"\n            android:text=\"测试断点续传\"/>\n        <Button\n            android:id=\"@+id/btn_test_utils\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"50dp\"\n            android:layout_marginTop=\"10dp\"\n            android:background=\"@drawable/button_homepage_selector\"\n            android:text=\"测试utils\"/>\n        <Button\n            android:id=\"@+id/btn_test_widget\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"50dp\"\n            android:layout_marginTop=\"10dp\"\n            android:background=\"@drawable/button_homepage_selector\"\n            android:text=\"测试widget\"/>\n        <TextView\n            android:id=\"@+id/tv_info\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:textSize=\"18sp\"\n            android:textColor=\"@color/black\"/>\n        <FrameLayout\n            android:id=\"@+id/fl_navigation\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\">\n        </FrameLayout>\n    </LinearLayout>\n</ScrollView>"
  },
  {
    "path": "testsample/src/main/res/layout/activity_test_activity_a.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\">\n    <LinearLayout\n      android:orientation=\"vertical\"\n      android:layout_width=\"match_parent\"\n      android:layout_height=\"match_parent\">\n\n        <Button\n            android:id=\"@+id/btn_go_to_activity\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"跳转到activity B\"\n            android:background=\"@drawable/button_thirdpage_selector\"\n            android:layout_marginBottom=\"10dp\"/>\n\n        <Button\n            android:id=\"@+id/btn_finish_top_activity\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"关闭最顶部activity\"\n            android:background=\"@drawable/button_thirdpage_selector\"\n            android:layout_marginBottom=\"10dp\"/>\n\n        <Button\n            android:id=\"@+id/btn_finish_first_B_activity\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"关闭第一个B页面\"\n            android:background=\"@drawable/button_thirdpage_selector\"\n            android:layout_marginBottom=\"10dp\"/>\n\n        <Button\n            android:id=\"@+id/btn_finish_all_B_activity\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"关闭所有的B页面\"\n            android:background=\"@drawable/button_thirdpage_selector\"\n            android:layout_marginBottom=\"10dp\"/>\n\n        <Button\n            android:id=\"@+id/btn_return_to_home_page\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"回到homepage activity\"\n            android:background=\"@drawable/button_thirdpage_selector\"\n            android:layout_marginBottom=\"10dp\"/>\n\n        <Button\n            android:id=\"@+id/btn_close\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"关闭应用\"\n            android:background=\"@drawable/button_thirdpage_selector\"\n            android:layout_marginBottom=\"10dp\"/>\n\n        <TextView\n            android:id=\"@+id/tv_all_info\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:textSize=\"18sp\"\n            android:textColor=\"@color/black\"/>\n\n        <FrameLayout\n            android:id=\"@+id/fl_navigation\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\">\n        </FrameLayout>\n    </LinearLayout>\n</ScrollView>"
  },
  {
    "path": "testsample/src/main/res/layout/activity_test_activity_b.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"match_parent\">\n    <LinearLayout\n        android:orientation=\"vertical\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\">\n\n        <Button\n            android:id=\"@+id/btn_go_to_activity\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"跳转到activity A\"\n            android:background=\"@drawable/button_thirdpage_selector\"\n            android:layout_marginBottom=\"10dp\"/>\n\n        <Button\n            android:id=\"@+id/btn_finish_top_activity\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"关闭最顶部activity\"\n            android:background=\"@drawable/button_thirdpage_selector\"\n            android:layout_marginBottom=\"10dp\"/>\n\n        <Button\n            android:id=\"@+id/btn_finish_first_A_activity\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"关闭第一个A页面\"\n            android:background=\"@drawable/button_thirdpage_selector\"\n            android:layout_marginBottom=\"10dp\"/>\n\n        <Button\n            android:id=\"@+id/btn_finish_all_A_activity\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"关闭所有的A页面\"\n            android:background=\"@drawable/button_thirdpage_selector\"\n            android:layout_marginBottom=\"10dp\"/>\n\n        <Button\n            android:id=\"@+id/btn_return_to_home_page\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"回到homepage activity\"\n            android:background=\"@drawable/button_thirdpage_selector\"\n            android:layout_marginBottom=\"10dp\"/>\n\n        <Button\n            android:id=\"@+id/btn_close\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"关闭应用\"\n            android:background=\"@drawable/button_thirdpage_selector\"\n            android:layout_marginBottom=\"10dp\"/>\n\n        <TextView\n            android:id=\"@+id/tv_all_info\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:textSize=\"18sp\"\n            android:textColor=\"@color/black\"/>\n\n        <FrameLayout\n            android:id=\"@+id/fl_navigation\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\">\n        </FrameLayout>\n    </LinearLayout>\n</ScrollView>"
  },
  {
    "path": "testsample/src/main/res/layout/activity_test_activity_homepage.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n              android:orientation=\"vertical\"\n              android:layout_width=\"match_parent\"\n              android:layout_height=\"match_parent\">\n\n    <Button\n        android:id=\"@+id/btn_test_weakReference\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"测试 weakReference和activityManager\"\n        android:background=\"@drawable/button_secondpage_selector\"\n        android:layout_marginBottom=\"10dp\"/>\n\n    <Button\n        android:id=\"@+id/btn_test_weakReference2\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:background=\"@drawable/button_secondpage_selector\"\n        android:text=\"显示weakReference\"\n        android:layout_marginBottom=\"10dp\"/>\n\n    <Button\n        android:id=\"@+id/btn_test_broadcast\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:background=\"@drawable/button_secondpage_selector\"\n        android:text=\"测试 broadcast\"\n        android:layout_marginBottom=\"10dp\"/>\n\n    <Button\n        android:id=\"@+id/btn_test_bottom_popwindow\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:background=\"@drawable/button_secondpage_selector\"\n        android:text=\"测试底部弹出框\"\n        android:layout_marginBottom=\"10dp\"/>\n\n\n</LinearLayout>"
  },
  {
    "path": "testsample/src/main/res/layout/activity_test_cache.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:orientation=\"vertical\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\">\n\n    <TextView\n        android:id=\"@+id/tv_result\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"/>\n\n    <Button\n        android:id=\"@+id/btn_set\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"设置\"\n        android:background=\"@drawable/button_secondpage_selector\"\n        android:layout_marginBottom=\"10dp\"/>\n\n    <Button\n        android:id=\"@+id/btn_get\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"获取\"\n        android:background=\"@drawable/button_secondpage_selector\"\n        android:layout_marginBottom=\"10dp\"/>\n\n</LinearLayout>"
  },
  {
    "path": "testsample/src/main/res/layout/activity_test_common.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"match_parent\">\n    <LinearLayout\n        android:orientation=\"vertical\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\">\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"getScreenWidth\"/>\n\n        <TextView\n            android:id=\"@+id/getScreenWidth\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"/>\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"getScreenHeight\"/>\n\n        <TextView\n            android:id=\"@+id/getScreenHeight\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"/>\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"isNetworkWifi\"/>\n\n        <TextView\n            android:id=\"@+id/isNetworkWifi\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"/>\n        <FrameLayout\n            android:id=\"@+id/fl_content\"\n            android:layout_weight=\"1\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"match_parent\">\n        </FrameLayout>\n    </LinearLayout>\n</ScrollView>"
  },
  {
    "path": "testsample/src/main/res/layout/activity_test_db.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:orientation=\"vertical\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\">\n\n    <Button\n        android:id=\"@+id/btn_test_add\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"增加\"\n        android:background=\"@drawable/button_secondpage_selector\"\n        android:layout_marginBottom=\"10dp\"/>\n\n    <Button\n        android:id=\"@+id/btn_test_delete\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"删除\"\n        android:background=\"@drawable/button_secondpage_selector\"\n        android:layout_marginBottom=\"10dp\"/>\n\n    <Button\n        android:id=\"@+id/btn_test_query\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"查\"\n        android:background=\"@drawable/button_secondpage_selector\"\n        android:layout_marginBottom=\"10dp\"/>\n\n    <Button\n        android:id=\"@+id/btn_test_clear\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"清空\"\n        android:background=\"@drawable/button_secondpage_selector\"\n        android:layout_marginBottom=\"10dp\"/>\n\n</LinearLayout>"
  },
  {
    "path": "testsample/src/main/res/layout/activity_test_dialog.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"match_parent\">\n    <LinearLayout\n        android:id=\"@+id/ll_content\"\n        android:orientation=\"vertical\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\">\n\n        <Button\n            android:id=\"@+id/btn_test_dialog_1\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"测试 dialog ----1\"\n            android:background=\"@drawable/button_secondpage_selector\"\n            android:layout_marginBottom=\"10dp\"/>\n\n        <Button\n            android:id=\"@+id/btn_test_dialog_2\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"测试 dialog ----2\"\n            android:background=\"@drawable/button_secondpage_selector\"\n            android:layout_marginBottom=\"10dp\"/>\n\n        <Button\n            android:id=\"@+id/btn_test_dialog_3\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"测试 dialog ----3\"\n            android:background=\"@drawable/button_secondpage_selector\"\n            android:layout_marginBottom=\"10dp\"/>\n\n        <Button\n            android:id=\"@+id/btn_test_dialog_5\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"测试 dialog ----5\"\n            android:background=\"@drawable/button_secondpage_selector\"\n            android:layout_marginBottom=\"10dp\"/>\n\n        <Button\n            android:id=\"@+id/btn_test_dialog_gravity\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"测试 dialog ----gravity\"\n            android:background=\"@drawable/button_secondpage_selector\"\n            android:layout_marginBottom=\"10dp\"/>\n\n        <Button\n            android:id=\"@+id/btn_test_dialog_xy\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"测试 dialog ----xy\"\n            android:background=\"@drawable/button_secondpage_selector\"\n            android:layout_marginBottom=\"10dp\"/>\n\n        <Button\n            android:id=\"@+id/btn_test_dialog_width_height\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"测试 dialog ----width_height\"\n            android:background=\"@drawable/button_secondpage_selector\"\n            android:layout_marginBottom=\"10dp\"/>\n\n        <Button\n            android:id=\"@+id/btn_test_dialog_alpha\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"测试 dialog ----alpha\"\n            android:background=\"@drawable/button_secondpage_selector\"\n            android:layout_marginBottom=\"10dp\"/>\n\n        <Button\n            android:id=\"@+id/btn_test_loading_dialog\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"测试loading dialog\"\n            android:background=\"@drawable/button_secondpage_selector\"\n            android:layout_marginBottom=\"10dp\"/>\n    </LinearLayout>\n</ScrollView>"
  },
  {
    "path": "testsample/src/main/res/layout/activity_test_download.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:orientation=\"vertical\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\">\n\n    <ProgressBar\n        android:id=\"@+id/pb_bar1\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"20dp\"\n        style=\"?android:progressBarStyleHorizontal\"\n        android:progressDrawable=\"@drawable/bg_progress_bar\"/>\n\n    <TextView\n        android:id=\"@+id/tv_progress1\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:gravity=\"right\"/>\n\n    <TextView\n        android:id=\"@+id/tv_state1\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:gravity=\"right\"/>\n\n    <ProgressBar\n        android:id=\"@+id/pb_bar2\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"20dp\"\n        style=\"?android:progressBarStyleHorizontal\"\n        android:progressDrawable=\"@drawable/bg_progress_bar\"/>\n\n    <TextView\n        android:id=\"@+id/tv_progress2\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:gravity=\"right\"/>\n\n    <TextView\n        android:id=\"@+id/tv_state2\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:gravity=\"right\"/>\n\n    <Button\n        android:id=\"@+id/btn_start\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"开始下载\"\n        android:background=\"@drawable/button_secondpage_selector\"\n        android:layout_marginBottom=\"10dp\"/>\n\n    <Button\n        android:id=\"@+id/btn_stop\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"停止下载\"\n        android:background=\"@drawable/button_secondpage_selector\"\n        android:layout_marginBottom=\"10dp\"/>\n    <Button\n        android:id=\"@+id/btn_delete\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"删除下载\"\n        android:background=\"@drawable/button_secondpage_selector\"\n        android:layout_marginBottom=\"10dp\"/>\n\n</LinearLayout>"
  },
  {
    "path": "testsample/src/main/res/layout/activity_test_file.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n              android:orientation=\"vertical\"\n              android:layout_width=\"match_parent\"\n              android:layout_height=\"match_parent\">\n    <Button\n        android:id=\"@+id/btn_test_file\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"测试开始\"\n        android:background=\"@drawable/button_thirdpage_selector\"\n        android:layout_marginBottom=\"10dp\"/>\n\n</LinearLayout>"
  },
  {
    "path": "testsample/src/main/res/layout/activity_test_flow.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:orientation=\"vertical\">\n    <Button\n        android:id=\"@+id/btn_change_orientation\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"变换布局方向\"/>\n    <ScrollView\n        android:id=\"@+id/sv_content\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\">\n        <com.android.libcore_ui.widget.FlowLayout\n            android:id=\"@+id/fl_horizontal\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"200dp\"\n            android:padding=\"10dp\"\n            app:horizontalSpacing=\"10dp\"\n            app:verticalSpacing=\"10dp\"\n            app:orientation=\"horizontal\"\n            app:childGravity=\"center\">\n        </com.android.libcore_ui.widget.FlowLayout>\n    </ScrollView>\n    <HorizontalScrollView\n        android:id=\"@+id/hsv_content\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:visibility=\"gone\">\n        <com.android.libcore_ui.widget.FlowLayout\n            android:id=\"@+id/fl_vertical\"\n            android:layout_width=\"100dp\"\n            android:layout_height=\"match_parent\"\n            android:padding=\"10dp\"\n            app:horizontalSpacing=\"10dp\"\n            app:verticalSpacing=\"10dp\"\n            app:orientation=\"vertical\"\n            app:childGravity=\"center\">\n        </com.android.libcore_ui.widget.FlowLayout>\n    </HorizontalScrollView>\n</LinearLayout>"
  },
  {
    "path": "testsample/src/main/res/layout/activity_test_grid.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n              xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n              android:orientation=\"vertical\"\n              android:layout_width=\"match_parent\"\n              android:layout_height=\"match_parent\">\n    <com.android.libcore_ui.widget.SimpleGridLayout\n        android:id=\"@+id/gll_content\"\n        android:layout_width=\"300dp\"\n        android:layout_height=\"match_parent\"\n        app:verticalItemSpacing=\"100dp\"\n        app:columns=\"3\">\n        <TextView\n            android:layout_width=\"100dp\"\n            android:layout_height=\"100dp\"\n            android:text=\"1\"\n            android:textSize=\"20sp\"\n            android:gravity=\"center\"/>\n    </com.android.libcore_ui.widget.SimpleGridLayout>\n\n</ScrollView>"
  },
  {
    "path": "testsample/src/main/res/layout/activity_test_guide.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n              android:orientation=\"vertical\"\n              android:layout_width=\"match_parent\"\n              android:layout_height=\"match_parent\">\n    <Button\n        android:id=\"@+id/btn_test_guide_full_screen\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"测试 蒙版(全屏展示)\"\n        android:background=\"@drawable/button_secondpage_selector\"\n        android:layout_marginBottom=\"10dp\"/>\n\n    <Button\n        android:id=\"@+id/btn_test_guide_content\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"测试 蒙版(内容区域展示)\"\n        android:background=\"@drawable/button_secondpage_selector\"\n        android:layout_marginBottom=\"10dp\"/>\n</LinearLayout>"
  },
  {
    "path": "testsample/src/main/res/layout/activity_test_image.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"match_parent\">\n    <LinearLayout\n                  android:orientation=\"vertical\"\n                  android:layout_width=\"match_parent\"\n                  android:layout_height=\"match_parent\">\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"centerSquareScaleBitmap\"/>\n\n        <ImageView\n            android:id=\"@+id/centerSquareScaleBitmap\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"/>\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"toRoundCorner\"/>\n\n        <ImageView\n            android:id=\"@+id/toRoundCorner\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"/>\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"compressBitmap\"/>\n        <ImageView\n            android:id=\"@+id/compressBitmap\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"/>\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"resizeBitmap\"/>\n        <ImageView\n            android:id=\"@+id/resizeBitmap\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"/>\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"getPictureDegree\"/>\n        <TextView\n            android:id=\"@+id/getPictureDegree\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"/>\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"rotateBitmap\"/>\n\n        <ImageView\n            android:id=\"@+id/rotateBitmap\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"/>\n\n        <Button\n            android:id=\"@+id/btn_test_screenshot\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"测试截屏\"\n            android:background=\"@drawable/button_thirdpage_selector\"\n            android:layout_marginBottom=\"10dp\"/>\n        <Button\n            android:id=\"@+id/btn_test_webview\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"测试截取webview\"\n            android:background=\"@drawable/button_thirdpage_selector\"\n            android:layout_marginBottom=\"10dp\"/>\n        <FrameLayout\n            android:id=\"@+id/fl_content\"\n            android:layout_weight=\"1\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"match_parent\">\n        </FrameLayout>\n    </LinearLayout>\n</ScrollView>"
  },
  {
    "path": "testsample/src/main/res/layout/activity_test_imageloader.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n              android:orientation=\"vertical\"\n              android:layout_width=\"match_parent\"\n              android:layout_height=\"match_parent\">\n\n    <GridView\n        android:id=\"@+id/gv_content\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:numColumns=\"3\">\n    </GridView>\n\n</LinearLayout>"
  },
  {
    "path": "testsample/src/main/res/layout/activity_test_net.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"match_parent\">\n    <LinearLayout\n        android:id=\"@+id/ll_content\"\n        android:orientation=\"vertical\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\">\n\n        <TextView\n            android:id=\"@+id/tv_result\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"/>\n\n        <Button\n            android:id=\"@+id/btn_string\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"string请求\"\n            android:background=\"@drawable/button_secondpage_selector\"\n            android:layout_marginBottom=\"10dp\"/>\n\n        <Button\n            android:id=\"@+id/btn_jsonObject\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"jsonObject请求\"\n            android:background=\"@drawable/button_secondpage_selector\"\n            android:layout_marginBottom=\"10dp\"/>\n\n        <Button\n            android:id=\"@+id/btn_jsonArray\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"jsonArray请求\"\n            android:background=\"@drawable/button_secondpage_selector\"\n            android:layout_marginBottom=\"10dp\"/>\n\n        <Button\n            android:id=\"@+id/btn_xml\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"xml请求\"\n            android:background=\"@drawable/button_secondpage_selector\"\n            android:layout_marginBottom=\"10dp\"/>\n        <Button\n            android:id=\"@+id/btn_image\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"显示图片\"\n            android:background=\"@drawable/button_secondpage_selector\"\n            android:layout_marginBottom=\"10dp\"/>\n\n        <ImageView\n            android:id=\"@+id/iv_content\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"/>\n    </LinearLayout>\n</ScrollView>"
  },
  {
    "path": "testsample/src/main/res/layout/activity_test_utils.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n              android:orientation=\"vertical\"\n              android:layout_width=\"match_parent\"\n              android:layout_height=\"match_parent\">\n    <Button\n        android:id=\"@+id/btn_test_file\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"测试file\"\n        android:background=\"@drawable/button_secondpage_selector\"\n        android:layout_marginBottom=\"10dp\"/>\n    <Button\n        android:id=\"@+id/btn_test_image\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"测试image\"\n        android:background=\"@drawable/button_secondpage_selector\"\n        android:layout_marginBottom=\"10dp\"/>|\n    <Button\n        android:id=\"@+id/btn_test_common\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"测试common\"\n        android:background=\"@drawable/button_secondpage_selector\"\n        android:layout_marginBottom=\"10dp\"/>\n</LinearLayout>"
  },
  {
    "path": "testsample/src/main/res/layout/activity_test_webview.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:orientation=\"vertical\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\">\n\n    <Button\n        android:id=\"@+id/btn_webview\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"打开\"\n        android:background=\"@drawable/button_secondpage_selector\"\n        android:layout_marginBottom=\"10dp\"/>\n    <Button\n        android:id=\"@+id/btn_screenshot\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"截图\"\n        android:background=\"@drawable/button_secondpage_selector\"\n        android:layout_marginBottom=\"10dp\"/>\n    <FrameLayout\n        android:id=\"@+id/fl_webfragment\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\">\n    </FrameLayout>\n\n</LinearLayout>"
  },
  {
    "path": "testsample/src/main/res/layout/activity_test_widget.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:orientation=\"vertical\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\">\n    <Button\n        android:id=\"@+id/btn_test_gridlayout\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"测试grid layout\"\n        android:background=\"@drawable/button_secondpage_selector\"\n        android:layout_marginBottom=\"10dp\"/>\n\n    <Button\n        android:id=\"@+id/btn_test_flowlayout\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:background=\"@drawable/button_secondpage_selector\"\n        android:text=\"测试flow layout\"\n        android:layout_marginBottom=\"10dp\"/>\n\n</LinearLayout>"
  },
  {
    "path": "testsample/src/main/res/layout/guide_test_1.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n              android:orientation=\"vertical\"\n              android:layout_width=\"match_parent\"\n              android:layout_height=\"match_parent\">\n    <ImageView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:background=\"@mipmap/guide_1\"/>\n    \n    <Button\n        android:id=\"@+id/click_to_disappear\"\n        android:layout_width=\"100dp\"\n        android:layout_height=\"100dp\"\n        android:layout_marginRight=\"70dp\"\n        android:layout_marginEnd=\"70dp\"\n        android:layout_marginBottom=\"96dp\"\n        android:layout_alignParentBottom=\"true\"\n        android:layout_alignParentRight=\"true\"\n        android:layout_alignParentEnd=\"true\"\n        android:background=\"@color/transparent\"/>\n</RelativeLayout>"
  },
  {
    "path": "testsample/src/main/res/layout/guide_test_2.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n              android:orientation=\"vertical\"\n              android:layout_width=\"match_parent\"\n              android:layout_height=\"match_parent\">\n    <ImageView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:background=\"@mipmap/guide_2\"/>\n\n    <Button\n        android:id=\"@+id/click_to_disappear\"\n        android:layout_width=\"100dp\"\n        android:layout_height=\"100dp\"\n        android:background=\"@color/transparent\"\n        android:layout_alignParentTop=\"true\"\n        android:layout_alignParentLeft=\"true\"\n        android:layout_alignParentStart=\"true\"\n        android:layout_marginLeft=\"35dp\"\n        android:layout_marginStart=\"35dp\"\n        android:layout_marginTop=\"170dp\"/>\n</RelativeLayout>"
  },
  {
    "path": "testsample/src/main/res/layout/guide_test_3.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n              android:orientation=\"vertical\"\n              android:layout_width=\"match_parent\"\n              android:layout_height=\"match_parent\">\n    <ImageView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:background=\"@mipmap/guide_3\"/>\n\n    <Button\n        android:id=\"@+id/click_to_disappear\"\n        android:layout_width=\"100dp\"\n        android:layout_height=\"100dp\"\n        android:background=\"@color/transparent\"\n        android:layout_marginTop=\"182dp\"\n        android:layout_alignParentTop=\"true\"\n        android:layout_alignParentRight=\"true\"\n        android:layout_alignParentEnd=\"true\"\n        android:layout_marginRight=\"84dp\"\n        android:layout_marginEnd=\"84dp\"/>\n</RelativeLayout>"
  },
  {
    "path": "testsample/src/main/res/layout/menu_activity_home_test_search.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n              android:orientation=\"vertical\"\n              android:layout_width=\"match_parent\"\n              android:layout_height=\"match_parent\">\n    <TextView\n        android:id=\"@+id/btn_click\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:gravity=\"center_vertical\"\n        android:text=\"click\"/>\n\n</LinearLayout>"
  },
  {
    "path": "testsample/src/main/res/menu/menu_activity_home_test.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu xmlns:android=\"http://schemas.android.com/apk/res/android\"\n      xmlns:app=\"http://schemas.android.com/apk/res-auto\">\n    <item\n        android:id=\"@+id/action_menu\"\n        android:icon=\"@mipmap/ic_menu_white_24dp\"\n        android:title=\"@string/menu\"\n        app:showAsAction=\"never\"/>\n    <item\n        android:id=\"@+id/action_refresh\"\n        android:icon=\"@mipmap/ic_refresh_white_24dp\"\n        android:title=\"@string/menu\"\n        app:showAsAction=\"ifRoom\"/>\n    <item\n        android:id=\"@+id/action_search\"\n        android:icon=\"@mipmap/ic_search_white_24dp\"\n        android:title=\"@string/menu\"\n        app:actionLayout=\"@layout/menu_activity_home_test_search\"\n        app:showAsAction=\"always\"/>\n\n</menu>"
  },
  {
    "path": "testsample/src/main/res/values/colors.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <color name=\"darkorchid\">#9932CC</color>\n    <color name=\"palegreen\">#98FB98</color>\n</resources>"
  },
  {
    "path": "testsample/src/main/res/values/strings.xml",
    "content": "<resources>\n    <string name=\"menu\">menu</string>\n</resources>\n"
  },
  {
    "path": "testsample/src/main/res/values/strings_activity.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <string name=\"app_name\">android_framework</string>\n    <string name=\"activity_home_page\">主页</string>\n    <string name=\"activity_test_activity_homepage\">测试Activity功能主页</string>\n    <string name=\"activity_test_activity_A\">测试Activity A</string>\n    <string name=\"activity_test_activity_B\">测试Activity B</string>\n    <string name=\"activity_test_guide\">测试蒙版</string>\n    <string name=\"activity_test_dialog\">测试dialog</string>\n    <string name=\"activity_test_db\">测试数据库</string>\n    <string name=\"activity_test_cache\">测试Cache</string>\n    <string name=\"activity_test_webview\">测试webview</string>\n    <string name=\"activity_test_download\">测试断点续传</string>\n    <string name=\"activity_test_utils\">测试utils</string>\n    <string name=\"activity_test_file_utils\">测试file utils</string>\n    <string name=\"activity_test_image_utils\">测试image utils</string>\n    <string name=\"activity_test_common_utils\">测试common utils</string>\n    <string name=\"activity_test_net\">测试网络请求</string>\n    <string name=\"activity_test_volley\">测试volley请求</string>\n    <string name=\"activity_test_imageloader\">测试图片加载</string>\n    <string name=\"activity_test_widget\">测试widget</string>\n    <string name=\"activity_test_gridLinearLayout\">测试grid layout</string>\n    <string name=\"activity_test_flow_layout\">测试流式布局</string>\n</resources>"
  },
  {
    "path": "testsample/src/main/res/values/styles.xml",
    "content": "<resources>\n\n    <!-- Base application theme. -->\n    <style name=\"AppTheme\" parent=\"Theme.AppCompat.Light.DarkActionBar\">\n        <!-- Customize your theme here. -->\n    </style>\n\n</resources>\n"
  }
]