├── app
├── .gitignore
├── src
│ ├── main
│ │ ├── assets
│ │ │ ├── images
│ │ │ │ ├── add.png
│ │ │ │ └── icon-del.png
│ │ │ ├── css
│ │ │ │ ├── index.css
│ │ │ │ └── base.css
│ │ │ ├── index.html
│ │ │ ├── js
│ │ │ │ └── index.js
│ │ │ └── lib
│ │ │ │ ├── vue
│ │ │ │ ├── axios.min.js
│ │ │ │ └── vue.min.js
│ │ │ │ └── canvasResize
│ │ │ │ └── canvasResize.min.js
│ │ ├── res
│ │ │ ├── values
│ │ │ │ ├── strings.xml
│ │ │ │ ├── colors.xml
│ │ │ │ └── styles.xml
│ │ │ ├── mipmap-hdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-mdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── anim
│ │ │ │ ├── slide_in_from_bottom.xml
│ │ │ │ └── slide_out_from_bottom.xml
│ │ │ ├── mipmap-anydpi-v26
│ │ │ │ ├── ic_launcher.xml
│ │ │ │ └── ic_launcher_round.xml
│ │ │ ├── xml
│ │ │ │ └── file_paths.xml
│ │ │ ├── layout
│ │ │ │ ├── activity_main.xml
│ │ │ │ └── widget_dialog_select.xml
│ │ │ ├── drawable-v24
│ │ │ │ └── ic_launcher_foreground.xml
│ │ │ └── drawable
│ │ │ │ └── ic_launcher_background.xml
│ │ ├── AndroidManifest.xml
│ │ └── java
│ │ │ └── com
│ │ │ └── gfd
│ │ │ └── h5pic
│ │ │ ├── SelectDialog.kt
│ │ │ ├── MainActivity.kt
│ │ │ └── PhotoUtils.kt
│ ├── test
│ │ └── java
│ │ │ └── com
│ │ │ └── gfd
│ │ │ └── h5pic
│ │ │ └── ExampleUnitTest.kt
│ └── androidTest
│ │ └── java
│ │ └── com
│ │ └── gfd
│ │ └── h5pic
│ │ └── ExampleInstrumentedTest.kt
├── proguard-rules.pro
└── build.gradle
├── settings.gradle
├── README.md
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── .gitignore
├── .idea
├── runConfigurations.xml
├── gradle.xml
├── codeStyles
│ └── Project.xml
└── misc.xml
├── gradle.properties
├── gradlew.bat
└── gradlew
/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # H5PicDemo
2 | Android-H5调用本地相册或相机上传图片。
3 |
--------------------------------------------------------------------------------
/app/src/main/assets/images/add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guofudong/H5PicDemo/HEAD/app/src/main/assets/images/add.png
--------------------------------------------------------------------------------
/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | H5PicDemo
3 |
4 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guofudong/H5PicDemo/HEAD/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/app/src/main/assets/images/icon-del.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guofudong/H5PicDemo/HEAD/app/src/main/assets/images/icon-del.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guofudong/H5PicDemo/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guofudong/H5PicDemo/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guofudong/H5PicDemo/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guofudong/H5PicDemo/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guofudong/H5PicDemo/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guofudong/H5PicDemo/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guofudong/H5PicDemo/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guofudong/H5PicDemo/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guofudong/H5PicDemo/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guofudong/H5PicDemo/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/caches/build_file_checksums.ser
5 | /.idea/libraries
6 | /.idea/modules.xml
7 | /.idea/workspace.xml
8 | .DS_Store
9 | /build
10 | /captures
11 | .externalNativeBuild
12 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/slide_in_from_bottom.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/slide_out_from_bottom.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #008577
4 | #00574B
5 | #D81B60
6 | #FFFFFF
7 | #000000
8 |
9 |
--------------------------------------------------------------------------------
/app/src/test/java/com/gfd/h5pic/ExampleUnitTest.kt:
--------------------------------------------------------------------------------
1 | package com.gfd.h5pic
2 |
3 | import org.junit.Test
4 |
5 | import org.junit.Assert.*
6 |
7 | /**
8 | * Example local unit test, which will execute on the development machine (host).
9 | *
10 | * See [testing documentation](http://d.android.com/tools/testing).
11 | */
12 | class ExampleUnitTest {
13 | @Test
14 | fun addition_isCorrect() {
15 | assertEquals(4, 2 + 2)
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/.idea/runConfigurations.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/gradle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/app/src/androidTest/java/com/gfd/h5pic/ExampleInstrumentedTest.kt:
--------------------------------------------------------------------------------
1 | package com.gfd.h5pic
2 |
3 | import android.support.test.InstrumentationRegistry
4 | import android.support.test.runner.AndroidJUnit4
5 |
6 | import org.junit.Test
7 | import org.junit.runner.RunWith
8 |
9 | import org.junit.Assert.*
10 |
11 | /**
12 | * Instrumented test, which will execute on an Android device.
13 | *
14 | * See [testing documentation](http://d.android.com/tools/testing).
15 | */
16 | @RunWith(AndroidJUnit4::class)
17 | class ExampleInstrumentedTest {
18 | @Test
19 | fun useAppContext() {
20 | // Context of the app under test.
21 | val appContext = InstrumentationRegistry.getTargetContext()
22 | assertEquals("com.gfd.h5pic", appContext.packageName)
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 | # IDE (e.g. Android Studio) users:
3 | # Gradle settings configured through the IDE *will override*
4 | # any settings specified in this file.
5 | # For more details on how to configure your build environment visit
6 | # http://www.gradle.org/docs/current/userguide/build_environment.html
7 | # Specifies the JVM arguments used for the daemon process.
8 | # The setting is particularly useful for tweaking memory settings.
9 | org.gradle.jvmargs=-Xmx1536m
10 | # When configured, Gradle will run in incubating parallel mode.
11 | # This option should only be used with decoupled projects. More details, visit
12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
13 | # org.gradle.parallel=true
14 |
15 | android.useAndroidX=true
16 | android.enableJetifier=true
--------------------------------------------------------------------------------
/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/file_paths.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
10 |
13 |
16 |
19 |
22 |
23 |
26 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
19 |
20 |
28 |
29 |
--------------------------------------------------------------------------------
/app/src/main/assets/css/index.css:
--------------------------------------------------------------------------------
1 | /* upload */
2 | .upload{
3 | margin-top: .52rem;
4 | padding:0 .2rem;
5 | }
6 | .upload-item{
7 | width: 2rem;
8 | height: 2rem;
9 | border-radius: .1rem;
10 | position: relative;
11 | margin-right: .5rem;
12 | }
13 | .upload .upload-item:nth-child(3n){
14 | margin-right: 0;
15 | margin-bottom:.5rem;
16 | }
17 | .upload-item-img{
18 | width:100%;
19 | height: 100%;
20 | }
21 | .upload-item-del{
22 | width: 0.35rem;
23 | height: 0.35rem;
24 | position: absolute;
25 | top:-.175rem;
26 | right:-.175rem;
27 | z-index: 10;
28 | }
29 | .upload-input{
30 | position: absolute;
31 | left:0;
32 | top:0;
33 | width: 100%;
34 | height: 100%;
35 | opacity: 0;
36 | z-index:10;
37 | }
38 |
39 | /* btn */
40 | .btn-submit{
41 | width: 45vw;
42 | height: 0.8rem;
43 | font-size: .25rem;
44 | border: none;
45 | color: #fff;
46 | border-radius: .05rem;
47 | background-color: green;
48 | margin: 2rem auto 0 auto;
49 | }
50 |
51 | /* Toast */
52 | .toast{
53 | display: inline-block;
54 | padding: .2rem .3rem;
55 | border-radius: .05rem;
56 | color: #fff;
57 | font-size: .3rem;
58 | background: rgba(0,0,0,0.5);
59 | position: fixed;
60 | z-index: 100;
61 | top: 40vh;
62 | left: 50%;
63 | transform: translateX(-50%)
64 | }
--------------------------------------------------------------------------------
/app/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 | apply plugin: 'kotlin-android'
3 | apply plugin: 'kotlin-android-extensions'
4 | apply plugin: 'kotlin-kapt'
5 |
6 | android {
7 | compileSdkVersion 28
8 | defaultConfig {
9 | applicationId "com.gfd.h5pic"
10 | minSdkVersion 15
11 | targetSdkVersion 28
12 | versionCode 1
13 | versionName "1.0"
14 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
15 | }
16 | buildTypes {
17 | release {
18 | minifyEnabled false
19 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
20 | }
21 | }
22 | }
23 |
24 | dependencies {
25 | implementation fileTree(dir: 'libs', include: ['*.jar'])
26 | implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
27 | implementation 'androidx.appcompat:appcompat:1.1.0-alpha01'
28 | implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha3'
29 | testImplementation 'junit:junit:4.12'
30 | androidTestImplementation 'androidx.test:runner:1.1.2-alpha01'
31 | androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
32 | implementation 'top.zibin:Luban:1.1.8'
33 | implementation "org.permissionsdispatcher:permissionsdispatcher:$permissions_version"
34 | kapt "org.permissionsdispatcher:permissionsdispatcher-processor:$permissions_version"
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 |
9 |
10 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
32 |
33 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
12 |
15 |
16 |
27 |
28 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/app/src/main/assets/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 | H5图片压缩上传
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
![]()
17 |

20 |
21 |
22 |

23 |
31 |
32 |
33 |
34 |
35 |
36 |
{{mltoast.text}}
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/.idea/codeStyles/Project.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/app/src/main/java/com/gfd/h5pic/SelectDialog.kt:
--------------------------------------------------------------------------------
1 | package com.gfd.h5pic
2 |
3 | import android.app.Dialog
4 | import android.content.Context
5 | import android.view.Gravity
6 | import android.view.View
7 | import android.widget.TextView
8 |
9 | /**
10 | * TODO<请描述这个类是干什么的>
11 | *
12 | * @author cjl
13 | * @data: 2015年7月11日 下午4:49:25
14 | * @version: V1.0
15 | 请描述这个类是干什么的> */
16 | class SelectDialog(context: Context, private val mListener: View.OnClickListener?) : Dialog(context, R.style.popup_dialog_anim) {
17 |
18 | private lateinit var tvPhoto: TextView
19 | private lateinit var tvCamera: TextView
20 | private lateinit var tvCancel: TextView
21 |
22 | init {
23 | init(context)
24 | }
25 |
26 | private fun init(context: Context) {
27 | setCancelable(false)
28 | setCanceledOnTouchOutside(false)
29 | val view = View.inflate(context, R.layout.widget_dialog_select, null)
30 | setContentView(view)
31 | init(view)
32 | }
33 |
34 | private fun init(view: View) {
35 | tvPhoto = view.findViewById(R.id.tv_photo) as TextView
36 | tvCancel = view.findViewById(R.id.tv_cancel) as TextView
37 | tvCamera = view.findViewById(R.id.tv_camera) as TextView
38 | tvPhoto.setOnClickListener { view ->
39 | dismiss()
40 | mListener?.onClick(view)
41 | }
42 | tvCancel.setOnClickListener { view ->
43 | dismiss()
44 | mListener?.onClick(view)
45 | }
46 | tvCamera.setOnClickListener { view ->
47 | dismiss()
48 | mListener?.onClick(view)
49 | }
50 | val dm = context.resources.displayMetrics
51 | val screenWidth = dm.widthPixels
52 | val window = window
53 | val params = window!!.attributes
54 | params.gravity = Gravity.BOTTOM
55 | params.alpha = 1.0f
56 | params.width = screenWidth
57 | window.attributes = params
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/app/src/main/assets/css/base.css:
--------------------------------------------------------------------------------
1 |
2 | /* 移动端适配 */
3 | html,
4 | body {
5 | font-size: 13.3333333333333vw;
6 | }
7 |
8 | body {
9 | width: 100%;
10 | color: #000;
11 | height: 100%;
12 | font-family: -apple-system-font, "Helvetica Neue", sans-serif;
13 | background-color: #fff;
14 | }
15 | textarea{
16 | resize: none; /*去掉拖动*/
17 | outline: none; /*去掉外围的发光*/
18 | overflow-y:hidden; /*去掉右边的下拉条*/
19 | overflow-x:hidden; /*去掉x轴滚动条*/
20 | border:none;
21 | }
22 | ::-webkit-input-placeholder{
23 | color: #959595;
24 | }
25 |
26 | * {
27 | box-sizing: border-box;
28 | margin: 0;
29 | padding: 0;
30 | }
31 |
32 | .jddk {
33 | display: flex;
34 | flex-direction: column;
35 | box-sizing: border-box;
36 | width: 100%;
37 | min-height: 100vh;
38 | font-size:.24rem;
39 | overflow: hidden;
40 | padding-bottom:1.4rem;
41 | }
42 |
43 | .text-ellipsis {
44 | overflow: hidden;
45 | white-space: nowrap;
46 | text-overflow: ellipsis;
47 | }
48 |
49 | .nowrap {
50 | white-space: nowrap;
51 | }
52 |
53 | /* flex */
54 |
55 | .flex {
56 | display: flex;
57 | }
58 |
59 | .flex-inline {
60 | display: inline-flex;
61 | }
62 |
63 | .flex-wrap {
64 | flex-wrap: wrap;
65 | }
66 |
67 | .flex-column {
68 | flex-direction: column;
69 | }
70 |
71 | .flex-center {
72 | align-items: center;
73 | justify-content: center;
74 | }
75 |
76 | .flex-row-reverse {
77 | flex-direction: row-reverse;
78 | }
79 |
80 | .flex-align-center {
81 | align-items: center;
82 | }
83 | .flex-align-end {
84 | align-items: flex-end;
85 | }
86 | .flex-justify-around {
87 | justify-content: space-around;
88 | }
89 |
90 | .flex-justify-center {
91 | justify-content: center;
92 | }
93 |
94 | .flex-justify-between {
95 | justify-content: space-between;
96 | }
97 |
98 | .flex-1 {
99 | flex: 1;
100 | }
101 | .flex-end {
102 | align-self: flex-end;
103 | }
104 |
105 | [v-cloak]{
106 | display:none;
107 | }
108 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/widget_dialog_select.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
14 |
15 |
23 |
24 |
28 |
29 |
37 |
38 |
42 |
43 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v24/ic_launcher_foreground.xml:
--------------------------------------------------------------------------------
1 |
7 |
12 |
13 |
19 |
22 |
25 |
26 |
27 |
28 |
34 |
35 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/gradlew.bat:
--------------------------------------------------------------------------------
1 | @if "%DEBUG%" == "" @echo off
2 | @rem ##########################################################################
3 | @rem
4 | @rem Gradle startup script for Windows
5 | @rem
6 | @rem ##########################################################################
7 |
8 | @rem Set local scope for the variables with windows NT shell
9 | if "%OS%"=="Windows_NT" setlocal
10 |
11 | set DIRNAME=%~dp0
12 | if "%DIRNAME%" == "" set DIRNAME=.
13 | set APP_BASE_NAME=%~n0
14 | set APP_HOME=%DIRNAME%
15 |
16 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
17 | set DEFAULT_JVM_OPTS=
18 |
19 | @rem Find java.exe
20 | if defined JAVA_HOME goto findJavaFromJavaHome
21 |
22 | set JAVA_EXE=java.exe
23 | %JAVA_EXE% -version >NUL 2>&1
24 | if "%ERRORLEVEL%" == "0" goto init
25 |
26 | echo.
27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28 | echo.
29 | echo Please set the JAVA_HOME variable in your environment to match the
30 | echo location of your Java installation.
31 |
32 | goto fail
33 |
34 | :findJavaFromJavaHome
35 | set JAVA_HOME=%JAVA_HOME:"=%
36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37 |
38 | if exist "%JAVA_EXE%" goto init
39 |
40 | echo.
41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42 | echo.
43 | echo Please set the JAVA_HOME variable in your environment to match the
44 | echo location of your Java installation.
45 |
46 | goto fail
47 |
48 | :init
49 | @rem Get command-line arguments, handling Windows variants
50 |
51 | if not "%OS%" == "Windows_NT" goto win9xME_args
52 |
53 | :win9xME_args
54 | @rem Slurp the command line arguments.
55 | set CMD_LINE_ARGS=
56 | set _SKIP=2
57 |
58 | :win9xME_args_slurp
59 | if "x%~1" == "x" goto execute
60 |
61 | set CMD_LINE_ARGS=%*
62 |
63 | :execute
64 | @rem Setup the command line
65 |
66 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
67 |
68 | @rem Execute Gradle
69 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
70 |
71 | :end
72 | @rem End local scope for the variables with windows NT shell
73 | if "%ERRORLEVEL%"=="0" goto mainEnd
74 |
75 | :fail
76 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
77 | rem the _cmd.exe /c_ return code!
78 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
79 | exit /b 1
80 |
81 | :mainEnd
82 | if "%OS%"=="Windows_NT" endlocal
83 |
84 | :omega
85 |
--------------------------------------------------------------------------------
/app/src/main/assets/js/index.js:
--------------------------------------------------------------------------------
1 | var vm = new Vue({
2 | el: '#jddk',
3 | data: {
4 | imgs:[],
5 | addShow:true,
6 | mltoast:{
7 | show:false,
8 | text:''
9 | }
10 | },
11 | mounted:function(){
12 | this.login();
13 | },
14 | methods:{
15 | // 选择图片
16 | chooseImg:function(e){
17 | var that = this;
18 | var files = e.target.files;
19 | var imgsLength = this.imgs.length;
20 | var maxLength = 3;
21 | //还可以上传的图片数量
22 | var count = maxLength - imgsLength;
23 | // 限制最多3张
24 | if (imgsLength >= maxLength) {
25 | this.addShow = false;
26 | this.toast('最多上传3张');
27 | }
28 | if(files.length >= 3){
29 | this.addShow = false;
30 | this.toast('最多上传3张');
31 | }
32 | // 有选择图片
33 | if (count != 0) {
34 | if(files.length == 1){
35 | canvasResize(files[0], {
36 | crop: false,
37 | quality: 0.9,
38 | rotate: 0,
39 | callback(baseStr) {
40 | that.imgs.push(baseStr)
41 | }
42 | })
43 | }else{
44 | for (let i = 0; i < count; i++) {
45 | canvasResize(files[i], {
46 | crop: false,
47 | quality: 0.9,
48 | rotate: 0,
49 | callback(baseStr) {
50 | that.imgs.push(baseStr)
51 | }
52 | })
53 | }
54 | }
55 | }
56 | },
57 | // 删除图片
58 | delImg:function(index){
59 | this.imgs.splice(index,1);
60 | this.addShow = true;
61 | },
62 | // 登录
63 | login:function(){
64 |
65 | $.ajax({
66 | url:'http://test.360guanggu.com/xyzl/weixin.php/Index/test?type=1&uid=3',
67 | dataType:'json',
68 | success:function(res){
69 | console.log(res)
70 | },
71 | error:function(){
72 | console.log('error')
73 | }
74 | })
75 | console.log('dddddddddd')
76 | $.ajax({
77 | url: 'http://test.360guanggu.com/xyzl/weixin.php/Member/question_list',
78 | dataType: 'json',
79 | success: function (e) {
80 | console.log(e)
81 | }
82 | })
83 | },
84 | // 上传到后台
85 | submit:function(){
86 |
87 | var that = this;
88 | var form = new FormData();
89 | form.append("type", "1");
90 | form.append("image", that.imgs);
91 | form.append("question", "33333");
92 | form.append("is_anonym", 1);
93 | $.ajax({
94 | url: 'http://test.360guanggu.com/xyzl/weixin.php/Member/question_add',
95 | dataType: 'json',
96 | type:'POST',
97 | data:form,
98 | processData: false,
99 | contentType: false,
100 | success: function (res) {
101 | console.log(res)
102 | },
103 | error: function () {
104 | console.log('error')
105 | }
106 | })
107 |
108 | // axios({
109 | // url: 'http://test.360guanggu.com/xyzl/weixin.php/Member/question_detail',
110 | // method:'post',
111 | // data: {
112 | // type: 1,
113 | // image: that.imgs,
114 | // question:'33333',
115 | // is_anonym:1
116 | // },
117 | // headers: {"Content-Type": "multipart/form-data"}
118 | // })
119 | // .then(function(res) {
120 | // console.log(res)
121 | // })
122 | // .catch(function(error) {
123 | // console.log(error);
124 | // });
125 | },
126 | // toast
127 | // toast:function(text){
128 | // this.mltoast.text = text;
129 | // this.mltoast.show = true;
130 | // setTimeout(() => {
131 | // this.mltoast.show = false;
132 | // }, 1500)
133 | // }
134 |
135 | }
136 | })
--------------------------------------------------------------------------------
/gradlew:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | ##############################################################################
4 | ##
5 | ## Gradle start up script for UN*X
6 | ##
7 | ##############################################################################
8 |
9 | # Attempt to set APP_HOME
10 | # Resolve links: $0 may be a link
11 | PRG="$0"
12 | # Need this for relative symlinks.
13 | while [ -h "$PRG" ] ; do
14 | ls=`ls -ld "$PRG"`
15 | link=`expr "$ls" : '.*-> \(.*\)$'`
16 | if expr "$link" : '/.*' > /dev/null; then
17 | PRG="$link"
18 | else
19 | PRG=`dirname "$PRG"`"/$link"
20 | fi
21 | done
22 | SAVED="`pwd`"
23 | cd "`dirname \"$PRG\"`/" >/dev/null
24 | APP_HOME="`pwd -P`"
25 | cd "$SAVED" >/dev/null
26 |
27 | APP_NAME="Gradle"
28 | APP_BASE_NAME=`basename "$0"`
29 |
30 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
31 | DEFAULT_JVM_OPTS=""
32 |
33 | # Use the maximum available, or set MAX_FD != -1 to use that value.
34 | MAX_FD="maximum"
35 |
36 | warn () {
37 | echo "$*"
38 | }
39 |
40 | die () {
41 | echo
42 | echo "$*"
43 | echo
44 | exit 1
45 | }
46 |
47 | # OS specific support (must be 'true' or 'false').
48 | cygwin=false
49 | msys=false
50 | darwin=false
51 | nonstop=false
52 | case "`uname`" in
53 | CYGWIN* )
54 | cygwin=true
55 | ;;
56 | Darwin* )
57 | darwin=true
58 | ;;
59 | MINGW* )
60 | msys=true
61 | ;;
62 | NONSTOP* )
63 | nonstop=true
64 | ;;
65 | esac
66 |
67 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
68 |
69 | # Determine the Java command to use to start the JVM.
70 | if [ -n "$JAVA_HOME" ] ; then
71 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
72 | # IBM's JDK on AIX uses strange locations for the executables
73 | JAVACMD="$JAVA_HOME/jre/sh/java"
74 | else
75 | JAVACMD="$JAVA_HOME/bin/java"
76 | fi
77 | if [ ! -x "$JAVACMD" ] ; then
78 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
79 |
80 | Please set the JAVA_HOME variable in your environment to match the
81 | location of your Java installation."
82 | fi
83 | else
84 | JAVACMD="java"
85 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
86 |
87 | Please set the JAVA_HOME variable in your environment to match the
88 | location of your Java installation."
89 | fi
90 |
91 | # Increase the maximum file descriptors if we can.
92 | if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
93 | MAX_FD_LIMIT=`ulimit -H -n`
94 | if [ $? -eq 0 ] ; then
95 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
96 | MAX_FD="$MAX_FD_LIMIT"
97 | fi
98 | ulimit -n $MAX_FD
99 | if [ $? -ne 0 ] ; then
100 | warn "Could not set maximum file descriptor limit: $MAX_FD"
101 | fi
102 | else
103 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
104 | fi
105 | fi
106 |
107 | # For Darwin, add options to specify how the application appears in the dock
108 | if $darwin; then
109 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
110 | fi
111 |
112 | # For Cygwin, switch paths to Windows format before running java
113 | if $cygwin ; then
114 | APP_HOME=`cygpath --path --mixed "$APP_HOME"`
115 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
116 | JAVACMD=`cygpath --unix "$JAVACMD"`
117 |
118 | # We build the pattern for arguments to be converted via cygpath
119 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
120 | SEP=""
121 | for dir in $ROOTDIRSRAW ; do
122 | ROOTDIRS="$ROOTDIRS$SEP$dir"
123 | SEP="|"
124 | done
125 | OURCYGPATTERN="(^($ROOTDIRS))"
126 | # Add a user-defined pattern to the cygpath arguments
127 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then
128 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
129 | fi
130 | # Now convert the arguments - kludge to limit ourselves to /bin/sh
131 | i=0
132 | for arg in "$@" ; do
133 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
134 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
135 |
136 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
137 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
138 | else
139 | eval `echo args$i`="\"$arg\""
140 | fi
141 | i=$((i+1))
142 | done
143 | case $i in
144 | (0) set -- ;;
145 | (1) set -- "$args0" ;;
146 | (2) set -- "$args0" "$args1" ;;
147 | (3) set -- "$args0" "$args1" "$args2" ;;
148 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
149 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
150 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
151 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
152 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
153 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
154 | esac
155 | fi
156 |
157 | # Escape application args
158 | save () {
159 | for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
160 | echo " "
161 | }
162 | APP_ARGS=$(save "$@")
163 |
164 | # Collect all arguments for the java command, following the shell quoting and substitution rules
165 | eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
166 |
167 | # by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
168 | if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
169 | cd "$(dirname "$0")"
170 | fi
171 |
172 | exec "$JAVACMD" "$@"
173 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_launcher_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
10 |
15 |
20 |
25 |
30 |
35 |
40 |
45 |
50 |
55 |
60 |
65 |
70 |
75 |
80 |
85 |
90 |
95 |
100 |
105 |
110 |
115 |
120 |
125 |
130 |
135 |
140 |
145 |
150 |
155 |
160 |
165 |
170 |
171 |
--------------------------------------------------------------------------------
/app/src/main/java/com/gfd/h5pic/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package com.gfd.h5pic
2 |
3 | import android.Manifest
4 | import android.annotation.SuppressLint
5 | import android.app.Activity
6 | import android.content.Intent
7 | import android.net.Uri
8 | import android.os.Build
9 | import android.os.Bundle
10 | import android.util.Log
11 | import android.view.View
12 | import android.view.ViewGroup
13 | import android.webkit.*
14 | import android.webkit.WebSettings.LayoutAlgorithm.SINGLE_COLUMN
15 | import androidx.annotation.RequiresApi
16 | import androidx.appcompat.app.AppCompatActivity
17 | import com.gfd.h5pic.PhotoUtils.compressPicture
18 | import com.gfd.h5pic.PhotoUtils.getSdCardDirectory
19 | import com.gfd.h5pic.PhotoUtils.startAlbum
20 | import com.gfd.h5pic.PhotoUtils.startCamera
21 | import com.gfd.h5pic.R.id.mWebView
22 | import kotlinx.android.synthetic.main.activity_main.*
23 | import permissions.dispatcher.NeedsPermission
24 | import permissions.dispatcher.RuntimePermissions
25 | import java.io.File
26 |
27 | @RuntimePermissions
28 | class MainActivity : AppCompatActivity() {
29 |
30 | private var mSelectPhotoDialog: SelectDialog? = null
31 | private var mFilePathCallback: ValueCallback>? = null
32 |
33 | override fun onCreate(savedInstanceState: Bundle?) {
34 | super.onCreate(savedInstanceState)
35 | setContentView(R.layout.activity_main)
36 | initWebView()
37 | mWebView.loadUrl("file:///android_asset/index.html")
38 | }
39 |
40 | @NeedsPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA)
41 | fun applyPermission() {
42 |
43 | }
44 |
45 | override fun onRequestPermissionsResult(requestCode: Int, permissions: Array, grantResults: IntArray) {
46 | super.onRequestPermissionsResult(requestCode, permissions, grantResults)
47 | onRequestPermissionsResult(requestCode, grantResults)
48 |
49 | }
50 |
51 | override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
52 | super.onActivityResult(requestCode, resultCode, data)
53 | if (requestCode == PhotoUtils.RESULT_CODE_CAMERA && resultCode == Activity.RESULT_OK) {
54 | //拍照并确定
55 | compressPicture(PhotoUtils.PATH_PHOTO)
56 | } else if (requestCode == PhotoUtils.RESULT_CODE_PHOTO && resultCode == Activity.RESULT_OK) {
57 | //相册选择并确定
58 | val result = data?.data
59 | val path = result?.let { PhotoUtils.getPath(this, it) }
60 | if (path == null) {
61 | mFilePathCallback?.onReceiveValue(null)
62 | } else {
63 | compressPicture(path)
64 | }
65 | } else {
66 | mFilePathCallback?.onReceiveValue(null)
67 | }
68 | }
69 |
70 | /**
71 | * 压缩图片
72 | */
73 | private fun compressPicture(path: String) {
74 | PhotoUtils.compressPicture(this, path, object : PhotoUtils.OnPictureCompressListener() {
75 | override fun onSuccess(file: File) {
76 | mFilePathCallback?.onReceiveValue(arrayOf(Uri.fromFile(file)))
77 | }
78 |
79 | override fun onError(e: Throwable) {
80 | mFilePathCallback?.onReceiveValue(null)
81 | }
82 | })
83 | }
84 |
85 | @SuppressLint("SetJavaScriptEnabled")
86 | private fun initWebView() {
87 | val settings = mWebView.settings
88 | settings.javaScriptEnabled = true
89 | settings.javaScriptCanOpenWindowsAutomatically = true
90 | //自适应屏幕
91 | settings.layoutAlgorithm = SINGLE_COLUMN
92 | settings.loadWithOverviewMode = true
93 | settings.domStorageEnabled = true
94 | settings.databaseEnabled = true
95 | settings.setSupportZoom(false)
96 | mWebView.isHorizontalScrollBarEnabled = false
97 | mWebView.isVerticalScrollBarEnabled = false
98 | mWebView.webViewClient = webViewClient
99 | mWebView.webChromeClient = webViewChromeClient
100 | }
101 |
102 | private val webViewClient = object : WebViewClient() {
103 |
104 | override fun onPageFinished(view: WebView?, url: String?) {
105 | super.onPageFinished(view, url)
106 | applyPermissionWithPermissionCheck()
107 | }
108 |
109 | @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
110 | override fun shouldOverrideUrlLoading(view: WebView, request: WebResourceRequest): Boolean {
111 | view.loadUrl(request.url.toString())
112 | return true
113 | }
114 | }
115 |
116 | private val webViewChromeClient = object : WebChromeClient() {
117 |
118 | override fun onShowFileChooser(webView: WebView, filePathCallback: ValueCallback>,
119 | fileChooserParams: FileChooserParams): Boolean {
120 | mFilePathCallback = filePathCallback
121 | val acceptTypes = fileChooserParams.acceptTypes
122 | if (acceptTypes.contains("image/*")) {
123 | showSelectDialog()
124 | }
125 | return true
126 | }
127 | }
128 |
129 | /**
130 | * 显示相册/拍照选择对话框
131 | */
132 | private fun showSelectDialog() {
133 | if (mSelectPhotoDialog == null) {
134 | mSelectPhotoDialog = SelectDialog(this, View.OnClickListener { view ->
135 | when (view.id) {
136 | R.id.tv_camera -> startCamera()
137 | R.id.tv_photo -> startAlbum()
138 | //不管选择还是不选择,必须有返回结果,否则就会调用一次
139 | R.id.tv_cancel -> {
140 | mFilePathCallback?.onReceiveValue(null)
141 | mFilePathCallback = null
142 | }
143 | }
144 | })
145 | }
146 | mSelectPhotoDialog?.show()
147 | }
148 |
149 | /**
150 | * 打开相册
151 | */
152 | private fun startAlbum() {
153 | PhotoUtils.startAlbum(this)
154 | }
155 |
156 | /**
157 | * 拍照
158 | */
159 | @NeedsPermission(Manifest.permission.CAMERA)
160 | fun startCamera() {
161 | PhotoUtils.startCamera(this)
162 | }
163 |
164 | override fun onDestroy() {
165 | if (mWebView != null) {
166 | val parent = this.parent
167 | if (parent != null) {
168 | (parent as ViewGroup).removeView(mWebView)
169 | }
170 | mWebView.stopLoading()
171 | mWebView.onPause()
172 | mWebView.settings.javaScriptEnabled = false
173 | mWebView.clearHistory()
174 | mWebView.clearView()
175 | mWebView.removeAllViews()
176 | mWebView.destroy()
177 | }
178 | super.onDestroy()
179 | }
180 | }
181 |
--------------------------------------------------------------------------------
/app/src/main/java/com/gfd/h5pic/PhotoUtils.kt:
--------------------------------------------------------------------------------
1 | package com.gfd.h5pic
2 |
3 | import android.app.Activity
4 | import android.content.ContentUris
5 | import android.content.Context
6 | import android.content.Intent
7 | import android.database.Cursor
8 | import android.net.Uri
9 | import android.os.Build
10 | import android.os.Environment
11 | import android.provider.DocumentsContract
12 | import android.provider.MediaStore
13 | import android.text.TextUtils
14 | import androidx.annotation.RequiresApi
15 | import androidx.core.content.FileProvider
16 | import top.zibin.luban.Luban
17 | import top.zibin.luban.OnCompressListener
18 | import java.io.File
19 |
20 |
21 | /**
22 | * @Author :郭富东
23 | * @Date:2019/2/1:10:37
24 | * @Email:878749089@qq.com
25 | * @descriptio:
26 | */
27 | object PhotoUtils {
28 |
29 | const val RESULT_CODE_CAMERA = 0x02
30 | const val RESULT_CODE_PHOTO = 0x04
31 |
32 | lateinit var PATH_PHOTO: String
33 |
34 | /**
35 | * 拍照
36 | * @param context Activity
37 | */
38 | fun startCamera(context: Activity) {
39 | val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
40 | PATH_PHOTO = getSdCardDirectory(context) + "/temp.png"
41 | val temp = File(PATH_PHOTO)
42 | if (!temp.parentFile.exists()) {
43 | temp.parentFile.mkdirs()
44 | }
45 | if (temp.exists()) {
46 | temp.delete()
47 | }
48 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
49 | //添加这一句表示对目标应用临时授权该Uri所代表的文件
50 | intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
51 | intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION)
52 | // 通过FileProvider创建一个content类型的Uri
53 | val uri: Uri = FileProvider.getUriForFile(context, context.packageName + ".fileprovider", temp)
54 | intent.putExtra(MediaStore.EXTRA_OUTPUT, uri)
55 | } else {
56 | intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(temp))
57 | }
58 | context.startActivityForResult(intent, RESULT_CODE_CAMERA)
59 | }
60 |
61 | /**
62 | * 打开相册
63 | * @param context Activity
64 | */
65 | fun startAlbum(context: Activity) {
66 | val albumIntent = Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI)
67 | albumIntent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
68 | albumIntent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*")
69 | context.startActivityForResult(albumIntent, RESULT_CODE_PHOTO)
70 | }
71 |
72 | abstract class OnPictureCompressListener {
73 | fun onStart() {}
74 | abstract fun onSuccess(file: File)
75 | abstract fun onError(e: Throwable)
76 | }
77 |
78 | /**
79 | * 压缩图片
80 | * @param context Context
81 | * @param path String
82 | * @param listener OnPictureCompressListener?
83 | */
84 | fun compressPicture(context: Context, path: String, listener: OnPictureCompressListener?) {
85 | Luban.with(context)
86 | .load(path)
87 | .ignoreBy(100)
88 | .setTargetDir(getSdCardDirectory(context))
89 | .filter { path -> !(TextUtils.isEmpty(path) || path.toLowerCase().endsWith(".gif")) }
90 | .setCompressListener(object : OnCompressListener {
91 | override fun onStart() {
92 | //压缩开始前调用,可以在方法内启动 loading UI
93 | listener?.onStart()
94 | }
95 |
96 | override fun onSuccess(file: File) {
97 | //压缩成功后调用,返回压缩后的图片文件
98 | listener?.onSuccess(file)
99 | }
100 |
101 | override fun onError(e: Throwable) {
102 | //当压缩过程出现问题时调用
103 | listener?.onError(e)
104 | }
105 | }).launch()
106 | }
107 |
108 | fun getSdCardDirectory(context: Context): String {
109 | var sdDir: File? = null
110 | if (Environment.getExternalStorageState() == Environment.MEDIA_MOUNTED) {
111 | sdDir = Environment.getExternalStorageDirectory()
112 | } else {
113 | sdDir = context.cacheDir
114 | }
115 | val cacheDir = File(sdDir, "h5pic")
116 | if (!cacheDir.exists()) {
117 | cacheDir.mkdirs()
118 | }
119 | return cacheDir.path
120 | }
121 |
122 | @RequiresApi(Build.VERSION_CODES.KITKAT)
123 | fun getPath(context: Context, uri: Uri): String? {
124 | val isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT
125 | // DocumentProvider
126 | if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) {
127 | // ExternalStorageProvider
128 | if (isExternalStorageDocument(uri)) {
129 | val docId = DocumentsContract.getDocumentId(uri)
130 | val split = docId.split(":".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()
131 | val type = split[0]
132 | if ("primary".equals(type, ignoreCase = true)) {
133 | return Environment.getExternalStorageDirectory().path + "/" + split[1]
134 | }
135 | } else if (isDownloadsDocument(uri)) {
136 | val id = DocumentsContract.getDocumentId(uri)
137 | val contentUri = ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"), java.lang.Long.valueOf(id))
138 | return getDataColumn(context, contentUri, null, null)
139 | } else if (isMediaDocument(uri)) {
140 | val docId = DocumentsContract.getDocumentId(uri)
141 | val split = docId.split(":".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()
142 | val type = split[0]
143 |
144 | var contentUri: Uri? = null
145 | if ("image" == type) {
146 | contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI
147 | } else if ("video" == type) {
148 | contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI
149 | } else if ("audio" == type) {
150 | contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI
151 | }
152 |
153 | val selection = "_id=?"
154 | val selectionArgs = arrayOf(split[1])
155 |
156 | return getDataColumn(context, contentUri, selection, selectionArgs)
157 | }
158 | } else if ("content".equals(uri.scheme, ignoreCase = true)) {
159 | return getDataColumn(context, uri, null, null)
160 | } else if ("file".equals(uri.scheme, ignoreCase = true)) {
161 | return uri.path
162 | }
163 | return null
164 | }
165 |
166 | private fun getDataColumn(context: Context, uri: Uri?, selection: String?, selectionArgs: Array?): String? {
167 | var cursor: Cursor? = null
168 | val column = "_data"
169 | val projection = arrayOf(column)
170 |
171 | try {
172 | cursor = context.contentResolver.query(uri, projection, selection, selectionArgs, null)
173 | if (cursor != null && cursor.moveToFirst()) {
174 | val columnIndex = cursor.getColumnIndexOrThrow(column)
175 | return cursor?.getString(columnIndex)
176 | }
177 | } finally {
178 | if (cursor != null) cursor!!.close()
179 | }
180 | return null
181 | }
182 |
183 |
184 | /**
185 | * @param uri The Uri to check.
186 | * @return Whether the Uri authority is ExternalStorageProvider.
187 | */
188 | private fun isExternalStorageDocument(uri: Uri): Boolean {
189 | return "com.android.externalstorage.documents" == uri.authority
190 | }
191 |
192 |
193 | /**
194 | * @param uri The Uri to check.
195 | * @return Whether the Uri authority is DownloadsProvider.
196 | */
197 | private fun isDownloadsDocument(uri: Uri): Boolean {
198 | return "com.android.providers.downloads.documents" == uri.authority
199 | }
200 |
201 |
202 | /**
203 | * @param uri The Uri to check.
204 | * @return Whether the Uri authority is MediaProvider.
205 | */
206 | private fun isMediaDocument(uri: Uri): Boolean {
207 | return "com.android.providers.media.documents" == uri.authority
208 | }
209 | }
--------------------------------------------------------------------------------
/app/src/main/assets/lib/vue/axios.min.js:
--------------------------------------------------------------------------------
1 | /* axios v0.18.0 | (c) 2018 by Matt Zabriskie */
2 | !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.axios=t():e.axios=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){"use strict";function r(e){var t=new s(e),n=i(s.prototype.request,t);return o.extend(n,s.prototype,t),o.extend(n,t),n}var o=n(2),i=n(3),s=n(5),u=n(6),a=r(u);a.Axios=s,a.create=function(e){return r(o.merge(u,e))},a.Cancel=n(23),a.CancelToken=n(24),a.isCancel=n(20),a.all=function(e){return Promise.all(e)},a.spread=n(25),e.exports=a,e.exports.default=a},function(e,t,n){"use strict";function r(e){return"[object Array]"===R.call(e)}function o(e){return"[object ArrayBuffer]"===R.call(e)}function i(e){return"undefined"!=typeof FormData&&e instanceof FormData}function s(e){var t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer}function u(e){return"string"==typeof e}function a(e){return"number"==typeof e}function c(e){return"undefined"==typeof e}function f(e){return null!==e&&"object"==typeof e}function p(e){return"[object Date]"===R.call(e)}function d(e){return"[object File]"===R.call(e)}function l(e){return"[object Blob]"===R.call(e)}function h(e){return"[object Function]"===R.call(e)}function m(e){return f(e)&&h(e.pipe)}function y(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams}function w(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}function g(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)}function v(e,t){if(null!==e&&"undefined"!=typeof e)if("object"!=typeof e&&(e=[e]),r(e))for(var n=0,o=e.length;n
6 | * @license MIT
7 | */
8 | e.exports=function(e){return null!=e&&(n(e)||r(e)||!!e._isBuffer)}},function(e,t,n){"use strict";function r(e){this.defaults=e,this.interceptors={request:new s,response:new s}}var o=n(6),i=n(2),s=n(17),u=n(18);r.prototype.request=function(e){"string"==typeof e&&(e=i.merge({url:arguments[0]},arguments[1])),e=i.merge(o,{method:"get"},this.defaults,e),e.method=e.method.toLowerCase();var t=[u,void 0],n=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){t.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){t.push(e.fulfilled,e.rejected)});t.length;)n=n.then(t.shift(),t.shift());return n},i.forEach(["delete","get","head","options"],function(e){r.prototype[e]=function(t,n){return this.request(i.merge(n||{},{method:e,url:t}))}}),i.forEach(["post","put","patch"],function(e){r.prototype[e]=function(t,n,r){return this.request(i.merge(r||{},{method:e,url:t,data:n}))}}),e.exports=r},function(e,t,n){"use strict";function r(e,t){!i.isUndefined(e)&&i.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}function o(){var e;return"undefined"!=typeof XMLHttpRequest?e=n(8):"undefined"!=typeof process&&(e=n(8)),e}var i=n(2),s=n(7),u={"Content-Type":"application/x-www-form-urlencoded"},a={adapter:o(),transformRequest:[function(e,t){return s(t,"Content-Type"),i.isFormData(e)||i.isArrayBuffer(e)||i.isBuffer(e)||i.isStream(e)||i.isFile(e)||i.isBlob(e)?e:i.isArrayBufferView(e)?e.buffer:i.isURLSearchParams(e)?(r(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):i.isObject(e)?(r(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(e){return e>=200&&e<300}};a.headers={common:{Accept:"application/json, text/plain, */*"}},i.forEach(["delete","get","head"],function(e){a.headers[e]={}}),i.forEach(["post","put","patch"],function(e){a.headers[e]=i.merge(u)}),e.exports=a},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t){r.forEach(e,function(n,r){r!==t&&r.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[r])})}},function(e,t,n){"use strict";var r=n(2),o=n(9),i=n(12),s=n(13),u=n(14),a=n(10),c="undefined"!=typeof window&&window.btoa&&window.btoa.bind(window)||n(15);e.exports=function(e){return new Promise(function(t,f){var p=e.data,d=e.headers;r.isFormData(p)&&delete d["Content-Type"];var l=new XMLHttpRequest,h="onreadystatechange",m=!1;if("undefined"==typeof window||!window.XDomainRequest||"withCredentials"in l||u(e.url)||(l=new window.XDomainRequest,h="onload",m=!0,l.onprogress=function(){},l.ontimeout=function(){}),e.auth){var y=e.auth.username||"",w=e.auth.password||"";d.Authorization="Basic "+c(y+":"+w)}if(l.open(e.method.toUpperCase(),i(e.url,e.params,e.paramsSerializer),!0),l.timeout=e.timeout,l[h]=function(){if(l&&(4===l.readyState||m)&&(0!==l.status||l.responseURL&&0===l.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in l?s(l.getAllResponseHeaders()):null,r=e.responseType&&"text"!==e.responseType?l.response:l.responseText,i={data:r,status:1223===l.status?204:l.status,statusText:1223===l.status?"No Content":l.statusText,headers:n,config:e,request:l};o(t,f,i),l=null}},l.onerror=function(){f(a("Network Error",e,null,l)),l=null},l.ontimeout=function(){f(a("timeout of "+e.timeout+"ms exceeded",e,"ECONNABORTED",l)),l=null},r.isStandardBrowserEnv()){var g=n(16),v=(e.withCredentials||u(e.url))&&e.xsrfCookieName?g.read(e.xsrfCookieName):void 0;v&&(d[e.xsrfHeaderName]=v)}if("setRequestHeader"in l&&r.forEach(d,function(e,t){"undefined"==typeof p&&"content-type"===t.toLowerCase()?delete d[t]:l.setRequestHeader(t,e)}),e.withCredentials&&(l.withCredentials=!0),e.responseType)try{l.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&l.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&l.upload&&l.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){l&&(l.abort(),f(e),l=null)}),void 0===p&&(p=null),l.send(p)})}},function(e,t,n){"use strict";var r=n(10);e.exports=function(e,t,n){var o=n.config.validateStatus;n.status&&o&&!o(n.status)?t(r("Request failed with status code "+n.status,n.config,null,n.request,n)):e(n)}},function(e,t,n){"use strict";var r=n(11);e.exports=function(e,t,n,o,i){var s=new Error(e);return r(s,t,n,o,i)}},function(e,t){"use strict";e.exports=function(e,t,n,r,o){return e.config=t,n&&(e.code=n),e.request=r,e.response=o,e}},function(e,t,n){"use strict";function r(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var o=n(2);e.exports=function(e,t,n){if(!t)return e;var i;if(n)i=n(t);else if(o.isURLSearchParams(t))i=t.toString();else{var s=[];o.forEach(t,function(e,t){null!==e&&"undefined"!=typeof e&&(o.isArray(e)?t+="[]":e=[e],o.forEach(e,function(e){o.isDate(e)?e=e.toISOString():o.isObject(e)&&(e=JSON.stringify(e)),s.push(r(t)+"="+r(e))}))}),i=s.join("&")}return i&&(e+=(e.indexOf("?")===-1?"?":"&")+i),e}},function(e,t,n){"use strict";var r=n(2),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,n,i,s={};return e?(r.forEach(e.split("\n"),function(e){if(i=e.indexOf(":"),t=r.trim(e.substr(0,i)).toLowerCase(),n=r.trim(e.substr(i+1)),t){if(s[t]&&o.indexOf(t)>=0)return;"set-cookie"===t?s[t]=(s[t]?s[t]:[]).concat([n]):s[t]=s[t]?s[t]+", "+n:n}}),s):s}},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?function(){function e(e){var t=e;return n&&(o.setAttribute("href",t),t=o.href),o.setAttribute("href",t),{href:o.href,protocol:o.protocol?o.protocol.replace(/:$/,""):"",host:o.host,search:o.search?o.search.replace(/^\?/,""):"",hash:o.hash?o.hash.replace(/^#/,""):"",hostname:o.hostname,port:o.port,pathname:"/"===o.pathname.charAt(0)?o.pathname:"/"+o.pathname}}var t,n=/(msie|trident)/i.test(navigator.userAgent),o=document.createElement("a");return t=e(window.location.href),function(n){var o=r.isString(n)?e(n):n;return o.protocol===t.protocol&&o.host===t.host}}():function(){return function(){return!0}}()},function(e,t){"use strict";function n(){this.message="String contains an invalid character"}function r(e){for(var t,r,i=String(e),s="",u=0,a=o;i.charAt(0|u)||(a="=",u%1);s+=a.charAt(63&t>>8-u%1*8)){if(r=i.charCodeAt(u+=.75),r>255)throw new n;t=t<<8|r}return s}var o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";n.prototype=new Error,n.prototype.code=5,n.prototype.name="InvalidCharacterError",e.exports=r},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?function(){return{write:function(e,t,n,o,i,s){var u=[];u.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&u.push("expires="+new Date(n).toGMTString()),r.isString(o)&&u.push("path="+o),r.isString(i)&&u.push("domain="+i),s===!0&&u.push("secure"),document.cookie=u.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},function(e,t,n){"use strict";function r(){this.handlers=[]}var o=n(2);r.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},r.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},r.prototype.forEach=function(e){o.forEach(this.handlers,function(t){null!==t&&e(t)})},e.exports=r},function(e,t,n){"use strict";function r(e){e.cancelToken&&e.cancelToken.throwIfRequested()}var o=n(2),i=n(19),s=n(20),u=n(6),a=n(21),c=n(22);e.exports=function(e){r(e),e.baseURL&&!a(e.url)&&(e.url=c(e.baseURL,e.url)),e.headers=e.headers||{},e.data=i(e.data,e.headers,e.transformRequest),e.headers=o.merge(e.headers.common||{},e.headers[e.method]||{},e.headers||{}),o.forEach(["delete","get","head","post","put","patch","common"],function(t){delete e.headers[t]});var t=e.adapter||u.adapter;return t(e).then(function(t){return r(e),t.data=i(t.data,t.headers,e.transformResponse),t},function(t){return s(t)||(r(e),t&&t.response&&(t.response.data=i(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)})}},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t,n){return r.forEach(n,function(n){e=n(e,t)}),e}},function(e,t){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},function(e,t){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},function(e,t){"use strict";function n(e){this.message=e}n.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},n.prototype.__CANCEL__=!0,e.exports=n},function(e,t,n){"use strict";function r(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(e){t=e});var n=this;e(function(e){n.reason||(n.reason=new o(e),t(n.reason))})}var o=n(23);r.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},r.source=function(){var e,t=new r(function(t){e=t});return{token:t,cancel:e}},e.exports=r},function(e,t){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}}])});
9 | //# sourceMappingURL=axios.min.map
--------------------------------------------------------------------------------
/app/src/main/assets/lib/canvasResize/canvasResize.min.js:
--------------------------------------------------------------------------------
1 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.canvasResize=t()}(this,function(){"use strict";var g=function(e,t,n){var o=e,i=t||0,r=0;this.getRawData=function(){return o},"string"==typeof e?(r=n||o.length,this.getByteAt=function(e){return 255&o.charCodeAt(e+i)},this.getBytesAt=function(e,t){for(var n=[],r=0;r\r\nFunction IEBinary_getByteAt(strBinary, iOffset)\r\n\tIEBinary_getByteAt = AscB(MidB(strBinary, iOffset + 1, 1))\r\nEnd Function\r\nFunction IEBinary_getBytesAt(strBinary, iOffset, iLength)\r\n Dim aBytes()\r\n ReDim aBytes(iLength - 1)\r\n For i = 0 To iLength - 1\r\n aBytes(i) = IEBinary_getByteAt(strBinary, iOffset + i)\r\n Next\r\n IEBinary_getBytesAt = aBytes\r\nEnd Function\r\nFunction IEBinary_getLength(strBinary)\r\n\tIEBinary_getLength = LenB(strBinary)\r\nEnd Function\r\n<\/script>\r\n"),window.EXIF=function(){var d=!1,u={36864:"ExifVersion",40960:"FlashpixVersion",40961:"ColorSpace",40962:"PixelXDimension",40963:"PixelYDimension",37121:"ComponentsConfiguration",37122:"CompressedBitsPerPixel",37500:"MakerNote",37510:"UserComment",40964:"RelatedSoundFile",36867:"DateTimeOriginal",36868:"DateTimeDigitized",37520:"SubsecTime",37521:"SubsecTimeOriginal",37522:"SubsecTimeDigitized",33434:"ExposureTime",33437:"FNumber",34850:"ExposureProgram",34852:"SpectralSensitivity",34855:"ISOSpeedRatings",34856:"OECF",37377:"ShutterSpeedValue",37378:"ApertureValue",37379:"BrightnessValue",37380:"ExposureBias",37381:"MaxApertureValue",37382:"SubjectDistance",37383:"MeteringMode",37384:"LightSource",37385:"Flash",37396:"SubjectArea",37386:"FocalLength",41483:"FlashEnergy",41484:"SpatialFrequencyResponse",41486:"FocalPlaneXResolution",41487:"FocalPlaneYResolution",41488:"FocalPlaneResolutionUnit",41492:"SubjectLocation",41493:"ExposureIndex",41495:"SensingMethod",41728:"FileSource",41729:"SceneType",41730:"CFAPattern",41985:"CustomRendered",41986:"ExposureMode",41987:"WhiteBalance",41988:"DigitalZoomRation",41989:"FocalLengthIn35mmFilm",41990:"SceneCaptureType",41991:"GainControl",41992:"Contrast",41993:"Saturation",41994:"Sharpness",41995:"DeviceSettingDescription",41996:"SubjectDistanceRange",40965:"InteroperabilityIFDPointer",42016:"ImageUniqueID"},c={256:"ImageWidth",257:"ImageHeight",34665:"ExifIFDPointer",34853:"GPSInfoIFDPointer",40965:"InteroperabilityIFDPointer",258:"BitsPerSample",259:"Compression",262:"PhotometricInterpretation",274:"Orientation",277:"SamplesPerPixel",284:"PlanarConfiguration",530:"YCbCrSubSampling",531:"YCbCrPositioning",282:"XResolution",283:"YResolution",296:"ResolutionUnit",273:"StripOffsets",278:"RowsPerStrip",279:"StripByteCounts",513:"JPEGInterchangeFormat",514:"JPEGInterchangeFormatLength",301:"TransferFunction",318:"WhitePoint",319:"PrimaryChromaticities",529:"YCbCrCoefficients",532:"ReferenceBlackWhite",306:"DateTime",270:"ImageDescription",271:"Make",272:"Model",305:"Software",315:"Artist",33432:"Copyright"},g={0:"GPSVersionID",1:"GPSLatitudeRef",2:"GPSLatitude",3:"GPSLongitudeRef",4:"GPSLongitude",5:"GPSAltitudeRef",6:"GPSAltitude",7:"GPSTimeStamp",8:"GPSSatellites",9:"GPSStatus",10:"GPSMeasureMode",11:"GPSDOP",12:"GPSSpeedRef",13:"GPSSpeed",14:"GPSTrackRef",15:"GPSTrack",16:"GPSImgDirectionRef",17:"GPSImgDirection",18:"GPSMapDatum",19:"GPSDestLatitudeRef",20:"GPSDestLatitude",21:"GPSDestLongitudeRef",22:"GPSDestLongitude",23:"GPSDestBearingRef",24:"GPSDestBearing",25:"GPSDestDistanceRef",26:"GPSDestDistance",27:"GPSProcessingMethod",28:"GPSAreaInformation",29:"GPSDateStamp",30:"GPSDifferential"},l={ExposureProgram:{0:"Not defined",1:"Manual",2:"Normal program",3:"Aperture priority",4:"Shutter priority",5:"Creative program",6:"Action program",7:"Portrait mode",8:"Landscape mode"},MeteringMode:{0:"Unknown",1:"Average",2:"CenterWeightedAverage",3:"Spot",4:"MultiSpot",5:"Pattern",6:"Partial",255:"Other"},LightSource:{0:"Unknown",1:"Daylight",2:"Fluorescent",3:"Tungsten (incandescent light)",4:"Flash",9:"Fine weather",10:"Cloudy weather",11:"Shade",12:"Daylight fluorescent (D 5700 - 7100K)",13:"Day white fluorescent (N 4600 - 5400K)",14:"Cool white fluorescent (W 3900 - 4500K)",15:"White fluorescent (WW 3200 - 3700K)",17:"Standard light A",18:"Standard light B",19:"Standard light C",20:"D55",21:"D65",22:"D75",23:"D50",24:"ISO studio tungsten",255:"Other"},Flash:{0:"Flash did not fire",1:"Flash fired",5:"Strobe return light not detected",7:"Strobe return light detected",9:"Flash fired, compulsory flash mode",13:"Flash fired, compulsory flash mode, return light not detected",15:"Flash fired, compulsory flash mode, return light detected",16:"Flash did not fire, compulsory flash mode",24:"Flash did not fire, auto mode",25:"Flash fired, auto mode",29:"Flash fired, auto mode, return light not detected",31:"Flash fired, auto mode, return light detected",32:"No flash function",65:"Flash fired, red-eye reduction mode",69:"Flash fired, red-eye reduction mode, return light not detected",71:"Flash fired, red-eye reduction mode, return light detected",73:"Flash fired, compulsory flash mode, red-eye reduction mode",77:"Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected",79:"Flash fired, compulsory flash mode, red-eye reduction mode, return light detected",89:"Flash fired, auto mode, red-eye reduction mode",93:"Flash fired, auto mode, return light not detected, red-eye reduction mode",95:"Flash fired, auto mode, return light detected, red-eye reduction mode"},SensingMethod:{1:"Not defined",2:"One-chip color area sensor",3:"Two-chip color area sensor",4:"Three-chip color area sensor",5:"Color sequential area sensor",7:"Trilinear sensor",8:"Color sequential linear sensor"},SceneCaptureType:{0:"Standard",1:"Landscape",2:"Portrait",3:"Night scene"},SceneType:{1:"Directly photographed"},CustomRendered:{0:"Normal process",1:"Custom process"},WhiteBalance:{0:"Auto white balance",1:"Manual white balance"},GainControl:{0:"None",1:"Low gain up",2:"High gain up",3:"Low gain down",4:"High gain down"},Contrast:{0:"Normal",1:"Soft",2:"Hard"},Saturation:{0:"Normal",1:"Low saturation",2:"High saturation"},Sharpness:{0:"Normal",1:"Soft",2:"Hard"},SubjectDistanceRange:{0:"Unknown",1:"Macro",2:"Close view",3:"Distant view"},FileSource:{3:"DSC"},Components:{0:"",1:"Y",2:"Cb",3:"Cr",4:"R",5:"G",6:"B"}};function o(e){return!!e.exifdata}function i(e){if(255!=e.getByteAt(0)||216!=e.getByteAt(1))return!1;for(var t,n=2,r=e.getLength();n>0:o&&a<=n/r?(t=(e=n)/a>>0,i="w"):(e=r*a>>0,t=r)}return{width:e,height:t,cropped:i}},dataURLtoBlob:function(e){for(var t=e.split(",")[0].split(":")[1].split(";")[0],n=atob(e.split(",")[1]),r=new ArrayBuffer(n.length),o=new Uint8Array(r),i=0;i>1}var c=u/n;return 0===c?1:c},callback:function(e){return e},extend:function(){var e,t=arguments[0]||{},n=1,r=arguments.length,o=!1;for(t.constructor===Boolean&&(o=t,t=arguments[1]||{}),1===r&&(t=this,n=0);nL?B.toDataURL("image/jpeg",R):F;I.options.callback(C,B.width,B.height)},D.src=F},t.readAsDataURL(e)}},window.canvasResize=function(e,t){if("string"==typeof e)return x[e](t);new r(e,t)}}(window),canvasResize});
2 |
--------------------------------------------------------------------------------
/app/src/main/assets/lib/vue/vue.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * Vue.js v2.5.17
3 | * (c) 2014-2018 Evan You
4 | * Released under the MIT License.
5 | */
6 | !function (e, t) { "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : e.Vue = t() }(this, function () { "use strict"; var y = Object.freeze({}); function M(e) { return null == e } function D(e) { return null != e } function S(e) { return !0 === e } function T(e) { return "string" == typeof e || "number" == typeof e || "symbol" == typeof e || "boolean" == typeof e } function P(e) { return null !== e && "object" == typeof e } var r = Object.prototype.toString; function l(e) { return "[object Object]" === r.call(e) } function i(e) { var t = parseFloat(String(e)); return 0 <= t && Math.floor(t) === t && isFinite(e) } function t(e) { return null == e ? "" : "object" == typeof e ? JSON.stringify(e, null, 2) : String(e) } function F(e) { var t = parseFloat(e); return isNaN(t) ? e : t } function s(e, t) { for (var n = Object.create(null), r = e.split(","), i = 0; i < r.length; i++)n[r[i]] = !0; return t ? function (e) { return n[e.toLowerCase()] } : function (e) { return n[e] } } var c = s("slot,component", !0), u = s("key,ref,slot,slot-scope,is"); function f(e, t) { if (e.length) { var n = e.indexOf(t); if (-1 < n) return e.splice(n, 1) } } var n = Object.prototype.hasOwnProperty; function p(e, t) { return n.call(e, t) } function e(t) { var n = Object.create(null); return function (e) { return n[e] || (n[e] = t(e)) } } var o = /-(\w)/g, g = e(function (e) { return e.replace(o, function (e, t) { return t ? t.toUpperCase() : "" }) }), d = e(function (e) { return e.charAt(0).toUpperCase() + e.slice(1) }), a = /\B([A-Z])/g, _ = e(function (e) { return e.replace(a, "-$1").toLowerCase() }); var v = Function.prototype.bind ? function (e, t) { return e.bind(t) } : function (n, r) { function e(e) { var t = arguments.length; return t ? 1 < t ? n.apply(r, arguments) : n.call(r, e) : n.call(r) } return e._length = n.length, e }; function h(e, t) { t = t || 0; for (var n = e.length - t, r = new Array(n); n--;)r[n] = e[n + t]; return r } function m(e, t) { for (var n in t) e[n] = t[n]; return e } function b(e) { for (var t = {}, n = 0; n < e.length; n++)e[n] && m(t, e[n]); return t } function $(e, t, n) { } var O = function (e, t, n) { return !1 }, w = function (e) { return e }; function C(t, n) { if (t === n) return !0; var e = P(t), r = P(n); if (!e || !r) return !e && !r && String(t) === String(n); try { var i = Array.isArray(t), o = Array.isArray(n); if (i && o) return t.length === n.length && t.every(function (e, t) { return C(e, n[t]) }); if (i || o) return !1; var a = Object.keys(t), s = Object.keys(n); return a.length === s.length && a.every(function (e) { return C(t[e], n[e]) }) } catch (e) { return !1 } } function x(e, t) { for (var n = 0; n < e.length; n++)if (C(e[n], t)) return n; return -1 } function R(e) { var t = !1; return function () { t || (t = !0, e.apply(this, arguments)) } } var E = "data-server-rendered", k = ["component", "directive", "filter"], A = ["beforeCreate", "created", "beforeMount", "mounted", "beforeUpdate", "updated", "beforeDestroy", "destroyed", "activated", "deactivated", "errorCaptured"], j = { optionMergeStrategies: Object.create(null), silent: !1, productionTip: !1, devtools: !1, performance: !1, errorHandler: null, warnHandler: null, ignoredElements: [], keyCodes: Object.create(null), isReservedTag: O, isReservedAttr: O, isUnknownElement: O, getTagNamespace: $, parsePlatformTagName: w, mustUseProp: O, _lifecycleHooks: A }; function N(e, t, n, r) { Object.defineProperty(e, t, { value: n, enumerable: !!r, writable: !0, configurable: !0 }) } var L = /[^\w.$]/; var I, H = "__proto__" in {}, B = "undefined" != typeof window, U = "undefined" != typeof WXEnvironment && !!WXEnvironment.platform, V = U && WXEnvironment.platform.toLowerCase(), z = B && window.navigator.userAgent.toLowerCase(), K = z && /msie|trident/.test(z), J = z && 0 < z.indexOf("msie 9.0"), q = z && 0 < z.indexOf("edge/"), W = (z && z.indexOf("android"), z && /iphone|ipad|ipod|ios/.test(z) || "ios" === V), G = (z && /chrome\/\d+/.test(z), {}.watch), Z = !1; if (B) try { var X = {}; Object.defineProperty(X, "passive", { get: function () { Z = !0 } }), window.addEventListener("test-passive", null, X) } catch (e) { } var Y = function () { return void 0 === I && (I = !B && !U && "undefined" != typeof global && "server" === global.process.env.VUE_ENV), I }, Q = B && window.__VUE_DEVTOOLS_GLOBAL_HOOK__; function ee(e) { return "function" == typeof e && /native code/.test(e.toString()) } var te, ne = "undefined" != typeof Symbol && ee(Symbol) && "undefined" != typeof Reflect && ee(Reflect.ownKeys); te = "undefined" != typeof Set && ee(Set) ? Set : function () { function e() { this.set = Object.create(null) } return e.prototype.has = function (e) { return !0 === this.set[e] }, e.prototype.add = function (e) { this.set[e] = !0 }, e.prototype.clear = function () { this.set = Object.create(null) }, e }(); var re = $, ie = 0, oe = function () { this.id = ie++ , this.subs = [] }; oe.prototype.addSub = function (e) { this.subs.push(e) }, oe.prototype.removeSub = function (e) { f(this.subs, e) }, oe.prototype.depend = function () { oe.target && oe.target.addDep(this) }, oe.prototype.notify = function () { for (var e = this.subs.slice(), t = 0, n = e.length; t < n; t++)e[t].update() }, oe.target = null; var ae = []; function se(e) { oe.target && ae.push(oe.target), oe.target = e } function ce() { oe.target = ae.pop() } var le = function (e, t, n, r, i, o, a, s) { this.tag = e, this.data = t, this.children = n, this.text = r, this.elm = i, this.ns = void 0, this.context = o, this.fnContext = void 0, this.fnOptions = void 0, this.fnScopeId = void 0, this.key = t && t.key, this.componentOptions = a, this.componentInstance = void 0, this.parent = void 0, this.raw = !1, this.isStatic = !1, this.isRootInsert = !0, this.isComment = !1, this.isCloned = !1, this.isOnce = !1, this.asyncFactory = s, this.asyncMeta = void 0, this.isAsyncPlaceholder = !1 }, ue = { child: { configurable: !0 } }; ue.child.get = function () { return this.componentInstance }, Object.defineProperties(le.prototype, ue); var fe = function (e) { void 0 === e && (e = ""); var t = new le; return t.text = e, t.isComment = !0, t }; function pe(e) { return new le(void 0, void 0, void 0, String(e)) } function de(e) { var t = new le(e.tag, e.data, e.children, e.text, e.elm, e.context, e.componentOptions, e.asyncFactory); return t.ns = e.ns, t.isStatic = e.isStatic, t.key = e.key, t.isComment = e.isComment, t.fnContext = e.fnContext, t.fnOptions = e.fnOptions, t.fnScopeId = e.fnScopeId, t.isCloned = !0, t } var ve = Array.prototype, he = Object.create(ve);["push", "pop", "shift", "unshift", "splice", "sort", "reverse"].forEach(function (o) { var a = ve[o]; N(he, o, function () { for (var e = [], t = arguments.length; t--;)e[t] = arguments[t]; var n, r = a.apply(this, e), i = this.__ob__; switch (o) { case "push": case "unshift": n = e; break; case "splice": n = e.slice(2) }return n && i.observeArray(n), i.dep.notify(), r }) }); var me = Object.getOwnPropertyNames(he), ye = !0; function ge(e) { ye = e } var _e = function (e) { (this.value = e, this.dep = new oe, this.vmCount = 0, N(e, "__ob__", this), Array.isArray(e)) ? ((H ? be : $e)(e, he, me), this.observeArray(e)) : this.walk(e) }; function be(e, t, n) { e.__proto__ = t } function $e(e, t, n) { for (var r = 0, i = n.length; r < i; r++) { var o = n[r]; N(e, o, t[o]) } } function we(e, t) { var n; if (P(e) && !(e instanceof le)) return p(e, "__ob__") && e.__ob__ instanceof _e ? n = e.__ob__ : ye && !Y() && (Array.isArray(e) || l(e)) && Object.isExtensible(e) && !e._isVue && (n = new _e(e)), t && n && n.vmCount++ , n } function Ce(n, e, r, t, i) { var o = new oe, a = Object.getOwnPropertyDescriptor(n, e); if (!a || !1 !== a.configurable) { var s = a && a.get; s || 2 !== arguments.length || (r = n[e]); var c = a && a.set, l = !i && we(r); Object.defineProperty(n, e, { enumerable: !0, configurable: !0, get: function () { var e = s ? s.call(n) : r; return oe.target && (o.depend(), l && (l.dep.depend(), Array.isArray(e) && function e(t) { for (var n = void 0, r = 0, i = t.length; r < i; r++)(n = t[r]) && n.__ob__ && n.__ob__.dep.depend(), Array.isArray(n) && e(n) }(e))), e }, set: function (e) { var t = s ? s.call(n) : r; e === t || e != e && t != t || (c ? c.call(n, e) : r = e, l = !i && we(e), o.notify()) } }) } } function xe(e, t, n) { if (Array.isArray(e) && i(t)) return e.length = Math.max(e.length, t), e.splice(t, 1, n), n; if (t in e && !(t in Object.prototype)) return e[t] = n; var r = e.__ob__; return e._isVue || r && r.vmCount ? n : r ? (Ce(r.value, t, n), r.dep.notify(), n) : e[t] = n } function ke(e, t) { if (Array.isArray(e) && i(t)) e.splice(t, 1); else { var n = e.__ob__; e._isVue || n && n.vmCount || p(e, t) && (delete e[t], n && n.dep.notify()) } } _e.prototype.walk = function (e) { for (var t = Object.keys(e), n = 0; n < t.length; n++)Ce(e, t[n]) }, _e.prototype.observeArray = function (e) { for (var t = 0, n = e.length; t < n; t++)we(e[t]) }; var Ae = j.optionMergeStrategies; function Oe(e, t) { if (!t) return e; for (var n, r, i, o = Object.keys(t), a = 0; a < o.length; a++)r = e[n = o[a]], i = t[n], p(e, n) ? l(r) && l(i) && Oe(r, i) : xe(e, n, i); return e } function Se(n, r, i) { return i ? function () { var e = "function" == typeof r ? r.call(i, i) : r, t = "function" == typeof n ? n.call(i, i) : n; return e ? Oe(e, t) : t } : r ? n ? function () { return Oe("function" == typeof r ? r.call(this, this) : r, "function" == typeof n ? n.call(this, this) : n) } : r : n } function Te(e, t) { return t ? e ? e.concat(t) : Array.isArray(t) ? t : [t] : e } function Ee(e, t, n, r) { var i = Object.create(e || null); return t ? m(i, t) : i } Ae.data = function (e, t, n) { return n ? Se(e, t, n) : t && "function" != typeof t ? e : Se(e, t) }, A.forEach(function (e) { Ae[e] = Te }), k.forEach(function (e) { Ae[e + "s"] = Ee }), Ae.watch = function (e, t, n, r) { if (e === G && (e = void 0), t === G && (t = void 0), !t) return Object.create(e || null); if (!e) return t; var i = {}; for (var o in m(i, e), t) { var a = i[o], s = t[o]; a && !Array.isArray(a) && (a = [a]), i[o] = a ? a.concat(s) : Array.isArray(s) ? s : [s] } return i }, Ae.props = Ae.methods = Ae.inject = Ae.computed = function (e, t, n, r) { if (!e) return t; var i = Object.create(null); return m(i, e), t && m(i, t), i }, Ae.provide = Se; var je = function (e, t) { return void 0 === t ? e : t }; function Ne(n, r, i) { "function" == typeof r && (r = r.options), function (e, t) { var n = e.props; if (n) { var r, i, o = {}; if (Array.isArray(n)) for (r = n.length; r--;)"string" == typeof (i = n[r]) && (o[g(i)] = { type: null }); else if (l(n)) for (var a in n) i = n[a], o[g(a)] = l(i) ? i : { type: i }; e.props = o } }(r), function (e, t) { var n = e.inject; if (n) { var r = e.inject = {}; if (Array.isArray(n)) for (var i = 0; i < n.length; i++)r[n[i]] = { from: n[i] }; else if (l(n)) for (var o in n) { var a = n[o]; r[o] = l(a) ? m({ from: o }, a) : { from: a } } } }(r), function (e) { var t = e.directives; if (t) for (var n in t) { var r = t[n]; "function" == typeof r && (t[n] = { bind: r, update: r }) } }(r); var e = r.extends; if (e && (n = Ne(n, e, i)), r.mixins) for (var t = 0, o = r.mixins.length; t < o; t++)n = Ne(n, r.mixins[t], i); var a, s = {}; for (a in n) c(a); for (a in r) p(n, a) || c(a); function c(e) { var t = Ae[e] || je; s[e] = t(n[e], r[e], i, e) } return s } function Le(e, t, n, r) { if ("string" == typeof n) { var i = e[t]; if (p(i, n)) return i[n]; var o = g(n); if (p(i, o)) return i[o]; var a = d(o); return p(i, a) ? i[a] : i[n] || i[o] || i[a] } } function Ie(e, t, n, r) { var i = t[e], o = !p(n, e), a = n[e], s = Pe(Boolean, i.type); if (-1 < s) if (o && !p(i, "default")) a = !1; else if ("" === a || a === _(e)) { var c = Pe(String, i.type); (c < 0 || s < c) && (a = !0) } if (void 0 === a) { a = function (e, t, n) { if (!p(t, "default")) return; var r = t.default; if (e && e.$options.propsData && void 0 === e.$options.propsData[n] && void 0 !== e._props[n]) return e._props[n]; return "function" == typeof r && "Function" !== Me(t.type) ? r.call(e) : r }(r, i, e); var l = ye; ge(!0), we(a), ge(l) } return a } function Me(e) { var t = e && e.toString().match(/^\s*function (\w+)/); return t ? t[1] : "" } function De(e, t) { return Me(e) === Me(t) } function Pe(e, t) { if (!Array.isArray(t)) return De(t, e) ? 0 : -1; for (var n = 0, r = t.length; n < r; n++)if (De(t[n], e)) return n; return -1 } function Fe(e, t, n) { if (t) for (var r = t; r = r.$parent;) { var i = r.$options.errorCaptured; if (i) for (var o = 0; o < i.length; o++)try { if (!1 === i[o].call(r, e, t, n)) return } catch (e) { Re(e, r, "errorCaptured hook") } } Re(e, t, n) } function Re(e, t, n) { if (j.errorHandler) try { return j.errorHandler.call(null, e, t, n) } catch (e) { He(e, null, "config.errorHandler") } He(e, t, n) } function He(e, t, n) { if (!B && !U || "undefined" == typeof console) throw e; console.error(e) } var Be, Ue, Ve = [], ze = !1; function Ke() { ze = !1; for (var e = Ve.slice(0), t = Ve.length = 0; t < e.length; t++)e[t]() } var Je = !1; if ("undefined" != typeof setImmediate && ee(setImmediate)) Ue = function () { setImmediate(Ke) }; else if ("undefined" == typeof MessageChannel || !ee(MessageChannel) && "[object MessageChannelConstructor]" !== MessageChannel.toString()) Ue = function () { setTimeout(Ke, 0) }; else { var qe = new MessageChannel, We = qe.port2; qe.port1.onmessage = Ke, Ue = function () { We.postMessage(1) } } if ("undefined" != typeof Promise && ee(Promise)) { var Ge = Promise.resolve(); Be = function () { Ge.then(Ke), W && setTimeout($) } } else Be = Ue; function Ze(e, t) { var n; if (Ve.push(function () { if (e) try { e.call(t) } catch (e) { Fe(e, t, "nextTick") } else n && n(t) }), ze || (ze = !0, Je ? Ue() : Be()), !e && "undefined" != typeof Promise) return new Promise(function (e) { n = e }) } var Xe = new te; function Ye(e) { !function e(t, n) { var r, i; var o = Array.isArray(t); if (!o && !P(t) || Object.isFrozen(t) || t instanceof le) return; if (t.__ob__) { var a = t.__ob__.dep.id; if (n.has(a)) return; n.add(a) } if (o) for (r = t.length; r--;)e(t[r], n); else for (i = Object.keys(t), r = i.length; r--;)e(t[i[r]], n) }(e, Xe), Xe.clear() } var Qe, et = e(function (e) { var t = "&" === e.charAt(0), n = "~" === (e = t ? e.slice(1) : e).charAt(0), r = "!" === (e = n ? e.slice(1) : e).charAt(0); return { name: e = r ? e.slice(1) : e, once: n, capture: r, passive: t } }); function tt(e) { function i() { var e = arguments, t = i.fns; if (!Array.isArray(t)) return t.apply(null, arguments); for (var n = t.slice(), r = 0; r < n.length; r++)n[r].apply(null, e) } return i.fns = e, i } function nt(e, t, n, r, i) { var o, a, s, c; for (o in e) a = e[o], s = t[o], c = et(o), M(a) || (M(s) ? (M(a.fns) && (a = e[o] = tt(a)), n(c.name, a, c.once, c.capture, c.passive, c.params)) : a !== s && (s.fns = a, e[o] = s)); for (o in t) M(e[o]) && r((c = et(o)).name, t[o], c.capture) } function rt(e, t, n) { var r; e instanceof le && (e = e.data.hook || (e.data.hook = {})); var i = e[t]; function o() { n.apply(this, arguments), f(r.fns, o) } M(i) ? r = tt([o]) : D(i.fns) && S(i.merged) ? (r = i).fns.push(o) : r = tt([i, o]), r.merged = !0, e[t] = r } function it(e, t, n, r, i) { if (D(t)) { if (p(t, n)) return e[n] = t[n], i || delete t[n], !0; if (p(t, r)) return e[n] = t[r], i || delete t[r], !0 } return !1 } function ot(e) { return T(e) ? [pe(e)] : Array.isArray(e) ? function e(t, n) { var r = []; var i, o, a, s; for (i = 0; i < t.length; i++)M(o = t[i]) || "boolean" == typeof o || (a = r.length - 1, s = r[a], Array.isArray(o) ? 0 < o.length && (at((o = e(o, (n || "") + "_" + i))[0]) && at(s) && (r[a] = pe(s.text + o[0].text), o.shift()), r.push.apply(r, o)) : T(o) ? at(s) ? r[a] = pe(s.text + o) : "" !== o && r.push(pe(o)) : at(o) && at(s) ? r[a] = pe(s.text + o.text) : (S(t._isVList) && D(o.tag) && M(o.key) && D(n) && (o.key = "__vlist" + n + "_" + i + "__"), r.push(o))); return r }(e) : void 0 } function at(e) { return D(e) && D(e.text) && !1 === e.isComment } function st(e, t) { return (e.__esModule || ne && "Module" === e[Symbol.toStringTag]) && (e = e.default), P(e) ? t.extend(e) : e } function ct(e) { return e.isComment && e.asyncFactory } function lt(e) { if (Array.isArray(e)) for (var t = 0; t < e.length; t++) { var n = e[t]; if (D(n) && (D(n.componentOptions) || ct(n))) return n } } function ut(e, t, n) { n ? Qe.$once(e, t) : Qe.$on(e, t) } function ft(e, t) { Qe.$off(e, t) } function pt(e, t, n) { Qe = e, nt(t, n || {}, ut, ft), Qe = void 0 } function dt(e, t) { var n = {}; if (!e) return n; for (var r = 0, i = e.length; r < i; r++) { var o = e[r], a = o.data; if (a && a.attrs && a.attrs.slot && delete a.attrs.slot, o.context !== t && o.fnContext !== t || !a || null == a.slot) (n.default || (n.default = [])).push(o); else { var s = a.slot, c = n[s] || (n[s] = []); "template" === o.tag ? c.push.apply(c, o.children || []) : c.push(o) } } for (var l in n) n[l].every(vt) && delete n[l]; return n } function vt(e) { return e.isComment && !e.asyncFactory || " " === e.text } function ht(e, t) { t = t || {}; for (var n = 0; n < e.length; n++)Array.isArray(e[n]) ? ht(e[n], t) : t[e[n].key] = e[n].fn; return t } var mt = null; function yt(e) { for (; e && (e = e.$parent);)if (e._inactive) return !0; return !1 } function gt(e, t) { if (t) { if (e._directInactive = !1, yt(e)) return } else if (e._directInactive) return; if (e._inactive || null === e._inactive) { e._inactive = !1; for (var n = 0; n < e.$children.length; n++)gt(e.$children[n]); _t(e, "activated") } } function _t(t, n) { se(); var e = t.$options[n]; if (e) for (var r = 0, i = e.length; r < i; r++)try { e[r].call(t) } catch (e) { Fe(e, t, n + " hook") } t._hasHookEvent && t.$emit("hook:" + n), ce() } var bt = [], $t = [], wt = {}, Ct = !1, xt = !1, kt = 0; function At() { var e, t; for (xt = !0, bt.sort(function (e, t) { return e.id - t.id }), kt = 0; kt < bt.length; kt++)t = (e = bt[kt]).id, wt[t] = null, e.run(); var n = $t.slice(), r = bt.slice(); kt = bt.length = $t.length = 0, wt = {}, Ct = xt = !1, function (e) { for (var t = 0; t < e.length; t++)e[t]._inactive = !0, gt(e[t], !0) }(n), function (e) { var t = e.length; for (; t--;) { var n = e[t], r = n.vm; r._watcher === n && r._isMounted && _t(r, "updated") } }(r), Q && j.devtools && Q.emit("flush") } var Ot = 0, St = function (e, t, n, r, i) { this.vm = e, i && (e._watcher = this), e._watchers.push(this), r ? (this.deep = !!r.deep, this.user = !!r.user, this.lazy = !!r.lazy, this.sync = !!r.sync) : this.deep = this.user = this.lazy = this.sync = !1, this.cb = n, this.id = ++Ot, this.active = !0, this.dirty = this.lazy, this.deps = [], this.newDeps = [], this.depIds = new te, this.newDepIds = new te, this.expression = "", "function" == typeof t ? this.getter = t : (this.getter = function (e) { if (!L.test(e)) { var n = e.split("."); return function (e) { for (var t = 0; t < n.length; t++) { if (!e) return; e = e[n[t]] } return e } } }(t), this.getter || (this.getter = function () { })), this.value = this.lazy ? void 0 : this.get() }; St.prototype.get = function () { var e; se(this); var t = this.vm; try { e = this.getter.call(t, t) } catch (e) { if (!this.user) throw e; Fe(e, t, 'getter for watcher "' + this.expression + '"') } finally { this.deep && Ye(e), ce(), this.cleanupDeps() } return e }, St.prototype.addDep = function (e) { var t = e.id; this.newDepIds.has(t) || (this.newDepIds.add(t), this.newDeps.push(e), this.depIds.has(t) || e.addSub(this)) }, St.prototype.cleanupDeps = function () { for (var e = this.deps.length; e--;) { var t = this.deps[e]; this.newDepIds.has(t.id) || t.removeSub(this) } var n = this.depIds; this.depIds = this.newDepIds, this.newDepIds = n, this.newDepIds.clear(), n = this.deps, this.deps = this.newDeps, this.newDeps = n, this.newDeps.length = 0 }, St.prototype.update = function () { this.lazy ? this.dirty = !0 : this.sync ? this.run() : function (e) { var t = e.id; if (null == wt[t]) { if (wt[t] = !0, xt) { for (var n = bt.length - 1; kt < n && bt[n].id > e.id;)n--; bt.splice(n + 1, 0, e) } else bt.push(e); Ct || (Ct = !0, Ze(At)) } }(this) }, St.prototype.run = function () { if (this.active) { var e = this.get(); if (e !== this.value || P(e) || this.deep) { var t = this.value; if (this.value = e, this.user) try { this.cb.call(this.vm, e, t) } catch (e) { Fe(e, this.vm, 'callback for watcher "' + this.expression + '"') } else this.cb.call(this.vm, e, t) } } }, St.prototype.evaluate = function () { this.value = this.get(), this.dirty = !1 }, St.prototype.depend = function () { for (var e = this.deps.length; e--;)this.deps[e].depend() }, St.prototype.teardown = function () { if (this.active) { this.vm._isBeingDestroyed || f(this.vm._watchers, this); for (var e = this.deps.length; e--;)this.deps[e].removeSub(this); this.active = !1 } }; var Tt = { enumerable: !0, configurable: !0, get: $, set: $ }; function Et(e, t, n) { Tt.get = function () { return this[t][n] }, Tt.set = function (e) { this[t][n] = e }, Object.defineProperty(e, n, Tt) } function jt(e) { e._watchers = []; var t = e.$options; t.props && function (n, r) { var i = n.$options.propsData || {}, o = n._props = {}, a = n.$options._propKeys = []; n.$parent && ge(!1); var e = function (e) { a.push(e); var t = Ie(e, r, i, n); Ce(o, e, t), e in n || Et(n, "_props", e) }; for (var t in r) e(t); ge(!0) }(e, t.props), t.methods && function (e, t) { e.$options.props; for (var n in t) e[n] = null == t[n] ? $ : v(t[n], e) }(e, t.methods), t.data ? function (e) { var t = e.$options.data; l(t = e._data = "function" == typeof t ? function (e, t) { se(); try { return e.call(t, t) } catch (e) { return Fe(e, t, "data()"), {} } finally { ce() } }(t, e) : t || {}) || (t = {}); var n = Object.keys(t), r = e.$options.props, i = (e.$options.methods, n.length); for (; i--;) { var o = n[i]; r && p(r, o) || (void 0, 36 !== (a = (o + "").charCodeAt(0)) && 95 !== a && Et(e, "_data", o)) } var a; we(t, !0) }(e) : we(e._data = {}, !0), t.computed && function (e, t) { var n = e._computedWatchers = Object.create(null), r = Y(); for (var i in t) { var o = t[i], a = "function" == typeof o ? o : o.get; r || (n[i] = new St(e, a || $, $, Nt)), i in e || Lt(e, i, o) } }(e, t.computed), t.watch && t.watch !== G && function (e, t) { for (var n in t) { var r = t[n]; if (Array.isArray(r)) for (var i = 0; i < r.length; i++)Mt(e, n, r[i]); else Mt(e, n, r) } }(e, t.watch) } var Nt = { lazy: !0 }; function Lt(e, t, n) { var r = !Y(); "function" == typeof n ? (Tt.get = r ? It(t) : n, Tt.set = $) : (Tt.get = n.get ? r && !1 !== n.cache ? It(t) : n.get : $, Tt.set = n.set ? n.set : $), Object.defineProperty(e, t, Tt) } function It(t) { return function () { var e = this._computedWatchers && this._computedWatchers[t]; if (e) return e.dirty && e.evaluate(), oe.target && e.depend(), e.value } } function Mt(e, t, n, r) { return l(n) && (n = (r = n).handler), "string" == typeof n && (n = e[n]), e.$watch(t, n, r) } function Dt(t, e) { if (t) { for (var n = Object.create(null), r = ne ? Reflect.ownKeys(t).filter(function (e) { return Object.getOwnPropertyDescriptor(t, e).enumerable }) : Object.keys(t), i = 0; i < r.length; i++) { for (var o = r[i], a = t[o].from, s = e; s;) { if (s._provided && p(s._provided, a)) { n[o] = s._provided[a]; break } s = s.$parent } if (!s && "default" in t[o]) { var c = t[o].default; n[o] = "function" == typeof c ? c.call(e) : c } } return n } } function Pt(e, t) { var n, r, i, o, a; if (Array.isArray(e) || "string" == typeof e) for (n = new Array(e.length), r = 0, i = e.length; r < i; r++)n[r] = t(e[r], r); else if ("number" == typeof e) for (n = new Array(e), r = 0; r < e; r++)n[r] = t(r + 1, r); else if (P(e)) for (o = Object.keys(e), n = new Array(o.length), r = 0, i = o.length; r < i; r++)a = o[r], n[r] = t(e[a], a, r); return D(n) && (n._isVList = !0), n } function Ft(e, t, n, r) { var i, o = this.$scopedSlots[e]; if (o) n = n || {}, r && (n = m(m({}, r), n)), i = o(n) || t; else { var a = this.$slots[e]; a && (a._rendered = !0), i = a || t } var s = n && n.slot; return s ? this.$createElement("template", { slot: s }, i) : i } function Rt(e) { return Le(this.$options, "filters", e) || w } function Ht(e, t) { return Array.isArray(e) ? -1 === e.indexOf(t) : e !== t } function Bt(e, t, n, r, i) { var o = j.keyCodes[t] || n; return i && r && !j.keyCodes[t] ? Ht(i, r) : o ? Ht(o, e) : r ? _(r) !== t : void 0 } function Ut(n, r, i, o, a) { if (i) if (P(i)) { var s; Array.isArray(i) && (i = b(i)); var e = function (t) { if ("class" === t || "style" === t || u(t)) s = n; else { var e = n.attrs && n.attrs.type; s = o || j.mustUseProp(r, e, t) ? n.domProps || (n.domProps = {}) : n.attrs || (n.attrs = {}) } t in s || (s[t] = i[t], a && ((n.on || (n.on = {}))["update:" + t] = function (e) { i[t] = e })) }; for (var t in i) e(t) } else; return n } function Vt(e, t) { var n = this._staticTrees || (this._staticTrees = []), r = n[e]; return r && !t || Kt(r = n[e] = this.$options.staticRenderFns[e].call(this._renderProxy, null, this), "__static__" + e, !1), r } function zt(e, t, n) { return Kt(e, "__once__" + t + (n ? "_" + n : ""), !0), e } function Kt(e, t, n) { if (Array.isArray(e)) for (var r = 0; r < e.length; r++)e[r] && "string" != typeof e[r] && Jt(e[r], t + "_" + r, n); else Jt(e, t, n) } function Jt(e, t, n) { e.isStatic = !0, e.key = t, e.isOnce = n } function qt(e, t) { if (t) if (l(t)) { var n = e.on = e.on ? m({}, e.on) : {}; for (var r in t) { var i = n[r], o = t[r]; n[r] = i ? [].concat(i, o) : o } } else; return e } function Wt(e) { e._o = zt, e._n = F, e._s = t, e._l = Pt, e._t = Ft, e._q = C, e._i = x, e._m = Vt, e._f = Rt, e._k = Bt, e._b = Ut, e._v = pe, e._e = fe, e._u = ht, e._g = qt } function Gt(e, t, n, o, r) { var a, s = r.options; p(o, "_uid") ? (a = Object.create(o))._original = o : o = (a = o)._original; var i = S(s._compiled), c = !i; this.data = e, this.props = t, this.children = n, this.parent = o, this.listeners = e.on || y, this.injections = Dt(s.inject, o), this.slots = function () { return dt(n, o) }, i && (this.$options = s, this.$slots = this.slots(), this.$scopedSlots = e.scopedSlots || y), s._scopeId ? this._c = function (e, t, n, r) { var i = rn(a, e, t, n, r, c); return i && !Array.isArray(i) && (i.fnScopeId = s._scopeId, i.fnContext = o), i } : this._c = function (e, t, n, r) { return rn(a, e, t, n, r, c) } } function Zt(e, t, n, r) { var i = de(e); return i.fnContext = n, i.fnOptions = r, t.slot && ((i.data || (i.data = {})).slot = t.slot), i } function Xt(e, t) { for (var n in t) e[g(n)] = t[n] } Wt(Gt.prototype); var Yt = { init: function (e, t, n, r) { if (e.componentInstance && !e.componentInstance._isDestroyed && e.data.keepAlive) { var i = e; Yt.prepatch(i, i) } else { (e.componentInstance = function (e, t, n, r) { var i = { _isComponent: !0, parent: t, _parentVnode: e, _parentElm: n || null, _refElm: r || null }, o = e.data.inlineTemplate; D(o) && (i.render = o.render, i.staticRenderFns = o.staticRenderFns); return new e.componentOptions.Ctor(i) }(e, mt, n, r)).$mount(t ? e.elm : void 0, t) } }, prepatch: function (e, t) { var n = t.componentOptions; !function (e, t, n, r, i) { var o = !!(i || e.$options._renderChildren || r.data.scopedSlots || e.$scopedSlots !== y); if (e.$options._parentVnode = r, e.$vnode = r, e._vnode && (e._vnode.parent = r), e.$options._renderChildren = i, e.$attrs = r.data.attrs || y, e.$listeners = n || y, t && e.$options.props) { ge(!1); for (var a = e._props, s = e.$options._propKeys || [], c = 0; c < s.length; c++) { var l = s[c], u = e.$options.props; a[l] = Ie(l, u, t, e) } ge(!0), e.$options.propsData = t } n = n || y; var f = e.$options._parentListeners; e.$options._parentListeners = n, pt(e, n, f), o && (e.$slots = dt(i, r.context), e.$forceUpdate()) }(t.componentInstance = e.componentInstance, n.propsData, n.listeners, t, n.children) }, insert: function (e) { var t, n = e.context, r = e.componentInstance; r._isMounted || (r._isMounted = !0, _t(r, "mounted")), e.data.keepAlive && (n._isMounted ? ((t = r)._inactive = !1, $t.push(t)) : gt(r, !0)) }, destroy: function (e) { var t = e.componentInstance; t._isDestroyed || (e.data.keepAlive ? function e(t, n) { if (!(n && (t._directInactive = !0, yt(t)) || t._inactive)) { t._inactive = !0; for (var r = 0; r < t.$children.length; r++)e(t.$children[r]); _t(t, "deactivated") } }(t, !0) : t.$destroy()) } }, Qt = Object.keys(Yt); function en(e, t, n, r, i) { if (!M(e)) { var o = n.$options._base; if (P(e) && (e = o.extend(e)), "function" == typeof e) { var a, s, c, l, u, f, p; if (M(e.cid) && void 0 === (e = function (t, n, e) { if (S(t.error) && D(t.errorComp)) return t.errorComp; if (D(t.resolved)) return t.resolved; if (S(t.loading) && D(t.loadingComp)) return t.loadingComp; if (!D(t.contexts)) { var r = t.contexts = [e], i = !0, o = function () { for (var e = 0, t = r.length; e < t; e++)r[e].$forceUpdate() }, a = R(function (e) { t.resolved = st(e, n), i || o() }), s = R(function (e) { D(t.errorComp) && (t.error = !0, o()) }), c = t(a, s); return P(c) && ("function" == typeof c.then ? M(t.resolved) && c.then(a, s) : D(c.component) && "function" == typeof c.component.then && (c.component.then(a, s), D(c.error) && (t.errorComp = st(c.error, n)), D(c.loading) && (t.loadingComp = st(c.loading, n), 0 === c.delay ? t.loading = !0 : setTimeout(function () { M(t.resolved) && M(t.error) && (t.loading = !0, o()) }, c.delay || 200)), D(c.timeout) && setTimeout(function () { M(t.resolved) && s(null) }, c.timeout))), i = !1, t.loading ? t.loadingComp : t.resolved } t.contexts.push(e) }(a = e, o, n))) return s = a, c = t, l = n, u = r, f = i, (p = fe()).asyncFactory = s, p.asyncMeta = { data: c, context: l, children: u, tag: f }, p; t = t || {}, dn(e), D(t.model) && function (e, t) { var n = e.model && e.model.prop || "value", r = e.model && e.model.event || "input"; (t.props || (t.props = {}))[n] = t.model.value; var i = t.on || (t.on = {}); D(i[r]) ? i[r] = [t.model.callback].concat(i[r]) : i[r] = t.model.callback }(e.options, t); var d = function (e, t, n) { var r = t.options.props; if (!M(r)) { var i = {}, o = e.attrs, a = e.props; if (D(o) || D(a)) for (var s in r) { var c = _(s); it(i, a, s, c, !0) || it(i, o, s, c, !1) } return i } }(t, e); if (S(e.options.functional)) return function (e, t, n, r, i) { var o = e.options, a = {}, s = o.props; if (D(s)) for (var c in s) a[c] = Ie(c, s, t || y); else D(n.attrs) && Xt(a, n.attrs), D(n.props) && Xt(a, n.props); var l = new Gt(n, a, i, r, e), u = o.render.call(null, l._c, l); if (u instanceof le) return Zt(u, n, l.parent, o); if (Array.isArray(u)) { for (var f = ot(u) || [], p = new Array(f.length), d = 0; d < f.length; d++)p[d] = Zt(f[d], n, l.parent, o); return p } }(e, d, t, n, r); var v = t.on; if (t.on = t.nativeOn, S(e.options.abstract)) { var h = t.slot; t = {}, h && (t.slot = h) } !function (e) { for (var t = e.hook || (e.hook = {}), n = 0; n < Qt.length; n++) { var r = Qt[n]; t[r] = Yt[r] } }(t); var m = e.options.name || i; return new le("vue-component-" + e.cid + (m ? "-" + m : ""), t, void 0, void 0, void 0, n, { Ctor: e, propsData: d, listeners: v, tag: i, children: r }, a) } } } var tn = 1, nn = 2; function rn(e, t, n, r, i, o) { return (Array.isArray(n) || T(n)) && (i = r, r = n, n = void 0), S(o) && (i = nn), function (e, t, n, r, i) { if (D(n) && D(n.__ob__)) return fe(); D(n) && D(n.is) && (t = n.is); if (!t) return fe(); Array.isArray(r) && "function" == typeof r[0] && ((n = n || {}).scopedSlots = { default: r[0] }, r.length = 0); i === nn ? r = ot(r) : i === tn && (r = function (e) { for (var t = 0; t < e.length; t++)if (Array.isArray(e[t])) return Array.prototype.concat.apply([], e); return e }(r)); var o, a; if ("string" == typeof t) { var s; a = e.$vnode && e.$vnode.ns || j.getTagNamespace(t), o = j.isReservedTag(t) ? new le(j.parsePlatformTagName(t), n, r, void 0, void 0, e) : D(s = Le(e.$options, "components", t)) ? en(s, n, e, r, t) : new le(t, n, r, void 0, void 0, e) } else o = en(t, n, e, r); return Array.isArray(o) ? o : D(o) ? (D(a) && function e(t, n, r) { t.ns = n; "foreignObject" === t.tag && (n = void 0, r = !0); if (D(t.children)) for (var i = 0, o = t.children.length; i < o; i++) { var a = t.children[i]; D(a.tag) && (M(a.ns) || S(r) && "svg" !== a.tag) && e(a, n, r) } }(o, a), D(n) && function (e) { P(e.style) && Ye(e.style); P(e.class) && Ye(e.class) }(n), o) : fe() }(e, t, n, r, i) } var on, an, sn, cn, ln, un, fn, pn = 0; function dn(e) { var t = e.options; if (e.super) { var n = dn(e.super); if (n !== e.superOptions) { e.superOptions = n; var r = function (e) { var t, n = e.options, r = e.extendOptions, i = e.sealedOptions; for (var o in n) n[o] !== i[o] && (t || (t = {}), t[o] = vn(n[o], r[o], i[o])); return t }(e); r && m(e.extendOptions, r), (t = e.options = Ne(n, e.extendOptions)).name && (t.components[t.name] = e) } } return t } function vn(e, t, n) { if (Array.isArray(e)) { var r = []; n = Array.isArray(n) ? n : [n], t = Array.isArray(t) ? t : [t]; for (var i = 0; i < e.length; i++)(0 <= t.indexOf(e[i]) || n.indexOf(e[i]) < 0) && r.push(e[i]); return r } return e } function hn(e) { this._init(e) } function mn(e) { e.cid = 0; var a = 1; e.extend = function (e) { e = e || {}; var t = this, n = t.cid, r = e._Ctor || (e._Ctor = {}); if (r[n]) return r[n]; var i = e.name || t.options.name, o = function (e) { this._init(e) }; return ((o.prototype = Object.create(t.prototype)).constructor = o).cid = a++ , o.options = Ne(t.options, e), o.super = t, o.options.props && function (e) { var t = e.options.props; for (var n in t) Et(e.prototype, "_props", n) }(o), o.options.computed && function (e) { var t = e.options.computed; for (var n in t) Lt(e.prototype, n, t[n]) }(o), o.extend = t.extend, o.mixin = t.mixin, o.use = t.use, k.forEach(function (e) { o[e] = t[e] }), i && (o.options.components[i] = o), o.superOptions = t.options, o.extendOptions = e, o.sealedOptions = m({}, o.options), r[n] = o } } function yn(e) { return e && (e.Ctor.options.name || e.tag) } function gn(e, t) { return Array.isArray(e) ? -1 < e.indexOf(t) : "string" == typeof e ? -1 < e.split(",").indexOf(t) : (n = e, "[object RegExp]" === r.call(n) && e.test(t)); var n } function _n(e, t) { var n = e.cache, r = e.keys, i = e._vnode; for (var o in n) { var a = n[o]; if (a) { var s = yn(a.componentOptions); s && !t(s) && bn(n, o, r, i) } } } function bn(e, t, n, r) { var i = e[t]; !i || r && i.tag === r.tag || i.componentInstance.$destroy(), e[t] = null, f(n, t) } hn.prototype._init = function (e) { var t, n, r, i, o = this; o._uid = pn++ , o._isVue = !0, e && e._isComponent ? function (e, t) { var n = e.$options = Object.create(e.constructor.options), r = t._parentVnode; n.parent = t.parent, n._parentVnode = r, n._parentElm = t._parentElm, n._refElm = t._refElm; var i = r.componentOptions; n.propsData = i.propsData, n._parentListeners = i.listeners, n._renderChildren = i.children, n._componentTag = i.tag, t.render && (n.render = t.render, n.staticRenderFns = t.staticRenderFns) }(o, e) : o.$options = Ne(dn(o.constructor), e || {}, o), function (e) { var t = e.$options, n = t.parent; if (n && !t.abstract) { for (; n.$options.abstract && n.$parent;)n = n.$parent; n.$children.push(e) } e.$parent = n, e.$root = n ? n.$root : e, e.$children = [], e.$refs = {}, e._watcher = null, e._inactive = null, e._directInactive = !1, e._isMounted = !1, e._isDestroyed = !1, e._isBeingDestroyed = !1 }((o._renderProxy = o)._self = o), function (e) { e._events = Object.create(null), e._hasHookEvent = !1; var t = e.$options._parentListeners; t && pt(e, t) }(o), function (i) { i._vnode = null, i._staticTrees = null; var e = i.$options, t = i.$vnode = e._parentVnode, n = t && t.context; i.$slots = dt(e._renderChildren, n), i.$scopedSlots = y, i._c = function (e, t, n, r) { return rn(i, e, t, n, r, !1) }, i.$createElement = function (e, t, n, r) { return rn(i, e, t, n, r, !0) }; var r = t && t.data; Ce(i, "$attrs", r && r.attrs || y, null, !0), Ce(i, "$listeners", e._parentListeners || y, null, !0) }(o), _t(o, "beforeCreate"), (n = Dt((t = o).$options.inject, t)) && (ge(!1), Object.keys(n).forEach(function (e) { Ce(t, e, n[e]) }), ge(!0)), jt(o), (i = (r = o).$options.provide) && (r._provided = "function" == typeof i ? i.call(r) : i), _t(o, "created"), o.$options.el && o.$mount(o.$options.el) }, on = hn, an = { get: function () { return this._data } }, sn = { get: function () { return this._props } }, Object.defineProperty(on.prototype, "$data", an), Object.defineProperty(on.prototype, "$props", sn), on.prototype.$set = xe, on.prototype.$delete = ke, on.prototype.$watch = function (e, t, n) { if (l(t)) return Mt(this, e, t, n); (n = n || {}).user = !0; var r = new St(this, e, t, n); return n.immediate && t.call(this, r.value), function () { r.teardown() } }, ln = /^hook:/, (cn = hn).prototype.$on = function (e, t) { if (Array.isArray(e)) for (var n = 0, r = e.length; n < r; n++)this.$on(e[n], t); else (this._events[e] || (this._events[e] = [])).push(t), ln.test(e) && (this._hasHookEvent = !0); return this }, cn.prototype.$once = function (e, t) { var n = this; function r() { n.$off(e, r), t.apply(n, arguments) } return r.fn = t, n.$on(e, r), n }, cn.prototype.$off = function (e, t) { var n = this; if (!arguments.length) return n._events = Object.create(null), n; if (Array.isArray(e)) { for (var r = 0, i = e.length; r < i; r++)this.$off(e[r], t); return n } var o = n._events[e]; if (!o) return n; if (!t) return n._events[e] = null, n; if (t) for (var a, s = o.length; s--;)if ((a = o[s]) === t || a.fn === t) { o.splice(s, 1); break } return n }, cn.prototype.$emit = function (t) { var n = this, e = n._events[t]; if (e) { e = 1 < e.length ? h(e) : e; for (var r = h(arguments, 1), i = 0, o = e.length; i < o; i++)try { e[i].apply(n, r) } catch (e) { Fe(e, n, 'event handler for "' + t + '"') } } return n }, (un = hn).prototype._update = function (e, t) { var n = this; n._isMounted && _t(n, "beforeUpdate"); var r = n.$el, i = n._vnode, o = mt; (mt = n)._vnode = e, i ? n.$el = n.__patch__(i, e) : (n.$el = n.__patch__(n.$el, e, t, !1, n.$options._parentElm, n.$options._refElm), n.$options._parentElm = n.$options._refElm = null), mt = o, r && (r.__vue__ = null), n.$el && (n.$el.__vue__ = n), n.$vnode && n.$parent && n.$vnode === n.$parent._vnode && (n.$parent.$el = n.$el) }, un.prototype.$forceUpdate = function () { this._watcher && this._watcher.update() }, un.prototype.$destroy = function () { var e = this; if (!e._isBeingDestroyed) { _t(e, "beforeDestroy"), e._isBeingDestroyed = !0; var t = e.$parent; !t || t._isBeingDestroyed || e.$options.abstract || f(t.$children, e), e._watcher && e._watcher.teardown(); for (var n = e._watchers.length; n--;)e._watchers[n].teardown(); e._data.__ob__ && e._data.__ob__.vmCount-- , e._isDestroyed = !0, e.__patch__(e._vnode, null), _t(e, "destroyed"), e.$off(), e.$el && (e.$el.__vue__ = null), e.$vnode && (e.$vnode.parent = null) } }, Wt((fn = hn).prototype), fn.prototype.$nextTick = function (e) { return Ze(e, this) }, fn.prototype._render = function () { var t, n = this, e = n.$options, r = e.render, i = e._parentVnode; i && (n.$scopedSlots = i.data.scopedSlots || y), n.$vnode = i; try { t = r.call(n._renderProxy, n.$createElement) } catch (e) { Fe(e, n, "render"), t = n._vnode } return t instanceof le || (t = fe()), t.parent = i, t }; var $n, wn, Cn, xn = [String, RegExp, Array], kn = { KeepAlive: { name: "keep-alive", abstract: !0, props: { include: xn, exclude: xn, max: [String, Number] }, created: function () { this.cache = Object.create(null), this.keys = [] }, destroyed: function () { for (var e in this.cache) bn(this.cache, e, this.keys) }, mounted: function () { var e = this; this.$watch("include", function (t) { _n(e, function (e) { return gn(t, e) }) }), this.$watch("exclude", function (t) { _n(e, function (e) { return !gn(t, e) }) }) }, render: function () { var e = this.$slots.default, t = lt(e), n = t && t.componentOptions; if (n) { var r = yn(n), i = this.include, o = this.exclude; if (i && (!r || !gn(i, r)) || o && r && gn(o, r)) return t; var a = this.cache, s = this.keys, c = null == t.key ? n.Ctor.cid + (n.tag ? "::" + n.tag : "") : t.key; a[c] ? (t.componentInstance = a[c].componentInstance, f(s, c), s.push(c)) : (a[c] = t, s.push(c), this.max && s.length > parseInt(this.max) && bn(a, s[0], s, this._vnode)), t.data.keepAlive = !0 } return t || e && e[0] } } }; $n = hn, Cn = { get: function () { return j } }, Object.defineProperty($n, "config", Cn), $n.util = { warn: re, extend: m, mergeOptions: Ne, defineReactive: Ce }, $n.set = xe, $n.delete = ke, $n.nextTick = Ze, $n.options = Object.create(null), k.forEach(function (e) { $n.options[e + "s"] = Object.create(null) }), m(($n.options._base = $n).options.components, kn), $n.use = function (e) { var t = this._installedPlugins || (this._installedPlugins = []); if (-1 < t.indexOf(e)) return this; var n = h(arguments, 1); return n.unshift(this), "function" == typeof e.install ? e.install.apply(e, n) : "function" == typeof e && e.apply(null, n), t.push(e), this }, $n.mixin = function (e) { return this.options = Ne(this.options, e), this }, mn($n), wn = $n, k.forEach(function (n) { wn[n] = function (e, t) { return t ? ("component" === n && l(t) && (t.name = t.name || e, t = this.options._base.extend(t)), "directive" === n && "function" == typeof t && (t = { bind: t, update: t }), this.options[n + "s"][e] = t) : this.options[n + "s"][e] } }), Object.defineProperty(hn.prototype, "$isServer", { get: Y }), Object.defineProperty(hn.prototype, "$ssrContext", { get: function () { return this.$vnode && this.$vnode.ssrContext } }), Object.defineProperty(hn, "FunctionalRenderContext", { value: Gt }), hn.version = "2.5.17"; var An = s("style,class"), On = s("input,textarea,option,select,progress"), Sn = function (e, t, n) { return "value" === n && On(e) && "button" !== t || "selected" === n && "option" === e || "checked" === n && "input" === e || "muted" === n && "video" === e }, Tn = s("contenteditable,draggable,spellcheck"), En = s("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"), jn = "http://www.w3.org/1999/xlink", Nn = function (e) { return ":" === e.charAt(5) && "xlink" === e.slice(0, 5) }, Ln = function (e) { return Nn(e) ? e.slice(6, e.length) : "" }, In = function (e) { return null == e || !1 === e }; function Mn(e) { for (var t = e.data, n = e, r = e; D(r.componentInstance);)(r = r.componentInstance._vnode) && r.data && (t = Dn(r.data, t)); for (; D(n = n.parent);)n && n.data && (t = Dn(t, n.data)); return function (e, t) { if (D(e) || D(t)) return Pn(e, Fn(t)); return "" }(t.staticClass, t.class) } function Dn(e, t) { return { staticClass: Pn(e.staticClass, t.staticClass), class: D(e.class) ? [e.class, t.class] : t.class } } function Pn(e, t) { return e ? t ? e + " " + t : e : t || "" } function Fn(e) { return Array.isArray(e) ? function (e) { for (var t, n = "", r = 0, i = e.length; r < i; r++)D(t = Fn(e[r])) && "" !== t && (n && (n += " "), n += t); return n }(e) : P(e) ? function (e) { var t = ""; for (var n in e) e[n] && (t && (t += " "), t += n); return t }(e) : "string" == typeof e ? e : "" } var Rn = { svg: "http://www.w3.org/2000/svg", math: "http://www.w3.org/1998/Math/MathML" }, Hn = s("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"), Bn = s("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view", !0), Un = function (e) { return Hn(e) || Bn(e) }; function Vn(e) { return Bn(e) ? "svg" : "math" === e ? "math" : void 0 } var zn = Object.create(null); var Kn = s("text,number,password,search,email,tel,url"); function Jn(e) { if ("string" == typeof e) { var t = document.querySelector(e); return t || document.createElement("div") } return e } var qn = Object.freeze({ createElement: function (e, t) { var n = document.createElement(e); return "select" !== e || t.data && t.data.attrs && void 0 !== t.data.attrs.multiple && n.setAttribute("multiple", "multiple"), n }, createElementNS: function (e, t) { return document.createElementNS(Rn[e], t) }, createTextNode: function (e) { return document.createTextNode(e) }, createComment: function (e) { return document.createComment(e) }, insertBefore: function (e, t, n) { e.insertBefore(t, n) }, removeChild: function (e, t) { e.removeChild(t) }, appendChild: function (e, t) { e.appendChild(t) }, parentNode: function (e) { return e.parentNode }, nextSibling: function (e) { return e.nextSibling }, tagName: function (e) { return e.tagName }, setTextContent: function (e, t) { e.textContent = t }, setStyleScope: function (e, t) { e.setAttribute(t, "") } }), Wn = { create: function (e, t) { Gn(t) }, update: function (e, t) { e.data.ref !== t.data.ref && (Gn(e, !0), Gn(t)) }, destroy: function (e) { Gn(e, !0) } }; function Gn(e, t) { var n = e.data.ref; if (D(n)) { var r = e.context, i = e.componentInstance || e.elm, o = r.$refs; t ? Array.isArray(o[n]) ? f(o[n], i) : o[n] === i && (o[n] = void 0) : e.data.refInFor ? Array.isArray(o[n]) ? o[n].indexOf(i) < 0 && o[n].push(i) : o[n] = [i] : o[n] = i } } var Zn = new le("", {}, []), Xn = ["create", "activate", "update", "remove", "destroy"]; function Yn(e, t) { return e.key === t.key && (e.tag === t.tag && e.isComment === t.isComment && D(e.data) === D(t.data) && function (e, t) { if ("input" !== e.tag) return !0; var n, r = D(n = e.data) && D(n = n.attrs) && n.type, i = D(n = t.data) && D(n = n.attrs) && n.type; return r === i || Kn(r) && Kn(i) }(e, t) || S(e.isAsyncPlaceholder) && e.asyncFactory === t.asyncFactory && M(t.asyncFactory.error)) } function Qn(e, t, n) { var r, i, o = {}; for (r = t; r <= n; ++r)D(i = e[r].key) && (o[i] = r); return o } var er = { create: tr, update: tr, destroy: function (e) { tr(e, Zn) } }; function tr(e, t) { (e.data.directives || t.data.directives) && function (t, n) { var e, r, i, o = t === Zn, a = n === Zn, s = rr(t.data.directives, t.context), c = rr(n.data.directives, n.context), l = [], u = []; for (e in c) r = s[e], i = c[e], r ? (i.oldValue = r.value, ir(i, "update", n, t), i.def && i.def.componentUpdated && u.push(i)) : (ir(i, "bind", n, t), i.def && i.def.inserted && l.push(i)); if (l.length) { var f = function () { for (var e = 0; e < l.length; e++)ir(l[e], "inserted", n, t) }; o ? rt(n, "insert", f) : f() } u.length && rt(n, "postpatch", function () { for (var e = 0; e < u.length; e++)ir(u[e], "componentUpdated", n, t) }); if (!o) for (e in s) c[e] || ir(s[e], "unbind", t, t, a) }(e, t) } var nr = Object.create(null); function rr(e, t) { var n, r, i, o = Object.create(null); if (!e) return o; for (n = 0; n < e.length; n++)(r = e[n]).modifiers || (r.modifiers = nr), (o[(i = r, i.rawName || i.name + "." + Object.keys(i.modifiers || {}).join("."))] = r).def = Le(t.$options, "directives", r.name); return o } function ir(t, n, r, e, i) { var o = t.def && t.def[n]; if (o) try { o(r.elm, t, r, e, i) } catch (e) { Fe(e, r.context, "directive " + t.name + " " + n + " hook") } } var or = [Wn, er]; function ar(e, t) { var n = t.componentOptions; if (!(D(n) && !1 === n.Ctor.options.inheritAttrs || M(e.data.attrs) && M(t.data.attrs))) { var r, i, o = t.elm, a = e.data.attrs || {}, s = t.data.attrs || {}; for (r in D(s.__ob__) && (s = t.data.attrs = m({}, s)), s) i = s[r], a[r] !== i && sr(o, r, i); for (r in (K || q) && s.value !== a.value && sr(o, "value", s.value), a) M(s[r]) && (Nn(r) ? o.removeAttributeNS(jn, Ln(r)) : Tn(r) || o.removeAttribute(r)) } } function sr(e, t, n) { -1 < e.tagName.indexOf("-") ? cr(e, t, n) : En(t) ? In(n) ? e.removeAttribute(t) : (n = "allowfullscreen" === t && "EMBED" === e.tagName ? "true" : t, e.setAttribute(t, n)) : Tn(t) ? e.setAttribute(t, In(n) || "false" === n ? "false" : "true") : Nn(t) ? In(n) ? e.removeAttributeNS(jn, Ln(t)) : e.setAttributeNS(jn, t, n) : cr(e, t, n) } function cr(t, e, n) { if (In(n)) t.removeAttribute(e); else { if (K && !J && "TEXTAREA" === t.tagName && "placeholder" === e && !t.__ieph) { var r = function (e) { e.stopImmediatePropagation(), t.removeEventListener("input", r) }; t.addEventListener("input", r), t.__ieph = !0 } t.setAttribute(e, n) } } var lr = { create: ar, update: ar }; function ur(e, t) { var n = t.elm, r = t.data, i = e.data; if (!(M(r.staticClass) && M(r.class) && (M(i) || M(i.staticClass) && M(i.class)))) { var o = Mn(t), a = n._transitionClasses; D(a) && (o = Pn(o, Fn(a))), o !== n._prevClass && (n.setAttribute("class", o), n._prevClass = o) } } var fr, pr, dr, vr, hr, mr, yr = { create: ur, update: ur }, gr = /[\w).+\-_$\]]/; function _r(e) { var t, n, r, i, o, a = !1, s = !1, c = !1, l = !1, u = 0, f = 0, p = 0, d = 0; for (r = 0; r < e.length; r++)if (n = t, t = e.charCodeAt(r), a) 39 === t && 92 !== n && (a = !1); else if (s) 34 === t && 92 !== n && (s = !1); else if (c) 96 === t && 92 !== n && (c = !1); else if (l) 47 === t && 92 !== n && (l = !1); else if (124 !== t || 124 === e.charCodeAt(r + 1) || 124 === e.charCodeAt(r - 1) || u || f || p) { switch (t) { case 34: s = !0; break; case 39: a = !0; break; case 96: c = !0; break; case 40: p++; break; case 41: p--; break; case 91: f++; break; case 93: f--; break; case 123: u++; break; case 125: u-- }if (47 === t) { for (var v = r - 1, h = void 0; 0 <= v && " " === (h = e.charAt(v)); v--); h && gr.test(h) || (l = !0) } } else void 0 === i ? (d = r + 1, i = e.slice(0, r).trim()) : m(); function m() { (o || (o = [])).push(e.slice(d, r).trim()), d = r + 1 } if (void 0 === i ? i = e.slice(0, r).trim() : 0 !== d && m(), o) for (r = 0; r < o.length; r++)i = br(i, o[r]); return i } function br(e, t) { var n = t.indexOf("("); if (n < 0) return '_f("' + t + '")(' + e + ")"; var r = t.slice(0, n), i = t.slice(n + 1); return '_f("' + r + '")(' + e + (")" !== i ? "," + i : i) } function $r(e) { console.error("[Vue compiler]: " + e) } function wr(e, t) { return e ? e.map(function (e) { return e[t] }).filter(function (e) { return e }) : [] } function Cr(e, t, n) { (e.props || (e.props = [])).push({ name: t, value: n }), e.plain = !1 } function xr(e, t, n) { (e.attrs || (e.attrs = [])).push({ name: t, value: n }), e.plain = !1 } function kr(e, t, n) { e.attrsMap[t] = n, e.attrsList.push({ name: t, value: n }) } function Ar(e, t, n, r, i, o) { var a; (r = r || y).capture && (delete r.capture, t = "!" + t), r.once && (delete r.once, t = "~" + t), r.passive && (delete r.passive, t = "&" + t), "click" === t && (r.right ? (t = "contextmenu", delete r.right) : r.middle && (t = "mouseup")), r.native ? (delete r.native, a = e.nativeEvents || (e.nativeEvents = {})) : a = e.events || (e.events = {}); var s = { value: n.trim() }; r !== y && (s.modifiers = r); var c = a[t]; Array.isArray(c) ? i ? c.unshift(s) : c.push(s) : a[t] = c ? i ? [s, c] : [c, s] : s, e.plain = !1 } function Or(e, t, n) { var r = Sr(e, ":" + t) || Sr(e, "v-bind:" + t); if (null != r) return _r(r); if (!1 !== n) { var i = Sr(e, t); if (null != i) return JSON.stringify(i) } } function Sr(e, t, n) { var r; if (null != (r = e.attrsMap[t])) for (var i = e.attrsList, o = 0, a = i.length; o < a; o++)if (i[o].name === t) { i.splice(o, 1); break } return n && delete e.attrsMap[t], r } function Tr(e, t, n) { var r = n || {}, i = r.number, o = "$$v", a = o; r.trim && (a = "(typeof $$v === 'string'? $$v.trim(): $$v)"), i && (a = "_n(" + a + ")"); var s = Er(t, a); e.model = { value: "(" + t + ")", expression: '"' + t + '"', callback: "function ($$v) {" + s + "}" } } function Er(e, t) { var n = function (e) { if (e = e.trim(), fr = e.length, e.indexOf("[") < 0 || e.lastIndexOf("]") < fr - 1) return -1 < (vr = e.lastIndexOf(".")) ? { exp: e.slice(0, vr), key: '"' + e.slice(vr + 1) + '"' } : { exp: e, key: null }; pr = e, vr = hr = mr = 0; for (; !Nr();)Lr(dr = jr()) ? Mr(dr) : 91 === dr && Ir(dr); return { exp: e.slice(0, hr), key: e.slice(hr + 1, mr) } }(e); return null === n.key ? e + "=" + t : "$set(" + n.exp + ", " + n.key + ", " + t + ")" } function jr() { return pr.charCodeAt(++vr) } function Nr() { return fr <= vr } function Lr(e) { return 34 === e || 39 === e } function Ir(e) { var t = 1; for (hr = vr; !Nr();)if (Lr(e = jr())) Mr(e); else if (91 === e && t++ , 93 === e && t-- , 0 === t) { mr = vr; break } } function Mr(e) { for (var t = e; !Nr() && (e = jr()) !== t;); } var Dr, Pr = "__r", Fr = "__c"; function Rr(e, t, n, r, i) { var o, a, s, c, l; t = (o = t)._withTask || (o._withTask = function () { Je = !0; var e = o.apply(null, arguments); return Je = !1, e }), n && (a = t, s = e, c = r, l = Dr, t = function e() { null !== a.apply(null, arguments) && Hr(s, e, c, l) }), Dr.addEventListener(e, t, Z ? { capture: r, passive: i } : r) } function Hr(e, t, n, r) { (r || Dr).removeEventListener(e, t._withTask || t, n) } function Br(e, t) { if (!M(e.data.on) || !M(t.data.on)) { var n = t.data.on || {}, r = e.data.on || {}; Dr = t.elm, function (e) { if (D(e[Pr])) { var t = K ? "change" : "input"; e[t] = [].concat(e[Pr], e[t] || []), delete e[Pr] } D(e[Fr]) && (e.change = [].concat(e[Fr], e.change || []), delete e[Fr]) }(n), nt(n, r, Rr, Hr, t.context), Dr = void 0 } } var Ur = { create: Br, update: Br }; function Vr(e, t) { if (!M(e.data.domProps) || !M(t.data.domProps)) { var n, r, i, o, a = t.elm, s = e.data.domProps || {}, c = t.data.domProps || {}; for (n in D(c.__ob__) && (c = t.data.domProps = m({}, c)), s) M(c[n]) && (a[n] = ""); for (n in c) { if (r = c[n], "textContent" === n || "innerHTML" === n) { if (t.children && (t.children.length = 0), r === s[n]) continue; 1 === a.childNodes.length && a.removeChild(a.childNodes[0]) } if ("value" === n) { var l = M(a._value = r) ? "" : String(r); o = l, (i = a).composing || "OPTION" !== i.tagName && !function (e, t) { var n = !0; try { n = document.activeElement !== e } catch (e) { } return n && e.value !== t }(i, o) && !function (e, t) { var n = e.value, r = e._vModifiers; if (D(r)) { if (r.lazy) return !1; if (r.number) return F(n) !== F(t); if (r.trim) return n.trim() !== t.trim() } return n !== t }(i, o) || (a.value = l) } else a[n] = r } } } var zr = { create: Vr, update: Vr }, Kr = e(function (e) { var n = {}, r = /:(.+)/; return e.split(/;(?![^(]*\))/g).forEach(function (e) { if (e) { var t = e.split(r); 1 < t.length && (n[t[0].trim()] = t[1].trim()) } }), n }); function Jr(e) { var t = qr(e.style); return e.staticStyle ? m(e.staticStyle, t) : t } function qr(e) { return Array.isArray(e) ? b(e) : "string" == typeof e ? Kr(e) : e } var Wr, Gr = /^--/, Zr = /\s*!important$/, Xr = function (e, t, n) { if (Gr.test(t)) e.style.setProperty(t, n); else if (Zr.test(n)) e.style.setProperty(t, n.replace(Zr, ""), "important"); else { var r = Qr(t); if (Array.isArray(n)) for (var i = 0, o = n.length; i < o; i++)e.style[r] = n[i]; else e.style[r] = n } }, Yr = ["Webkit", "Moz", "ms"], Qr = e(function (e) { if (Wr = Wr || document.createElement("div").style, "filter" !== (e = g(e)) && e in Wr) return e; for (var t = e.charAt(0).toUpperCase() + e.slice(1), n = 0; n < Yr.length; n++) { var r = Yr[n] + t; if (r in Wr) return r } }); function ei(e, t) { var n = t.data, r = e.data; if (!(M(n.staticStyle) && M(n.style) && M(r.staticStyle) && M(r.style))) { var i, o, a = t.elm, s = r.staticStyle, c = r.normalizedStyle || r.style || {}, l = s || c, u = qr(t.data.style) || {}; t.data.normalizedStyle = D(u.__ob__) ? m({}, u) : u; var f = function (e, t) { var n, r = {}; if (t) for (var i = e; i.componentInstance;)(i = i.componentInstance._vnode) && i.data && (n = Jr(i.data)) && m(r, n); (n = Jr(e.data)) && m(r, n); for (var o = e; o = o.parent;)o.data && (n = Jr(o.data)) && m(r, n); return r }(t, !0); for (o in l) M(f[o]) && Xr(a, o, ""); for (o in f) (i = f[o]) !== l[o] && Xr(a, o, null == i ? "" : i) } } var ti = { create: ei, update: ei }; function ni(t, e) { if (e && (e = e.trim())) if (t.classList) -1 < e.indexOf(" ") ? e.split(/\s+/).forEach(function (e) { return t.classList.add(e) }) : t.classList.add(e); else { var n = " " + (t.getAttribute("class") || "") + " "; n.indexOf(" " + e + " ") < 0 && t.setAttribute("class", (n + e).trim()) } } function ri(t, e) { if (e && (e = e.trim())) if (t.classList) -1 < e.indexOf(" ") ? e.split(/\s+/).forEach(function (e) { return t.classList.remove(e) }) : t.classList.remove(e), t.classList.length || t.removeAttribute("class"); else { for (var n = " " + (t.getAttribute("class") || "") + " ", r = " " + e + " "; 0 <= n.indexOf(r);)n = n.replace(r, " "); (n = n.trim()) ? t.setAttribute("class", n) : t.removeAttribute("class") } } function ii(e) { if (e) { if ("object" == typeof e) { var t = {}; return !1 !== e.css && m(t, oi(e.name || "v")), m(t, e), t } return "string" == typeof e ? oi(e) : void 0 } } var oi = e(function (e) { return { enterClass: e + "-enter", enterToClass: e + "-enter-to", enterActiveClass: e + "-enter-active", leaveClass: e + "-leave", leaveToClass: e + "-leave-to", leaveActiveClass: e + "-leave-active" } }), ai = B && !J, si = "transition", ci = "animation", li = "transition", ui = "transitionend", fi = "animation", pi = "animationend"; ai && (void 0 === window.ontransitionend && void 0 !== window.onwebkittransitionend && (li = "WebkitTransition", ui = "webkitTransitionEnd"), void 0 === window.onanimationend && void 0 !== window.onwebkitanimationend && (fi = "WebkitAnimation", pi = "webkitAnimationEnd")); var di = B ? window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : setTimeout : function (e) { return e() }; function vi(e) { di(function () { di(e) }) } function hi(e, t) { var n = e._transitionClasses || (e._transitionClasses = []); n.indexOf(t) < 0 && (n.push(t), ni(e, t)) } function mi(e, t) { e._transitionClasses && f(e._transitionClasses, t), ri(e, t) } function yi(t, e, n) { var r = _i(t, e), i = r.type, o = r.timeout, a = r.propCount; if (!i) return n(); var s = i === si ? ui : pi, c = 0, l = function () { t.removeEventListener(s, u), n() }, u = function (e) { e.target === t && ++c >= a && l() }; setTimeout(function () { c < a && l() }, o + 1), t.addEventListener(s, u) } var gi = /\b(transform|all)(,|$)/; function _i(e, t) { var n, r = window.getComputedStyle(e), i = r[li + "Delay"].split(", "), o = r[li + "Duration"].split(", "), a = bi(i, o), s = r[fi + "Delay"].split(", "), c = r[fi + "Duration"].split(", "), l = bi(s, c), u = 0, f = 0; return t === si ? 0 < a && (n = si, u = a, f = o.length) : t === ci ? 0 < l && (n = ci, u = l, f = c.length) : f = (n = 0 < (u = Math.max(a, l)) ? l < a ? si : ci : null) ? n === si ? o.length : c.length : 0, { type: n, timeout: u, propCount: f, hasTransform: n === si && gi.test(r[li + "Property"]) } } function bi(n, e) { for (; n.length < e.length;)n = n.concat(n); return Math.max.apply(null, e.map(function (e, t) { return $i(e) + $i(n[t]) })) } function $i(e) { return 1e3 * Number(e.slice(0, -1)) } function wi(n, e) { var r = n.elm; D(r._leaveCb) && (r._leaveCb.cancelled = !0, r._leaveCb()); var t = ii(n.data.transition); if (!M(t) && !D(r._enterCb) && 1 === r.nodeType) { for (var i = t.css, o = t.type, a = t.enterClass, s = t.enterToClass, c = t.enterActiveClass, l = t.appearClass, u = t.appearToClass, f = t.appearActiveClass, p = t.beforeEnter, d = t.enter, v = t.afterEnter, h = t.enterCancelled, m = t.beforeAppear, y = t.appear, g = t.afterAppear, _ = t.appearCancelled, b = t.duration, $ = mt, w = mt.$vnode; w && w.parent;)$ = (w = w.parent).context; var C = !$._isMounted || !n.isRootInsert; if (!C || y || "" === y) { var x = C && l ? l : a, k = C && f ? f : c, A = C && u ? u : s, O = C && m || p, S = C && "function" == typeof y ? y : d, T = C && g || v, E = C && _ || h, j = F(P(b) ? b.enter : b), N = !1 !== i && !J, L = ki(S), I = r._enterCb = R(function () { N && (mi(r, A), mi(r, k)), I.cancelled ? (N && mi(r, x), E && E(r)) : T && T(r), r._enterCb = null }); n.data.show || rt(n, "insert", function () { var e = r.parentNode, t = e && e._pending && e._pending[n.key]; t && t.tag === n.tag && t.elm._leaveCb && t.elm._leaveCb(), S && S(r, I) }), O && O(r), N && (hi(r, x), hi(r, k), vi(function () { mi(r, x), I.cancelled || (hi(r, A), L || (xi(j) ? setTimeout(I, j) : yi(r, o, I))) })), n.data.show && (e && e(), S && S(r, I)), N || L || I() } } } function Ci(e, t) { var n = e.elm; D(n._enterCb) && (n._enterCb.cancelled = !0, n._enterCb()); var r = ii(e.data.transition); if (M(r) || 1 !== n.nodeType) return t(); if (!D(n._leaveCb)) { var i = r.css, o = r.type, a = r.leaveClass, s = r.leaveToClass, c = r.leaveActiveClass, l = r.beforeLeave, u = r.leave, f = r.afterLeave, p = r.leaveCancelled, d = r.delayLeave, v = r.duration, h = !1 !== i && !J, m = ki(u), y = F(P(v) ? v.leave : v), g = n._leaveCb = R(function () { n.parentNode && n.parentNode._pending && (n.parentNode._pending[e.key] = null), h && (mi(n, s), mi(n, c)), g.cancelled ? (h && mi(n, a), p && p(n)) : (t(), f && f(n)), n._leaveCb = null }); d ? d(_) : _() } function _() { g.cancelled || (e.data.show || ((n.parentNode._pending || (n.parentNode._pending = {}))[e.key] = e), l && l(n), h && (hi(n, a), hi(n, c), vi(function () { mi(n, a), g.cancelled || (hi(n, s), m || (xi(y) ? setTimeout(g, y) : yi(n, o, g))) })), u && u(n, g), h || m || g()) } } function xi(e) { return "number" == typeof e && !isNaN(e) } function ki(e) { if (M(e)) return !1; var t = e.fns; return D(t) ? ki(Array.isArray(t) ? t[0] : t) : 1 < (e._length || e.length) } function Ai(e, t) { !0 !== t.data.show && wi(t) } var Oi = function (e) { var r, t, g = {}, n = e.modules, _ = e.nodeOps; for (r = 0; r < Xn.length; ++r)for (g[Xn[r]] = [], t = 0; t < n.length; ++t)D(n[t][Xn[r]]) && g[Xn[r]].push(n[t][Xn[r]]); function o(e) { var t = _.parentNode(e); D(t) && _.removeChild(t, e) } function b(e, t, n, r, i, o, a) { if (D(e.elm) && D(o) && (e = o[a] = de(e)), e.isRootInsert = !i, !function (e, t, n, r) { var i = e.data; if (D(i)) { var o = D(e.componentInstance) && i.keepAlive; if (D(i = i.hook) && D(i = i.init) && i(e, !1, n, r), D(e.componentInstance)) return d(e, t), S(o) && function (e, t, n, r) { for (var i, o = e; o.componentInstance;)if (o = o.componentInstance._vnode, D(i = o.data) && D(i = i.transition)) { for (i = 0; i < g.activate.length; ++i)g.activate[i](Zn, o); t.push(o); break } u(n, e.elm, r) }(e, t, n, r), !0 } }(e, t, n, r)) { var s = e.data, c = e.children, l = e.tag; D(l) ? (e.elm = e.ns ? _.createElementNS(e.ns, l) : _.createElement(l, e), f(e), v(e, c, t), D(s) && h(e, t)) : S(e.isComment) ? e.elm = _.createComment(e.text) : e.elm = _.createTextNode(e.text), u(n, e.elm, r) } } function d(e, t) { D(e.data.pendingInsert) && (t.push.apply(t, e.data.pendingInsert), e.data.pendingInsert = null), e.elm = e.componentInstance.$el, $(e) ? (h(e, t), f(e)) : (Gn(e), t.push(e)) } function u(e, t, n) { D(e) && (D(n) ? n.parentNode === e && _.insertBefore(e, t, n) : _.appendChild(e, t)) } function v(e, t, n) { if (Array.isArray(t)) for (var r = 0; r < t.length; ++r)b(t[r], n, e.elm, null, !0, t, r); else T(e.text) && _.appendChild(e.elm, _.createTextNode(String(e.text))) } function $(e) { for (; e.componentInstance;)e = e.componentInstance._vnode; return D(e.tag) } function h(e, t) { for (var n = 0; n < g.create.length; ++n)g.create[n](Zn, e); D(r = e.data.hook) && (D(r.create) && r.create(Zn, e), D(r.insert) && t.push(e)) } function f(e) { var t; if (D(t = e.fnScopeId)) _.setStyleScope(e.elm, t); else for (var n = e; n;)D(t = n.context) && D(t = t.$options._scopeId) && _.setStyleScope(e.elm, t), n = n.parent; D(t = mt) && t !== e.context && t !== e.fnContext && D(t = t.$options._scopeId) && _.setStyleScope(e.elm, t) } function y(e, t, n, r, i, o) { for (; r <= i; ++r)b(n[r], o, e, t, !1, n, r) } function w(e) { var t, n, r = e.data; if (D(r)) for (D(t = r.hook) && D(t = t.destroy) && t(e), t = 0; t < g.destroy.length; ++t)g.destroy[t](e); if (D(t = e.children)) for (n = 0; n < e.children.length; ++n)w(e.children[n]) } function C(e, t, n, r) { for (; n <= r; ++n) { var i = t[n]; D(i) && (D(i.tag) ? (a(i), w(i)) : o(i.elm)) } } function a(e, t) { if (D(t) || D(e.data)) { var n, r = g.remove.length + 1; for (D(t) ? t.listeners += r : t = function (e, t) { function n() { 0 == --n.listeners && o(e) } return n.listeners = t, n }(e.elm, r), D(n = e.componentInstance) && D(n = n._vnode) && D(n.data) && a(n, t), n = 0; n < g.remove.length; ++n)g.remove[n](e, t); D(n = e.data.hook) && D(n = n.remove) ? n(e, t) : t() } else o(e.elm) } function x(e, t, n, r) { for (var i = n; i < r; i++) { var o = t[i]; if (D(o) && Yn(e, o)) return i } } function k(e, t, n, r) { if (e !== t) { var i = t.elm = e.elm; if (S(e.isAsyncPlaceholder)) D(t.asyncFactory.resolved) ? O(e.elm, t, n) : t.isAsyncPlaceholder = !0; else if (S(t.isStatic) && S(e.isStatic) && t.key === e.key && (S(t.isCloned) || S(t.isOnce))) t.componentInstance = e.componentInstance; else { var o, a = t.data; D(a) && D(o = a.hook) && D(o = o.prepatch) && o(e, t); var s = e.children, c = t.children; if (D(a) && $(t)) { for (o = 0; o < g.update.length; ++o)g.update[o](e, t); D(o = a.hook) && D(o = o.update) && o(e, t) } M(t.text) ? D(s) && D(c) ? s !== c && function (e, t, n, r, i) { for (var o, a, s, c = 0, l = 0, u = t.length - 1, f = t[0], p = t[u], d = n.length - 1, v = n[0], h = n[d], m = !i; c <= u && l <= d;)M(f) ? f = t[++c] : M(p) ? p = t[--u] : Yn(f, v) ? (k(f, v, r), f = t[++c], v = n[++l]) : Yn(p, h) ? (k(p, h, r), p = t[--u], h = n[--d]) : Yn(f, h) ? (k(f, h, r), m && _.insertBefore(e, f.elm, _.nextSibling(p.elm)), f = t[++c], h = n[--d]) : (Yn(p, v) ? (k(p, v, r), m && _.insertBefore(e, p.elm, f.elm), p = t[--u]) : (M(o) && (o = Qn(t, c, u)), M(a = D(v.key) ? o[v.key] : x(v, t, c, u)) ? b(v, r, e, f.elm, !1, n, l) : Yn(s = t[a], v) ? (k(s, v, r), t[a] = void 0, m && _.insertBefore(e, s.elm, f.elm)) : b(v, r, e, f.elm, !1, n, l)), v = n[++l]); u < c ? y(e, M(n[d + 1]) ? null : n[d + 1].elm, n, l, d, r) : d < l && C(0, t, c, u) }(i, s, c, n, r) : D(c) ? (D(e.text) && _.setTextContent(i, ""), y(i, null, c, 0, c.length - 1, n)) : D(s) ? C(0, s, 0, s.length - 1) : D(e.text) && _.setTextContent(i, "") : e.text !== t.text && _.setTextContent(i, t.text), D(a) && D(o = a.hook) && D(o = o.postpatch) && o(e, t) } } } function A(e, t, n) { if (S(n) && D(e.parent)) e.parent.data.pendingInsert = t; else for (var r = 0; r < t.length; ++r)t[r].data.hook.insert(t[r]) } var m = s("attrs,class,staticClass,staticStyle,key"); function O(e, t, n, r) { var i, o = t.tag, a = t.data, s = t.children; if (r = r || a && a.pre, t.elm = e, S(t.isComment) && D(t.asyncFactory)) return t.isAsyncPlaceholder = !0; if (D(a) && (D(i = a.hook) && D(i = i.init) && i(t, !0), D(i = t.componentInstance))) return d(t, n), !0; if (D(o)) { if (D(s)) if (e.hasChildNodes()) if (D(i = a) && D(i = i.domProps) && D(i = i.innerHTML)) { if (i !== e.innerHTML) return !1 } else { for (var c = !0, l = e.firstChild, u = 0; u < s.length; u++) { if (!l || !O(l, s[u], n, r)) { c = !1; break } l = l.nextSibling } if (!c || l) return !1 } else v(t, s, n); if (D(a)) { var f = !1; for (var p in a) if (!m(p)) { f = !0, h(t, n); break } !f && a.class && Ye(a.class) } } else e.data !== t.text && (e.data = t.text); return !0 } return function (e, t, n, r, i, o) { if (!M(t)) { var a, s = !1, c = []; if (M(e)) s = !0, b(t, c, i, o); else { var l = D(e.nodeType); if (!l && Yn(e, t)) k(e, t, c, r); else { if (l) { if (1 === e.nodeType && e.hasAttribute(E) && (e.removeAttribute(E), n = !0), S(n) && O(e, t, c)) return A(t, c, !0), e; a = e, e = new le(_.tagName(a).toLowerCase(), {}, [], void 0, a) } var u = e.elm, f = _.parentNode(u); if (b(t, c, u._leaveCb ? null : f, _.nextSibling(u)), D(t.parent)) for (var p = t.parent, d = $(t); p;) { for (var v = 0; v < g.destroy.length; ++v)g.destroy[v](p); if (p.elm = t.elm, d) { for (var h = 0; h < g.create.length; ++h)g.create[h](Zn, p); var m = p.data.hook.insert; if (m.merged) for (var y = 1; y < m.fns.length; y++)m.fns[y]() } else Gn(p); p = p.parent } D(f) ? C(0, [e], 0, 0) : D(e.tag) && w(e) } } return A(t, c, s), t.elm } D(e) && w(e) } }({ nodeOps: qn, modules: [lr, yr, Ur, zr, ti, B ? { create: Ai, activate: Ai, remove: function (e, t) { !0 !== e.data.show ? Ci(e, t) : t() } } : {}].concat(or) }); J && document.addEventListener("selectionchange", function () { var e = document.activeElement; e && e.vmodel && Mi(e, "input") }); var Si = { inserted: function (e, t, n, r) { "select" === n.tag ? (r.elm && !r.elm._vOptions ? rt(n, "postpatch", function () { Si.componentUpdated(e, t, n) }) : Ti(e, t, n.context), e._vOptions = [].map.call(e.options, Ni)) : ("textarea" === n.tag || Kn(e.type)) && (e._vModifiers = t.modifiers, t.modifiers.lazy || (e.addEventListener("compositionstart", Li), e.addEventListener("compositionend", Ii), e.addEventListener("change", Ii), J && (e.vmodel = !0))) }, componentUpdated: function (e, t, n) { if ("select" === n.tag) { Ti(e, t, n.context); var r = e._vOptions, i = e._vOptions = [].map.call(e.options, Ni); if (i.some(function (e, t) { return !C(e, r[t]) })) (e.multiple ? t.value.some(function (e) { return ji(e, i) }) : t.value !== t.oldValue && ji(t.value, i)) && Mi(e, "change") } } }; function Ti(e, t, n) { Ei(e, t, n), (K || q) && setTimeout(function () { Ei(e, t, n) }, 0) } function Ei(e, t, n) { var r = t.value, i = e.multiple; if (!i || Array.isArray(r)) { for (var o, a, s = 0, c = e.options.length; s < c; s++)if (a = e.options[s], i) o = -1 < x(r, Ni(a)), a.selected !== o && (a.selected = o); else if (C(Ni(a), r)) return void (e.selectedIndex !== s && (e.selectedIndex = s)); i || (e.selectedIndex = -1) } } function ji(t, e) { return e.every(function (e) { return !C(e, t) }) } function Ni(e) { return "_value" in e ? e._value : e.value } function Li(e) { e.target.composing = !0 } function Ii(e) { e.target.composing && (e.target.composing = !1, Mi(e.target, "input")) } function Mi(e, t) { var n = document.createEvent("HTMLEvents"); n.initEvent(t, !0, !0), e.dispatchEvent(n) } function Di(e) { return !e.componentInstance || e.data && e.data.transition ? e : Di(e.componentInstance._vnode) } var Pi = { model: Si, show: { bind: function (e, t, n) { var r = t.value, i = (n = Di(n)).data && n.data.transition, o = e.__vOriginalDisplay = "none" === e.style.display ? "" : e.style.display; r && i ? (n.data.show = !0, wi(n, function () { e.style.display = o })) : e.style.display = r ? o : "none" }, update: function (e, t, n) { var r = t.value; !r != !t.oldValue && ((n = Di(n)).data && n.data.transition ? (n.data.show = !0, r ? wi(n, function () { e.style.display = e.__vOriginalDisplay }) : Ci(n, function () { e.style.display = "none" })) : e.style.display = r ? e.__vOriginalDisplay : "none") }, unbind: function (e, t, n, r, i) { i || (e.style.display = e.__vOriginalDisplay) } } }, Fi = { name: String, appear: Boolean, css: Boolean, mode: String, type: String, enterClass: String, leaveClass: String, enterToClass: String, leaveToClass: String, enterActiveClass: String, leaveActiveClass: String, appearClass: String, appearActiveClass: String, appearToClass: String, duration: [Number, String, Object] }; function Ri(e) { var t = e && e.componentOptions; return t && t.Ctor.options.abstract ? Ri(lt(t.children)) : e } function Hi(e) { var t = {}, n = e.$options; for (var r in n.propsData) t[r] = e[r]; var i = n._parentListeners; for (var o in i) t[g(o)] = i[o]; return t } function Bi(e, t) { if (/\d-keep-alive$/.test(t.tag)) return e("keep-alive", { props: t.componentOptions.propsData }) } var Ui = { name: "transition", props: Fi, abstract: !0, render: function (e) { var t = this, n = this.$slots.default; if (n && (n = n.filter(function (e) { return e.tag || ct(e) })).length) { var r = this.mode, i = n[0]; if (function (e) { for (; e = e.parent;)if (e.data.transition) return !0 }(this.$vnode)) return i; var o = Ri(i); if (!o) return i; if (this._leaving) return Bi(e, i); var a = "__transition-" + this._uid + "-"; o.key = null == o.key ? o.isComment ? a + "comment" : a + o.tag : T(o.key) ? 0 === String(o.key).indexOf(a) ? o.key : a + o.key : o.key; var s, c, l = (o.data || (o.data = {})).transition = Hi(this), u = this._vnode, f = Ri(u); if (o.data.directives && o.data.directives.some(function (e) { return "show" === e.name }) && (o.data.show = !0), f && f.data && (s = o, (c = f).key !== s.key || c.tag !== s.tag) && !ct(f) && (!f.componentInstance || !f.componentInstance._vnode.isComment)) { var p = f.data.transition = m({}, l); if ("out-in" === r) return this._leaving = !0, rt(p, "afterLeave", function () { t._leaving = !1, t.$forceUpdate() }), Bi(e, i); if ("in-out" === r) { if (ct(o)) return u; var d, v = function () { d() }; rt(l, "afterEnter", v), rt(l, "enterCancelled", v), rt(p, "delayLeave", function (e) { d = e }) } } return i } } }, Vi = m({ tag: String, moveClass: String }, Fi); function zi(e) { e.elm._moveCb && e.elm._moveCb(), e.elm._enterCb && e.elm._enterCb() } function Ki(e) { e.data.newPos = e.elm.getBoundingClientRect() } function Ji(e) { var t = e.data.pos, n = e.data.newPos, r = t.left - n.left, i = t.top - n.top; if (r || i) { e.data.moved = !0; var o = e.elm.style; o.transform = o.WebkitTransform = "translate(" + r + "px," + i + "px)", o.transitionDuration = "0s" } } delete Vi.mode; var qi = { Transition: Ui, TransitionGroup: { props: Vi, render: function (e) { for (var t = this.tag || this.$vnode.data.tag || "span", n = Object.create(null), r = this.prevChildren = this.children, i = this.$slots.default || [], o = this.children = [], a = Hi(this), s = 0; s < i.length; s++) { var c = i[s]; c.tag && null != c.key && 0 !== String(c.key).indexOf("__vlist") && (o.push(c), ((n[c.key] = c).data || (c.data = {})).transition = a) } if (r) { for (var l = [], u = [], f = 0; f < r.length; f++) { var p = r[f]; p.data.transition = a, p.data.pos = p.elm.getBoundingClientRect(), n[p.key] ? l.push(p) : u.push(p) } this.kept = e(t, null, l), this.removed = u } return e(t, null, o) }, beforeUpdate: function () { this.__patch__(this._vnode, this.kept, !1, !0), this._vnode = this.kept }, updated: function () { var e = this.prevChildren, r = this.moveClass || (this.name || "v") + "-move"; e.length && this.hasMove(e[0].elm, r) && (e.forEach(zi), e.forEach(Ki), e.forEach(Ji), this._reflow = document.body.offsetHeight, e.forEach(function (e) { if (e.data.moved) { var n = e.elm, t = n.style; hi(n, r), t.transform = t.WebkitTransform = t.transitionDuration = "", n.addEventListener(ui, n._moveCb = function e(t) { t && !/transform$/.test(t.propertyName) || (n.removeEventListener(ui, e), n._moveCb = null, mi(n, r)) }) } })) }, methods: { hasMove: function (e, t) { if (!ai) return !1; if (this._hasMove) return this._hasMove; var n = e.cloneNode(); e._transitionClasses && e._transitionClasses.forEach(function (e) { ri(n, e) }), ni(n, t), n.style.display = "none", this.$el.appendChild(n); var r = _i(n); return this.$el.removeChild(n), this._hasMove = r.hasTransform } } } }; hn.config.mustUseProp = Sn, hn.config.isReservedTag = Un, hn.config.isReservedAttr = An, hn.config.getTagNamespace = Vn, hn.config.isUnknownElement = function (e) { if (!B) return !0; if (Un(e)) return !1; if (e = e.toLowerCase(), null != zn[e]) return zn[e]; var t = document.createElement(e); return -1 < e.indexOf("-") ? zn[e] = t.constructor === window.HTMLUnknownElement || t.constructor === window.HTMLElement : zn[e] = /HTMLUnknownElement/.test(t.toString()) }, m(hn.options.directives, Pi), m(hn.options.components, qi), hn.prototype.__patch__ = B ? Oi : $, hn.prototype.$mount = function (e, t) { return e = e && B ? Jn(e) : void 0, r = e, i = t, (n = this).$el = r, n.$options.render || (n.$options.render = fe), _t(n, "beforeMount"), new St(n, function () { n._update(n._render(), i) }, $, null, !0), i = !1, null == n.$vnode && (n._isMounted = !0, _t(n, "mounted")), n; var n, r, i }, B && setTimeout(function () { j.devtools && Q && Q.emit("init", hn) }, 0); var Wi = /\{\{((?:.|\n)+?)\}\}/g, Gi = /[-.*+?^${}()|[\]\/\\]/g, Zi = e(function (e) { var t = e[0].replace(Gi, "\\$&"), n = e[1].replace(Gi, "\\$&"); return new RegExp(t + "((?:.|\\n)+?)" + n, "g") }); var Xi = { staticKeys: ["staticClass"], transformNode: function (e, t) { t.warn; var n = Sr(e, "class"); n && (e.staticClass = JSON.stringify(n)); var r = Or(e, "class", !1); r && (e.classBinding = r) }, genData: function (e) { var t = ""; return e.staticClass && (t += "staticClass:" + e.staticClass + ","), e.classBinding && (t += "class:" + e.classBinding + ","), t } }; var Yi, Qi = { staticKeys: ["staticStyle"], transformNode: function (e, t) { t.warn; var n = Sr(e, "style"); n && (e.staticStyle = JSON.stringify(Kr(n))); var r = Or(e, "style", !1); r && (e.styleBinding = r) }, genData: function (e) { var t = ""; return e.staticStyle && (t += "staticStyle:" + e.staticStyle + ","), e.styleBinding && (t += "style:(" + e.styleBinding + "),"), t } }, eo = function (e) { return (Yi = Yi || document.createElement("div")).innerHTML = e, Yi.textContent }, to = s("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"), no = s("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"), ro = s("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"), io = /^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/, oo = "[a-zA-Z_][\\w\\-\\.]*", ao = "((?:" + oo + "\\:)?" + oo + ")", so = new RegExp("^<" + ao), co = /^\s*(\/?)>/, lo = new RegExp("^<\\/" + ao + "[^>]*>"), uo = /^]+>/i, fo = /^", """: '"', "&": "&", "
": "\n", " ": "\t" }, go = /&(?:lt|gt|quot|amp);/g, _o = /&(?:lt|gt|quot|amp|#10|#9);/g, bo = s("pre,textarea", !0), $o = function (e, t) { return e && bo(e) && "\n" === t[0] }; var wo, Co, xo, ko, Ao, Oo, So, To, Eo = /^@|^v-on:/, jo = /^v-|^@|^:/, No = /([^]*?)\s+(?:in|of)\s+([^]*)/, Lo = /,([^,\}\]]*)(?:,([^,\}\]]*))?$/, Io = /^\(|\)$/g, Mo = /:(.*)$/, Do = /^:|^v-bind:/, Po = /\.[^.]+/g, Fo = e(eo); function Ro(e, t, n) { return { type: 1, tag: e, attrsList: t, attrsMap: function (e) { for (var t = {}, n = 0, r = e.length; n < r; n++)t[e[n].name] = e[n].value; return t }(t), parent: n, children: [] } } function Ho(e, p) { wo = p.warn || $r, Oo = p.isPreTag || O, So = p.mustUseProp || O, To = p.getTagNamespace || O, xo = wr(p.modules, "transformNode"), ko = wr(p.modules, "preTransformNode"), Ao = wr(p.modules, "postTransformNode"), Co = p.delimiters; var d, v, h = [], i = !1 !== p.preserveWhitespace, m = !1, y = !1; function g(e) { e.pre && (m = !1), Oo(e.tag) && (y = !1); for (var t = 0; t < Ao.length; t++)Ao[t](e, p) } return function (i, d) { for (var e, v, h = [], m = d.expectHTML, y = d.isUnaryTag || O, g = d.canBeLeftOpenTag || O, a = 0; i;) { if (e = i, v && ho(v)) { var r = 0, o = v.toLowerCase(), t = mo[o] || (mo[o] = new RegExp("([\\s\\S]*?)(" + o + "[^>]*>)", "i")), n = i.replace(t, function (e, t, n) { return r = n.length, ho(o) || "noscript" === o || (t = t.replace(//g, "$1").replace(//g, "$1")), $o(o, t) && (t = t.slice(1)), d.chars && d.chars(t), "" }); a += i.length - n.length, i = n, A(o, a - r, a) } else { var s = i.indexOf("<"); if (0 === s) { if (fo.test(i)) { var c = i.indexOf("--\x3e"); if (0 <= c) { d.shouldKeepComment && d.comment(i.substring(4, c)), C(c + 3); continue } } if (po.test(i)) { var l = i.indexOf("]>"); if (0 <= l) { C(l + 2); continue } } var u = i.match(uo); if (u) { C(u[0].length); continue } var f = i.match(lo); if (f) { var p = a; C(f[0].length), A(f[1], p, a); continue } var _ = x(); if (_) { k(_), $o(v, i) && C(1); continue } } var b = void 0, $ = void 0, w = void 0; if (0 <= s) { for ($ = i.slice(s); !(lo.test($) || so.test($) || fo.test($) || po.test($) || (w = $.indexOf("<", 1)) < 0);)s += w, $ = i.slice(s); b = i.substring(0, s), C(s) } s < 0 && (b = i, i = ""), d.chars && b && d.chars(b) } if (i === e) { d.chars && d.chars(i); break } } function C(e) { a += e, i = i.substring(e) } function x() { var e = i.match(so); if (e) { var t, n, r = { tagName: e[1], attrs: [], start: a }; for (C(e[0].length); !(t = i.match(co)) && (n = i.match(io));)C(n[0].length), r.attrs.push(n); if (t) return r.unarySlash = t[1], C(t[0].length), r.end = a, r } } function k(e) { var t = e.tagName, n = e.unarySlash; m && ("p" === v && ro(t) && A(v), g(t) && v === t && A(t)); for (var r, i, o, a = y(t) || !!n, s = e.attrs.length, c = new Array(s), l = 0; l < s; l++) { var u = e.attrs[l]; vo && -1 === u[0].indexOf('""') && ("" === u[3] && delete u[3], "" === u[4] && delete u[4], "" === u[5] && delete u[5]); var f = u[3] || u[4] || u[5] || "", p = "a" === t && "href" === u[1] ? d.shouldDecodeNewlinesForHref : d.shouldDecodeNewlines; c[l] = { name: u[1], value: (r = f, i = p, o = i ? _o : go, r.replace(o, function (e) { return yo[e] })) } } a || (h.push({ tag: t, lowerCasedTag: t.toLowerCase(), attrs: c }), v = t), d.start && d.start(t, c, a, e.start, e.end) } function A(e, t, n) { var r, i; if (null == t && (t = a), null == n && (n = a), e && (i = e.toLowerCase()), e) for (r = h.length - 1; 0 <= r && h[r].lowerCasedTag !== i; r--); else r = 0; if (0 <= r) { for (var o = h.length - 1; r <= o; o--)d.end && d.end(h[o].tag, t, n); h.length = r, v = r && h[r - 1].tag } else "br" === i ? d.start && d.start(e, [], !0, t, n) : "p" === i && (d.start && d.start(e, [], !1, t, n), d.end && d.end(e, t, n)) } A() }(e, { warn: wo, expectHTML: p.expectHTML, isUnaryTag: p.isUnaryTag, canBeLeftOpenTag: p.canBeLeftOpenTag, shouldDecodeNewlines: p.shouldDecodeNewlines, shouldDecodeNewlinesForHref: p.shouldDecodeNewlinesForHref, shouldKeepComment: p.comments, start: function (e, t, n) { var r = v && v.ns || To(e); K && "svg" === r && (t = function (e) { for (var t = [], n = 0; n < e.length; n++) { var r = e[n]; Ko.test(r.name) || (r.name = r.name.replace(Jo, ""), t.push(r)) } return t }(t)); var i, o, a, s, c, l = Ro(e, t, v); r && (l.ns = r), "style" !== (i = l).tag && ("script" !== i.tag || i.attrsMap.type && "text/javascript" !== i.attrsMap.type) || Y() || (l.forbidden = !0); for (var u = 0; u < ko.length; u++)l = ko[u](l, p) || l; if (m || (null != Sr(o = l, "v-pre") && (o.pre = !0), l.pre && (m = !0)), Oo(l.tag) && (y = !0), m ? function (e) { var t = e.attrsList.length; if (t) for (var n = e.attrs = new Array(t), r = 0; r < t; r++)n[r] = { name: e.attrsList[r].name, value: JSON.stringify(e.attrsList[r].value) }; else e.pre || (e.plain = !0) }(l) : l.processed || (Uo(l), function (e) { var t = Sr(e, "v-if"); if (t) e.if = t, Vo(e, { exp: t, block: e }); else { null != Sr(e, "v-else") && (e.else = !0); var n = Sr(e, "v-else-if"); n && (e.elseif = n) } }(l), null != Sr(a = l, "v-once") && (a.once = !0), Bo(l, p)), d ? h.length || d.if && (l.elseif || l.else) && Vo(d, { exp: l.elseif, block: l }) : d = l, v && !l.forbidden) if (l.elseif || l.else) s = l, (c = function (e) { var t = e.length; for (; t--;) { if (1 === e[t].type) return e[t]; e.pop() } }(v.children)) && c.if && Vo(c, { exp: s.elseif, block: s }); else if (l.slotScope) { v.plain = !1; var f = l.slotTarget || '"default"'; (v.scopedSlots || (v.scopedSlots = {}))[f] = l } else v.children.push(l), l.parent = v; n ? g(l) : (v = l, h.push(l)) }, end: function () { var e = h[h.length - 1], t = e.children[e.children.length - 1]; t && 3 === t.type && " " === t.text && !y && e.children.pop(), h.length -= 1, v = h[h.length - 1], g(e) }, chars: function (e) { if (v && (!K || "textarea" !== v.tag || v.attrsMap.placeholder !== e)) { var t, n, r = v.children; if (e = y || e.trim() ? "script" === (t = v).tag || "style" === t.tag ? e : Fo(e) : i && r.length ? " " : "") !m && " " !== e && (n = function (e, t) { var n = t ? Zi(t) : Wi; if (n.test(e)) { for (var r, i, o, a = [], s = [], c = n.lastIndex = 0; r = n.exec(e);) { c < (i = r.index) && (s.push(o = e.slice(c, i)), a.push(JSON.stringify(o))); var l = _r(r[1].trim()); a.push("_s(" + l + ")"), s.push({ "@binding": l }), c = i + r[0].length } return c < e.length && (s.push(o = e.slice(c)), a.push(JSON.stringify(o))), { expression: a.join("+"), tokens: s } } }(e, Co)) ? r.push({ type: 2, expression: n.expression, tokens: n.tokens, text: e }) : " " === e && r.length && " " === r[r.length - 1].text || r.push({ type: 3, text: e }) } }, comment: function (e) { v.children.push({ type: 3, text: e, isComment: !0 }) } }), d } function Bo(e, t) { var n, r, i, o; (r = Or(n = e, "key")) && (n.key = r), e.plain = !e.key && !e.attrsList.length, (o = Or(i = e, "ref")) && (i.ref = o, i.refInFor = function (e) { for (var t = e; t;) { if (void 0 !== t.for) return !0; t = t.parent } return !1 }(i)), function (e) { if ("slot" === e.tag) e.slotName = Or(e, "name"); else { var t; "template" === e.tag ? (t = Sr(e, "scope"), e.slotScope = t || Sr(e, "slot-scope")) : (t = Sr(e, "slot-scope")) && (e.slotScope = t); var n = Or(e, "slot"); n && (e.slotTarget = '""' === n ? '"default"' : n, "template" === e.tag || e.slotScope || xr(e, "slot", n)) } }(e), function (e) { var t; (t = Or(e, "is")) && (e.component = t); null != Sr(e, "inline-template") && (e.inlineTemplate = !0) }(e); for (var a = 0; a < xo.length; a++)e = xo[a](e, t) || e; !function (e) { var t, n, r, i, o, a, s, c = e.attrsList; for (t = 0, n = c.length; t < n; t++)if (r = i = c[t].name, o = c[t].value, jo.test(r)) if (e.hasBindings = !0, (a = zo(r)) && (r = r.replace(Po, "")), Do.test(r)) r = r.replace(Do, ""), o = _r(o), s = !1, a && (a.prop && (s = !0, "innerHtml" === (r = g(r)) && (r = "innerHTML")), a.camel && (r = g(r)), a.sync && Ar(e, "update:" + g(r), Er(o, "$event"))), s || !e.component && So(e.tag, e.attrsMap.type, r) ? Cr(e, r, o) : xr(e, r, o); else if (Eo.test(r)) r = r.replace(Eo, ""), Ar(e, r, o, a, !1); else { var l = (r = r.replace(jo, "")).match(Mo), u = l && l[1]; u && (r = r.slice(0, -(u.length + 1))), p = r, d = i, v = o, h = u, m = a, ((f = e).directives || (f.directives = [])).push({ name: p, rawName: d, value: v, arg: h, modifiers: m }), f.plain = !1 } else xr(e, r, JSON.stringify(o)), !e.component && "muted" === r && So(e.tag, e.attrsMap.type, r) && Cr(e, r, "true"); var f, p, d, v, h, m }(e) } function Uo(e) { var t; if (t = Sr(e, "v-for")) { var n = function (e) { var t = e.match(No); if (!t) return; var n = {}; n.for = t[2].trim(); var r = t[1].trim().replace(Io, ""), i = r.match(Lo); i ? (n.alias = r.replace(Lo, ""), n.iterator1 = i[1].trim(), i[2] && (n.iterator2 = i[2].trim())) : n.alias = r; return n }(t); n && m(e, n) } } function Vo(e, t) { e.ifConditions || (e.ifConditions = []), e.ifConditions.push(t) } function zo(e) { var t = e.match(Po); if (t) { var n = {}; return t.forEach(function (e) { n[e.slice(1)] = !0 }), n } } var Ko = /^xmlns:NS\d+/, Jo = /^NS\d+:/; function qo(e) { return Ro(e.tag, e.attrsList.slice(), e.parent) } var Wo = [Xi, Qi, { preTransformNode: function (e, t) { if ("input" === e.tag) { var n, r = e.attrsMap; if (!r["v-model"]) return; if ((r[":type"] || r["v-bind:type"]) && (n = Or(e, "type")), r.type || n || !r["v-bind"] || (n = "(" + r["v-bind"] + ").type"), n) { var i = Sr(e, "v-if", !0), o = i ? "&&(" + i + ")" : "", a = null != Sr(e, "v-else", !0), s = Sr(e, "v-else-if", !0), c = qo(e); Uo(c), kr(c, "type", "checkbox"), Bo(c, t), c.processed = !0, c.if = "(" + n + ")==='checkbox'" + o, Vo(c, { exp: c.if, block: c }); var l = qo(e); Sr(l, "v-for", !0), kr(l, "type", "radio"), Bo(l, t), Vo(c, { exp: "(" + n + ")==='radio'" + o, block: l }); var u = qo(e); return Sr(u, "v-for", !0), kr(u, ":type", n), Bo(u, t), Vo(c, { exp: i, block: u }), a ? c.else = !0 : s && (c.elseif = s), c } } } }]; var Go, Zo, Xo, Yo = { expectHTML: !0, modules: Wo, directives: { model: function (e, t, n) { var r, i, o, a, s, c, l, u, f, p, d, v, h, m, y, g, _ = t.value, b = t.modifiers, $ = e.tag, w = e.attrsMap.type; if (e.component) return Tr(e, _, b), !1; if ("select" === $) h = e, m = _, g = (g = 'var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return ' + ((y = b) && y.number ? "_n(val)" : "val") + "});") + " " + Er(m, "$event.target.multiple ? $$selectedVal : $$selectedVal[0]"), Ar(h, "change", g, null, !0); else if ("input" === $ && "checkbox" === w) c = e, l = _, f = (u = b) && u.number, p = Or(c, "value") || "null", d = Or(c, "true-value") || "true", v = Or(c, "false-value") || "false", Cr(c, "checked", "Array.isArray(" + l + ")?_i(" + l + "," + p + ")>-1" + ("true" === d ? ":(" + l + ")" : ":_q(" + l + "," + d + ")")), Ar(c, "change", "var $$a=" + l + ",$$el=$event.target,$$c=$$el.checked?(" + d + "):(" + v + ");if(Array.isArray($$a)){var $$v=" + (f ? "_n(" + p + ")" : p) + ",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&(" + Er(l, "$$a.concat([$$v])") + ")}else{$$i>-1&&(" + Er(l, "$$a.slice(0,$$i).concat($$a.slice($$i+1))") + ")}}else{" + Er(l, "$$c") + "}", null, !0); else if ("input" === $ && "radio" === w) r = e, i = _, a = (o = b) && o.number, s = Or(r, "value") || "null", Cr(r, "checked", "_q(" + i + "," + (s = a ? "_n(" + s + ")" : s) + ")"), Ar(r, "change", Er(i, s), null, !0); else if ("input" === $ || "textarea" === $) !function (e, t, n) { var r = e.attrsMap.type, i = n || {}, o = i.lazy, a = i.number, s = i.trim, c = !o && "range" !== r, l = o ? "change" : "range" === r ? Pr : "input", u = "$event.target.value"; s && (u = "$event.target.value.trim()"), a && (u = "_n(" + u + ")"); var f = Er(t, u); c && (f = "if($event.target.composing)return;" + f), Cr(e, "value", "(" + t + ")"), Ar(e, l, f, null, !0), (s || a) && Ar(e, "blur", "$forceUpdate()") }(e, _, b); else if (!j.isReservedTag($)) return Tr(e, _, b), !1; return !0 }, text: function (e, t) { t.value && Cr(e, "textContent", "_s(" + t.value + ")") }, html: function (e, t) { t.value && Cr(e, "innerHTML", "_s(" + t.value + ")") } }, isPreTag: function (e) { return "pre" === e }, isUnaryTag: to, mustUseProp: Sn, canBeLeftOpenTag: no, isReservedTag: Un, getTagNamespace: Vn, staticKeys: (Go = Wo, Go.reduce(function (e, t) { return e.concat(t.staticKeys || []) }, []).join(",")) }, Qo = e(function (e) { return s("type,tag,attrsList,attrsMap,plain,parent,children,attrs" + (e ? "," + e : "")) }); function ea(e, t) { e && (Zo = Qo(t.staticKeys || ""), Xo = t.isReservedTag || O, function e(t) { t.static = function (e) { if (2 === e.type) return !1; if (3 === e.type) return !0; return !(!e.pre && (e.hasBindings || e.if || e.for || c(e.tag) || !Xo(e.tag) || function (e) { for (; e.parent;) { if ("template" !== (e = e.parent).tag) return !1; if (e.for) return !0 } return !1 }(e) || !Object.keys(e).every(Zo))) }(t); if (1 === t.type) { if (!Xo(t.tag) && "slot" !== t.tag && null == t.attrsMap["inline-template"]) return; for (var n = 0, r = t.children.length; n < r; n++) { var i = t.children[n]; e(i), i.static || (t.static = !1) } if (t.ifConditions) for (var o = 1, a = t.ifConditions.length; o < a; o++) { var s = t.ifConditions[o].block; e(s), s.static || (t.static = !1) } } }(e), function e(t, n) { if (1 === t.type) { if ((t.static || t.once) && (t.staticInFor = n), t.static && t.children.length && (1 !== t.children.length || 3 !== t.children[0].type)) return void (t.staticRoot = !0); if (t.staticRoot = !1, t.children) for (var r = 0, i = t.children.length; r < i; r++)e(t.children[r], n || !!t.for); if (t.ifConditions) for (var o = 1, a = t.ifConditions.length; o < a; o++)e(t.ifConditions[o].block, n) } }(e, !1)) } var ta = /^([\w$_]+|\([^)]*?\))\s*=>|^function\s*\(/, na = /^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/, ra = { esc: 27, tab: 9, enter: 13, space: 32, up: 38, left: 37, right: 39, down: 40, delete: [8, 46] }, ia = { esc: "Escape", tab: "Tab", enter: "Enter", space: " ", up: ["Up", "ArrowUp"], left: ["Left", "ArrowLeft"], right: ["Right", "ArrowRight"], down: ["Down", "ArrowDown"], delete: ["Backspace", "Delete"] }, oa = function (e) { return "if(" + e + ")return null;" }, aa = { stop: "$event.stopPropagation();", prevent: "$event.preventDefault();", self: oa("$event.target !== $event.currentTarget"), ctrl: oa("!$event.ctrlKey"), shift: oa("!$event.shiftKey"), alt: oa("!$event.altKey"), meta: oa("!$event.metaKey"), left: oa("'button' in $event && $event.button !== 0"), middle: oa("'button' in $event && $event.button !== 1"), right: oa("'button' in $event && $event.button !== 2") }; function sa(e, t, n) { var r = t ? "nativeOn:{" : "on:{"; for (var i in e) r += '"' + i + '":' + ca(i, e[i]) + ","; return r.slice(0, -1) + "}" } function ca(t, e) { if (!e) return "function(){}"; if (Array.isArray(e)) return "[" + e.map(function (e) { return ca(t, e) }).join(",") + "]"; var n = na.test(e.value), r = ta.test(e.value); if (e.modifiers) { var i = "", o = "", a = []; for (var s in e.modifiers) if (aa[s]) o += aa[s], ra[s] && a.push(s); else if ("exact" === s) { var c = e.modifiers; o += oa(["ctrl", "shift", "alt", "meta"].filter(function (e) { return !c[e] }).map(function (e) { return "$event." + e + "Key" }).join("||")) } else a.push(s); return a.length && (i += "if(!('button' in $event)&&" + a.map(la).join("&&") + ")return null;"), o && (i += o), "function($event){" + i + (n ? "return " + e.value + "($event)" : r ? "return (" + e.value + ")($event)" : e.value) + "}" } return n || r ? e.value : "function($event){" + e.value + "}" } function la(e) { var t = parseInt(e, 10); if (t) return "$event.keyCode!==" + t; var n = ra[e], r = ia[e]; return "_k($event.keyCode," + JSON.stringify(e) + "," + JSON.stringify(n) + ",$event.key," + JSON.stringify(r) + ")" } var ua = { on: function (e, t) { e.wrapListeners = function (e) { return "_g(" + e + "," + t.value + ")" } }, bind: function (t, n) { t.wrapData = function (e) { return "_b(" + e + ",'" + t.tag + "'," + n.value + "," + (n.modifiers && n.modifiers.prop ? "true" : "false") + (n.modifiers && n.modifiers.sync ? ",true" : "") + ")" } }, cloak: $ }, fa = function (e) { this.options = e, this.warn = e.warn || $r, this.transforms = wr(e.modules, "transformCode"), this.dataGenFns = wr(e.modules, "genData"), this.directives = m(m({}, ua), e.directives); var t = e.isReservedTag || O; this.maybeComponent = function (e) { return !t(e.tag) }, this.onceId = 0, this.staticRenderFns = [] }; function pa(e, t) { var n = new fa(t); return { render: "with(this){return " + (e ? da(e, n) : '_c("div")') + "}", staticRenderFns: n.staticRenderFns } } function da(e, t) { if (e.staticRoot && !e.staticProcessed) return va(e, t); if (e.once && !e.onceProcessed) return ha(e, t); if (e.for && !e.forProcessed) return f = t, v = (u = e).for, h = u.alias, m = u.iterator1 ? "," + u.iterator1 : "", y = u.iterator2 ? "," + u.iterator2 : "", u.forProcessed = !0, (d || "_l") + "((" + v + "),function(" + h + m + y + "){return " + (p || da)(u, f) + "})"; if (e.if && !e.ifProcessed) return ma(e, t); if ("template" !== e.tag || e.slotTarget) { if ("slot" === e.tag) return function (e, t) { var n = e.slotName || '"default"', r = _a(e, t), i = "_t(" + n + (r ? "," + r : ""), o = e.attrs && "{" + e.attrs.map(function (e) { return g(e.name) + ":" + e.value }).join(",") + "}", a = e.attrsMap["v-bind"]; !o && !a || r || (i += ",null"); o && (i += "," + o); a && (i += (o ? "" : ",null") + "," + a); return i + ")" }(e, t); var n; if (e.component) a = e.component, c = t, l = (s = e).inlineTemplate ? null : _a(s, c, !0), n = "_c(" + a + "," + ya(s, c) + (l ? "," + l : "") + ")"; else { var r = e.plain ? void 0 : ya(e, t), i = e.inlineTemplate ? null : _a(e, t, !0); n = "_c('" + e.tag + "'" + (r ? "," + r : "") + (i ? "," + i : "") + ")" } for (var o = 0; o < t.transforms.length; o++)n = t.transforms[o](e, n); return n } return _a(e, t) || "void 0"; var a, s, c, l, u, f, p, d, v, h, m, y } function va(e, t) { return e.staticProcessed = !0, t.staticRenderFns.push("with(this){return " + da(e, t) + "}"), "_m(" + (t.staticRenderFns.length - 1) + (e.staticInFor ? ",true" : "") + ")" } function ha(e, t) { if (e.onceProcessed = !0, e.if && !e.ifProcessed) return ma(e, t); if (e.staticInFor) { for (var n = "", r = e.parent; r;) { if (r.for) { n = r.key; break } r = r.parent } return n ? "_o(" + da(e, t) + "," + t.onceId++ + "," + n + ")" : da(e, t) } return va(e, t) } function ma(e, t, n, r) { return e.ifProcessed = !0, function e(t, n, r, i) { if (!t.length) return i || "_e()"; var o = t.shift(); return o.exp ? "(" + o.exp + ")?" + a(o.block) + ":" + e(t, n, r, i) : "" + a(o.block); function a(e) { return r ? r(e, n) : e.once ? ha(e, n) : da(e, n) } }(e.ifConditions.slice(), t, n, r) } function ya(e, t) { var n, r, i = "{", o = function (e, t) { var n = e.directives; if (!n) return; var r, i, o, a, s = "directives:[", c = !1; for (r = 0, i = n.length; r < i; r++) { o = n[r], a = !0; var l = t.directives[o.name]; l && (a = !!l(e, o, t.warn)), a && (c = !0, s += '{name:"' + o.name + '",rawName:"' + o.rawName + '"' + (o.value ? ",value:(" + o.value + "),expression:" + JSON.stringify(o.value) : "") + (o.arg ? ',arg:"' + o.arg + '"' : "") + (o.modifiers ? ",modifiers:" + JSON.stringify(o.modifiers) : "") + "},") } if (c) return s.slice(0, -1) + "]" }(e, t); o && (i += o + ","), e.key && (i += "key:" + e.key + ","), e.ref && (i += "ref:" + e.ref + ","), e.refInFor && (i += "refInFor:true,"), e.pre && (i += "pre:true,"), e.component && (i += 'tag:"' + e.tag + '",'); for (var a = 0; a < t.dataGenFns.length; a++)i += t.dataGenFns[a](e); if (e.attrs && (i += "attrs:{" + wa(e.attrs) + "},"), e.props && (i += "domProps:{" + wa(e.props) + "},"), e.events && (i += sa(e.events, !1, t.warn) + ","), e.nativeEvents && (i += sa(e.nativeEvents, !0, t.warn) + ","), e.slotTarget && !e.slotScope && (i += "slot:" + e.slotTarget + ","), e.scopedSlots && (i += (n = e.scopedSlots, r = t, "scopedSlots:_u([" + Object.keys(n).map(function (e) { return ga(e, n[e], r) }).join(",") + "]),")), e.model && (i += "model:{value:" + e.model.value + ",callback:" + e.model.callback + ",expression:" + e.model.expression + "},"), e.inlineTemplate) { var s = function (e, t) { var n = e.children[0]; if (1 === n.type) { var r = pa(n, t.options); return "inlineTemplate:{render:function(){" + r.render + "},staticRenderFns:[" + r.staticRenderFns.map(function (e) { return "function(){" + e + "}" }).join(",") + "]}" } }(e, t); s && (i += s + ",") } return i = i.replace(/,$/, "") + "}", e.wrapData && (i = e.wrapData(i)), e.wrapListeners && (i = e.wrapListeners(i)), i } function ga(e, t, n) { return t.for && !t.forProcessed ? (r = e, o = n, a = (i = t).for, s = i.alias, c = i.iterator1 ? "," + i.iterator1 : "", l = i.iterator2 ? "," + i.iterator2 : "", i.forProcessed = !0, "_l((" + a + "),function(" + s + c + l + "){return " + ga(r, i, o) + "})") : "{key:" + e + ",fn:" + ("function(" + String(t.slotScope) + "){return " + ("template" === t.tag ? t.if ? t.if + "?" + (_a(t, n) || "undefined") + ":undefined" : _a(t, n) || "undefined" : da(t, n)) + "}") + "}"; var r, i, o, a, s, c, l } function _a(e, t, n, r, i) { var o = e.children; if (o.length) { var a = o[0]; if (1 === o.length && a.for && "template" !== a.tag && "slot" !== a.tag) return (r || da)(a, t); var s = n ? function (e, t) { for (var n = 0, r = 0; r < e.length; r++) { var i = e[r]; if (1 === i.type) { if (ba(i) || i.ifConditions && i.ifConditions.some(function (e) { return ba(e.block) })) { n = 2; break } (t(i) || i.ifConditions && i.ifConditions.some(function (e) { return t(e.block) })) && (n = 1) } } return n }(o, t.maybeComponent) : 0, c = i || $a; return "[" + o.map(function (e) { return c(e, t) }).join(",") + "]" + (s ? "," + s : "") } } function ba(e) { return void 0 !== e.for || "template" === e.tag || "slot" === e.tag } function $a(e, t) { return 1 === e.type ? da(e, t) : 3 === e.type && e.isComment ? (r = e, "_e(" + JSON.stringify(r.text) + ")") : "_v(" + (2 === (n = e).type ? n.expression : Ca(JSON.stringify(n.text))) + ")"; var n, r } function wa(e) { for (var t = "", n = 0; n < e.length; n++) { var r = e[n]; t += '"' + r.name + '":' + Ca(r.value) + "," } return t.slice(0, -1) } function Ca(e) { return e.replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029") } new RegExp("\\b" + "do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments".split(",").join("\\b|\\b") + "\\b"), new RegExp("\\b" + "delete,typeof,void".split(",").join("\\s*\\([^\\)]*\\)|\\b") + "\\s*\\([^\\)]*\\)"); function xa(t, n) { try { return new Function(t) } catch (e) { return n.push({ err: e, code: t }), $ } } var ka, Aa, Oa = (ka = function (e, t) { var n = Ho(e.trim(), t); !1 !== t.optimize && ea(n, t); var r = pa(n, t); return { ast: n, render: r.render, staticRenderFns: r.staticRenderFns } }, function (s) { function e(e, t) { var n = Object.create(s), r = [], i = []; if (n.warn = function (e, t) { (t ? i : r).push(e) }, t) for (var o in t.modules && (n.modules = (s.modules || []).concat(t.modules)), t.directives && (n.directives = m(Object.create(s.directives || null), t.directives)), t) "modules" !== o && "directives" !== o && (n[o] = t[o]); var a = ka(e, n); return a.errors = r, a.tips = i, a } return { compile: e, compileToFunctions: (c = e, l = Object.create(null), function (e, t, n) { (t = m({}, t)).warn, delete t.warn; var r = t.delimiters ? String(t.delimiters) + e : e; if (l[r]) return l[r]; var i = c(e, t), o = {}, a = []; return o.render = xa(i.render, a), o.staticRenderFns = i.staticRenderFns.map(function (e) { return xa(e, a) }), l[r] = o }) }; var c, l })(Yo).compileToFunctions; function Sa(e) { return (Aa = Aa || document.createElement("div")).innerHTML = e ? '' : '', 0 < Aa.innerHTML.indexOf("
") } var Ta = !!B && Sa(!1), Ea = !!B && Sa(!0), ja = e(function (e) { var t = Jn(e); return t && t.innerHTML }), Na = hn.prototype.$mount; return hn.prototype.$mount = function (e, t) { if ((e = e && Jn(e)) === document.body || e === document.documentElement) return this; var n = this.$options; if (!n.render) { var r = n.template; if (r) if ("string" == typeof r) "#" === r.charAt(0) && (r = ja(r)); else { if (!r.nodeType) return this; r = r.innerHTML } else e && (r = function (e) { { if (e.outerHTML) return e.outerHTML; var t = document.createElement("div"); return t.appendChild(e.cloneNode(!0)), t.innerHTML } }(e)); if (r) { var i = Oa(r, { shouldDecodeNewlines: Ta, shouldDecodeNewlinesForHref: Ea, delimiters: n.delimiters, comments: n.comments }, this), o = i.render, a = i.staticRenderFns; n.render = o, n.staticRenderFns = a } } return Na.call(this, e, t) }, hn.compile = Oa, hn });
--------------------------------------------------------------------------------